niuma-ui 2.0.4 → 2.1.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/CHANGELOG.md +67 -0
- package/NOTICE +0 -1
- package/README.md +3 -3
- package/README.zh-CN.md +3 -3
- package/dist/components/_shared/index.d.ts +2 -2
- package/dist/components/_shared/src/overlay-utils.d.ts +44 -1
- package/dist/components/_shared/src/overlay-utils.js +87 -2
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/alert/src/RsAlert.css +120 -65
- package/dist/components/alert/src/RsAlert.d.ts +24 -5
- package/dist/components/alert/src/RsAlert.impl.js +108 -36
- package/dist/components/alert/src/RsAlert.js +1 -1
- package/dist/components/alert/src/alert-utils.d.ts +37 -0
- package/dist/components/alert/src/alert-utils.js +71 -0
- package/dist/components/auto-complete/src/RsAutoComplete.d.ts +1 -1
- package/dist/components/button/src/RsButton.css +75 -72
- package/dist/components/button/src/RsButton.d.ts +1 -4
- package/dist/components/button/src/RsButton.impl.js +3 -7
- package/dist/components/button/src/RsButton.js +1 -1
- package/dist/components/card/src/RsCard.d.ts +1 -1
- package/dist/components/code-block/index.d.ts +1 -0
- package/dist/components/code-block/src/RsCodeBlock.css +93 -52
- package/dist/components/code-block/src/RsCodeBlock.d.ts +36 -9
- package/dist/components/code-block/src/RsCodeBlock.impl.js +203 -84
- package/dist/components/code-block/src/RsCodeBlock.js +1 -1
- package/dist/components/code-block/src/code-block-highlight.d.ts +4 -0
- package/dist/components/code-block/src/code-block-highlight.js +34 -0
- package/dist/components/code-block/src/code-block-utils.d.ts +23 -0
- package/dist/components/code-block/src/code-block-utils.js +71 -0
- package/dist/components/code-editor/index.d.ts +1 -1
- package/dist/components/code-editor/src/RsCodeEditor.css +118 -92
- package/dist/components/code-editor/src/RsCodeEditor.d.ts +14 -3
- package/dist/components/code-editor/src/RsCodeEditor.impl.js +261 -94
- package/dist/components/code-editor/src/RsCodeEditor.js +1 -1
- package/dist/components/code-editor/src/code-editor-utils.d.ts +15 -0
- package/dist/components/code-editor/src/code-editor-utils.js +36 -1
- package/dist/components/code-editor/src/code-mirror-completion.d.ts +1 -1
- package/dist/components/code-editor/src/code-mirror-completion.js +8 -5
- package/dist/components/code-editor/src/code-mirror-diagnostics.d.ts +2 -3
- package/dist/components/code-editor/src/code-mirror-diagnostics.js +3 -4
- package/dist/components/code-editor/src/code-mirror-ghost.d.ts +1 -1
- package/dist/components/code-editor/src/code-mirror-ghost.js +12 -3
- package/dist/components/code-editor/src/code-mirror-inline-edit.js +8 -3
- package/dist/components/code-editor/src/code-mirror-intel.d.ts +2 -2
- package/dist/components/code-editor/src/code-mirror-intel.js +50 -39
- package/dist/components/code-editor/src/code-mirror-lang.js +4 -0
- package/dist/components/code-editor/src/code-mirror-session.d.ts +13 -0
- package/dist/components/code-editor/src/code-mirror-session.js +30 -0
- package/dist/components/config-provider/src/RsConfigProvider.css +1 -1
- package/dist/components/config-provider/src/RsConfigProvider.d.ts +2 -2
- package/dist/components/config-provider/src/RsConfigProvider.impl.js +7 -16
- package/dist/components/config-provider/src/RsConfigProvider.js +1 -1
- package/dist/components/context-menu/index.d.ts +1 -1
- package/dist/components/context-menu/src/RsContextMenu.css +115 -89
- package/dist/components/context-menu/src/RsContextMenu.d.ts +32 -11
- package/dist/components/context-menu/src/RsContextMenu.impl.js +795 -48
- package/dist/components/context-menu/src/RsContextMenuItems.d.ts +25 -1
- package/dist/components/context-menu/src/RsContextMenuItems.impl.js +110 -61
- package/dist/components/context-menu/src/context-menu-utils.d.ts +89 -3
- package/dist/components/context-menu/src/context-menu-utils.js +168 -3
- package/dist/components/date-picker/src/RsDatePicker.d.ts +2 -2
- package/dist/components/date-picker/src/RsDateTimePicker.d.ts +2 -2
- package/dist/components/descriptions/index.d.ts +1 -1
- package/dist/components/descriptions/src/RsDescriptions.css +38 -11
- package/dist/components/descriptions/src/RsDescriptions.d.ts +20 -4
- package/dist/components/descriptions/src/RsDescriptions.impl.js +89 -19
- package/dist/components/descriptions/src/RsDescriptionsItem.impl.js +13 -6
- package/dist/components/descriptions/src/descriptions-utils.d.ts +19 -0
- package/dist/components/descriptions/src/descriptions-utils.js +39 -1
- package/dist/components/dialog/index.d.ts +1 -1
- package/dist/components/dialog/src/RsConfirmDialog.css +47 -21
- package/dist/components/dialog/src/RsConfirmDialog.d.ts +19 -7
- package/dist/components/dialog/src/RsConfirmDialog.impl.js +349 -119
- package/dist/components/dialog/src/RsConfirmDialog.js +2 -1
- package/dist/components/dialog/src/RsDialog.css +102 -109
- package/dist/components/dialog/src/RsDialog.d.ts +34 -24
- package/dist/components/dialog/src/RsDialog.impl.js +410 -177
- package/dist/components/dialog/src/RsDialog.js +2 -1
- package/dist/components/dialog/src/dialog-utils.d.ts +40 -1
- package/dist/components/dialog/src/dialog-utils.js +152 -1
- package/dist/components/dialog/src/dialog-window.js +29 -8
- package/dist/components/drawer/index.d.ts +1 -1
- package/dist/components/drawer/src/RsDrawer.css +61 -29
- package/dist/components/drawer/src/RsDrawer.d.ts +37 -21
- package/dist/components/drawer/src/RsDrawer.impl.js +441 -223
- package/dist/components/drawer/src/drawer-utils.d.ts +35 -0
- package/dist/components/drawer/src/drawer-utils.js +131 -1
- package/dist/components/dropdown/index.d.ts +1 -1
- package/dist/components/dropdown/src/RsDropdown.css +140 -61
- package/dist/components/dropdown/src/RsDropdown.d.ts +39 -6
- package/dist/components/dropdown/src/RsDropdown.impl.js +693 -63
- package/dist/components/dropdown/src/RsDropdownItemView.impl.js +17 -7
- package/dist/components/dropdown/src/RsDropdownItems.d.ts +32 -3
- package/dist/components/dropdown/src/RsDropdownItems.impl.js +171 -59
- package/dist/components/dropdown/src/dropdown-utils.d.ts +50 -0
- package/dist/components/dropdown/src/dropdown-utils.js +103 -3
- package/dist/components/empty/index.d.ts +1 -0
- package/dist/components/empty/src/RsEmpty.css +105 -23
- package/dist/components/empty/src/RsEmpty.d.ts +27 -4
- package/dist/components/empty/src/RsEmpty.impl.js +154 -11
- package/dist/components/empty/src/RsEmpty.js +2 -1
- package/dist/components/empty/src/empty-utils.d.ts +28 -0
- package/dist/components/empty/src/empty-utils.js +55 -0
- package/dist/components/form/src/RsForm.d.ts +1 -1
- package/dist/components/input-number/src/RsInputNumber.d.ts +1 -1
- package/dist/components/label/src/RsLabel.d.ts +1 -1
- package/dist/components/loading/index.d.ts +1 -0
- package/dist/components/loading/src/RsLoading.css +13 -97
- package/dist/components/loading/src/RsLoading.d.ts +52 -2
- package/dist/components/loading/src/RsLoading.impl.js +216 -33
- package/dist/components/loading/src/RsLoading.js +2 -1
- package/dist/components/loading/src/loading-status.css +210 -0
- package/dist/components/loading/src/loading-status.d.ts +34 -0
- package/dist/components/loading/src/loading-status.impl.js +84 -0
- package/dist/components/loading/src/loading-status.js +8 -0
- package/dist/components/loading/src/loading-utils.d.ts +51 -4
- package/dist/components/loading/src/loading-utils.js +122 -0
- package/dist/components/loading-bar/index.d.ts +1 -0
- package/dist/components/loading-bar/src/RsLoadingBar.css +72 -8
- package/dist/components/loading-bar/src/RsLoadingBar.d.ts +55 -11
- package/dist/components/loading-bar/src/RsLoadingBar.impl.js +298 -57
- package/dist/components/loading-bar/src/RsLoadingBar.js +1 -1
- package/dist/components/loading-bar/src/loading-bar-utils.d.ts +69 -0
- package/dist/components/loading-bar/src/loading-bar-utils.js +97 -0
- package/dist/components/log/src/RsLog.css +52 -144
- package/dist/components/log/src/RsLog.d.ts +12 -11
- package/dist/components/log/src/RsLog.impl.js +181 -148
- package/dist/components/log/src/RsLog.js +1 -1
- package/dist/components/log/src/RsLogRow.css +152 -0
- package/dist/components/log/src/RsLogRow.d.ts +35 -0
- package/dist/components/log/src/RsLogRow.impl.js +91 -0
- package/dist/components/log/src/RsLogRow.js +8 -0
- package/dist/components/log/src/log-utils.d.ts +8 -0
- package/dist/components/log/src/log-utils.js +71 -10
- package/dist/components/markdown/index.d.ts +1 -1
- package/dist/components/markdown/src/RsMarkdown.css +75 -32
- package/dist/components/markdown/src/RsMarkdown.d.ts +6 -2
- package/dist/components/markdown/src/RsMarkdown.impl.js +185 -17
- package/dist/components/markdown/src/markdown-utils.d.ts +26 -0
- package/dist/components/markdown/src/markdown-utils.js +114 -12
- package/dist/components/mentions/src/RsMentions.d.ts +2 -2
- package/dist/components/menu/index.d.ts +1 -1
- package/dist/components/menu/src/RsMenu.css +70 -29
- package/dist/components/menu/src/RsMenu.d.ts +58 -4
- package/dist/components/menu/src/RsMenu.impl.js +93 -46
- package/dist/components/menu/src/RsMenuItems.d.ts +22 -5
- package/dist/components/menu/src/RsMenuItems.impl.js +506 -154
- package/dist/components/menu/src/menu-utils.d.ts +56 -0
- package/dist/components/menu/src/menu-utils.js +139 -6
- package/dist/components/monaco-editor/index.d.ts +1 -1
- package/dist/components/monaco-editor/src/RsMonacoEditor.css +28 -16
- package/dist/components/monaco-editor/src/RsMonacoEditor.d.ts +39 -41
- package/dist/components/monaco-editor/src/RsMonacoEditor.impl.js +212 -133
- package/dist/components/monaco-editor/src/RsMonacoEditor.js +1 -1
- package/dist/components/monaco-editor/src/monaco-editor-utils.d.ts +126 -0
- package/dist/components/monaco-editor/src/monaco-editor-utils.js +302 -0
- package/dist/components/pagination/index.d.ts +2 -2
- package/dist/components/pagination/src/RsPagination.css +93 -46
- package/dist/components/pagination/src/RsPagination.d.ts +68 -8
- package/dist/components/pagination/src/RsPagination.impl.js +229 -86
- package/dist/components/pagination/src/RsPagination.js +1 -1
- package/dist/components/pagination/src/pagination-utils.d.ts +59 -0
- package/dist/components/pagination/src/pagination-utils.js +105 -1
- package/dist/components/popover/index.d.ts +1 -0
- package/dist/components/popover/src/RsPopover.css +124 -14
- package/dist/components/popover/src/RsPopover.d.ts +38 -7
- package/dist/components/popover/src/RsPopover.impl.js +546 -35
- package/dist/components/popover/src/RsPopover.js +2 -1
- package/dist/components/popover/src/popover-utils.d.ts +24 -2
- package/dist/components/popover/src/popover-utils.js +55 -0
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/src/RsSidebar.css +91 -33
- package/dist/components/sidebar/src/RsSidebar.d.ts +17 -9
- package/dist/components/sidebar/src/RsSidebar.impl.js +124 -22
- package/dist/components/sidebar/src/RsSidebar.js +1 -1
- package/dist/components/sidebar/src/RsSidebarGroup.css +23 -6
- package/dist/components/sidebar/src/RsSidebarGroup.d.ts +6 -2
- package/dist/components/sidebar/src/RsSidebarGroup.impl.js +17 -4
- package/dist/components/sidebar/src/RsSidebarGroup.js +1 -1
- package/dist/components/sidebar/src/RsSidebarItem.css +50 -20
- package/dist/components/sidebar/src/RsSidebarItem.d.ts +21 -3
- package/dist/components/sidebar/src/RsSidebarItem.impl.js +71 -20
- package/dist/components/sidebar/src/RsSidebarItem.js +1 -1
- package/dist/components/sidebar/src/sidebar-utils.d.ts +47 -0
- package/dist/components/sidebar/src/sidebar-utils.js +72 -0
- package/dist/components/split-pane/index.d.ts +2 -2
- package/dist/components/split-pane/src/RsSplitPane.css +41 -30
- package/dist/components/split-pane/src/RsSplitPane.d.ts +6 -2
- package/dist/components/split-pane/src/RsSplitPane.impl.js +153 -45
- package/dist/components/split-pane/src/split-pane-utils.d.ts +23 -0
- package/dist/components/split-pane/src/split-pane-utils.js +18 -1
- package/dist/components/stat-card/index.d.ts +1 -0
- package/dist/components/stat-card/src/RsStatCard.css +129 -25
- package/dist/components/stat-card/src/RsStatCard.d.ts +40 -4
- package/dist/components/stat-card/src/RsStatCard.impl.js +106 -12
- package/dist/components/stat-card/src/RsStatCard.js +1 -1
- package/dist/components/stat-card/src/stat-card-utils.d.ts +39 -0
- package/dist/components/stat-card/src/stat-card-utils.js +113 -0
- package/dist/components/steps/index.d.ts +1 -1
- package/dist/components/steps/src/RsSteps.css +158 -37
- package/dist/components/steps/src/RsSteps.d.ts +69 -5
- package/dist/components/steps/src/RsSteps.impl.js +168 -28
- package/dist/components/steps/src/RsSteps.js +1 -1
- package/dist/components/steps/src/steps-utils.d.ts +51 -1
- package/dist/components/steps/src/steps-utils.js +67 -1
- package/dist/components/table/src/RsTable.impl.js +4 -2
- package/dist/components/table/src/composables/useRsTableContextMenu.d.ts +16 -0
- package/dist/components/table/src/composables/useRsTableContextMenu.js +1 -1
- package/dist/components/table/src/composables/useRsTableEngine.js +6 -2
- package/dist/components/table/src/composables/useRsTableScrollLayout.js +2 -0
- package/dist/components/table/src/composables/useRsTableShell.d.ts +16 -0
- package/dist/components/table/src/rs-table-props.d.ts +1 -1
- package/dist/components/table/src/rs-table-props.js +0 -1
- package/dist/components/table/src/table-body/RsTableBody.impl.js +1 -0
- package/dist/components/table/src/table-body/RsTableCell.impl.js +1 -1
- package/dist/components/table/src/table-body/RsTableCellEditor.impl.js +10 -2
- package/dist/components/table/src/table-body/RsTableColGroup.impl.js +1 -0
- package/dist/components/table/src/table-footer/RsTableSummaryRow.impl.js +1 -0
- package/dist/components/table/src/table-header/RsTableHeader.impl.js +1 -0
- package/dist/components/table/src/utils/table-utils.d.ts +10 -6
- package/dist/components/table/src/utils/table-utils.js +27 -25
- package/dist/components/table/style/rs-table.css +86 -28
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/src/RsTabs.css +225 -101
- package/dist/components/tabs/src/RsTabs.d.ts +37 -8
- package/dist/components/tabs/src/RsTabs.impl.js +400 -270
- package/dist/components/tabs/src/tabs-utils.d.ts +41 -2
- package/dist/components/tabs/src/tabs-utils.js +55 -1
- package/dist/components/terminal/index.d.ts +1 -1
- package/dist/components/terminal/src/RsTerminal.css +60 -37
- package/dist/components/terminal/src/RsTerminal.d.ts +36 -4
- package/dist/components/terminal/src/RsTerminal.impl.js +288 -68
- package/dist/components/terminal/src/RsTerminal.js +1 -1
- package/dist/components/terminal/src/terminal-utils.d.ts +42 -4
- package/dist/components/terminal/src/terminal-utils.js +113 -10
- package/dist/components/textarea/src/RsTextarea.d.ts +1 -1
- package/dist/components/time-picker/src/RsTimePicker.d.ts +2 -2
- package/dist/components/toaster/src/RsToaster.css +156 -203
- package/dist/components/toaster/src/RsToaster.d.ts +32 -2
- package/dist/components/toaster/src/RsToaster.impl.js +309 -34
- package/dist/components/toaster/src/toast-store.d.ts +95 -0
- package/dist/components/toaster/src/toast-store.js +177 -0
- package/dist/components/toaster/src/toast-utils.d.ts +60 -0
- package/dist/components/toaster/src/toast-utils.js +86 -0
- package/dist/components/toolbar/index.d.ts +1 -1
- package/dist/components/toolbar/src/RsToolbar.css +206 -32
- package/dist/components/toolbar/src/RsToolbar.d.ts +41 -16
- package/dist/components/toolbar/src/RsToolbar.impl.js +146 -18
- package/dist/components/toolbar/src/RsToolbar.js +2 -1
- package/dist/components/toolbar/src/toolbar-utils.d.ts +20 -0
- package/dist/components/toolbar/src/toolbar-utils.js +105 -0
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/components/tooltip/src/RsTooltip.css +104 -26
- package/dist/components/tooltip/src/RsTooltip.d.ts +38 -16
- package/dist/components/tooltip/src/RsTooltip.impl.js +420 -51
- package/dist/components/tooltip/src/RsTooltip.js +2 -1
- package/dist/components/tooltip/src/RsTooltipProvider.d.ts +4 -4
- package/dist/components/tooltip/src/RsTooltipProvider.impl.js +51 -14
- package/dist/components/tooltip/src/tooltip-utils.d.ts +30 -0
- package/dist/components/tooltip/src/tooltip-utils.js +23 -0
- package/dist/components/tree/index.d.ts +2 -2
- package/dist/components/tree/src/RsTree.css +84 -75
- package/dist/components/tree/src/RsTree.d.ts +20 -20
- package/dist/components/tree/src/RsTree.impl.js +292 -66
- package/dist/components/tree/src/RsTree.js +1 -1
- package/dist/components/tree/src/tree-utils.d.ts +22 -0
- package/dist/components/tree/src/tree-utils.js +18 -4
- package/dist/components/tree-select/src/RsTreeSelect.d.ts +1 -1
- package/dist/components/virtual-list/index.d.ts +1 -1
- package/dist/components/virtual-list/src/RsVirtualList.css +64 -9
- package/dist/components/virtual-list/src/RsVirtualList.d.ts +31 -5
- package/dist/components/virtual-list/src/RsVirtualList.impl.js +425 -76
- package/dist/components/virtual-list/src/RsVirtualList.js +1 -1
- package/dist/components/virtual-list/src/virtual-list-utils.d.ts +64 -1
- package/dist/components/virtual-list/src/virtual-list-utils.js +215 -1
- package/dist/composables/useRsLoadingBar.d.ts +2 -5
- package/dist/composables/useRsLoadingBar.js +21 -5
- package/dist/composables/useRsTabsNav.d.ts +3 -1
- package/dist/composables/useRsTabsNav.js +96 -28
- package/dist/composables/useRsToast.d.ts +11 -13
- package/dist/composables/useRsToast.js +66 -17
- package/dist/index.d.ts +30 -21
- package/dist/index.js +14 -0
- package/dist/locale/apply.js +6 -1
- package/dist/locale/messages.js +128 -2
- package/dist/styles.css +465 -808
- package/dist/theme/brand.example.css +3 -2
- package/dist/vite-plugins/niuma-ui-host.js +1 -1
- package/package.json +2 -5
- package/dist/components/_shared/src/reka.d.ts +0 -2
- package/dist/components/_shared/src/reka.js +0 -2
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type RsNormalizedLogLine } from './log-utils';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
item: RsNormalizedLogLine;
|
|
4
|
+
index: number;
|
|
5
|
+
active: boolean;
|
|
6
|
+
zebra: boolean;
|
|
7
|
+
wrap: boolean;
|
|
8
|
+
fill: boolean;
|
|
9
|
+
showLineNo: boolean;
|
|
10
|
+
showTime: boolean;
|
|
11
|
+
showLevel: boolean;
|
|
12
|
+
search: string;
|
|
13
|
+
};
|
|
14
|
+
declare var __VLS_1: {
|
|
15
|
+
item: RsNormalizedLogLine;
|
|
16
|
+
index: number;
|
|
17
|
+
levelLabel: string;
|
|
18
|
+
parts: import("./log-utils").RsLogHighlightPart[];
|
|
19
|
+
};
|
|
20
|
+
type __VLS_Slots = {} & {
|
|
21
|
+
default?: (props: typeof __VLS_1) => any;
|
|
22
|
+
};
|
|
23
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
24
|
+
select: () => any;
|
|
25
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
26
|
+
onSelect?: (() => any) | undefined;
|
|
27
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
29
|
+
declare const _default: typeof __VLS_export;
|
|
30
|
+
export default _default;
|
|
31
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
32
|
+
new (): {
|
|
33
|
+
$slots: S;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { useRsI18n } from "../../../composables/useRsI18n.js";
|
|
2
|
+
import { splitLogHighlight } from "./log-utils.js";
|
|
3
|
+
import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderList, renderSlot, toDisplayString } from "vue";
|
|
4
|
+
//#region src/components/log/src/RsLogRow.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = ["aria-label", "data-log-index"];
|
|
6
|
+
var _hoisted_2 = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "rs-log__no"
|
|
9
|
+
};
|
|
10
|
+
var _hoisted_3 = {
|
|
11
|
+
key: 1,
|
|
12
|
+
class: "rs-log__time"
|
|
13
|
+
};
|
|
14
|
+
var _hoisted_4 = {
|
|
15
|
+
key: 2,
|
|
16
|
+
class: "rs-log__level"
|
|
17
|
+
};
|
|
18
|
+
var _hoisted_5 = {
|
|
19
|
+
key: 3,
|
|
20
|
+
class: "rs-log__sr-only"
|
|
21
|
+
};
|
|
22
|
+
var _hoisted_6 = { class: "rs-log__text" };
|
|
23
|
+
var _hoisted_7 = {
|
|
24
|
+
key: 0,
|
|
25
|
+
class: "rs-log__hit"
|
|
26
|
+
};
|
|
27
|
+
var RsLogRow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
28
|
+
name: "RsLogRow",
|
|
29
|
+
__name: "RsLogRow",
|
|
30
|
+
props: {
|
|
31
|
+
item: {},
|
|
32
|
+
index: {},
|
|
33
|
+
active: { type: Boolean },
|
|
34
|
+
zebra: { type: Boolean },
|
|
35
|
+
wrap: { type: Boolean },
|
|
36
|
+
fill: { type: Boolean },
|
|
37
|
+
showLineNo: { type: Boolean },
|
|
38
|
+
showTime: { type: Boolean },
|
|
39
|
+
showLevel: { type: Boolean },
|
|
40
|
+
search: {}
|
|
41
|
+
},
|
|
42
|
+
emits: ["select"],
|
|
43
|
+
setup(__props, { emit: __emit }) {
|
|
44
|
+
const props = __props;
|
|
45
|
+
const emit = __emit;
|
|
46
|
+
const { t } = useRsI18n();
|
|
47
|
+
const visible = computed(() => props.item.plain || props.item.text);
|
|
48
|
+
const parts = computed(() => splitLogHighlight(visible.value, props.search));
|
|
49
|
+
const levelLabel = computed(() => t(`log.level.${props.item.level}`, props.item.level));
|
|
50
|
+
const rowLabel = computed(() => {
|
|
51
|
+
const bits = [levelLabel.value];
|
|
52
|
+
if (props.showLineNo) bits.push(t("log.lineNo", "Line {n}", { n: props.item.seq }));
|
|
53
|
+
if (props.item.time) bits.push(props.item.time);
|
|
54
|
+
bits.push(visible.value);
|
|
55
|
+
return bits.filter(Boolean).join(", ");
|
|
56
|
+
});
|
|
57
|
+
return (_ctx, _cache) => {
|
|
58
|
+
return openBlock(), createElementBlock("div", {
|
|
59
|
+
class: normalizeClass(["rs-log__row", [`rs-log__row--${__props.item.level}`, {
|
|
60
|
+
"rs-log__row--odd": __props.index % 2 === 1,
|
|
61
|
+
"rs-log__row--zebra": __props.zebra,
|
|
62
|
+
"rs-log__row--active": __props.active,
|
|
63
|
+
"rs-log__row--wrap": __props.wrap,
|
|
64
|
+
"rs-log__row--fill": __props.fill
|
|
65
|
+
}]]),
|
|
66
|
+
role: "listitem",
|
|
67
|
+
"aria-label": rowLabel.value,
|
|
68
|
+
"data-log-index": __props.index,
|
|
69
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emit("select"))
|
|
70
|
+
}, [
|
|
71
|
+
_cache[1] || (_cache[1] = createElementVNode("span", {
|
|
72
|
+
class: "rs-log__marker",
|
|
73
|
+
"aria-hidden": "true"
|
|
74
|
+
}, null, -1)),
|
|
75
|
+
__props.showLineNo ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.item.seq), 1)) : createCommentVNode("", true),
|
|
76
|
+
__props.showTime && __props.item.time ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(__props.item.time), 1)) : createCommentVNode("", true),
|
|
77
|
+
__props.showLevel && __props.item.level !== "plain" ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(levelLabel.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(levelLabel.value), 1)),
|
|
78
|
+
renderSlot(_ctx.$slots, "default", {
|
|
79
|
+
item: __props.item,
|
|
80
|
+
index: __props.index,
|
|
81
|
+
levelLabel: levelLabel.value,
|
|
82
|
+
parts: parts.value
|
|
83
|
+
}, () => [createElementVNode("span", _hoisted_6, [(openBlock(true), createElementBlock(Fragment, null, renderList(parts.value, (part, partIndex) => {
|
|
84
|
+
return openBlock(), createElementBlock(Fragment, { key: partIndex }, [part.hit ? (openBlock(), createElementBlock("mark", _hoisted_7, toDisplayString(part.text), 1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(part.text), 1)], 64))], 64);
|
|
85
|
+
}), 128))])], true)
|
|
86
|
+
], 10, _hoisted_1);
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
//#endregion
|
|
91
|
+
export { RsLogRow_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import './RsLogRow.css'
|
|
2
|
+
import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
3
|
+
import RsLogRow_vue_vue_type_script_setup_true_lang_default from "./RsLogRow.impl.js";
|
|
4
|
+
|
|
5
|
+
//#region src/components/log/src/RsLogRow.vue
|
|
6
|
+
var RsLogRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsLogRow_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a8e6725e"]]);
|
|
7
|
+
//#endregion
|
|
8
|
+
export { RsLogRow_default as default };
|
|
@@ -25,7 +25,10 @@ export type RsLogLineInput = string | RsLogLine;
|
|
|
25
25
|
/** 渲染用的归一化行。key 稳定,供虚拟列表复用。 */
|
|
26
26
|
export type RsNormalizedLogLine = {
|
|
27
27
|
key: string;
|
|
28
|
+
/** 源文本,保留 ANSI,供宿主再处理。 */
|
|
28
29
|
text: string;
|
|
30
|
+
/** 去掉 ANSI 后的可见正文。没有转义时与 text 是同一字符串。 */
|
|
31
|
+
plain: string;
|
|
29
32
|
level: RsLogLevel;
|
|
30
33
|
time?: string;
|
|
31
34
|
/** 裁剪后的 1-based 序号 */
|
|
@@ -61,6 +64,7 @@ export declare function splitLogText(text: string): string[];
|
|
|
61
64
|
* 行上已有 level / severity 时不会走到这里。
|
|
62
65
|
*/
|
|
63
66
|
export declare function inferLogLevel(text: string, options?: InferLogLevelOptions): RsLogLevel;
|
|
67
|
+
export declare function stripLogAnsi(text: string): string;
|
|
64
68
|
/** 能解析的瞬间走 Intl;已是展示串则原样保留。 */
|
|
65
69
|
export declare function formatLogTime(value: string | number | Date | undefined, locale?: string, options?: Intl.DateTimeFormatOptions): string | undefined;
|
|
66
70
|
export type NormalizeLogLinesOptions = {
|
|
@@ -83,6 +87,10 @@ export declare function clampLogCount<T>(items: T[], maxLines?: number): T[];
|
|
|
83
87
|
export declare function filterLogLines(lines: RsNormalizedLogLine[], options?: {
|
|
84
88
|
levels?: readonly RsLogLevel[];
|
|
85
89
|
search?: string;
|
|
90
|
+
/** 传入后按该 locale 折叠大小写(土耳其 I 与 i 不同)。 */
|
|
91
|
+
locale?: string;
|
|
92
|
+
/** 本地化级别名。传入后「错误 / Error」也能命中。 */
|
|
93
|
+
levelText?: (level: RsLogLevel) => string;
|
|
86
94
|
}): RsNormalizedLogLine[];
|
|
87
95
|
export type RsLogHighlightPart = {
|
|
88
96
|
text: string;
|
|
@@ -173,6 +173,19 @@ function levelFromBracketTag(text) {
|
|
|
173
173
|
function escapeRegExp(value) {
|
|
174
174
|
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
175
175
|
}
|
|
176
|
+
var MARKER_PATTERNS = /* @__PURE__ */ new Map();
|
|
177
|
+
var MARKER_PATTERN_LIMIT = 64;
|
|
178
|
+
function markerPattern(token) {
|
|
179
|
+
const cached = MARKER_PATTERNS.get(token);
|
|
180
|
+
if (cached) return cached;
|
|
181
|
+
const pattern = new RegExp(`(?<![A-Za-z0-9_])${escapeRegExp(token)}(?![A-Za-z0-9_])`, "i");
|
|
182
|
+
if (MARKER_PATTERNS.size >= MARKER_PATTERN_LIMIT) {
|
|
183
|
+
const oldest = MARKER_PATTERNS.keys().next().value;
|
|
184
|
+
if (oldest !== void 0) MARKER_PATTERNS.delete(oldest);
|
|
185
|
+
}
|
|
186
|
+
MARKER_PATTERNS.set(token, pattern);
|
|
187
|
+
return pattern;
|
|
188
|
+
}
|
|
176
189
|
function markerHits(text, marker) {
|
|
177
190
|
if (marker instanceof RegExp) {
|
|
178
191
|
const flags = marker.global ? marker.flags : `${marker.flags}g`;
|
|
@@ -182,7 +195,25 @@ function markerHits(text, marker) {
|
|
|
182
195
|
}
|
|
183
196
|
const token = marker.trim();
|
|
184
197
|
if (!token) return false;
|
|
185
|
-
return
|
|
198
|
+
return markerPattern(token).test(text);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* CSI / OSC / 单字符转义。与展示、搜索、级别推断共用。
|
|
202
|
+
* 全局正则每次重置 lastIndex,避免跨行漏切。
|
|
203
|
+
*/
|
|
204
|
+
var ANSI_PATTERN = /[\u001B\u009B][[\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\d/#&.:=?%@~_]+)*|[a-zA-Z\d]+(?:;[-a-zA-Z\d/#&.:=?%@~_]*)*)?(?:\u0007|\u001B\\))|(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~])/g;
|
|
205
|
+
function stripLogAnsi(text) {
|
|
206
|
+
if (!text.includes("\x1B") && !text.includes("")) return text;
|
|
207
|
+
ANSI_PATTERN.lastIndex = 0;
|
|
208
|
+
return text.replace(ANSI_PATTERN, "");
|
|
209
|
+
}
|
|
210
|
+
function foldLogText(value, locale) {
|
|
211
|
+
if (!locale) return value.toLowerCase();
|
|
212
|
+
try {
|
|
213
|
+
return value.toLocaleLowerCase(locale);
|
|
214
|
+
} catch {
|
|
215
|
+
return value.toLowerCase();
|
|
216
|
+
}
|
|
186
217
|
}
|
|
187
218
|
function levelFromMarkers(text, markers) {
|
|
188
219
|
if (!markers) return void 0;
|
|
@@ -208,22 +239,44 @@ var DEFAULT_TIME_FORMAT = {
|
|
|
208
239
|
second: "2-digit",
|
|
209
240
|
hour12: false
|
|
210
241
|
};
|
|
242
|
+
var TIME_FORMATTERS = /* @__PURE__ */ new Map();
|
|
243
|
+
var TIME_FORMATTER_LIMIT = 24;
|
|
244
|
+
function logTimeFormatter(locale, options) {
|
|
245
|
+
const key = `${locale}\0${JSON.stringify(options)}`;
|
|
246
|
+
if (TIME_FORMATTERS.has(key)) return TIME_FORMATTERS.get(key) ?? null;
|
|
247
|
+
let formatter;
|
|
248
|
+
try {
|
|
249
|
+
formatter = new Intl.DateTimeFormat(locale, options);
|
|
250
|
+
} catch {
|
|
251
|
+
formatter = null;
|
|
252
|
+
}
|
|
253
|
+
if (TIME_FORMATTERS.size >= TIME_FORMATTER_LIMIT) {
|
|
254
|
+
const oldest = TIME_FORMATTERS.keys().next().value;
|
|
255
|
+
if (oldest !== void 0) TIME_FORMATTERS.delete(oldest);
|
|
256
|
+
}
|
|
257
|
+
TIME_FORMATTERS.set(key, formatter);
|
|
258
|
+
return formatter;
|
|
259
|
+
}
|
|
211
260
|
/** 能解析的瞬间走 Intl;已是展示串则原样保留。 */
|
|
212
261
|
function formatLogTime(value, locale = "en-US", options = DEFAULT_TIME_FORMAT) {
|
|
213
262
|
if (value == null || value === "") return void 0;
|
|
263
|
+
const formatter = logTimeFormatter(locale, options);
|
|
214
264
|
if (value instanceof Date) {
|
|
215
265
|
if (Number.isNaN(value.getTime())) return void 0;
|
|
216
|
-
return
|
|
266
|
+
return formatter ? formatter.format(value) : value.toISOString();
|
|
217
267
|
}
|
|
218
268
|
if (typeof value === "number" && Number.isFinite(value)) {
|
|
219
269
|
const date = new Date(value);
|
|
220
270
|
if (Number.isNaN(date.getTime())) return void 0;
|
|
221
|
-
return
|
|
271
|
+
return formatter ? formatter.format(date) : date.toISOString();
|
|
222
272
|
}
|
|
223
273
|
if (typeof value === "string") {
|
|
224
274
|
if (looksLikeInstant(value)) {
|
|
225
275
|
const parsed = Date.parse(value);
|
|
226
|
-
if (!Number.isNaN(parsed))
|
|
276
|
+
if (!Number.isNaN(parsed)) {
|
|
277
|
+
const date = new Date(parsed);
|
|
278
|
+
return formatter ? formatter.format(date) : date.toISOString();
|
|
279
|
+
}
|
|
227
280
|
}
|
|
228
281
|
return value;
|
|
229
282
|
}
|
|
@@ -242,14 +295,17 @@ function normalizeLogLines(source, options = {}) {
|
|
|
242
295
|
const raw = source == null ? [] : typeof source === "string" ? splitLogText(source) : source;
|
|
243
296
|
const max = options.maxLines;
|
|
244
297
|
const sliced = max != null && max > 0 && raw.length > max ? raw.slice(raw.length - max) : raw;
|
|
298
|
+
const origin = raw.length - sliced.length;
|
|
245
299
|
const locale = options.locale ?? "en-US";
|
|
246
300
|
return sliced.map((item, index) => {
|
|
247
301
|
const text = lineText(item);
|
|
248
|
-
const
|
|
302
|
+
const plain = stripLogAnsi(text);
|
|
303
|
+
const level = resolveLineLevel(item, plain, options);
|
|
249
304
|
const time = typeof item === "string" ? void 0 : formatLogTime(item.time, locale, options.timeFormat);
|
|
250
305
|
return {
|
|
251
|
-
key: lineKey(item, index),
|
|
306
|
+
key: lineKey(item, origin + index),
|
|
252
307
|
text,
|
|
308
|
+
plain,
|
|
253
309
|
level,
|
|
254
310
|
time,
|
|
255
311
|
seq: index + 1,
|
|
@@ -278,11 +334,16 @@ function clampLogCount(items, maxLines) {
|
|
|
278
334
|
}
|
|
279
335
|
function filterLogLines(lines, options) {
|
|
280
336
|
const levels = options?.levels?.filter((level) => isRsLogLevel(level)) ?? [];
|
|
281
|
-
const query = options?.search?.trim()
|
|
337
|
+
const query = options?.search?.trim() ?? "";
|
|
338
|
+
const folded = query ? foldLogText(query, options?.locale) : "";
|
|
282
339
|
return lines.filter((line) => {
|
|
283
340
|
if (levels.length > 0 && !levels.includes(line.level)) return false;
|
|
284
|
-
if (!
|
|
285
|
-
|
|
341
|
+
if (!folded) return true;
|
|
342
|
+
if (foldLogText(line.plain || line.text, options?.locale).includes(folded)) return true;
|
|
343
|
+
if (line.level.includes(folded)) return true;
|
|
344
|
+
const levelName = options?.levelText?.(line.level);
|
|
345
|
+
if (levelName && foldLogText(levelName, options?.locale).includes(folded)) return true;
|
|
346
|
+
return Boolean(line.time && foldLogText(line.time, options?.locale).includes(folded));
|
|
286
347
|
});
|
|
287
348
|
}
|
|
288
349
|
/** 按查询切开正文,供搜索高亮。大小写不敏感。 */
|
|
@@ -351,4 +412,4 @@ function resolveLogCopyText(options) {
|
|
|
351
412
|
};
|
|
352
413
|
}
|
|
353
414
|
//#endregion
|
|
354
|
-
export { RS_LOG_FILTER_LEVELS, RS_LOG_LEVELS, asLogLineInputs, clampLogCount, countDroppedLines, filterLogLines, formatLogTime, inferLogLevel, isRsLogLevel, joinLogLines, normalizeLogLines, otelSeverityOf, parseRsLogLevel, resolveLogCopyText, resolveLogLive, splitLogHighlight, splitLogText, syslogSeverityOf, toLogLineInput };
|
|
415
|
+
export { RS_LOG_FILTER_LEVELS, RS_LOG_LEVELS, asLogLineInputs, clampLogCount, countDroppedLines, filterLogLines, formatLogTime, inferLogLevel, isRsLogLevel, joinLogLines, normalizeLogLines, otelSeverityOf, parseRsLogLevel, resolveLogCopyText, resolveLogLive, splitLogHighlight, splitLogText, stripLogAnsi, syslogSeverityOf, toLogLineInput };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { default as RsMarkdown } from './src/RsMarkdown.js';
|
|
2
|
-
export type { RsMarkdownMode, RsMarkdownRenderOptions } from './src/markdown-utils';
|
|
2
|
+
export type { RsMarkdownExpose, RsMarkdownMode, RsMarkdownRenderOptions } from './src/markdown-utils';
|
|
3
3
|
export { escapeHtml, isSafeHref, isSafeImageSrc, renderMarkdown, renderMarkdownInline, resolveMarkdownHeight, resolveMarkdownMode, } from './src/markdown-utils';
|
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
|
|
2
2
|
.rs-markdown {
|
|
3
|
+
--rs-markdown-bg: var(--rs-surface);
|
|
4
|
+
--rs-markdown-fg: var(--rs-text);
|
|
5
|
+
--rs-markdown-muted: var(--rs-muted);
|
|
6
|
+
--rs-markdown-border: var(--rs-border);
|
|
7
|
+
--rs-markdown-accent: var(--rs-primary);
|
|
8
|
+
--rs-markdown-radius: var(--rs-radius);
|
|
9
|
+
--rs-markdown-bar-bg: color-mix(in srgb, var(--rs-surface) 88%, var(--rs-muted-bg, var(--rs-border)) 12%);
|
|
10
|
+
--rs-markdown-code-bg: color-mix(in srgb, var(--rs-muted-bg, var(--rs-border)) 55%, transparent);
|
|
11
|
+
--rs-markdown-code-frame: color-mix(in srgb, var(--rs-surface) 92%, var(--rs-muted-bg, var(--rs-border)) 8%);
|
|
12
|
+
--rs-markdown-th-bg: color-mix(in srgb, var(--rs-muted-bg, var(--rs-border)) 40%, transparent);
|
|
13
|
+
--rs-markdown-measure: 48rem;
|
|
14
|
+
--rs-markdown-disabled-opacity: 0.65;
|
|
3
15
|
display: flex;
|
|
4
16
|
flex-direction: column;
|
|
17
|
+
margin: 0;
|
|
5
18
|
min-height: 0;
|
|
6
19
|
min-width: 0;
|
|
7
20
|
box-sizing: border-box;
|
|
8
|
-
border: 1px solid var(--rs-border);
|
|
9
|
-
background: var(--rs-
|
|
10
|
-
color: var(--rs-
|
|
21
|
+
border: 1px solid var(--rs-markdown-border);
|
|
22
|
+
background: var(--rs-markdown-bg);
|
|
23
|
+
color: var(--rs-markdown-fg);
|
|
11
24
|
overflow: hidden;
|
|
12
25
|
}
|
|
13
26
|
.rs-markdown--rounded {
|
|
14
|
-
border-radius: var(--rs-radius);
|
|
27
|
+
border-radius: var(--rs-markdown-radius);
|
|
28
|
+
}
|
|
29
|
+
.rs-markdown:focus-within {
|
|
30
|
+
border-color: var(--rs-focus-border, var(--rs-markdown-accent));
|
|
15
31
|
}
|
|
16
32
|
.rs-markdown--disabled {
|
|
17
|
-
opacity:
|
|
33
|
+
opacity: var(--rs-markdown-disabled-opacity);
|
|
18
34
|
pointer-events: none;
|
|
19
35
|
}
|
|
20
36
|
.rs-markdown__toolbar {
|
|
@@ -23,14 +39,15 @@
|
|
|
23
39
|
gap: var(--rs-space-xs);
|
|
24
40
|
flex: 0 0 auto;
|
|
25
41
|
padding: var(--rs-space-xs) var(--rs-space-sm);
|
|
26
|
-
border-bottom: 1px solid var(--rs-border);
|
|
27
|
-
background:
|
|
42
|
+
border-bottom: 1px solid var(--rs-markdown-border);
|
|
43
|
+
background: var(--rs-markdown-bar-bg);
|
|
28
44
|
}
|
|
29
45
|
.rs-markdown__body {
|
|
30
46
|
display: flex;
|
|
31
47
|
flex: 1 1 auto;
|
|
32
48
|
min-height: 0;
|
|
33
49
|
min-width: 0;
|
|
50
|
+
outline: none;
|
|
34
51
|
}
|
|
35
52
|
.rs-markdown--edit .rs-markdown__body,
|
|
36
53
|
.rs-markdown--preview .rs-markdown__body {
|
|
@@ -46,12 +63,12 @@
|
|
|
46
63
|
min-height: 0;
|
|
47
64
|
}
|
|
48
65
|
.rs-markdown--split .rs-markdown__editor {
|
|
49
|
-
border-inline-end: 1px solid var(--rs-border);
|
|
66
|
+
border-inline-end: 1px solid var(--rs-markdown-border);
|
|
50
67
|
}
|
|
51
68
|
.rs-markdown__preview {
|
|
52
69
|
overflow: auto;
|
|
53
70
|
padding: var(--rs-space-md) var(--rs-space-lg);
|
|
54
|
-
background: var(--rs-
|
|
71
|
+
background: var(--rs-markdown-bg);
|
|
55
72
|
}
|
|
56
73
|
.rs-markdown__preview--empty {
|
|
57
74
|
display: flex;
|
|
@@ -60,14 +77,15 @@
|
|
|
60
77
|
}
|
|
61
78
|
.rs-markdown__empty {
|
|
62
79
|
margin: 0;
|
|
63
|
-
color: var(--rs-muted);
|
|
80
|
+
color: var(--rs-markdown-muted);
|
|
64
81
|
font-size: var(--rs-font-size-sm);
|
|
65
82
|
}
|
|
66
83
|
.rs-markdown__prose {
|
|
67
|
-
|
|
84
|
+
position: relative;
|
|
85
|
+
max-width: var(--rs-markdown-measure);
|
|
68
86
|
font-size: var(--rs-font-size-sm);
|
|
69
87
|
line-height: var(--rs-line-height-normal, 1.65);
|
|
70
|
-
|
|
88
|
+
overflow-wrap: anywhere;
|
|
71
89
|
}
|
|
72
90
|
.rs-markdown__prose > :first-child {
|
|
73
91
|
margin-top: 0;
|
|
@@ -83,7 +101,7 @@
|
|
|
83
101
|
font-weight: var(--rs-font-weight-semibold);
|
|
84
102
|
line-height: 1.3;
|
|
85
103
|
letter-spacing: -0.01em;
|
|
86
|
-
color: var(--rs-
|
|
104
|
+
color: var(--rs-markdown-fg);
|
|
87
105
|
}
|
|
88
106
|
.rs-markdown__prose h1 {
|
|
89
107
|
font-size: 1.5em;
|
|
@@ -111,7 +129,7 @@
|
|
|
111
129
|
margin-top: 0.25em;
|
|
112
130
|
}
|
|
113
131
|
.rs-markdown__prose a {
|
|
114
|
-
color: var(--rs-
|
|
132
|
+
color: var(--rs-markdown-accent);
|
|
115
133
|
text-decoration: underline;
|
|
116
134
|
text-underline-offset: 0.15em;
|
|
117
135
|
cursor: pointer;
|
|
@@ -128,34 +146,34 @@
|
|
|
128
146
|
.rs-markdown__prose blockquote {
|
|
129
147
|
padding-block: 0.15em;
|
|
130
148
|
padding-inline: 0.9em 0;
|
|
131
|
-
border-inline-start: 3px solid var(--rs-border);
|
|
132
|
-
color: var(--rs-muted);
|
|
149
|
+
border-inline-start: 3px solid var(--rs-markdown-border);
|
|
150
|
+
color: var(--rs-markdown-muted);
|
|
133
151
|
}
|
|
134
152
|
.rs-markdown__prose hr {
|
|
135
153
|
margin: 1.25em 0;
|
|
136
154
|
border: 0;
|
|
137
|
-
border-top: 1px solid var(--rs-border);
|
|
155
|
+
border-top: 1px solid var(--rs-markdown-border);
|
|
138
156
|
}
|
|
139
157
|
.rs-markdown__prose code {
|
|
140
158
|
padding: 0.1em 0.35em;
|
|
141
|
-
border-radius: calc(var(--rs-radius) * 0.6);
|
|
142
|
-
background:
|
|
159
|
+
border-radius: calc(var(--rs-markdown-radius) * 0.6);
|
|
160
|
+
background: var(--rs-markdown-code-bg);
|
|
143
161
|
font-family: var(--rs-font-mono);
|
|
144
162
|
font-size: 0.9em;
|
|
145
163
|
}
|
|
146
164
|
.rs-markdown__codeblock {
|
|
147
165
|
overflow: hidden;
|
|
148
|
-
border: 1px solid var(--rs-border);
|
|
149
|
-
border-radius: var(--rs-radius);
|
|
150
|
-
background:
|
|
166
|
+
border: 1px solid var(--rs-markdown-border);
|
|
167
|
+
border-radius: var(--rs-markdown-radius);
|
|
168
|
+
background: var(--rs-markdown-code-frame);
|
|
151
169
|
}
|
|
152
170
|
.rs-markdown__code-head {
|
|
153
171
|
display: flex;
|
|
154
172
|
align-items: center;
|
|
155
173
|
padding: 0.35rem 0.75rem;
|
|
156
|
-
border-bottom: 1px solid var(--rs-border);
|
|
174
|
+
border-bottom: 1px solid var(--rs-markdown-border);
|
|
157
175
|
font-size: var(--rs-font-size-xs);
|
|
158
|
-
color: var(--rs-muted);
|
|
176
|
+
color: var(--rs-markdown-muted);
|
|
159
177
|
}
|
|
160
178
|
.rs-markdown__pre {
|
|
161
179
|
margin: 0;
|
|
@@ -182,17 +200,17 @@
|
|
|
182
200
|
.rs-markdown__prose th,
|
|
183
201
|
.rs-markdown__prose td {
|
|
184
202
|
padding: 0.45em 0.7em;
|
|
185
|
-
border: 1px solid var(--rs-border);
|
|
203
|
+
border: 1px solid var(--rs-markdown-border);
|
|
186
204
|
text-align: start;
|
|
187
205
|
}
|
|
188
206
|
.rs-markdown__prose th {
|
|
189
|
-
background:
|
|
207
|
+
background: var(--rs-markdown-th-bg);
|
|
190
208
|
font-weight: var(--rs-font-weight-semibold);
|
|
191
209
|
}
|
|
192
210
|
.rs-markdown__img {
|
|
193
211
|
max-width: 100%;
|
|
194
212
|
height: auto;
|
|
195
|
-
border-radius: var(--rs-radius);
|
|
213
|
+
border-radius: var(--rs-markdown-radius);
|
|
196
214
|
}
|
|
197
215
|
.rs-markdown__task {
|
|
198
216
|
display: inline-block;
|
|
@@ -200,17 +218,42 @@
|
|
|
200
218
|
height: 0.9em;
|
|
201
219
|
margin-block: 0 0.05em;
|
|
202
220
|
margin-inline: 0 0.4em;
|
|
203
|
-
border: 1px solid var(--rs-border);
|
|
221
|
+
border: 1px solid var(--rs-markdown-border);
|
|
204
222
|
border-radius: 0.15em;
|
|
205
223
|
vertical-align: middle;
|
|
206
|
-
background: var(--rs-
|
|
224
|
+
background: var(--rs-markdown-bg);
|
|
207
225
|
}
|
|
208
226
|
.rs-markdown__task--on {
|
|
209
|
-
background: var(--rs-
|
|
210
|
-
border-color: var(--rs-
|
|
211
|
-
box-shadow: inset 0 0 0 0.12em var(--rs-
|
|
227
|
+
background: var(--rs-markdown-accent);
|
|
228
|
+
border-color: var(--rs-markdown-accent);
|
|
229
|
+
box-shadow: inset 0 0 0 0.12em var(--rs-markdown-bg);
|
|
212
230
|
}
|
|
213
231
|
.rs-markdown__prose li:has(> .rs-markdown__task) {
|
|
214
232
|
list-style: none;
|
|
215
233
|
margin-inline-start: -1.15em;
|
|
216
234
|
}
|
|
235
|
+
.rs-markdown__sr {
|
|
236
|
+
position: absolute;
|
|
237
|
+
width: 1px;
|
|
238
|
+
height: 1px;
|
|
239
|
+
padding: 0;
|
|
240
|
+
margin: -1px;
|
|
241
|
+
overflow: hidden;
|
|
242
|
+
clip: rect(0, 0, 0, 0);
|
|
243
|
+
white-space: nowrap;
|
|
244
|
+
border: 0;
|
|
245
|
+
}
|
|
246
|
+
@media (max-width: 40rem) {
|
|
247
|
+
.rs-markdown--split .rs-markdown__body {
|
|
248
|
+
flex-direction: column;
|
|
249
|
+
}
|
|
250
|
+
.rs-markdown--split .rs-markdown__editor {
|
|
251
|
+
border-inline-end: 0;
|
|
252
|
+
border-block-end: 1px solid var(--rs-markdown-border);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
@media (prefers-reduced-motion: reduce) {
|
|
256
|
+
.rs-markdown__preview {
|
|
257
|
+
scroll-behavior: auto;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RsCodeEditorTheme } from '../../code-editor/src/code-editor-utils';
|
|
2
|
-
import { type RsMarkdownMode } from './markdown-utils';
|
|
2
|
+
import { type RsMarkdownExpose, type RsMarkdownMode } from './markdown-utils';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
/** 只读:强制预览并隐藏模式切换 */
|
|
5
5
|
readonly?: boolean;
|
|
@@ -12,13 +12,17 @@ type __VLS_Props = {
|
|
|
12
12
|
/** GFM 单个换行转 <br>,默认 true */
|
|
13
13
|
breaks?: boolean;
|
|
14
14
|
disabled?: boolean;
|
|
15
|
+
/** 区域名称。未传走 markdown.label */
|
|
16
|
+
ariaLabel?: string;
|
|
17
|
+
/** 根节点 id。未传时自动生成 */
|
|
18
|
+
id?: string;
|
|
15
19
|
};
|
|
16
20
|
type __VLS_ModelProps = {
|
|
17
21
|
modelValue?: string;
|
|
18
22
|
'mode'?: RsMarkdownMode;
|
|
19
23
|
};
|
|
20
24
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
21
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps,
|
|
25
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, RsMarkdownExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
26
|
"update:modelValue": (value: string) => any;
|
|
23
27
|
"update:mode": (value: RsMarkdownMode) => any;
|
|
24
28
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|