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
|
@@ -5,75 +5,30 @@ import RsInput_default from "../../input/src/RsInput.js";
|
|
|
5
5
|
import RsEmpty_default from "../../empty/src/RsEmpty.js";
|
|
6
6
|
import { copyTextToClipboard } from "../../../utils/rs-clipboard.js";
|
|
7
7
|
import RsVirtualList_default from "../../virtual-list/src/RsVirtualList.js";
|
|
8
|
-
import { RS_LOG_FILTER_LEVELS, asLogLineInputs, clampLogCount, countDroppedLines, filterLogLines,
|
|
9
|
-
import
|
|
8
|
+
import { RS_LOG_FILTER_LEVELS, RS_LOG_LEVELS, asLogLineInputs, clampLogCount, countDroppedLines, filterLogLines, normalizeLogLines, resolveLogCopyText, resolveLogLive, splitLogText, toLogLineInput } from "./log-utils.js";
|
|
9
|
+
import RsLogRow_default from "./RsLogRow.js";
|
|
10
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onUnmounted, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useId, useModel, useSlots, watch, withCtx } from "vue";
|
|
10
11
|
//#region src/components/log/src/RsLog.vue?vue&type=script&setup=true&lang.ts
|
|
11
|
-
var _hoisted_1 = ["
|
|
12
|
+
var _hoisted_1 = ["id"];
|
|
12
13
|
var _hoisted_2 = {
|
|
13
14
|
key: 0,
|
|
14
15
|
class: "rs-log__chrome"
|
|
15
16
|
};
|
|
16
|
-
var _hoisted_3 =
|
|
17
|
-
|
|
17
|
+
var _hoisted_3 = ["id"];
|
|
18
|
+
var _hoisted_4 = {
|
|
19
|
+
key: 2,
|
|
18
20
|
class: "rs-log__filters"
|
|
19
21
|
};
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var _hoisted_7 = ["aria-label", "aria-busy"];
|
|
22
|
+
var _hoisted_5 = { class: "rs-log__sr-only" };
|
|
23
|
+
var _hoisted_6 = ["aria-pressed", "onClick"];
|
|
24
|
+
var _hoisted_7 = ["aria-live"];
|
|
24
25
|
var _hoisted_8 = [
|
|
26
|
+
"dir",
|
|
25
27
|
"aria-label",
|
|
26
|
-
"
|
|
27
|
-
"onClick"
|
|
28
|
-
];
|
|
29
|
-
var _hoisted_9 = {
|
|
30
|
-
key: 0,
|
|
31
|
-
class: "rs-log__no"
|
|
32
|
-
};
|
|
33
|
-
var _hoisted_10 = {
|
|
34
|
-
key: 1,
|
|
35
|
-
class: "rs-log__time"
|
|
36
|
-
};
|
|
37
|
-
var _hoisted_11 = {
|
|
38
|
-
key: 2,
|
|
39
|
-
class: "rs-log__level"
|
|
40
|
-
};
|
|
41
|
-
var _hoisted_12 = {
|
|
42
|
-
key: 3,
|
|
43
|
-
class: "rs-log__sr-only"
|
|
44
|
-
};
|
|
45
|
-
var _hoisted_13 = { class: "rs-log__text" };
|
|
46
|
-
var _hoisted_14 = {
|
|
47
|
-
key: 0,
|
|
48
|
-
class: "rs-log__hit"
|
|
49
|
-
};
|
|
50
|
-
var _hoisted_15 = [
|
|
51
|
-
"aria-label",
|
|
52
|
-
"data-log-index",
|
|
53
|
-
"onClick"
|
|
28
|
+
"aria-busy"
|
|
54
29
|
];
|
|
55
|
-
var _hoisted_16 = {
|
|
56
|
-
key: 0,
|
|
57
|
-
class: "rs-log__no"
|
|
58
|
-
};
|
|
59
|
-
var _hoisted_17 = {
|
|
60
|
-
key: 1,
|
|
61
|
-
class: "rs-log__time"
|
|
62
|
-
};
|
|
63
|
-
var _hoisted_18 = {
|
|
64
|
-
key: 2,
|
|
65
|
-
class: "rs-log__level"
|
|
66
|
-
};
|
|
67
|
-
var _hoisted_19 = {
|
|
68
|
-
key: 3,
|
|
69
|
-
class: "rs-log__sr-only"
|
|
70
|
-
};
|
|
71
|
-
var _hoisted_20 = { class: "rs-log__text" };
|
|
72
|
-
var _hoisted_21 = {
|
|
73
|
-
key: 0,
|
|
74
|
-
class: "rs-log__hit"
|
|
75
|
-
};
|
|
76
30
|
var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
31
|
+
name: "RsLog",
|
|
77
32
|
__name: "RsLog",
|
|
78
33
|
props: /*@__PURE__*/ mergeModels({
|
|
79
34
|
text: {},
|
|
@@ -139,7 +94,8 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
139
94
|
},
|
|
140
95
|
dir: { default: "ltr" },
|
|
141
96
|
severityScale: { default: "auto" },
|
|
142
|
-
timeFormat: {}
|
|
97
|
+
timeFormat: {},
|
|
98
|
+
id: {}
|
|
143
99
|
}, {
|
|
144
100
|
"lines": { default: "" },
|
|
145
101
|
"linesModifiers": {},
|
|
@@ -161,6 +117,7 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
161
117
|
const emit = __emit;
|
|
162
118
|
const { t, locale } = useRsI18n();
|
|
163
119
|
const slots = useSlots();
|
|
120
|
+
const matchId = useId();
|
|
164
121
|
const lines = useModel(__props, "lines");
|
|
165
122
|
const search = useModel(__props, "search");
|
|
166
123
|
const filterLevels = useModel(__props, "levels");
|
|
@@ -173,8 +130,10 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
173
130
|
let copiedTimer = 0;
|
|
174
131
|
const listRef = ref(null);
|
|
175
132
|
const stuckToBottom = ref(true);
|
|
133
|
+
const followAnchor = ref(null);
|
|
176
134
|
const activeIndex = ref(-1);
|
|
177
135
|
const announcement = ref("");
|
|
136
|
+
let announceTick = 0;
|
|
178
137
|
const resolvedRadius = useResolvedRsRadius(() => props.radius, "sm");
|
|
179
138
|
const liveMode = computed(() => resolveLogLive(props.live));
|
|
180
139
|
const useVirtual = computed(() => {
|
|
@@ -202,9 +161,16 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
202
161
|
locale: locale.value,
|
|
203
162
|
timeFormat: props.timeFormat
|
|
204
163
|
}));
|
|
164
|
+
const levelNames = computed(() => {
|
|
165
|
+
const names = /* @__PURE__ */ new Map();
|
|
166
|
+
for (const level of RS_LOG_LEVELS) names.set(level, t(`log.level.${level}`, level));
|
|
167
|
+
return names;
|
|
168
|
+
});
|
|
205
169
|
const displayLines = computed(() => filterLogLines(resolvedLines.value, {
|
|
206
170
|
levels: filterLevels.value,
|
|
207
|
-
search: search.value
|
|
171
|
+
search: search.value,
|
|
172
|
+
locale: locale.value,
|
|
173
|
+
levelText: (level) => levelNames.value.get(level) ?? level
|
|
208
174
|
}));
|
|
209
175
|
const emptyLabel = computed(() => props.emptyText || t("log.empty", "No log output"));
|
|
210
176
|
const regionLabel = computed(() => props.ariaLabel || t("log.label", "Log"));
|
|
@@ -220,17 +186,10 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
220
186
|
"--rs-log-box-height": typeof props.height === "number" ? `${props.height}px` : props.height
|
|
221
187
|
}));
|
|
222
188
|
function levelLabel(level) {
|
|
223
|
-
return
|
|
189
|
+
return levelNames.value.get(level) ?? level;
|
|
224
190
|
}
|
|
225
|
-
function
|
|
226
|
-
|
|
227
|
-
if (props.showLineNo) parts.push(t("log.lineNo", "Line {n}", { n: item.seq }));
|
|
228
|
-
if (item.time) parts.push(item.time);
|
|
229
|
-
parts.push(item.text);
|
|
230
|
-
return parts.filter(Boolean).join(", ");
|
|
231
|
-
}
|
|
232
|
-
function highlightParts(text) {
|
|
233
|
-
return splitLogHighlight(text, search.value);
|
|
191
|
+
function logItemKey(item) {
|
|
192
|
+
return item.key;
|
|
234
193
|
}
|
|
235
194
|
function writeLines(next) {
|
|
236
195
|
lines.value = typeof next === "string" ? next : clampLogCount(next, props.maxLines);
|
|
@@ -242,10 +201,8 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
242
201
|
if (typeof current === "string" || current == null) {
|
|
243
202
|
const chunk = added.map((item) => typeof item === "string" ? item : item.text).join("\n");
|
|
244
203
|
const base = typeof current === "string" ? current : "";
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
maxLines: props.maxLines
|
|
248
|
-
})));
|
|
204
|
+
const parts = splitLogText(base ? `${base}\n${chunk}` : chunk);
|
|
205
|
+
writeLines((props.maxLines != null && props.maxLines > 0 && parts.length > props.maxLines ? parts.slice(parts.length - props.maxLines) : parts).join("\n"));
|
|
249
206
|
return;
|
|
250
207
|
}
|
|
251
208
|
writeLines([...current, ...added]);
|
|
@@ -292,23 +249,31 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
292
249
|
if (root && node && !root.contains(node)) return "";
|
|
293
250
|
return text;
|
|
294
251
|
}
|
|
252
|
+
let alive = true;
|
|
253
|
+
function armCopyTimer(delay, apply) {
|
|
254
|
+
if (!alive) return;
|
|
255
|
+
if (copiedTimer) window.clearTimeout(copiedTimer);
|
|
256
|
+
copiedTimer = window.setTimeout(() => {
|
|
257
|
+
copiedTimer = 0;
|
|
258
|
+
if (!alive) return;
|
|
259
|
+
apply();
|
|
260
|
+
}, delay);
|
|
261
|
+
}
|
|
295
262
|
function markCopied() {
|
|
263
|
+
if (!alive) return;
|
|
296
264
|
copied.value = true;
|
|
297
265
|
copyFailed.value = false;
|
|
298
|
-
|
|
299
|
-
copiedTimer = window.setTimeout(() => {
|
|
266
|
+
armCopyTimer(1500, () => {
|
|
300
267
|
copied.value = false;
|
|
301
|
-
|
|
302
|
-
}, 1500);
|
|
268
|
+
});
|
|
303
269
|
}
|
|
304
270
|
function markCopyFailed() {
|
|
271
|
+
if (!alive) return;
|
|
305
272
|
copyFailed.value = true;
|
|
306
273
|
copied.value = false;
|
|
307
|
-
|
|
308
|
-
copiedTimer = window.setTimeout(() => {
|
|
274
|
+
armCopyTimer(2500, () => {
|
|
309
275
|
copyFailed.value = false;
|
|
310
|
-
|
|
311
|
-
}, 2500);
|
|
276
|
+
});
|
|
312
277
|
}
|
|
313
278
|
async function writeCopy(text, source) {
|
|
314
279
|
if (!text) return false;
|
|
@@ -325,13 +290,13 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
325
290
|
async function copy() {
|
|
326
291
|
const resolved = resolveLogCopyText({
|
|
327
292
|
selection: readDomSelection(),
|
|
328
|
-
visibleTexts: displayLines.value.map((line) => line.
|
|
329
|
-
allTexts: resolvedLines.value.map((line) => line.
|
|
293
|
+
visibleTexts: displayLines.value.map((line) => line.plain),
|
|
294
|
+
allTexts: resolvedLines.value.map((line) => line.plain)
|
|
330
295
|
});
|
|
331
296
|
return writeCopy(resolved.text, resolved.source);
|
|
332
297
|
}
|
|
333
298
|
async function copyAll() {
|
|
334
|
-
return writeCopy(
|
|
299
|
+
return writeCopy(resolvedLines.value.map((line) => line.plain).join("\n"), "all");
|
|
335
300
|
}
|
|
336
301
|
function focusSearch() {
|
|
337
302
|
const input = searchRef.value?.querySelector("input");
|
|
@@ -350,8 +315,16 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
350
315
|
function setStuck(next) {
|
|
351
316
|
if (stuckToBottom.value === next) return;
|
|
352
317
|
stuckToBottom.value = next;
|
|
318
|
+
followAnchor.value = next ? null : displayLines.value.length;
|
|
353
319
|
emit("followChange", next);
|
|
354
320
|
}
|
|
321
|
+
function hasTextSelectionInside() {
|
|
322
|
+
const sel = typeof document === "undefined" ? null : document.getSelection();
|
|
323
|
+
if (!sel || sel.isCollapsed) return false;
|
|
324
|
+
const root = rootRef.value;
|
|
325
|
+
const node = sel.anchorNode;
|
|
326
|
+
return Boolean(root && node && root.contains(node));
|
|
327
|
+
}
|
|
355
328
|
function onListScroll(event) {
|
|
356
329
|
const el = event.target;
|
|
357
330
|
if (!(el instanceof HTMLElement)) return;
|
|
@@ -393,6 +366,23 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
393
366
|
copy();
|
|
394
367
|
}
|
|
395
368
|
}
|
|
369
|
+
function onSearchKeydown(event) {
|
|
370
|
+
if (event.key !== "Enter" || event.isComposing || event.altKey || event.ctrlKey || event.metaKey) return;
|
|
371
|
+
if (!search.value.trim() || displayLines.value.length === 0) return;
|
|
372
|
+
event.preventDefault();
|
|
373
|
+
const max = displayLines.value.length - 1;
|
|
374
|
+
const current = activeIndex.value;
|
|
375
|
+
const delta = event.shiftKey ? -1 : 1;
|
|
376
|
+
const next = current < 0 ? delta > 0 ? 0 : max : (current + delta + displayLines.value.length) % displayLines.value.length;
|
|
377
|
+
activeIndex.value = next;
|
|
378
|
+
setStuck(next >= max);
|
|
379
|
+
if (useVirtual.value) {
|
|
380
|
+
listRef.value?.scrollToIndex(next, "nearest");
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
const row = plainRef.value?.querySelector(`[data-log-index="${next}"]`);
|
|
384
|
+
if (typeof row?.scrollIntoView === "function") row.scrollIntoView({ block: "nearest" });
|
|
385
|
+
}
|
|
396
386
|
function onViewportKeydown(event) {
|
|
397
387
|
if (isSearchShortcut(event) || isCopyShortcut(event)) return;
|
|
398
388
|
if (isTypingTarget(event.target)) return;
|
|
@@ -438,8 +428,16 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
438
428
|
}
|
|
439
429
|
watch(() => displayLines.value.length, async (count, prev) => {
|
|
440
430
|
const delta = count - (prev ?? 0);
|
|
441
|
-
if (liveMode.value !== "off" && delta > 0)
|
|
431
|
+
if (liveMode.value !== "off" && delta > 0) {
|
|
432
|
+
const message = t("log.newLines", "{count, plural, one {# new line} other {# new lines}}", { count: delta });
|
|
433
|
+
announceTick += 1;
|
|
434
|
+
announcement.value = announceTick % 2 === 0 ? `${message}\u200b` : message;
|
|
435
|
+
}
|
|
442
436
|
if (!props.follow || delta <= 0 || !stuckToBottom.value) return;
|
|
437
|
+
if (hasTextSelectionInside()) {
|
|
438
|
+
setStuck(false);
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
443
441
|
await nextTick();
|
|
444
442
|
scrollToBottom();
|
|
445
443
|
});
|
|
@@ -450,8 +448,18 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
450
448
|
kept: resolvedLines.value.length
|
|
451
449
|
});
|
|
452
450
|
});
|
|
451
|
+
const pendingLines = computed(() => {
|
|
452
|
+
if (stuckToBottom.value || followAnchor.value == null) return 0;
|
|
453
|
+
return Math.max(0, displayLines.value.length - followAnchor.value);
|
|
454
|
+
});
|
|
455
|
+
const showJump = computed(() => props.follow && !stuckToBottom.value && displayLines.value.length > 0);
|
|
456
|
+
const jumpLabel = computed(() => pendingLines.value > 0 ? t("log.newLines", "{count, plural, one {# new line} other {# new lines}}", { count: pendingLines.value }) : t("log.jump", "Jump to latest"));
|
|
457
|
+
const matchCount = computed(() => search.value.trim() ? displayLines.value.length : null);
|
|
458
|
+
const matchLabel = computed(() => matchCount.value == null ? "" : t("log.matchCount", "{count, plural, one {# match} other {# matches}}", { count: matchCount.value }));
|
|
453
459
|
onUnmounted(() => {
|
|
460
|
+
alive = false;
|
|
454
461
|
if (copiedTimer) window.clearTimeout(copiedTimer);
|
|
462
|
+
copiedTimer = 0;
|
|
455
463
|
});
|
|
456
464
|
__expose({
|
|
457
465
|
append,
|
|
@@ -474,8 +482,8 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
474
482
|
"rs-log--zebra": __props.zebra,
|
|
475
483
|
"rs-log--chrome": hasChrome.value
|
|
476
484
|
}]),
|
|
485
|
+
id: __props.id,
|
|
477
486
|
style: normalizeStyle(rootStyle.value),
|
|
478
|
-
dir: __props.dir,
|
|
479
487
|
onKeydown: onRootKeydown
|
|
480
488
|
}, [
|
|
481
489
|
hasChrome.value ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "toolbar", {}, () => [
|
|
@@ -483,7 +491,8 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
483
491
|
key: 0,
|
|
484
492
|
ref_key: "searchRef",
|
|
485
493
|
ref: searchRef,
|
|
486
|
-
class: "rs-log__search"
|
|
494
|
+
class: "rs-log__search",
|
|
495
|
+
onKeydown: onSearchKeydown
|
|
487
496
|
}, [createVNode(RsInput_default, {
|
|
488
497
|
modelValue: search.value,
|
|
489
498
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => search.value = $event),
|
|
@@ -491,23 +500,31 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
491
500
|
size: "sm",
|
|
492
501
|
clearable: "",
|
|
493
502
|
placeholder: unref(t)("log.searchPlaceholder", "Filter lines…"),
|
|
494
|
-
"aria-label": unref(t)("log.search", "Search logs")
|
|
503
|
+
"aria-label": unref(t)("log.search", "Search logs"),
|
|
504
|
+
"aria-describedby": matchCount.value != null ? unref(matchId) : void 0
|
|
495
505
|
}, null, 8, [
|
|
496
506
|
"modelValue",
|
|
497
507
|
"placeholder",
|
|
498
|
-
"aria-label"
|
|
499
|
-
|
|
500
|
-
|
|
508
|
+
"aria-label",
|
|
509
|
+
"aria-describedby"
|
|
510
|
+
])], 544)) : createCommentVNode("", true),
|
|
511
|
+
matchCount.value != null ? (openBlock(), createElementBlock("p", {
|
|
512
|
+
key: 1,
|
|
513
|
+
id: unref(matchId),
|
|
514
|
+
class: "rs-log__matches",
|
|
515
|
+
role: "status"
|
|
516
|
+
}, toDisplayString(matchLabel.value), 9, _hoisted_3)) : createCommentVNode("", true),
|
|
517
|
+
__props.showFilter ? (openBlock(), createElementBlock("fieldset", _hoisted_4, [createElementVNode("legend", _hoisted_5, toDisplayString(unref(t)("log.filter", "Filter levels")), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(RS_LOG_FILTER_LEVELS), (level) => {
|
|
501
518
|
return openBlock(), createElementBlock("button", {
|
|
502
519
|
key: level,
|
|
503
520
|
type: "button",
|
|
504
521
|
class: normalizeClass(["rs-log__chip", [`rs-log__chip--${level}`, { "rs-log__chip--on": filterLevels.value.includes(level) }]]),
|
|
505
522
|
"aria-pressed": filterLevels.value.includes(level),
|
|
506
523
|
onClick: ($event) => toggleLevel(level)
|
|
507
|
-
}, toDisplayString(levelLabel(level)), 11,
|
|
524
|
+
}, toDisplayString(levelLabel(level)), 11, _hoisted_6);
|
|
508
525
|
}), 128))])) : createCommentVNode("", true),
|
|
509
526
|
__props.showCopy ? (openBlock(), createBlock(RsButton_default, {
|
|
510
|
-
key:
|
|
527
|
+
key: 3,
|
|
511
528
|
class: "rs-log__copy",
|
|
512
529
|
variant: "ghost",
|
|
513
530
|
size: "sm",
|
|
@@ -528,13 +545,14 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
528
545
|
class: "rs-log__sr-only",
|
|
529
546
|
"aria-live": liveMode.value,
|
|
530
547
|
"aria-atomic": "true"
|
|
531
|
-
}, toDisplayString(announcement.value), 9,
|
|
548
|
+
}, toDisplayString(announcement.value), 9, _hoisted_7)) : createCommentVNode("", true),
|
|
532
549
|
createElementVNode("div", {
|
|
533
550
|
ref_key: "viewportRef",
|
|
534
551
|
ref: viewportRef,
|
|
535
552
|
class: "rs-log__viewport",
|
|
536
553
|
role: "region",
|
|
537
554
|
tabindex: "0",
|
|
555
|
+
dir: __props.dir,
|
|
538
556
|
"aria-label": regionLabel.value,
|
|
539
557
|
"aria-busy": __props.busy ? "true" : void 0,
|
|
540
558
|
onKeydown: onViewportKeydown
|
|
@@ -548,6 +566,7 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
548
566
|
class: "rs-log__list",
|
|
549
567
|
role: "list",
|
|
550
568
|
items: displayLines.value,
|
|
569
|
+
"item-key": logItemKey,
|
|
551
570
|
"item-size": resolvedItemSize.value,
|
|
552
571
|
height: 0,
|
|
553
572
|
overscan: __props.overscan,
|
|
@@ -555,32 +574,35 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
555
574
|
radius: "none",
|
|
556
575
|
onScroll: onListScroll
|
|
557
576
|
}, {
|
|
558
|
-
default: withCtx(({ item, index }) => [
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
"
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
577
|
+
default: withCtx(({ item, index }) => [createVNode(RsLogRow_default, {
|
|
578
|
+
item,
|
|
579
|
+
index,
|
|
580
|
+
active: index === activeIndex.value,
|
|
581
|
+
zebra: __props.zebra,
|
|
582
|
+
wrap: __props.wrap,
|
|
583
|
+
fill: !__props.wrap,
|
|
584
|
+
"show-line-no": __props.showLineNo,
|
|
585
|
+
"show-time": __props.showTime,
|
|
586
|
+
"show-level": __props.showLevel,
|
|
587
|
+
search: search.value,
|
|
588
|
+
onSelect: ($event) => onRowClick(index)
|
|
589
|
+
}, createSlots({ _: 2 }, [unref(slots).row ? {
|
|
590
|
+
name: "default",
|
|
591
|
+
fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "row", normalizeProps(guardReactiveProps(slotProps)), void 0, true)]),
|
|
592
|
+
key: "0"
|
|
593
|
+
} : void 0]), 1032, [
|
|
594
|
+
"item",
|
|
595
|
+
"index",
|
|
596
|
+
"active",
|
|
597
|
+
"zebra",
|
|
598
|
+
"wrap",
|
|
599
|
+
"fill",
|
|
600
|
+
"show-line-no",
|
|
601
|
+
"show-time",
|
|
602
|
+
"show-level",
|
|
603
|
+
"search",
|
|
604
|
+
"onSelect"
|
|
605
|
+
])]),
|
|
584
606
|
_: 3
|
|
585
607
|
}, 8, [
|
|
586
608
|
"items",
|
|
@@ -595,34 +617,45 @@ var RsLog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
595
617
|
role: "list",
|
|
596
618
|
onScroll: onListScroll
|
|
597
619
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(displayLines.value, (item, index) => {
|
|
598
|
-
return openBlock(),
|
|
620
|
+
return openBlock(), createBlock(RsLogRow_default, {
|
|
599
621
|
key: item.key,
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
"
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
622
|
+
item,
|
|
623
|
+
index,
|
|
624
|
+
active: index === activeIndex.value,
|
|
625
|
+
zebra: __props.zebra,
|
|
626
|
+
wrap: __props.wrap,
|
|
627
|
+
fill: false,
|
|
628
|
+
"show-line-no": __props.showLineNo,
|
|
629
|
+
"show-time": __props.showTime,
|
|
630
|
+
"show-level": __props.showLevel,
|
|
631
|
+
search: search.value,
|
|
632
|
+
onSelect: ($event) => onRowClick(index)
|
|
633
|
+
}, createSlots({ _: 2 }, [unref(slots).row ? {
|
|
634
|
+
name: "default",
|
|
635
|
+
fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "row", mergeProps({ ref_for: true }, slotProps), void 0, true)]),
|
|
636
|
+
key: "0"
|
|
637
|
+
} : void 0]), 1032, [
|
|
638
|
+
"item",
|
|
639
|
+
"index",
|
|
640
|
+
"active",
|
|
641
|
+
"zebra",
|
|
642
|
+
"wrap",
|
|
643
|
+
"show-line-no",
|
|
644
|
+
"show-time",
|
|
645
|
+
"show-level",
|
|
646
|
+
"search",
|
|
647
|
+
"onSelect"
|
|
648
|
+
]);
|
|
649
|
+
}), 128))], 544)), showJump.value ? (openBlock(), createBlock(RsButton_default, {
|
|
650
|
+
key: 3,
|
|
651
|
+
class: "rs-log__jump",
|
|
652
|
+
size: "sm",
|
|
653
|
+
variant: "default",
|
|
654
|
+
onClick: scrollToBottom
|
|
655
|
+
}, {
|
|
656
|
+
default: withCtx(() => [createTextVNode(toDisplayString(jumpLabel.value), 1)]),
|
|
657
|
+
_: 1
|
|
658
|
+
})) : createCommentVNode("", true)], 40, _hoisted_8)
|
|
626
659
|
], 46, _hoisted_1);
|
|
627
660
|
};
|
|
628
661
|
}
|
|
@@ -3,6 +3,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
|
|
|
3
3
|
import RsLog_vue_vue_type_script_setup_true_lang_default from "./RsLog.impl.js";
|
|
4
4
|
|
|
5
5
|
//#region src/components/log/src/RsLog.vue
|
|
6
|
-
var RsLog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsLog_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
6
|
+
var RsLog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsLog_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-69545db7"]]);
|
|
7
7
|
//#endregion
|
|
8
8
|
export { RsLog_default as default };
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
|
|
2
|
+
.rs-log__row[data-v-a8e6725e] {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: flex-start;
|
|
5
|
+
gap: var(--rs-space-sm);
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
padding-inline: var(--rs-space-md);
|
|
8
|
+
position: relative;
|
|
9
|
+
white-space: nowrap;
|
|
10
|
+
color: var(--rs-log-row-fg, var(--rs-log-fg, var(--rs-text-primary)));
|
|
11
|
+
}
|
|
12
|
+
.rs-log__row--fill[data-v-a8e6725e] {
|
|
13
|
+
min-height: 100%;
|
|
14
|
+
}
|
|
15
|
+
.rs-log__row--wrap[data-v-a8e6725e] {
|
|
16
|
+
height: auto;
|
|
17
|
+
max-height: none;
|
|
18
|
+
min-height: 0;
|
|
19
|
+
white-space: pre-wrap;
|
|
20
|
+
overflow-wrap: anywhere;
|
|
21
|
+
word-break: break-word;
|
|
22
|
+
padding-block: var(--rs-space-xs);
|
|
23
|
+
}
|
|
24
|
+
.rs-log__row--zebra.rs-log__row--odd[data-v-a8e6725e] {
|
|
25
|
+
background: var(--rs-log-stripe, transparent);
|
|
26
|
+
}
|
|
27
|
+
.rs-log__row.rs-log__row--active[data-v-a8e6725e] {
|
|
28
|
+
background: var(--rs-log-active-bg, color-mix(in srgb, var(--rs-primary) 12%, var(--rs-log-bg, transparent)));
|
|
29
|
+
}
|
|
30
|
+
.rs-log__row--active[data-v-a8e6725e]::before {
|
|
31
|
+
content: '';
|
|
32
|
+
position: absolute;
|
|
33
|
+
inset-inline-start: 0;
|
|
34
|
+
inset-block: 0;
|
|
35
|
+
width: var(--rs-log-accent-width, 0.125rem);
|
|
36
|
+
background: var(--rs-log-accent, var(--rs-primary));
|
|
37
|
+
pointer-events: none;
|
|
38
|
+
}
|
|
39
|
+
.rs-log__marker[data-v-a8e6725e] {
|
|
40
|
+
flex-shrink: 0;
|
|
41
|
+
width: var(--rs-log-marker-width, 0.2rem);
|
|
42
|
+
align-self: stretch;
|
|
43
|
+
min-height: 0.9em;
|
|
44
|
+
margin-block: 0.2rem;
|
|
45
|
+
border-radius: var(--rs-radius-full);
|
|
46
|
+
background: currentColor;
|
|
47
|
+
user-select: none;
|
|
48
|
+
}
|
|
49
|
+
.rs-log__no[data-v-a8e6725e],
|
|
50
|
+
.rs-log__time[data-v-a8e6725e] {
|
|
51
|
+
flex-shrink: 0;
|
|
52
|
+
color: var(--rs-log-muted, var(--rs-text-secondary));
|
|
53
|
+
font-variant-numeric: tabular-nums;
|
|
54
|
+
unicode-bidi: isolate;
|
|
55
|
+
user-select: none;
|
|
56
|
+
}
|
|
57
|
+
.rs-log__level[data-v-a8e6725e] {
|
|
58
|
+
flex-shrink: 0;
|
|
59
|
+
min-inline-size: var(--rs-log-level-min, 3.6rem);
|
|
60
|
+
font-weight: var(--rs-font-weight-semibold);
|
|
61
|
+
letter-spacing: 0.02em;
|
|
62
|
+
unicode-bidi: isolate;
|
|
63
|
+
user-select: none;
|
|
64
|
+
}
|
|
65
|
+
.rs-log__text[data-v-a8e6725e] {
|
|
66
|
+
min-width: 0;
|
|
67
|
+
flex: 1;
|
|
68
|
+
font-weight: inherit;
|
|
69
|
+
unicode-bidi: plaintext;
|
|
70
|
+
user-select: text;
|
|
71
|
+
}
|
|
72
|
+
.rs-log__row--wrap .rs-log__text[data-v-a8e6725e] {
|
|
73
|
+
overflow: visible;
|
|
74
|
+
height: auto;
|
|
75
|
+
min-height: 0;
|
|
76
|
+
}
|
|
77
|
+
.rs-log__row:not(.rs-log__row--wrap) .rs-log__text[data-v-a8e6725e] {
|
|
78
|
+
overflow: hidden;
|
|
79
|
+
text-overflow: ellipsis;
|
|
80
|
+
}
|
|
81
|
+
.rs-log__hit[data-v-a8e6725e] {
|
|
82
|
+
padding: 0 0.1em;
|
|
83
|
+
background: var(--rs-log-hit-bg);
|
|
84
|
+
color: var(--rs-log-hit-fg);
|
|
85
|
+
font: inherit;
|
|
86
|
+
}
|
|
87
|
+
.rs-log__sr-only[data-v-a8e6725e] {
|
|
88
|
+
position: absolute;
|
|
89
|
+
width: 1px;
|
|
90
|
+
height: 1px;
|
|
91
|
+
padding: 0;
|
|
92
|
+
margin: -1px;
|
|
93
|
+
overflow: hidden;
|
|
94
|
+
clip: rect(0, 0, 0, 0);
|
|
95
|
+
white-space: nowrap;
|
|
96
|
+
border: 0;
|
|
97
|
+
}
|
|
98
|
+
.rs-log__row--plain[data-v-a8e6725e] {
|
|
99
|
+
--rs-log-row-fg: var(--rs-log-fg);
|
|
100
|
+
font-weight: var(--rs-font-weight-regular);
|
|
101
|
+
}
|
|
102
|
+
.rs-log__row--trace[data-v-a8e6725e] {
|
|
103
|
+
--rs-log-row-fg: var(--rs-log-trace);
|
|
104
|
+
font-weight: var(--rs-font-weight-regular);
|
|
105
|
+
}
|
|
106
|
+
.rs-log__row--debug[data-v-a8e6725e] {
|
|
107
|
+
--rs-log-row-fg: var(--rs-log-debug);
|
|
108
|
+
font-weight: var(--rs-font-weight-regular);
|
|
109
|
+
}
|
|
110
|
+
.rs-log__row--info[data-v-a8e6725e] {
|
|
111
|
+
--rs-log-row-fg: var(--rs-log-info);
|
|
112
|
+
font-weight: var(--rs-font-weight-medium);
|
|
113
|
+
}
|
|
114
|
+
.rs-log__row--notice[data-v-a8e6725e] {
|
|
115
|
+
--rs-log-row-fg: var(--rs-log-notice);
|
|
116
|
+
font-weight: var(--rs-font-weight-medium);
|
|
117
|
+
}
|
|
118
|
+
.rs-log__row--success[data-v-a8e6725e] {
|
|
119
|
+
--rs-log-row-fg: var(--rs-log-success);
|
|
120
|
+
font-weight: var(--rs-font-weight-medium);
|
|
121
|
+
}
|
|
122
|
+
.rs-log__row--warn[data-v-a8e6725e] {
|
|
123
|
+
--rs-log-row-fg: var(--rs-log-warn);
|
|
124
|
+
font-weight: var(--rs-font-weight-semibold);
|
|
125
|
+
}
|
|
126
|
+
.rs-log__row--error[data-v-a8e6725e] {
|
|
127
|
+
--rs-log-row-fg: var(--rs-log-error);
|
|
128
|
+
font-weight: var(--rs-font-weight-bold);
|
|
129
|
+
}
|
|
130
|
+
.rs-log__row--fatal[data-v-a8e6725e] {
|
|
131
|
+
--rs-log-row-fg: var(--rs-log-fatal);
|
|
132
|
+
font-weight: var(--rs-font-weight-bold);
|
|
133
|
+
}
|
|
134
|
+
@media (forced-colors: active) {
|
|
135
|
+
.rs-log__row[data-v-a8e6725e] {
|
|
136
|
+
color: CanvasText;
|
|
137
|
+
}
|
|
138
|
+
.rs-log__marker[data-v-a8e6725e] {
|
|
139
|
+
background: ButtonText;
|
|
140
|
+
}
|
|
141
|
+
.rs-log__hit[data-v-a8e6725e] {
|
|
142
|
+
background: Highlight;
|
|
143
|
+
color: HighlightText;
|
|
144
|
+
}
|
|
145
|
+
.rs-log__row--active[data-v-a8e6725e] {
|
|
146
|
+
outline: var(--rs-focus-ring-width, 2px) solid Highlight;
|
|
147
|
+
outline-offset: calc(var(--rs-focus-ring-width, 2px) * -1);
|
|
148
|
+
}
|
|
149
|
+
.rs-log__row--active[data-v-a8e6725e]::before {
|
|
150
|
+
background: Highlight;
|
|
151
|
+
}
|
|
152
|
+
}
|