dsh-plugin-core 0.33.1 → 0.33.3
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 +9 -9
- package/dist/adv/explorer/open.js +4 -4
- package/dist/adv/explorer/open.js.map +1 -1
- package/dist/adv/session/SessionViewModal.d.ts.map +1 -1
- package/dist/adv/session/SessionViewModal.js +6 -3
- package/dist/adv/session/SessionViewModal.js.map +1 -1
- package/dist/adv/session/mirror/ChatView.d.ts +1 -3
- package/dist/adv/session/mirror/ChatView.d.ts.map +1 -1
- package/dist/adv/session/mirror/ChatView.js +10 -36
- package/dist/adv/session/mirror/ChatView.js.map +1 -1
- package/dist/adv/session/mirror/GenericCommandCard.d.ts +6 -1
- package/dist/adv/session/mirror/GenericCommandCard.d.ts.map +1 -1
- package/dist/adv/session/mirror/GenericCommandCard.js +8 -3
- package/dist/adv/session/mirror/GenericCommandCard.js.map +1 -1
- package/dist/adv/session/mirror/MessageItem.d.ts +4 -3
- package/dist/adv/session/mirror/MessageItem.d.ts.map +1 -1
- package/dist/adv/session/mirror/MessageItem.js +19 -9
- package/dist/adv/session/mirror/MessageItem.js.map +1 -1
- package/dist/{session/mirror/BashRow.d.ts → adv/session/mirror/SkillRow.d.ts} +4 -5
- package/dist/adv/session/mirror/SkillRow.d.ts.map +1 -0
- package/dist/adv/session/mirror/SkillRow.js +86 -0
- package/dist/adv/session/mirror/SkillRow.js.map +1 -0
- package/dist/adv/session/official-classes.d.ts +3 -1
- package/dist/adv/session/official-classes.d.ts.map +1 -1
- package/dist/adv/session/official-classes.js +33 -32
- package/dist/adv/session/official-classes.js.map +1 -1
- package/dist/ui/feedback/host-toast.d.ts +1 -1
- package/dist/ui/feedback/host-toast.js +1 -1
- package/dist/utils/i18n.d.ts +1 -1
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +12 -0
- package/dist/utils/i18n.js.map +1 -1
- package/docs/design/external/dsh-host.md +33 -0
- package/docs/help/explorer.doc.ts +1 -1
- package/docs/help/explorer.md +1 -1
- package/docs/help/integration.doc.ts +2 -2
- package/docs/help/integration.md +2 -2
- package/docs/help/session.doc.ts +1 -1
- package/docs/help/session.md +1 -1
- package/docs/help/ui.doc.ts +1 -1
- package/docs/help/ui.md +1 -1
- package/package.json +16 -16
- package/dist/explorer/ExplorerPanel.d.ts +0 -25
- package/dist/explorer/ExplorerPanel.d.ts.map +0 -1
- package/dist/explorer/ExplorerPanel.js +0 -111
- package/dist/explorer/ExplorerPanel.js.map +0 -1
- package/dist/explorer/FileBrowser.d.ts +0 -58
- package/dist/explorer/FileBrowser.d.ts.map +0 -1
- package/dist/explorer/FileBrowser.js +0 -632
- package/dist/explorer/FileBrowser.js.map +0 -1
- package/dist/explorer/crumb-nav.d.ts +0 -45
- package/dist/explorer/crumb-nav.d.ts.map +0 -1
- package/dist/explorer/crumb-nav.js +0 -78
- package/dist/explorer/crumb-nav.js.map +0 -1
- package/dist/explorer/crumbs-menu.d.ts +0 -37
- package/dist/explorer/crumbs-menu.d.ts.map +0 -1
- package/dist/explorer/crumbs-menu.js +0 -102
- package/dist/explorer/crumbs-menu.js.map +0 -1
- package/dist/explorer/explorer-css.d.ts +0 -2
- package/dist/explorer/explorer-css.d.ts.map +0 -1
- package/dist/explorer/explorer-css.generated.d.ts +0 -2
- package/dist/explorer/explorer-css.generated.d.ts.map +0 -1
- package/dist/explorer/explorer-css.generated.js +0 -4
- package/dist/explorer/explorer-css.generated.js.map +0 -1
- package/dist/explorer/explorer-css.js +0 -3
- package/dist/explorer/explorer-css.js.map +0 -1
- package/dist/explorer/fs-face.d.ts +0 -36
- package/dist/explorer/fs-face.d.ts.map +0 -1
- package/dist/explorer/fs-face.js +0 -74
- package/dist/explorer/fs-face.js.map +0 -1
- package/dist/explorer/index.d.ts +0 -6
- package/dist/explorer/index.d.ts.map +0 -1
- package/dist/explorer/index.js +0 -6
- package/dist/explorer/index.js.map +0 -1
- package/dist/explorer/landing.d.ts +0 -26
- package/dist/explorer/landing.d.ts.map +0 -1
- package/dist/explorer/landing.js +0 -43
- package/dist/explorer/landing.js.map +0 -1
- package/dist/explorer/open.d.ts +0 -137
- package/dist/explorer/open.d.ts.map +0 -1
- package/dist/explorer/open.js +0 -350
- package/dist/explorer/open.js.map +0 -1
- package/dist/explorer/picker-placement.d.ts +0 -69
- package/dist/explorer/picker-placement.d.ts.map +0 -1
- package/dist/explorer/picker-placement.js +0 -122
- package/dist/explorer/picker-placement.js.map +0 -1
- package/dist/explorer/preview/BytesPreview.d.ts +0 -12
- package/dist/explorer/preview/BytesPreview.d.ts.map +0 -1
- package/dist/explorer/preview/BytesPreview.js +0 -60
- package/dist/explorer/preview/BytesPreview.js.map +0 -1
- package/dist/explorer/preview/HtmlPreview.d.ts +0 -17
- package/dist/explorer/preview/HtmlPreview.d.ts.map +0 -1
- package/dist/explorer/preview/HtmlPreview.js +0 -113
- package/dist/explorer/preview/HtmlPreview.js.map +0 -1
- package/dist/explorer/preview/OfficePreview.d.ts +0 -12
- package/dist/explorer/preview/OfficePreview.d.ts.map +0 -1
- package/dist/explorer/preview/OfficePreview.js +0 -63
- package/dist/explorer/preview/OfficePreview.js.map +0 -1
- package/dist/explorer/preview/TextPreview.d.ts +0 -18
- package/dist/explorer/preview/TextPreview.d.ts.map +0 -1
- package/dist/explorer/preview/TextPreview.js +0 -122
- package/dist/explorer/preview/TextPreview.js.map +0 -1
- package/dist/explorer/preview/index.d.ts +0 -24
- package/dist/explorer/preview/index.d.ts.map +0 -1
- package/dist/explorer/preview/index.js +0 -58
- package/dist/explorer/preview/index.js.map +0 -1
- package/dist/explorer/preview/md-labels.d.ts +0 -3
- package/dist/explorer/preview/md-labels.d.ts.map +0 -1
- package/dist/explorer/preview/md-labels.js +0 -12
- package/dist/explorer/preview/md-labels.js.map +0 -1
- package/dist/explorer/preview-title-bar.d.ts +0 -26
- package/dist/explorer/preview-title-bar.d.ts.map +0 -1
- package/dist/explorer/preview-title-bar.js +0 -48
- package/dist/explorer/preview-title-bar.js.map +0 -1
- package/dist/explorer/types.d.ts +0 -259
- package/dist/explorer/types.d.ts.map +0 -1
- package/dist/explorer/types.js +0 -379
- package/dist/explorer/types.js.map +0 -1
- package/dist/session/SessionViewModal.d.ts +0 -37
- package/dist/session/SessionViewModal.d.ts.map +0 -1
- package/dist/session/SessionViewModal.js +0 -1133
- package/dist/session/SessionViewModal.js.map +0 -1
- package/dist/session/changes.d.ts +0 -73
- package/dist/session/changes.d.ts.map +0 -1
- package/dist/session/changes.js +0 -134
- package/dist/session/changes.js.map +0 -1
- package/dist/session/faces.d.ts +0 -244
- package/dist/session/faces.d.ts.map +0 -1
- package/dist/session/faces.js +0 -17
- package/dist/session/faces.js.map +0 -1
- package/dist/session/index.d.ts +0 -7
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/index.js +0 -27
- package/dist/session/index.js.map +0 -1
- package/dist/session/mirror/AskCard.d.ts +0 -35
- package/dist/session/mirror/AskCard.d.ts.map +0 -1
- package/dist/session/mirror/AskCard.js +0 -131
- package/dist/session/mirror/AskCard.js.map +0 -1
- package/dist/session/mirror/BashRow.d.ts.map +0 -1
- package/dist/session/mirror/BashRow.js +0 -143
- package/dist/session/mirror/BashRow.js.map +0 -1
- package/dist/session/mirror/ChangedFileDiff.d.ts +0 -25
- package/dist/session/mirror/ChangedFileDiff.d.ts.map +0 -1
- package/dist/session/mirror/ChangedFileDiff.js +0 -178
- package/dist/session/mirror/ChangedFileDiff.js.map +0 -1
- package/dist/session/mirror/ChangedFilesCard.d.ts +0 -18
- package/dist/session/mirror/ChangedFilesCard.d.ts.map +0 -1
- package/dist/session/mirror/ChangedFilesCard.js +0 -165
- package/dist/session/mirror/ChangedFilesCard.js.map +0 -1
- package/dist/session/mirror/ChatGroupSeat.d.ts +0 -24
- package/dist/session/mirror/ChatGroupSeat.d.ts.map +0 -1
- package/dist/session/mirror/ChatGroupSeat.js +0 -135
- package/dist/session/mirror/ChatGroupSeat.js.map +0 -1
- package/dist/session/mirror/ChatNodeSeat.d.ts +0 -43
- package/dist/session/mirror/ChatNodeSeat.d.ts.map +0 -1
- package/dist/session/mirror/ChatNodeSeat.js +0 -133
- package/dist/session/mirror/ChatNodeSeat.js.map +0 -1
- package/dist/session/mirror/ChatView.d.ts +0 -47
- package/dist/session/mirror/ChatView.d.ts.map +0 -1
- package/dist/session/mirror/ChatView.js +0 -138
- package/dist/session/mirror/ChatView.js.map +0 -1
- package/dist/session/mirror/CommandCard.d.ts +0 -20
- package/dist/session/mirror/CommandCard.d.ts.map +0 -1
- package/dist/session/mirror/CommandCard.js +0 -69
- package/dist/session/mirror/CommandCard.js.map +0 -1
- package/dist/session/mirror/ContextInjectionRow.d.ts +0 -18
- package/dist/session/mirror/ContextInjectionRow.d.ts.map +0 -1
- package/dist/session/mirror/ContextInjectionRow.js +0 -50
- package/dist/session/mirror/ContextInjectionRow.js.map +0 -1
- package/dist/session/mirror/Deliverables.d.ts +0 -24
- package/dist/session/mirror/Deliverables.d.ts.map +0 -1
- package/dist/session/mirror/Deliverables.js +0 -175
- package/dist/session/mirror/Deliverables.js.map +0 -1
- package/dist/session/mirror/GenericCommandCard.d.ts +0 -136
- package/dist/session/mirror/GenericCommandCard.d.ts.map +0 -1
- package/dist/session/mirror/GenericCommandCard.js +0 -948
- package/dist/session/mirror/GenericCommandCard.js.map +0 -1
- package/dist/session/mirror/MessageIconActions.d.ts +0 -16
- package/dist/session/mirror/MessageIconActions.d.ts.map +0 -1
- package/dist/session/mirror/MessageIconActions.js +0 -69
- package/dist/session/mirror/MessageIconActions.js.map +0 -1
- package/dist/session/mirror/MessageItem.d.ts +0 -93
- package/dist/session/mirror/MessageItem.d.ts.map +0 -1
- package/dist/session/mirror/MessageItem.js +0 -194
- package/dist/session/mirror/MessageItem.js.map +0 -1
- package/dist/session/mirror/ReasoningRow.d.ts +0 -11
- package/dist/session/mirror/ReasoningRow.d.ts.map +0 -1
- package/dist/session/mirror/ReasoningRow.js +0 -111
- package/dist/session/mirror/ReasoningRow.js.map +0 -1
- package/dist/session/mirror/RunningStatus.d.ts +0 -12
- package/dist/session/mirror/RunningStatus.d.ts.map +0 -1
- package/dist/session/mirror/RunningStatus.js +0 -57
- package/dist/session/mirror/RunningStatus.js.map +0 -1
- package/dist/session/mirror/StatDialog.d.ts +0 -20
- package/dist/session/mirror/StatDialog.d.ts.map +0 -1
- package/dist/session/mirror/StatDialog.js +0 -49
- package/dist/session/mirror/StatDialog.js.map +0 -1
- package/dist/session/mirror/ToolDetails.d.ts +0 -65
- package/dist/session/mirror/ToolDetails.d.ts.map +0 -1
- package/dist/session/mirror/ToolDetails.js +0 -268
- package/dist/session/mirror/ToolDetails.js.map +0 -1
- package/dist/session/mirror/TurnProcessNodeView.d.ts +0 -10
- package/dist/session/mirror/TurnProcessNodeView.d.ts.map +0 -1
- package/dist/session/mirror/TurnProcessNodeView.js +0 -57
- package/dist/session/mirror/TurnProcessNodeView.js.map +0 -1
- package/dist/session/mirror/TurnTailNodeView.d.ts +0 -57
- package/dist/session/mirror/TurnTailNodeView.d.ts.map +0 -1
- package/dist/session/mirror/TurnTailNodeView.js +0 -106
- package/dist/session/mirror/TurnTailNodeView.js.map +0 -1
- package/dist/session/mirror/TurnTriggerNodeView.d.ts +0 -16
- package/dist/session/mirror/TurnTriggerNodeView.d.ts.map +0 -1
- package/dist/session/mirror/TurnTriggerNodeView.js +0 -103
- package/dist/session/mirror/TurnTriggerNodeView.js.map +0 -1
- package/dist/session/mirror/TurnUsagePanel.d.ts +0 -21
- package/dist/session/mirror/TurnUsagePanel.d.ts.map +0 -1
- package/dist/session/mirror/TurnUsagePanel.js +0 -41
- package/dist/session/mirror/TurnUsagePanel.js.map +0 -1
- package/dist/session/mirror/control-details.d.ts +0 -9
- package/dist/session/mirror/control-details.d.ts.map +0 -1
- package/dist/session/mirror/control-details.js +0 -549
- package/dist/session/mirror/control-details.js.map +0 -1
- package/dist/session/mirror/detail-i18n.d.ts +0 -4
- package/dist/session/mirror/detail-i18n.d.ts.map +0 -1
- package/dist/session/mirror/detail-i18n.js +0 -153
- package/dist/session/mirror/detail-i18n.js.map +0 -1
- package/dist/session/mirror/message-chrome.d.ts +0 -39
- package/dist/session/mirror/message-chrome.d.ts.map +0 -1
- package/dist/session/mirror/message-chrome.js +0 -153
- package/dist/session/mirror/message-chrome.js.map +0 -1
- package/dist/session/mirror/process-groups.d.ts +0 -56
- package/dist/session/mirror/process-groups.d.ts.map +0 -1
- package/dist/session/mirror/process-groups.js +0 -202
- package/dist/session/mirror/process-groups.js.map +0 -1
- package/dist/session/official-classes.d.ts +0 -28
- package/dist/session/official-classes.d.ts.map +0 -1
- package/dist/session/official-classes.js +0 -152
- package/dist/session/official-classes.js.map +0 -1
- package/dist/session/open-review.d.ts +0 -13
- package/dist/session/open-review.d.ts.map +0 -1
- package/dist/session/open-review.js +0 -32
- package/dist/session/open-review.js.map +0 -1
- package/dist/session/open-session-view.d.ts +0 -19
- package/dist/session/open-session-view.d.ts.map +0 -1
- package/dist/session/open-session-view.js +0 -147
- package/dist/session/open-session-view.js.map +0 -1
- package/dist/session/pending-inputs.d.ts +0 -33
- package/dist/session/pending-inputs.d.ts.map +0 -1
- package/dist/session/pending-inputs.js +0 -130
- package/dist/session/pending-inputs.js.map +0 -1
- package/dist/session/session-css.d.ts +0 -2
- package/dist/session/session-css.d.ts.map +0 -1
- package/dist/session/session-css.generated.d.ts +0 -2
- package/dist/session/session-css.generated.d.ts.map +0 -1
- package/dist/session/session-css.generated.js +0 -4
- package/dist/session/session-css.generated.js.map +0 -1
- package/dist/session/session-css.js +0 -3
- package/dist/session/session-css.js.map +0 -1
- package/dist/session/tail-follow.d.ts +0 -29
- package/dist/session/tail-follow.d.ts.map +0 -1
- package/dist/session/tail-follow.js +0 -106
- package/dist/session/tail-follow.js.map +0 -1
- package/dist/session/types.d.ts +0 -28
- package/dist/session/types.d.ts.map +0 -1
- package/dist/session/types.js +0 -12
- package/dist/session/types.js.map +0 -1
- package/dist/ui/AlertModal.d.ts +0 -41
- package/dist/ui/AlertModal.d.ts.map +0 -1
- package/dist/ui/AlertModal.js +0 -45
- package/dist/ui/AlertModal.js.map +0 -1
- package/dist/ui/Button.d.ts +0 -102
- package/dist/ui/Button.d.ts.map +0 -1
- package/dist/ui/Button.js +0 -233
- package/dist/ui/Button.js.map +0 -1
- package/dist/ui/Card.d.ts +0 -65
- package/dist/ui/Card.d.ts.map +0 -1
- package/dist/ui/Card.js +0 -109
- package/dist/ui/Card.js.map +0 -1
- package/dist/ui/Checkbox.d.ts +0 -24
- package/dist/ui/Checkbox.d.ts.map +0 -1
- package/dist/ui/Checkbox.js +0 -35
- package/dist/ui/Checkbox.js.map +0 -1
- package/dist/ui/Chip.d.ts +0 -28
- package/dist/ui/Chip.d.ts.map +0 -1
- package/dist/ui/Chip.js +0 -36
- package/dist/ui/Chip.js.map +0 -1
- package/dist/ui/CodeViewer.d.ts +0 -38
- package/dist/ui/CodeViewer.d.ts.map +0 -1
- package/dist/ui/CodeViewer.js +0 -107
- package/dist/ui/CodeViewer.js.map +0 -1
- package/dist/ui/ConfirmModal.d.ts +0 -50
- package/dist/ui/ConfirmModal.d.ts.map +0 -1
- package/dist/ui/ConfirmModal.js +0 -47
- package/dist/ui/ConfirmModal.js.map +0 -1
- package/dist/ui/DateTimePicker.d.ts +0 -45
- package/dist/ui/DateTimePicker.d.ts.map +0 -1
- package/dist/ui/DateTimePicker.js +0 -462
- package/dist/ui/DateTimePicker.js.map +0 -1
- package/dist/ui/EmptyState.d.ts +0 -12
- package/dist/ui/EmptyState.d.ts.map +0 -1
- package/dist/ui/EmptyState.js +0 -10
- package/dist/ui/EmptyState.js.map +0 -1
- package/dist/ui/Field.d.ts +0 -125
- package/dist/ui/Field.d.ts.map +0 -1
- package/dist/ui/Field.js +0 -175
- package/dist/ui/Field.js.map +0 -1
- package/dist/ui/FieldHint.d.ts +0 -18
- package/dist/ui/FieldHint.d.ts.map +0 -1
- package/dist/ui/FieldHint.js +0 -40
- package/dist/ui/FieldHint.js.map +0 -1
- package/dist/ui/FlipText.d.ts +0 -43
- package/dist/ui/FlipText.d.ts.map +0 -1
- package/dist/ui/FlipText.js +0 -59
- package/dist/ui/FlipText.js.map +0 -1
- package/dist/ui/InputGroup.d.ts +0 -91
- package/dist/ui/InputGroup.d.ts.map +0 -1
- package/dist/ui/InputGroup.js +0 -125
- package/dist/ui/InputGroup.js.map +0 -1
- package/dist/ui/LiveText.d.ts +0 -13
- package/dist/ui/LiveText.d.ts.map +0 -1
- package/dist/ui/LiveText.js +0 -19
- package/dist/ui/LiveText.js.map +0 -1
- package/dist/ui/Loader.d.ts +0 -49
- package/dist/ui/Loader.d.ts.map +0 -1
- package/dist/ui/Loader.js +0 -79
- package/dist/ui/Loader.js.map +0 -1
- package/dist/ui/LoaderBar.d.ts +0 -38
- package/dist/ui/LoaderBar.d.ts.map +0 -1
- package/dist/ui/LoaderBar.js +0 -79
- package/dist/ui/LoaderBar.js.map +0 -1
- package/dist/ui/Loading.d.ts +0 -69
- package/dist/ui/Loading.d.ts.map +0 -1
- package/dist/ui/Loading.js +0 -164
- package/dist/ui/Loading.js.map +0 -1
- package/dist/ui/MarqueeText.d.ts +0 -22
- package/dist/ui/MarqueeText.d.ts.map +0 -1
- package/dist/ui/MarqueeText.js +0 -52
- package/dist/ui/MarqueeText.js.map +0 -1
- package/dist/ui/Modal.d.ts +0 -73
- package/dist/ui/Modal.d.ts.map +0 -1
- package/dist/ui/Modal.js +0 -83
- package/dist/ui/Modal.js.map +0 -1
- package/dist/ui/ModelPicker.d.ts +0 -48
- package/dist/ui/ModelPicker.d.ts.map +0 -1
- package/dist/ui/ModelPicker.js +0 -101
- package/dist/ui/ModelPicker.js.map +0 -1
- package/dist/ui/Pagination.d.ts +0 -59
- package/dist/ui/Pagination.d.ts.map +0 -1
- package/dist/ui/Pagination.js +0 -112
- package/dist/ui/Pagination.js.map +0 -1
- package/dist/ui/PanelDock.d.ts +0 -132
- package/dist/ui/PanelDock.d.ts.map +0 -1
- package/dist/ui/PanelDock.js +0 -390
- package/dist/ui/PanelDock.js.map +0 -1
- package/dist/ui/Picker.d.ts +0 -56
- package/dist/ui/Picker.d.ts.map +0 -1
- package/dist/ui/Picker.js +0 -244
- package/dist/ui/Picker.js.map +0 -1
- package/dist/ui/QuickToolbar.d.ts +0 -54
- package/dist/ui/QuickToolbar.d.ts.map +0 -1
- package/dist/ui/QuickToolbar.js +0 -254
- package/dist/ui/QuickToolbar.js.map +0 -1
- package/dist/ui/SectionHead.d.ts +0 -35
- package/dist/ui/SectionHead.d.ts.map +0 -1
- package/dist/ui/SectionHead.js +0 -45
- package/dist/ui/SectionHead.js.map +0 -1
- package/dist/ui/Segmented.d.ts +0 -99
- package/dist/ui/Segmented.d.ts.map +0 -1
- package/dist/ui/Segmented.js +0 -135
- package/dist/ui/Segmented.js.map +0 -1
- package/dist/ui/SideSheet.d.ts +0 -70
- package/dist/ui/SideSheet.d.ts.map +0 -1
- package/dist/ui/SideSheet.js +0 -130
- package/dist/ui/SideSheet.js.map +0 -1
- package/dist/ui/SplitGroup.d.ts +0 -37
- package/dist/ui/SplitGroup.d.ts.map +0 -1
- package/dist/ui/SplitGroup.js +0 -36
- package/dist/ui/SplitGroup.js.map +0 -1
- package/dist/ui/Surface.d.ts +0 -43
- package/dist/ui/Surface.d.ts.map +0 -1
- package/dist/ui/Surface.js +0 -39
- package/dist/ui/Surface.js.map +0 -1
- package/dist/ui/Table.d.ts +0 -30
- package/dist/ui/Table.d.ts.map +0 -1
- package/dist/ui/Table.js +0 -96
- package/dist/ui/Table.js.map +0 -1
- package/dist/ui/Textarea.d.ts +0 -36
- package/dist/ui/Textarea.d.ts.map +0 -1
- package/dist/ui/Textarea.js +0 -35
- package/dist/ui/Textarea.js.map +0 -1
- package/dist/ui/Toast.d.ts +0 -45
- package/dist/ui/Toast.d.ts.map +0 -1
- package/dist/ui/Toast.js +0 -225
- package/dist/ui/Toast.js.map +0 -1
- package/dist/ui/WorkspacePicker.d.ts +0 -35
- package/dist/ui/WorkspacePicker.d.ts.map +0 -1
- package/dist/ui/WorkspacePicker.js +0 -39
- package/dist/ui/WorkspacePicker.js.map +0 -1
- package/dist/ui/card-css.d.ts +0 -2
- package/dist/ui/card-css.d.ts.map +0 -1
- package/dist/ui/card-css.generated.d.ts +0 -2
- package/dist/ui/card-css.generated.d.ts.map +0 -1
- package/dist/ui/card-css.generated.js +0 -4
- package/dist/ui/card-css.generated.js.map +0 -1
- package/dist/ui/card-css.js +0 -5
- package/dist/ui/card-css.js.map +0 -1
- package/dist/ui/chevron.d.ts +0 -22
- package/dist/ui/chevron.d.ts.map +0 -1
- package/dist/ui/chevron.js +0 -33
- package/dist/ui/chevron.js.map +0 -1
- package/dist/ui/chip-css.d.ts +0 -2
- package/dist/ui/chip-css.d.ts.map +0 -1
- package/dist/ui/chip-css.generated.d.ts +0 -2
- package/dist/ui/chip-css.generated.d.ts.map +0 -1
- package/dist/ui/chip-css.generated.js +0 -4
- package/dist/ui/chip-css.generated.js.map +0 -1
- package/dist/ui/chip-css.js +0 -12
- package/dist/ui/chip-css.js.map +0 -1
- package/dist/ui/code-viewer-css.d.ts +0 -2
- package/dist/ui/code-viewer-css.d.ts.map +0 -1
- package/dist/ui/code-viewer-css.generated.d.ts +0 -2
- package/dist/ui/code-viewer-css.generated.d.ts.map +0 -1
- package/dist/ui/code-viewer-css.generated.js +0 -4
- package/dist/ui/code-viewer-css.generated.js.map +0 -1
- package/dist/ui/code-viewer-css.js +0 -3
- package/dist/ui/code-viewer-css.js.map +0 -1
- package/dist/ui/code-viewer-lang.d.ts +0 -15
- package/dist/ui/code-viewer-lang.d.ts.map +0 -1
- package/dist/ui/code-viewer-lang.js +0 -190
- package/dist/ui/code-viewer-lang.js.map +0 -1
- package/dist/ui/code-viewer-theme.d.ts +0 -5
- package/dist/ui/code-viewer-theme.d.ts.map +0 -1
- package/dist/ui/code-viewer-theme.js +0 -138
- package/dist/ui/code-viewer-theme.js.map +0 -1
- package/dist/ui/controls/button-css.generated.d.ts +0 -2
- package/dist/ui/controls/button-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/button-css.generated.js +0 -4
- package/dist/ui/controls/button-css.generated.js.map +0 -1
- package/dist/ui/controls/datetime-css.generated.d.ts +0 -2
- package/dist/ui/controls/datetime-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/datetime-css.generated.js +0 -4
- package/dist/ui/controls/datetime-css.generated.js.map +0 -1
- package/dist/ui/controls/field-css.generated.d.ts +0 -2
- package/dist/ui/controls/field-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/field-css.generated.js +0 -4
- package/dist/ui/controls/field-css.generated.js.map +0 -1
- package/dist/ui/controls/hint-css.generated.d.ts +0 -2
- package/dist/ui/controls/hint-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/hint-css.generated.js +0 -4
- package/dist/ui/controls/hint-css.generated.js.map +0 -1
- package/dist/ui/controls/input-group-css.generated.d.ts +0 -2
- package/dist/ui/controls/input-group-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/input-group-css.generated.js +0 -4
- package/dist/ui/controls/input-group-css.generated.js.map +0 -1
- package/dist/ui/controls/loader-bar-css.generated.d.ts +0 -2
- package/dist/ui/controls/loader-bar-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/loader-bar-css.generated.js +0 -4
- package/dist/ui/controls/loader-bar-css.generated.js.map +0 -1
- package/dist/ui/controls/loader-css.generated.d.ts +0 -2
- package/dist/ui/controls/loader-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/loader-css.generated.js +0 -4
- package/dist/ui/controls/loader-css.generated.js.map +0 -1
- package/dist/ui/controls/loading-css.generated.d.ts +0 -2
- package/dist/ui/controls/loading-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/loading-css.generated.js +0 -4
- package/dist/ui/controls/loading-css.generated.js.map +0 -1
- package/dist/ui/controls/pagination-css.generated.d.ts +0 -2
- package/dist/ui/controls/pagination-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/pagination-css.generated.js +0 -4
- package/dist/ui/controls/pagination-css.generated.js.map +0 -1
- package/dist/ui/controls/quick-toolbar-css.generated.d.ts +0 -2
- package/dist/ui/controls/quick-toolbar-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/quick-toolbar-css.generated.js +0 -4
- package/dist/ui/controls/quick-toolbar-css.generated.js.map +0 -1
- package/dist/ui/controls/section-head-css.generated.d.ts +0 -2
- package/dist/ui/controls/section-head-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/section-head-css.generated.js +0 -4
- package/dist/ui/controls/section-head-css.generated.js.map +0 -1
- package/dist/ui/controls/segmented-css.generated.d.ts +0 -2
- package/dist/ui/controls/segmented-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/segmented-css.generated.js +0 -4
- package/dist/ui/controls/segmented-css.generated.js.map +0 -1
- package/dist/ui/controls/split-group-css.generated.d.ts +0 -2
- package/dist/ui/controls/split-group-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/split-group-css.generated.js +0 -4
- package/dist/ui/controls/split-group-css.generated.js.map +0 -1
- package/dist/ui/controls/table-css.generated.d.ts +0 -2
- package/dist/ui/controls/table-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/table-css.generated.js +0 -4
- package/dist/ui/controls/table-css.generated.js.map +0 -1
- package/dist/ui/controls/table-plain-css.generated.d.ts +0 -2
- package/dist/ui/controls/table-plain-css.generated.d.ts.map +0 -1
- package/dist/ui/controls/table-plain-css.generated.js +0 -4
- package/dist/ui/controls/table-plain-css.generated.js.map +0 -1
- package/dist/ui/controls-css.d.ts +0 -16
- package/dist/ui/controls-css.d.ts.map +0 -1
- package/dist/ui/controls-css.js +0 -26
- package/dist/ui/controls-css.js.map +0 -1
- package/dist/ui/css.d.ts +0 -35
- package/dist/ui/css.d.ts.map +0 -1
- package/dist/ui/css.js +0 -52
- package/dist/ui/css.js.map +0 -1
- package/dist/ui/datetime-logic.d.ts +0 -102
- package/dist/ui/datetime-logic.d.ts.map +0 -1
- package/dist/ui/datetime-logic.js +0 -200
- package/dist/ui/datetime-logic.js.map +0 -1
- package/dist/ui/feedback-css.d.ts +0 -2
- package/dist/ui/feedback-css.d.ts.map +0 -1
- package/dist/ui/feedback-css.generated.d.ts +0 -2
- package/dist/ui/feedback-css.generated.d.ts.map +0 -1
- package/dist/ui/feedback-css.generated.js +0 -4
- package/dist/ui/feedback-css.generated.js.map +0 -1
- package/dist/ui/feedback-css.js +0 -4
- package/dist/ui/feedback-css.js.map +0 -1
- package/dist/ui/flip-css.d.ts +0 -2
- package/dist/ui/flip-css.d.ts.map +0 -1
- package/dist/ui/flip-css.generated.d.ts +0 -2
- package/dist/ui/flip-css.generated.d.ts.map +0 -1
- package/dist/ui/flip-css.generated.js +0 -4
- package/dist/ui/flip-css.generated.js.map +0 -1
- package/dist/ui/flip-css.js +0 -4
- package/dist/ui/flip-css.js.map +0 -1
- package/dist/ui/host-data.d.ts +0 -119
- package/dist/ui/host-data.d.ts.map +0 -1
- package/dist/ui/host-data.js +0 -122
- package/dist/ui/host-data.js.map +0 -1
- package/dist/ui/host-toast.d.ts +0 -23
- package/dist/ui/host-toast.d.ts.map +0 -1
- package/dist/ui/host-toast.js +0 -34
- package/dist/ui/host-toast.js.map +0 -1
- package/dist/ui/loader-bar-art.d.ts +0 -6
- package/dist/ui/loader-bar-art.d.ts.map +0 -1
- package/dist/ui/loader-bar-art.js +0 -6
- package/dist/ui/loader-bar-art.js.map +0 -1
- package/dist/ui/loading-host.d.ts +0 -49
- package/dist/ui/loading-host.d.ts.map +0 -1
- package/dist/ui/loading-host.js +0 -57
- package/dist/ui/loading-host.js.map +0 -1
- package/dist/ui/locale.d.ts +0 -4
- package/dist/ui/locale.d.ts.map +0 -1
- package/dist/ui/locale.js +0 -17
- package/dist/ui/locale.js.map +0 -1
- package/dist/ui/marquee-css.d.ts +0 -2
- package/dist/ui/marquee-css.d.ts.map +0 -1
- package/dist/ui/marquee-css.generated.d.ts +0 -2
- package/dist/ui/marquee-css.generated.d.ts.map +0 -1
- package/dist/ui/marquee-css.generated.js +0 -4
- package/dist/ui/marquee-css.generated.js.map +0 -1
- package/dist/ui/marquee-css.js +0 -4
- package/dist/ui/marquee-css.js.map +0 -1
- package/dist/ui/modal-host.d.ts +0 -51
- package/dist/ui/modal-host.d.ts.map +0 -1
- package/dist/ui/modal-host.js +0 -170
- package/dist/ui/modal-host.js.map +0 -1
- package/dist/ui/overlay-css.d.ts +0 -2
- package/dist/ui/overlay-css.d.ts.map +0 -1
- package/dist/ui/overlay-css.generated.d.ts +0 -2
- package/dist/ui/overlay-css.generated.d.ts.map +0 -1
- package/dist/ui/overlay-css.generated.js +0 -4
- package/dist/ui/overlay-css.generated.js.map +0 -1
- package/dist/ui/overlay-css.js +0 -2
- package/dist/ui/overlay-css.js.map +0 -1
- package/dist/ui/overlay.d.ts +0 -62
- package/dist/ui/overlay.d.ts.map +0 -1
- package/dist/ui/overlay.js +0 -94
- package/dist/ui/overlay.js.map +0 -1
- package/dist/ui/pagination-logic.d.ts +0 -36
- package/dist/ui/pagination-logic.d.ts.map +0 -1
- package/dist/ui/pagination-logic.js +0 -73
- package/dist/ui/pagination-logic.js.map +0 -1
- package/dist/ui/panel-css.d.ts +0 -2
- package/dist/ui/panel-css.d.ts.map +0 -1
- package/dist/ui/panel-css.generated.d.ts +0 -2
- package/dist/ui/panel-css.generated.d.ts.map +0 -1
- package/dist/ui/panel-css.generated.js +0 -4
- package/dist/ui/panel-css.generated.js.map +0 -1
- package/dist/ui/panel-css.js +0 -2
- package/dist/ui/panel-css.js.map +0 -1
- package/dist/ui/panel-dock-css.d.ts +0 -2
- package/dist/ui/panel-dock-css.d.ts.map +0 -1
- package/dist/ui/panel-dock-css.generated.d.ts +0 -2
- package/dist/ui/panel-dock-css.generated.d.ts.map +0 -1
- package/dist/ui/panel-dock-css.generated.js +0 -4
- package/dist/ui/panel-dock-css.generated.js.map +0 -1
- package/dist/ui/panel-dock-css.js +0 -4
- package/dist/ui/panel-dock-css.js.map +0 -1
- package/dist/ui/panel-dock-logic.d.ts +0 -67
- package/dist/ui/panel-dock-logic.d.ts.map +0 -1
- package/dist/ui/panel-dock-logic.js +0 -110
- package/dist/ui/panel-dock-logic.js.map +0 -1
- package/dist/ui/panel.d.ts +0 -41
- package/dist/ui/panel.d.ts.map +0 -1
- package/dist/ui/panel.js +0 -37
- package/dist/ui/panel.js.map +0 -1
- package/dist/ui/picker-css.d.ts +0 -2
- package/dist/ui/picker-css.d.ts.map +0 -1
- package/dist/ui/picker-css.generated.d.ts +0 -2
- package/dist/ui/picker-css.generated.d.ts.map +0 -1
- package/dist/ui/picker-css.generated.js +0 -4
- package/dist/ui/picker-css.generated.js.map +0 -1
- package/dist/ui/picker-css.js +0 -4
- package/dist/ui/picker-css.js.map +0 -1
- package/dist/ui/picker-icons.d.ts +0 -12
- package/dist/ui/picker-icons.d.ts.map +0 -1
- package/dist/ui/picker-icons.js +0 -29
- package/dist/ui/picker-icons.js.map +0 -1
- package/dist/ui/picker-logic.d.ts +0 -33
- package/dist/ui/picker-logic.d.ts.map +0 -1
- package/dist/ui/picker-logic.js +0 -68
- package/dist/ui/picker-logic.js.map +0 -1
- package/dist/ui/quick-toolbar-logic.d.ts +0 -76
- package/dist/ui/quick-toolbar-logic.d.ts.map +0 -1
- package/dist/ui/quick-toolbar-logic.js +0 -40
- package/dist/ui/quick-toolbar-logic.js.map +0 -1
- package/dist/ui/resizer.d.ts +0 -29
- package/dist/ui/resizer.d.ts.map +0 -1
- package/dist/ui/resizer.js +0 -42
- package/dist/ui/resizer.js.map +0 -1
- package/dist/ui/side-panel-css.d.ts +0 -2
- package/dist/ui/side-panel-css.d.ts.map +0 -1
- package/dist/ui/side-panel-css.generated.d.ts +0 -2
- package/dist/ui/side-panel-css.generated.d.ts.map +0 -1
- package/dist/ui/side-panel-css.generated.js +0 -4
- package/dist/ui/side-panel-css.generated.js.map +0 -1
- package/dist/ui/side-panel-css.js +0 -2
- package/dist/ui/side-panel-css.js.map +0 -1
- package/dist/ui/side-sheet-css.d.ts +0 -2
- package/dist/ui/side-sheet-css.d.ts.map +0 -1
- package/dist/ui/side-sheet-css.generated.d.ts +0 -2
- package/dist/ui/side-sheet-css.generated.d.ts.map +0 -1
- package/dist/ui/side-sheet-css.generated.js +0 -4
- package/dist/ui/side-sheet-css.generated.js.map +0 -1
- package/dist/ui/side-sheet-css.js +0 -2
- package/dist/ui/side-sheet-css.js.map +0 -1
- package/dist/ui/surface-css.d.ts +0 -2
- package/dist/ui/surface-css.d.ts.map +0 -1
- package/dist/ui/surface-css.generated.d.ts +0 -2
- package/dist/ui/surface-css.generated.d.ts.map +0 -1
- package/dist/ui/surface-css.generated.js +0 -4
- package/dist/ui/surface-css.generated.js.map +0 -1
- package/dist/ui/surface-css.js +0 -7
- package/dist/ui/surface-css.js.map +0 -1
- package/dist/ui/table-logic.d.ts +0 -110
- package/dist/ui/table-logic.d.ts.map +0 -1
- package/dist/ui/table-logic.js +0 -81
- package/dist/ui/table-logic.js.map +0 -1
- package/dist/ui/table-shared.d.ts +0 -101
- package/dist/ui/table-shared.d.ts.map +0 -1
- package/dist/ui/table-shared.js +0 -229
- package/dist/ui/table-shared.js.map +0 -1
- package/dist/ui/thenable.d.ts +0 -9
- package/dist/ui/thenable.d.ts.map +0 -1
- package/dist/ui/thenable.js +0 -15
- package/dist/ui/thenable.js.map +0 -1
- package/dist/ui/ticker.d.ts +0 -8
- package/dist/ui/ticker.d.ts.map +0 -1
- package/dist/ui/ticker.js +0 -49
- package/dist/ui/ticker.js.map +0 -1
- package/dist/ui/toast-host.d.ts +0 -24
- package/dist/ui/toast-host.d.ts.map +0 -1
- package/dist/ui/toast-host.js +0 -20
- package/dist/ui/toast-host.js.map +0 -1
- package/dist/ui/tooltip.d.ts +0 -29
- package/dist/ui/tooltip.d.ts.map +0 -1
- package/dist/ui/tooltip.js +0 -10
- package/dist/ui/tooltip.js.map +0 -1
package/dist/ui/Loading.js
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 全局浮动 Loading 指示器(UI 基础层 · P1)。
|
|
3
|
-
*
|
|
4
|
-
* @deprecated 这是「自带定位 + 自带 pill 背景」的复合件,不属于通用加载图标。
|
|
5
|
-
* 只要图标请用 {@link Loader}(无背景、无定位,背景与位置归调用方);
|
|
6
|
-
* 要居中 / 带文案的整卡请继续用 {@link LoadingToast} / {@link LoadingBlock}。
|
|
7
|
-
* 本组件保留不删(消费方可能还在用),但新代码不要再用。
|
|
8
|
-
*
|
|
9
|
-
* 用法:
|
|
10
|
-
* <Loading />
|
|
11
|
-
*
|
|
12
|
-
* 行为:
|
|
13
|
-
* - fixed 定位在主内容容器右下角,**不占布局空间**;
|
|
14
|
-
* - 右侧贴齐主内容容器右边缘(`anchorId` 默认 `dshpc-main`),底部留 16px;
|
|
15
|
-
* - **三个小方块依次脉动,无任何文案**(基础抽象统一外观,禁止加字;用户 2026-10-06);
|
|
16
|
-
* - 监听窗口 resize / scroll / 内容盒 resize,自动跟住内容宽度。
|
|
17
|
-
*
|
|
18
|
-
* 配套 also 导出 `<RunningBlocks />`:同样的三个脉动方块(无文案),
|
|
19
|
-
* 用于表格单元格里的「运行中」状态指示。
|
|
20
|
-
*
|
|
21
|
-
* 文档登记:docs/design/ui-foundation.md §二「唯一实现表」。
|
|
22
|
-
*/
|
|
23
|
-
import { createElement as h, useEffect, useState } from 'react';
|
|
24
|
-
import { createRoot } from 'react-dom/client';
|
|
25
|
-
import { t } from '../utils/i18n.js';
|
|
26
|
-
import { claimLoadingHost, createLoadingSlot, loadingOverlayClass, } from './loading-host.js';
|
|
27
|
-
import { ensureComponentStyles, getStyleKit } from './css.js';
|
|
28
|
-
import { LOADING_CSS } from './controls-css.js';
|
|
29
|
-
import { Loader } from './Loader.js';
|
|
30
|
-
const pillStyle = {
|
|
31
|
-
position: 'fixed',
|
|
32
|
-
bottom: '16px',
|
|
33
|
-
zIndex: 'var(--dshpc-z-dock)',
|
|
34
|
-
display: 'inline-flex', alignItems: 'center', gap: '6px',
|
|
35
|
-
padding: '5px 10px', borderRadius: 'var(--dshpc-radius-md)',
|
|
36
|
-
background: 'var(--dshpc-surface-1)', border: '1px solid var(--dshpc-border)',
|
|
37
|
-
boxShadow: 'var(--dshpc-shadow-1, 0 2px 8px rgba(0,0,0,.12))',
|
|
38
|
-
color: 'var(--dshpc-fg-2)', fontSize: 'var(--dshpc-font-xs)', lineHeight: 'var(--dshpc-line-sm)',
|
|
39
|
-
// 纯提示,不吃鼠标事件(别挡住底下的内容)。
|
|
40
|
-
pointerEvents: 'none',
|
|
41
|
-
};
|
|
42
|
-
const RIGHT_MARGIN_PX = 0;
|
|
43
|
-
function useContentRight(anchorId) {
|
|
44
|
-
const [right, setRight] = useState(`${RIGHT_MARGIN_PX}px`);
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
const update = () => {
|
|
47
|
-
const el = document.getElementById(anchorId);
|
|
48
|
-
if (!el)
|
|
49
|
-
return;
|
|
50
|
-
const rect = el.getBoundingClientRect();
|
|
51
|
-
const viewportW = document.documentElement.clientWidth;
|
|
52
|
-
setRight(`${Math.max(0, viewportW - rect.right + RIGHT_MARGIN_PX)}px`);
|
|
53
|
-
};
|
|
54
|
-
update();
|
|
55
|
-
window.addEventListener('resize', update);
|
|
56
|
-
window.addEventListener('scroll', update, true);
|
|
57
|
-
const ro = new ResizeObserver(update);
|
|
58
|
-
const el = document.getElementById(anchorId);
|
|
59
|
-
if (el)
|
|
60
|
-
ro.observe(el);
|
|
61
|
-
return () => {
|
|
62
|
-
window.removeEventListener('resize', update);
|
|
63
|
-
window.removeEventListener('scroll', update, true);
|
|
64
|
-
ro.disconnect();
|
|
65
|
-
};
|
|
66
|
-
}, [anchorId]);
|
|
67
|
-
return right;
|
|
68
|
-
}
|
|
69
|
-
/** 浮动 Loading pill:三个脉动方块(无文案;基础抽象统一外观)。 */
|
|
70
|
-
export function Loading(props) {
|
|
71
|
-
ensureComponentStyles('loading', LOADING_CSS);
|
|
72
|
-
ensureComponentStyles('loading', LOADING_CSS);
|
|
73
|
-
const right = useContentRight(props.anchorId ?? 'dshpc-main');
|
|
74
|
-
return h('div', { style: { ...pillStyle, right }, role: 'status', 'aria-live': 'polite' }, h('span', { className: 'dshpc-run-blocks' }, h('i', null), h('i', null), h('i', null)));
|
|
75
|
-
}
|
|
76
|
-
/** 运行中状态用的三个脉动方块(无文案),颜色跟随 `currentColor`。 */
|
|
77
|
-
export function RunningBlocks() {
|
|
78
|
-
ensureComponentStyles('loading', LOADING_CSS);
|
|
79
|
-
return h('span', { className: 'dshpc-run-blocks' }, h('i', null), h('i', null), h('i', null));
|
|
80
|
-
}
|
|
81
|
-
function textOf(props) {
|
|
82
|
-
return props.text ?? (props.translate ?? t)('loadingDefault');
|
|
83
|
-
}
|
|
84
|
-
/** 样式一:横排提示卡(转圈在左、文字在右),灰色底与 notify 的 info 卡同色。就地渲染,位置随调用方。 */
|
|
85
|
-
export function LoadingToast(props) {
|
|
86
|
-
ensureComponentStyles('loading', LOADING_CSS);
|
|
87
|
-
return h('div', { className: 'dshpc-loading-toast', role: 'status', 'aria-live': 'polite' }, h(Loader, { size: 'sm' }), h('span', null, textOf(props)));
|
|
88
|
-
}
|
|
89
|
-
/** 样式二:方块卡(转圈在上、文字在下,内距更大)。就地渲染,位置随调用方。 */
|
|
90
|
-
export function LoadingBlock(props) {
|
|
91
|
-
ensureComponentStyles('loading', LOADING_CSS);
|
|
92
|
-
return h('div', { className: 'dshpc-loading-block', role: 'status', 'aria-live': 'polite' }, h(Loader, { size: 'md' }), h('span', null, textOf(props)));
|
|
93
|
-
}
|
|
94
|
-
// 宿主实现:唯一浮层根 + 唯一槽位(`createLoadingSlot`)。屏幕上永远最多一张卡。
|
|
95
|
-
function createLoadingHost() {
|
|
96
|
-
const slot = createLoadingSlot();
|
|
97
|
-
let root = null;
|
|
98
|
-
let container = null;
|
|
99
|
-
function flush() {
|
|
100
|
-
const state = slot.current();
|
|
101
|
-
if (state === null) {
|
|
102
|
-
root?.unmount();
|
|
103
|
-
container?.remove();
|
|
104
|
-
root = null;
|
|
105
|
-
container = null;
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (root === null) {
|
|
109
|
-
container = document.createElement('div');
|
|
110
|
-
container.setAttribute('data-dshpc-loading-host', '');
|
|
111
|
-
document.body.appendChild(container);
|
|
112
|
-
root = createRoot(container);
|
|
113
|
-
}
|
|
114
|
-
ensureComponentStyles('loading', LOADING_CSS, getStyleKit());
|
|
115
|
-
const { request } = state;
|
|
116
|
-
const opacity = Math.min(1, Math.max(0, request.maskOpacity));
|
|
117
|
-
root.render(h('div', { className: loadingOverlayClass(request.position) }, request.mask
|
|
118
|
-
? h('div', {
|
|
119
|
-
className: 'dshpc-loading-overlay__mask',
|
|
120
|
-
style: { background: `rgba(0, 0, 0, ${opacity})` },
|
|
121
|
-
})
|
|
122
|
-
: null, request.variant === 'block'
|
|
123
|
-
? h(LoadingBlock, { text: request.text, translate: request.translate })
|
|
124
|
-
: h(LoadingToast, { text: request.text, translate: request.translate })));
|
|
125
|
-
}
|
|
126
|
-
return {
|
|
127
|
-
show(request) {
|
|
128
|
-
const handle = slot.show(request);
|
|
129
|
-
flush();
|
|
130
|
-
return {
|
|
131
|
-
close() {
|
|
132
|
-
handle.close();
|
|
133
|
-
flush();
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
},
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* 命令式加载提示(全局唯一浮层,**不自动消失**)。所有插件、所有位置调用都落在**同一处**
|
|
141
|
-
* (默认屏幕下方居中,与 Toast 同屏位),且屏幕上永远只有一张卡 —— 后一次调用直接顶掉
|
|
142
|
-
* 前一次,被顶掉那次的句柄再 `close()` 是空操作。收起只能靠自己调 `close()`。
|
|
143
|
-
*
|
|
144
|
-
* ```ts
|
|
145
|
-
* const loading = showLoading({ text: '正在保存…', mask: true, maskOpacity: 0.3 })
|
|
146
|
-
* await save()
|
|
147
|
-
* loading.close()
|
|
148
|
-
* ```
|
|
149
|
-
*
|
|
150
|
-
* 无 `document` 时静默返回空句柄(Node 单测 / SSR 不炸)。
|
|
151
|
-
*/
|
|
152
|
-
export function showLoading(opts) {
|
|
153
|
-
if (typeof document === 'undefined')
|
|
154
|
-
return { close: () => { } };
|
|
155
|
-
return claimLoadingHost(createLoadingHost).show({
|
|
156
|
-
text: opts?.text,
|
|
157
|
-
variant: opts?.variant ?? 'toast',
|
|
158
|
-
position: opts?.position ?? 'bottom-center',
|
|
159
|
-
mask: opts?.mask === true,
|
|
160
|
-
maskOpacity: opts?.maskOpacity ?? 0,
|
|
161
|
-
translate: opts?.translate,
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
//# sourceMappingURL=Loading.js.map
|
package/dist/ui/Loading.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../src/ui/Loading.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,CAAC,EAAkB,MAAM,kBAAkB,CAAA;AACpD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GAMpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,SAAS,GAAoC;IACjD,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,qBAAqB;IAC7B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK;IACxD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,wBAAwB;IAC3D,UAAU,EAAE,wBAAwB,EAAE,MAAM,EAAE,+BAA+B;IAC7E,SAAS,EAAE,kDAAkD;IAC7D,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,sBAAsB;IAChG,wBAAwB;IACxB,aAAa,EAAE,MAAM;CACtB,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,eAAe,IAAI,CAAC,CAAA;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YAC5C,IAAI,CAAC,EAAE;gBAAE,OAAM;YACf,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAA;YACtD,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACxE,CAAC,CAAA;QACD,MAAM,EAAE,CAAA;QACR,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACzC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC/C,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC5C,IAAI,EAAE;YAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACtB,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC5C,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAClD,EAAE,CAAC,UAAU,EAAE,CAAA;QACjB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACd,OAAO,KAAK,CAAA;AACd,CAAC;AAOD,4CAA4C;AAC5C,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7C,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAA;IAC7D,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EACvF,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CACvF,CAAA;AACH,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa;IAC3B,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7C,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;AAC/F,CAAC;AAyBD,SAAS,MAAM,CAAC,KAAuB;IACrC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;AAC/D,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,YAAY,CAAC,KAAuB;IAClD,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7C,OAAO,CAAC,CACN,KAAK,EACL,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EAC3E,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EACzB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAC/B,CAAA;AACH,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,YAAY,CAAC,KAAuB;IAClD,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7C,OAAO,CAAC,CACN,KAAK,EACL,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EAC3E,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EACzB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAC/B,CAAA;AACH,CAAC;AAED,qDAAqD;AACrD,SAAS,iBAAiB;IACxB,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAA;IAChC,IAAI,IAAI,GAAgB,IAAI,CAAA;IAC5B,IAAI,SAAS,GAA0B,IAAI,CAAA;IAE3C,SAAS,KAAK;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC5B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,OAAO,EAAE,CAAA;YACf,SAAS,EAAE,MAAM,EAAE,CAAA;YACnB,IAAI,GAAG,IAAI,CAAA;YACX,SAAS,GAAG,IAAI,CAAA;YAChB,OAAM;QACR,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACzC,SAAS,CAAC,YAAY,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;YACrD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YACpC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QACD,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM,CACT,CAAC,CACC,KAAK,EACL,EAAE,SAAS,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EACpD,OAAO,CAAC,IAAI;YACV,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBACP,SAAS,EAAE,6BAA6B;gBACxC,KAAK,EAAE,EAAE,UAAU,EAAE,iBAAiB,OAAO,GAAG,EAAE;aACnD,CAAC;YACJ,CAAC,CAAC,IAAI,EACR,OAAO,CAAC,OAAO,KAAK,OAAO;YACzB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACvE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAC1E,CACF,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAuB;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjC,KAAK,EAAE,CAAA;YACP,OAAO;gBACL,KAAK;oBACH,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,KAAK,EAAE,CAAA;gBACT,CAAC;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,IAAqB;IAC/C,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;IAC/D,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC;QAC9C,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO;QACjC,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,eAAe;QAC3C,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI;QACzB,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,CAAC;QACnC,SAAS,EAAE,IAAI,EAAE,SAAS;KAC3B,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/ui/MarqueeText.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 跑马灯文本 —— **全站唯一实现**(L2,P6 从 editor-fields 迁入 ui)
|
|
3
|
-
*
|
|
4
|
-
* 默认超长省略号;hover 且确实放不下时,来回滚动展示全名。自实现原因:官方 primitives 无跑马灯组件。
|
|
5
|
-
* 测宽用 ResizeObserver + 文本变化重测;滚动距离 0 时不启用 hover 动画(`.dshpc-mq-run` 才有动画)。
|
|
6
|
-
*
|
|
7
|
-
* **双层结构**:外层 `.dshpc-mq` 只负责裁剪(overflow:hidden),内层 `.dshpc-mq-in` 才做
|
|
8
|
-
* transform 滚动——文字永远在自己那一块里跑,不会压到相邻文字。皮肤在 `controls-css.ts`。
|
|
9
|
-
*/
|
|
10
|
-
import { type CSSProperties, type ReactElement } from 'react';
|
|
11
|
-
/** 跑马灯文本。 */
|
|
12
|
-
export declare function MarqueeText(props: {
|
|
13
|
-
text: string;
|
|
14
|
-
style?: CSSProperties;
|
|
15
|
-
title?: string;
|
|
16
|
-
/**
|
|
17
|
-
* 追加在外层上的类名(**在 `.dshpc-mq` 之后**,用于调用方自带字体 / 字号 / 字色等皮肤)。
|
|
18
|
-
* 皮肤写在调用方自己的样式域里,本组件只管滚动;字体类挂外层即可(内层继承)。
|
|
19
|
-
*/
|
|
20
|
-
className?: string;
|
|
21
|
-
}): ReactElement;
|
|
22
|
-
//# sourceMappingURL=MarqueeText.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarqueeText.d.ts","sourceRoot":"","sources":["../../src/ui/MarqueeText.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAiF,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAI5I,aAAa;AACb,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,YAAY,CAqCf"}
|
package/dist/ui/MarqueeText.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 跑马灯文本 —— **全站唯一实现**(L2,P6 从 editor-fields 迁入 ui)
|
|
3
|
-
*
|
|
4
|
-
* 默认超长省略号;hover 且确实放不下时,来回滚动展示全名。自实现原因:官方 primitives 无跑马灯组件。
|
|
5
|
-
* 测宽用 ResizeObserver + 文本变化重测;滚动距离 0 时不启用 hover 动画(`.dshpc-mq-run` 才有动画)。
|
|
6
|
-
*
|
|
7
|
-
* **双层结构**:外层 `.dshpc-mq` 只负责裁剪(overflow:hidden),内层 `.dshpc-mq-in` 才做
|
|
8
|
-
* transform 滚动——文字永远在自己那一块里跑,不会压到相邻文字。皮肤在 `controls-css.ts`。
|
|
9
|
-
*/
|
|
10
|
-
import { createElement as h, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
11
|
-
import { ensureComponentStyles } from './css.js';
|
|
12
|
-
import { MARQUEE_CSS } from './marquee-css.js';
|
|
13
|
-
/** 跑马灯文本。 */
|
|
14
|
-
export function MarqueeText(props) {
|
|
15
|
-
ensureComponentStyles('marquee', MARQUEE_CSS);
|
|
16
|
-
const outerRef = useRef(null);
|
|
17
|
-
const innerRef = useRef(null);
|
|
18
|
-
const [dist, setDist] = useState(0);
|
|
19
|
-
const measure = useCallback(() => {
|
|
20
|
-
const outer = outerRef.current;
|
|
21
|
-
const inner = innerRef.current;
|
|
22
|
-
if (outer === null || inner === null)
|
|
23
|
-
return;
|
|
24
|
-
setDist(Math.max(0, Math.ceil(inner.scrollWidth - outer.clientWidth)));
|
|
25
|
-
}, []);
|
|
26
|
-
useLayoutEffect(() => {
|
|
27
|
-
const outer = outerRef.current;
|
|
28
|
-
const inner = innerRef.current;
|
|
29
|
-
if (outer === null || inner === null)
|
|
30
|
-
return;
|
|
31
|
-
measure();
|
|
32
|
-
const ro = new ResizeObserver(measure); // 抽屉拖宽变窄 / 字体就绪都会改 clientWidth ⇒ 重测
|
|
33
|
-
ro.observe(outer);
|
|
34
|
-
ro.observe(inner); // webfont 就绪只改 inner.scrollWidth 不改 outer.clientWidth,不观察就漏测(官方 PathLabel 同款双观察)
|
|
35
|
-
return () => { ro.disconnect(); };
|
|
36
|
-
}, [measure]);
|
|
37
|
-
useEffect(() => { measure(); }, [props.text, measure]);
|
|
38
|
-
const run = dist > 0;
|
|
39
|
-
return h('span', {
|
|
40
|
-
ref: outerRef,
|
|
41
|
-
className: (run ? 'dshpc-mq dshpc-mq-run' : 'dshpc-mq') + (props.className === undefined ? '' : ` ${props.className}`),
|
|
42
|
-
title: props.title,
|
|
43
|
-
style: props.style,
|
|
44
|
-
}, h('span', {
|
|
45
|
-
ref: innerRef,
|
|
46
|
-
className: 'dshpc-mq-in',
|
|
47
|
-
style: {
|
|
48
|
-
...(run ? { '--dshpc-mq-dist': `${-dist}px`, '--dshpc-mq-dur': `${Math.max(3, Math.round(dist / 30))}s` } : null),
|
|
49
|
-
},
|
|
50
|
-
}, props.text));
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=MarqueeText.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarqueeText.js","sourceRoot":"","sources":["../../src/ui/MarqueeText.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAyC,MAAM,OAAO,CAAA;AAC5I,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,aAAa;AACb,MAAM,UAAU,WAAW,CAAC,KAS3B;IACC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAA;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;YAAE,OAAM;QAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACxE,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;YAAE,OAAM;QAC5C,OAAO,EAAE,CAAA;QACT,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA,CAAC,oCAAoC;QAC3E,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,iFAAiF;QACnG,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAA,CAAC,CAAC,CAAA;IAClC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACb,SAAS,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAA;IACpB,OAAO,CAAC,CAAC,MAAM,EAAE;QACf,GAAG,EAAE,QAAQ;QACb,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACtH,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,EACC,CAAC,CAAC,MAAM,EAAE;QACR,GAAG,EAAE,QAAQ;QACb,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE;YACL,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClH;KACF,EAAE,KAAK,CAAC,IAAI,CAAC,CACf,CAAA;AACH,CAAC"}
|
package/dist/ui/Modal.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { createElement as h, type ReactNode } from 'react';
|
|
2
|
-
import { type Translate } from '../utils/i18n.js';
|
|
3
|
-
/** 弹窗尺寸档:sm≈确认框 / md(默认) / lg 大窗。 */
|
|
4
|
-
export type ModalSize = 'sm' | 'md' | 'lg';
|
|
5
|
-
export interface ModalProps {
|
|
6
|
-
/** 头部左侧图标位(可不传)。 */
|
|
7
|
-
icon?: ReactNode;
|
|
8
|
-
title?: ReactNode;
|
|
9
|
-
/**
|
|
10
|
-
* 标题**下方**的副标题行(等宽小字;会话预览的 sessionId 就放这里 —— 用户 2026-10-22:
|
|
11
|
-
* 标识属于标题区,不占正文)。与标题同宽、可换行。
|
|
12
|
-
*/
|
|
13
|
-
subtitle?: ReactNode;
|
|
14
|
-
/** 标题右侧小块:数字 / 标签(ReactNode;demo 用 Chip 演示)。 */
|
|
15
|
-
headerExtra?: ReactNode;
|
|
16
|
-
/** 头部右侧动作区:关闭钮之外的更多按钮(ReactNode)。 */
|
|
17
|
-
headerActions?: ReactNode;
|
|
18
|
-
/** 关闭回调;不传则 ✕ 不显示(必须自己给关闭路径)。 */
|
|
19
|
-
onClose?: () => void;
|
|
20
|
-
/** 是否显示右上角 ✕(默认 = `onClose` 是否传入)。确认框传 false 即可去掉小叉。 */
|
|
21
|
-
closable?: boolean;
|
|
22
|
-
/** 点遮罩是否关闭(默认 true;误触代价大的场景设 false)。 */
|
|
23
|
-
closeOnMask?: boolean;
|
|
24
|
-
/** 按 Esc 是否关闭(默认 true)。 */
|
|
25
|
-
escClose?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* 有异步在跑(如 footer 里的 `Button` 正在 loading):为真时遮罩 / Esc / ✕ **三条关闭路径全失效**,
|
|
28
|
-
* 内容照常渲染。与 `closeOnMask` / `escClose` / `closable` 是"与"关系 —— 它是否决项,不替代它们。
|
|
29
|
-
*/
|
|
30
|
-
busy?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* **锁死全部交互**(与 loading 解耦:按钮转不转圈是另一回事)。为真时:
|
|
33
|
-
* · 面板内的核心控件各自按**自己的禁用态**渲染(灰掉、点不动、Tab 跳过);
|
|
34
|
-
* · 面板上盖一层**全透明**的点击层,消费方自绘的元素也跟着点不动,鼠标是禁止手势;
|
|
35
|
-
* · 遮罩 / Esc / ✕ 三条关闭路径同时失效。
|
|
36
|
-
*
|
|
37
|
-
* 一律只做「或」,**永不写回调用方的 `disabled`**:本来禁用的解锁后照样禁用,锁定期间你把它改成
|
|
38
|
-
* 能用 / 禁用,解锁后也照你的。不压任何灰色遮罩 —— 整块蒙一层会让人以为界面坏了。
|
|
39
|
-
* 受控项,不落内部 state:关掉重开自然回到未锁。
|
|
40
|
-
*/
|
|
41
|
-
locked?: boolean;
|
|
42
|
-
/** 尺寸档:sm=小确认框家族 / md·lg=大弹窗家族;也可用 width/height 精确覆盖。 */
|
|
43
|
-
size?: ModalSize;
|
|
44
|
-
/** 面板宽度(默认随 size:sm 360px / md 720px / lg 1120px,均带视口兜底)。 */
|
|
45
|
-
width?: string;
|
|
46
|
-
/** 面板高度(默认仅 lg 有:calc(100% - 80px),同兄弟项目大弹窗)。 */
|
|
47
|
-
height?: string;
|
|
48
|
-
/** 面板最大宽度 / 最大高度覆盖(不传走 size 默认)。 */
|
|
49
|
-
maxWidth?: string;
|
|
50
|
-
maxHeight?: string;
|
|
51
|
-
/** 不渲染头部(沉浸式 / 无标题场景)。 */
|
|
52
|
-
hideHeader?: boolean;
|
|
53
|
-
footer?: ReactNode;
|
|
54
|
-
/**
|
|
55
|
-
* footer **左侧**的一行过程提示(换字即翻牌,太长省略、hover 跑马灯)。
|
|
56
|
-
* 不传 = 不占位、与以前完全一样;传了就自动出现(footer 也可不给,它会自己撑起底栏)。
|
|
57
|
-
* 换文案只改这个值,动效由 `FlipText` 负责。
|
|
58
|
-
*/
|
|
59
|
-
notice?: string;
|
|
60
|
-
/** footer 上面那条分隔线(默认 true)。传 false 关闭;sm 确认框家族本来就没有。 */
|
|
61
|
-
footerDivider?: boolean;
|
|
62
|
-
/** 追加 class(只允许补布局 / 视觉修饰,不许覆盖皮肤)。 */
|
|
63
|
-
className?: string;
|
|
64
|
-
children?: ReactNode;
|
|
65
|
-
translate?: Translate;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* 模态弹窗(自绘 overlay,**不用 react-dom 的 portal**,避免多一个必需依赖)。
|
|
69
|
-
*
|
|
70
|
-
* 定位:它是**呈现方式**,不是内容 —— 会话预览这类功能模块要用弹窗时用它来承载(需求文档 §4)。
|
|
71
|
-
*/
|
|
72
|
-
export declare function Modal(props: ModalProps): ReturnType<typeof h>;
|
|
73
|
-
//# sourceMappingURL=Modal.d.ts.map
|
package/dist/ui/Modal.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/ui/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAOpD,qCAAqC;AACrC,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE1C,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,gDAAgD;IAChD,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,qCAAqC;IACrC,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,yDAAyD;IACzD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAwF7D"}
|
package/dist/ui/Modal.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { createElement as h } from 'react';
|
|
2
|
-
import { t } from '../utils/i18n.js';
|
|
3
|
-
import { ensureComponentStyles } from './css.js';
|
|
4
|
-
import { FEEDBACK_CSS } from './feedback-css.js';
|
|
5
|
-
import { OverlayHead, OverlayLockCatcher, OverlayLockedProvider, OverlayMask, useEscapeClose, useLockGuards } from './overlay.js';
|
|
6
|
-
import { PanelSurface } from './panel.js';
|
|
7
|
-
import { FlipText } from './FlipText.js';
|
|
8
|
-
/**
|
|
9
|
-
* 模态弹窗(自绘 overlay,**不用 react-dom 的 portal**,避免多一个必需依赖)。
|
|
10
|
-
*
|
|
11
|
-
* 定位:它是**呈现方式**,不是内容 —— 会话预览这类功能模块要用弹窗时用它来承载(需求文档 §4)。
|
|
12
|
-
*/
|
|
13
|
-
export function Modal(props) {
|
|
14
|
-
ensureComponentStyles('feedback', FEEDBACK_CSS);
|
|
15
|
-
const tt = props.translate ?? t;
|
|
16
|
-
// busy / locked 都是否决项:三条关闭路径一起封死(✕ 见下面 showClose)。
|
|
17
|
-
// locked 比 busy 多管一层:面板整块不可交互(inert)。
|
|
18
|
-
const busy = props.busy === true;
|
|
19
|
-
const locked = props.locked === true;
|
|
20
|
-
const denyClose = busy || locked;
|
|
21
|
-
const closeOnMask = !denyClose && props.closeOnMask !== false;
|
|
22
|
-
useEscapeClose(!denyClose && props.escClose !== false, denyClose ? undefined : props.onClose);
|
|
23
|
-
useLockGuards(locked);
|
|
24
|
-
// 空串等同于没给:底栏那块地方复用给下一轮时,传 "" 就把上一句清干净、不留占位。
|
|
25
|
-
const notice = props.notice === '' ? undefined : props.notice;
|
|
26
|
-
// 默认宽高(兄弟项目真值:小框 360px(task-list.tsx:457)/ 大弹窗 min(1120px,100vw-32px) × calc(100%-80px)(archive-session-css.ts:42))。
|
|
27
|
-
// 宽度用 `100%`(相对遮罩盒)而不是 `100vw`:遮罩已按右侧分栏让位(见 feedback.css),
|
|
28
|
-
// 用 `100vw` 算出来的宽在分栏在场时会溢出到分栏上,等于白让(用户 2026-10-22)。
|
|
29
|
-
const sizeStyle = {
|
|
30
|
-
sm: { width: '360px', maxWidth: 'calc(100% - 48px)' },
|
|
31
|
-
md: { width: 'min(720px, calc(100% - 32px))', maxHeight: '86vh' },
|
|
32
|
-
lg: { width: 'min(1120px, calc(100% - 32px))', height: 'calc(100% - 80px)' },
|
|
33
|
-
};
|
|
34
|
-
const s = sizeStyle[props.size ?? 'md'];
|
|
35
|
-
const showClose = props.closable !== false && props.onClose !== undefined && !denyClose;
|
|
36
|
-
const showHeader = props.hideHeader !== true &&
|
|
37
|
-
(props.icon !== undefined ||
|
|
38
|
-
props.title !== undefined ||
|
|
39
|
-
props.subtitle !== undefined ||
|
|
40
|
-
props.headerExtra !== undefined ||
|
|
41
|
-
props.headerActions !== undefined ||
|
|
42
|
-
showClose);
|
|
43
|
-
return h(OverlayMask, {
|
|
44
|
-
kind: 'center',
|
|
45
|
-
closeOnMask,
|
|
46
|
-
onClose: denyClose ? undefined : props.onClose,
|
|
47
|
-
// inert 子树不参与命中测试,鼠标落到遮罩上 —— 禁止手势得挂在遮罩这层才看得见。
|
|
48
|
-
attrs: locked ? { 'data-dshpc-locked': '' } : undefined,
|
|
49
|
-
}, h(OverlayLockedProvider, { value: locked },
|
|
50
|
-
// 表面(底色/描边/圆角/阴影)来自 panel.css 的 modal 档;`.dshpc-modal` 只剩家族布局,
|
|
51
|
-
// 且继续作为既有类名别名存在(消费方写在它上面的覆盖不受影响)。
|
|
52
|
-
h(PanelSurface, {
|
|
53
|
-
tier: 'modal',
|
|
54
|
-
className: `dshpc-modal${props.size ? ` dshpc-modal--${props.size}` : ''}${locked ? ' dshpc-modal--locked dshpc-locked' : ''}${props.className !== undefined && props.className !== '' ? ` ${props.className}` : ''}`,
|
|
55
|
-
style: {
|
|
56
|
-
width: props.width ?? s.width,
|
|
57
|
-
maxWidth: props.maxWidth ?? s.maxWidth,
|
|
58
|
-
maxHeight: props.maxHeight ?? s.maxHeight,
|
|
59
|
-
height: props.height ?? s.height,
|
|
60
|
-
},
|
|
61
|
-
stopPropagation: true,
|
|
62
|
-
},
|
|
63
|
-
// 头部与遮罩都是浮层公共件(overlay.ts),SideSheet 用的是同一套。
|
|
64
|
-
showHeader
|
|
65
|
-
? h(OverlayHead, {
|
|
66
|
-
icon: props.icon,
|
|
67
|
-
title: props.title,
|
|
68
|
-
subtitle: props.subtitle,
|
|
69
|
-
extra: props.headerExtra,
|
|
70
|
-
actions: props.headerActions,
|
|
71
|
-
closeLabel: tt('modalClose'),
|
|
72
|
-
onClose: showClose ? props.onClose : undefined,
|
|
73
|
-
})
|
|
74
|
-
: null,
|
|
75
|
-
// body 是**唯一滚动容器**:内距归它、滚动条归它、滚动条贴面板右缘;
|
|
76
|
-
// 内容只管按流排,不许自己定高、不许自己再开滚动条(用户 2026-10-22 定的口径)。
|
|
77
|
-
h('div', { className: 'dshpc-modal__body' }, props.children ?? null), props.footer === undefined && notice === undefined
|
|
78
|
-
? null
|
|
79
|
-
: h('div', { className: `dshpc-modal__foot${props.footerDivider === false ? ' dshpc-modal__foot--bare' : ''}` }, notice === undefined ? null : h(FlipText, { text: notice, className: 'dshpc-modal__notice', sweep: true }), props.footer),
|
|
80
|
-
// 透明点击层兜住消费方自绘的元素;核心控件此时已各自是真 disabled。
|
|
81
|
-
locked ? h(OverlayLockCatcher) : null)));
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=Modal.js.map
|
package/dist/ui/Modal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/ui/Modal.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/ModelPicker.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { createElement as h, type ReactNode } from 'react';
|
|
2
|
-
import { type Translate } from '../utils/i18n.js';
|
|
3
|
-
import { type PickerSize } from './Picker.js';
|
|
4
|
-
import { type PickerGroup } from './picker-logic.js';
|
|
5
|
-
/**
|
|
6
|
-
* 模型选择器的两种形态(消费者自选):
|
|
7
|
-
* - `grouped`(分组,默认):**一个下拉、完全独立**,供应商做组头、模型列在下面,不与任何东西联动。
|
|
8
|
-
* - `cascade`(联动):**两个下拉、彼此联动** —— 先选供应商,后面模型列表跟着筛;
|
|
9
|
-
* 换供应商会清空已选模型(旧模型不属于新供应商)。
|
|
10
|
-
*
|
|
11
|
-
* **返回口径一致**:`onChange` 一律发最终模型值(`${provider}/${id}`);级联态换供应商先发 `''`。
|
|
12
|
-
* 选「默认模型」也发 `''` —— 表示没选,调用方自己处理。
|
|
13
|
-
*
|
|
14
|
-
* **数据自带**:不传 `groups` 就读 `connectHost(ctx, { modelsPath })` 喂进的真实目录。
|
|
15
|
-
*/
|
|
16
|
-
export type ModelPickerVariant = 'grouped' | 'cascade';
|
|
17
|
-
export interface ModelPickerProps {
|
|
18
|
-
/** 覆盖内置目录(一般不用;测试或特殊数据源时才传)。 */
|
|
19
|
-
groups?: PickerGroup[];
|
|
20
|
-
variant?: ModelPickerVariant;
|
|
21
|
-
/** 最终模型值;`''` = 默认模型(没选)。 */
|
|
22
|
-
value?: string;
|
|
23
|
-
/** 非受控初始值。 */
|
|
24
|
-
defaultValue?: string;
|
|
25
|
-
onChange?: (value: string) => void;
|
|
26
|
-
/** 是否提供「默认模型」选项(默认提供;不需要就传 false)。 */
|
|
27
|
-
allowDefault?: boolean;
|
|
28
|
-
/** 「默认模型」的文案(默认取内置字典)。 */
|
|
29
|
-
defaultLabel?: string;
|
|
30
|
-
/** 未选时的文字(默认「模型」)。 */
|
|
31
|
-
placeholder?: string;
|
|
32
|
-
/** 触发器前置图标:不传 = 默认星形;传 `null` = 不显示;传元素 = 自定义。 */
|
|
33
|
-
icon?: ReactNode | null;
|
|
34
|
-
/** 问号提示文字(传了才显示)。 */
|
|
35
|
-
hint?: string;
|
|
36
|
-
/** 目录不可用时的如实提示(不传则由目录状态决定)。 */
|
|
37
|
-
degraded?: boolean;
|
|
38
|
-
disabled?: boolean;
|
|
39
|
-
clearable?: boolean;
|
|
40
|
-
/** 下拉内搜索框(默认开;要关传 false)。 */
|
|
41
|
-
searchable?: boolean;
|
|
42
|
-
size?: PickerSize;
|
|
43
|
-
placement?: 'down' | 'up';
|
|
44
|
-
className?: string;
|
|
45
|
-
translate?: Translate;
|
|
46
|
-
}
|
|
47
|
-
export declare function ModelPicker(props: ModelPickerProps): ReturnType<typeof h>;
|
|
48
|
-
//# sourceMappingURL=ModelPicker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModelPicker.d.ts","sourceRoot":"","sources":["../../src/ui/ModelPicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAA6C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACrG,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAA2B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAM7E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,CAAA;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAqGzE"}
|
package/dist/ui/ModelPicker.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { createElement as h, useEffect, useState, useSyncExternalStore } from 'react';
|
|
2
|
-
import { t } from '../utils/i18n.js';
|
|
3
|
-
import { Picker } from './Picker.js';
|
|
4
|
-
import { flattenOptions, groupOf } from './picker-logic.js';
|
|
5
|
-
import { modelCatalog } from './host-data.js';
|
|
6
|
-
import { sparkleIcon } from './picker-icons.js';
|
|
7
|
-
import { ensureComponentStyles } from './css.js';
|
|
8
|
-
import { PICKER_CSS } from './picker-css.js';
|
|
9
|
-
export function ModelPicker(props) {
|
|
10
|
-
ensureComponentStyles('picker', PICKER_CSS);
|
|
11
|
-
const tt = props.translate ?? t;
|
|
12
|
-
const value = props.value;
|
|
13
|
-
const variant = props.variant ?? 'grouped';
|
|
14
|
-
const searchable = props.searchable ?? true;
|
|
15
|
-
const defaultOption = props.allowDefault === false
|
|
16
|
-
? undefined
|
|
17
|
-
: { value: '', label: props.defaultLabel ?? tt('modelDefault') };
|
|
18
|
-
// 目录状态:外部没喂目录(Node 自检 / 宿主缺服务)⇒ 空 + 如实降级,不编数据。
|
|
19
|
-
const catalog = useSyncExternalStore(modelCatalog.subscribe, modelCatalog.getSnapshot);
|
|
20
|
-
const groups = props.groups ??
|
|
21
|
-
(catalog.status === 'ready'
|
|
22
|
-
? catalog.routes.map((route) => ({
|
|
23
|
-
value: route.provider,
|
|
24
|
-
label: route.displayName,
|
|
25
|
-
options: route.models.map((model) => ({
|
|
26
|
-
value: `${route.provider}/${model.id}`,
|
|
27
|
-
label: model.name ?? model.id,
|
|
28
|
-
})),
|
|
29
|
-
}))
|
|
30
|
-
: []);
|
|
31
|
-
// 目录不可用、或读出来是空的 ⇒ 如实提示「候选可能不完整」,别让空列表看起来像坏了。
|
|
32
|
-
const degraded = props.degraded ?? (catalog.status === 'unavailable' || (catalog.status === 'ready' && groups.length === 0));
|
|
33
|
-
const icon = props.icon === undefined ? sparkleIcon() : props.icon ?? undefined;
|
|
34
|
-
const emitModel = (v) => {
|
|
35
|
-
props.onChange?.(typeof v === 'string' ? v : v[0] ?? '');
|
|
36
|
-
};
|
|
37
|
-
// 联动态的厂商选择必须组件自己记 —— 值是从模型值反推的,换厂商会把模型清成 ''
|
|
38
|
-
// (拍板口径),反推就再也找不到刚点的厂商(2026-10-20 真机:选完厂商后面仍是黑的)。
|
|
39
|
-
const [pickedProvider, setPickedProvider] = useState('');
|
|
40
|
-
const curGroup = groupOf(groups, value ?? '');
|
|
41
|
-
const provider = pickedProvider !== '' && groups.some((g) => g.value === pickedProvider)
|
|
42
|
-
? pickedProvider
|
|
43
|
-
: curGroup?.value ?? '';
|
|
44
|
-
// 值定到某模型上 ⇒ 临时选的厂商功成身退,回到按值反推
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
if (value !== undefined && value !== '')
|
|
47
|
-
setPickedProvider('');
|
|
48
|
-
}, [value]);
|
|
49
|
-
if (variant === 'grouped') {
|
|
50
|
-
return h(Picker, {
|
|
51
|
-
// 「默认模型」放最上面:空 label 的组,Picker 只渲染选项不渲染组头
|
|
52
|
-
groups: defaultOption === undefined
|
|
53
|
-
? groups
|
|
54
|
-
: [{ value: '', label: '', options: [defaultOption] }, ...groups],
|
|
55
|
-
value,
|
|
56
|
-
defaultValue: props.defaultValue,
|
|
57
|
-
icon,
|
|
58
|
-
placeholder: props.placeholder ?? tt('modelModel'),
|
|
59
|
-
degraded,
|
|
60
|
-
disabled: props.disabled,
|
|
61
|
-
clearable: props.clearable,
|
|
62
|
-
searchable,
|
|
63
|
-
hint: props.hint,
|
|
64
|
-
size: props.size,
|
|
65
|
-
placement: props.placement,
|
|
66
|
-
className: props.className,
|
|
67
|
-
onChange: emitModel,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
// cascade:两个下拉联动 —— 供应商筛模型;换供应商清空模型
|
|
71
|
-
const group = groups.find((g) => g.value === provider);
|
|
72
|
-
const options = group === undefined ? [] : flattenOptions([group]);
|
|
73
|
-
return h('div', { className: 'dshpc-picker__row' }, h(Picker, {
|
|
74
|
-
options: groups.map((g) => ({ value: g.value, label: g.label })),
|
|
75
|
-
value: provider === '' ? undefined : provider,
|
|
76
|
-
placeholder: tt('modelProvider'),
|
|
77
|
-
degraded,
|
|
78
|
-
disabled: props.disabled,
|
|
79
|
-
searchable: false,
|
|
80
|
-
onChange: (v) => {
|
|
81
|
-
setPickedProvider(typeof v === 'string' ? v : v[0] ?? '');
|
|
82
|
-
props.onChange?.('');
|
|
83
|
-
},
|
|
84
|
-
}), h(Picker, {
|
|
85
|
-
options: defaultOption === undefined ? options : [defaultOption, ...options],
|
|
86
|
-
value,
|
|
87
|
-
defaultValue: props.defaultValue,
|
|
88
|
-
icon,
|
|
89
|
-
placeholder: props.placeholder ?? tt('modelModel'),
|
|
90
|
-
degraded,
|
|
91
|
-
disabled: props.disabled === true || provider === '',
|
|
92
|
-
clearable: props.clearable,
|
|
93
|
-
searchable,
|
|
94
|
-
hint: props.hint,
|
|
95
|
-
size: props.size,
|
|
96
|
-
placement: props.placement,
|
|
97
|
-
className: props.className,
|
|
98
|
-
onChange: emitModel,
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=ModelPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModelPicker.js","sourceRoot":"","sources":["../../src/ui/ModelPicker.ts"],"names":[],"mappings":"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"}
|