@openviking/react 0.1.5 → 0.1.7

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.
Files changed (145) hide show
  1. package/README.md +15 -11
  2. package/dist/2~0.js +6 -5
  3. package/dist/37~0.js +27 -0
  4. package/dist/3c~0.js +24 -12
  5. package/dist/3~0.js +19 -9
  6. package/dist/ae~0.js +8 -1
  7. package/dist/ark-message-list-view~0.js +9 -4
  8. package/dist/a~0.js +13 -7
  9. package/dist/c7r~0.js +50 -0
  10. package/dist/ck~0.js +7 -0
  11. package/dist/client/paths.d.ts +10 -0
  12. package/dist/client/provider.d.ts +6 -1
  13. package/dist/components/agent-connect/style.css +268 -37
  14. package/dist/components/directory-tour/style.css +265 -21
  15. package/dist/components/directory-tour.js +1 -1
  16. package/dist/components/experience-dashboard/dashboard-tabs.d.ts +11 -0
  17. package/dist/components/experience-dashboard/experience-dashboard.d.ts +2 -0
  18. package/dist/components/experience-dashboard/experience-impact.d.ts +11 -0
  19. package/dist/components/experience-dashboard/experience-list.d.ts +9 -0
  20. package/dist/components/experience-dashboard/experience-pagination.d.ts +8 -0
  21. package/dist/components/experience-dashboard/experience-tests.d.ts +6 -0
  22. package/dist/components/experience-dashboard/experience-trajectories.d.ts +6 -0
  23. package/dist/components/experience-dashboard/index.d.ts +2 -0
  24. package/dist/components/experience-dashboard/labels.d.ts +2 -0
  25. package/dist/components/experience-dashboard/style.css +914 -0
  26. package/dist/components/experience-dashboard/style.js +0 -0
  27. package/dist/components/experience-dashboard/types.d.ts +106 -0
  28. package/dist/components/experience-dashboard.js +1 -0
  29. package/dist/components/file-browser-entries/style.css +463 -86
  30. package/dist/components/file-preview/style.css +267 -78
  31. package/dist/components/file-tree/file-tree-toolbar.d.ts +3 -3
  32. package/dist/components/file-tree/locales/en-US.d.ts +3 -0
  33. package/dist/components/file-tree/locales/zh-CN.d.ts +3 -0
  34. package/dist/components/file-tree/style.css +372 -88
  35. package/dist/components/file-tree/types.d.ts +13 -4
  36. package/dist/components/scope-switcher/style.css +412 -39
  37. package/dist/components/style.css +9326 -4553
  38. package/dist/components/tui/style.css +385 -67
  39. package/dist/components/viking-bot/interaction/style.css +143 -22
  40. package/dist/components/viking-bot/style.css +1075 -278
  41. package/dist/components/wiki-dashboard/index.d.ts +2 -0
  42. package/dist/components/wiki-dashboard/labels.d.ts +2 -0
  43. package/dist/components/wiki-dashboard/style.css +956 -0
  44. package/dist/components/wiki-dashboard/style.js +0 -0
  45. package/dist/components/wiki-dashboard/types.d.ts +92 -0
  46. package/dist/components/wiki-dashboard/wiki-action-button.d.ts +9 -0
  47. package/dist/components/wiki-dashboard/wiki-conflict-card.d.ts +15 -0
  48. package/dist/components/wiki-dashboard/wiki-dashboard.d.ts +2 -0
  49. package/dist/components/wiki-dashboard/wiki-file-icon.d.ts +3 -0
  50. package/dist/components/wiki-dashboard/wiki-severity-filter.d.ts +8 -0
  51. package/dist/components/wiki-dashboard.js +1 -0
  52. package/dist/c~0.js +16 -8
  53. package/dist/ep~0.js +345 -0
  54. package/dist/e~0.js +33 -328
  55. package/dist/fj~0.js +507 -0
  56. package/dist/fl~0.js +709 -0
  57. package/dist/f~0.js +12 -27
  58. package/dist/icons/index.d.ts +28 -0
  59. package/dist/icons.js +1 -1
  60. package/dist/index.d.ts +4 -0
  61. package/dist/index.js +3 -1
  62. package/dist/k~0.js +277 -1
  63. package/dist/lk~0.js +56 -14
  64. package/dist/l~0.js +2786 -446
  65. package/dist/modules/console/index.d.ts +1 -2
  66. package/dist/modules/console/style.css +1787 -346
  67. package/dist/modules/console.js +1 -1
  68. package/dist/modules/file-browser/acl/acl-add-principal.d.ts +12 -0
  69. package/dist/modules/file-browser/acl/acl-candidate.d.ts +8 -0
  70. package/dist/modules/file-browser/acl/acl-client.d.ts +13 -0
  71. package/dist/modules/file-browser/acl/acl-confirmation.d.ts +6 -0
  72. package/dist/modules/file-browser/acl/acl-entry.d.ts +13 -0
  73. package/dist/modules/file-browser/acl/acl-labels.d.ts +47 -0
  74. package/dist/modules/file-browser/acl/acl-menu.d.ts +10 -0
  75. package/dist/modules/file-browser/acl/acl-modal.d.ts +17 -0
  76. package/dist/modules/file-browser/acl/acl-model.d.ts +17 -0
  77. package/dist/modules/file-browser/acl/acl-principal-tabs.d.ts +6 -0
  78. package/dist/modules/file-browser/acl/acl-tag.d.ts +7 -0
  79. package/dist/modules/file-browser/acl/locales/en-US.d.ts +44 -0
  80. package/dist/modules/file-browser/acl/locales/zh-CN.d.ts +44 -0
  81. package/dist/modules/file-browser/acl/use-acl-principals.d.ts +17 -0
  82. package/dist/modules/file-browser/acl/use-acl-report.d.ts +27 -0
  83. package/dist/modules/file-browser/acl-types.d.ts +86 -0
  84. package/dist/modules/file-browser/dashboard-data.d.ts +9 -0
  85. package/dist/modules/file-browser/dashboard-indicator.d.ts +8 -0
  86. package/dist/modules/file-browser/dashboard-labels.d.ts +9 -0
  87. package/dist/modules/file-browser/dashboard-model.d.ts +17 -0
  88. package/dist/modules/file-browser/dashboard-resource.d.ts +12 -0
  89. package/dist/modules/file-browser/experience-dashboard-pane.d.ts +8 -0
  90. package/dist/modules/file-browser/experience-data.d.ts +31 -0
  91. package/dist/modules/file-browser/file-browser-detail.d.ts +4 -1
  92. package/dist/modules/file-browser/file-browser-labels.d.ts +1 -1
  93. package/dist/modules/file-browser/file-browser-search.d.ts +20 -0
  94. package/dist/modules/file-browser/file-browser-toolbar.d.ts +3 -10
  95. package/dist/modules/file-browser/file-browser-tree-pane.d.ts +4 -7
  96. package/dist/modules/file-browser/file-browser.d.ts +1 -1
  97. package/dist/modules/file-browser/fs-directories.d.ts +9 -0
  98. package/dist/modules/file-browser/fs-lines.d.ts +36 -0
  99. package/dist/modules/file-browser/fs-memory-fields.d.ts +65 -0
  100. package/dist/modules/file-browser/fs-model.d.ts +15 -3
  101. package/dist/modules/file-browser/fs-read-file.d.ts +14 -0
  102. package/dist/modules/file-browser/index.d.ts +3 -2
  103. package/dist/modules/file-browser/locales/en-US.d.ts +5 -0
  104. package/dist/modules/file-browser/locales/zh-CN.d.ts +5 -0
  105. package/dist/modules/file-browser/style.css +4033 -483
  106. package/dist/modules/file-browser/types.d.ts +82 -20
  107. package/dist/modules/file-browser/use-browser-dashboards.d.ts +31 -0
  108. package/dist/modules/file-browser/use-dashboard-query.d.ts +9 -0
  109. package/dist/modules/file-browser/use-experience-dashboard.d.ts +27 -0
  110. package/dist/modules/file-browser/use-file-browser-acl.d.ts +15 -0
  111. package/dist/modules/file-browser/use-file-browser.d.ts +6 -51
  112. package/dist/modules/file-browser/use-fs-tree.d.ts +3 -0
  113. package/dist/modules/file-browser/use-wiki-dashboard.d.ts +17 -0
  114. package/dist/modules/file-browser/wiki-conflicts.d.ts +12 -0
  115. package/dist/modules/file-browser/wiki-dashboard-pane.d.ts +14 -0
  116. package/dist/modules/file-browser.js +1 -1
  117. package/dist/modules/scope-cascade/controller.d.ts +2 -2
  118. package/dist/modules/scope-cascade/index.d.ts +1 -2
  119. package/dist/modules/scope-cascade/scope-cascade.d.ts +1 -1
  120. package/dist/modules/scope-cascade/style.css +581 -39
  121. package/dist/modules/scope-cascade/types.d.ts +8 -3
  122. package/dist/modules/scope-cascade/use-scope-cascade.d.ts +2 -2
  123. package/dist/modules/scope-cascade.js +1 -1
  124. package/dist/modules/style.css +13589 -7966
  125. package/dist/n~0.js +73 -165
  126. package/dist/rt~0.js +255 -0
  127. package/dist/r~0.js +18 -39
  128. package/dist/shared/components/button/button.d.ts +20 -0
  129. package/dist/shared/components/input/input.d.ts +17 -0
  130. package/dist/shared/components/modal/locales/en-US.d.ts +4 -0
  131. package/dist/shared/components/modal/locales/zh-CN.d.ts +4 -0
  132. package/dist/shared/components/modal/modal.d.ts +2 -0
  133. package/dist/shared/components/modal/types.d.ts +18 -0
  134. package/dist/shared/components/overlay/lock-body-scroll.d.ts +1 -0
  135. package/dist/shared/components/popover/popover.d.ts +1 -1
  136. package/dist/shared/components/popover/types.d.ts +7 -1
  137. package/dist/shared/dashboard/dashboard-state.d.ts +12 -0
  138. package/dist/static/image/dashboard-background.png +0 -0
  139. package/dist/style.css +16088 -5602
  140. package/dist/s~0.js +16 -0
  141. package/dist/u~0.js +15 -6
  142. package/dist/viking-bot-composer~0.js +30 -12
  143. package/dist/viking-bot-interaction~0.js +2 -1
  144. package/package.json +14 -3
  145. package/dist/o~0.js +0 -106
package/dist/r~0.js CHANGED
@@ -1,12 +1,9 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { cloneElement, useCallback, useEffect, useId, useRef, useState } from "react";
3
3
  import { createPortal } from "react-dom";
4
- import { useOverlayPosition } from "./o~0.js";
5
- const DEFAULT_LABELS = {
6
- close: 'Close'
7
- };
4
+ import { useOverlayPosition } from "./rt~0.js";
8
5
  function useMergedRef(ref, target) {
9
- const merged = useCallback((node)=>{
6
+ return useCallback((node)=>{
10
7
  target.current = node;
11
8
  if ('function' == typeof ref) ref(node);
12
9
  else if (ref) ref.current = node;
@@ -14,19 +11,15 @@ function useMergedRef(ref, target) {
14
11
  ref,
15
12
  target
16
13
  ]);
17
- return merged;
18
14
  }
19
- function Tooltip({ children, content, placement = 'top', trigger = 'hover', delay = 300, disabled = false, className, style, onOpenChange, labels }) {
20
- const text = {
21
- ...DEFAULT_LABELS,
22
- ...labels
23
- };
24
- const [open, setOpen] = useState(false);
15
+ function Popover({ children, content, placement = 'right', anchorRef, trigger = 'hover', delay = 300, open: controlledOpen, role, disabled = false, className, style, onOpenChange }) {
16
+ const [localOpen, setOpen] = useState(false);
17
+ const open = !disabled && (controlledOpen ?? localOpen);
25
18
  const triggerRef = useRef(null);
26
19
  const timerRef = useRef(void 0);
27
20
  const [surfaceNode, setSurfaceNode] = useState(null);
28
21
  const id = useId();
29
- const position = useOverlayPosition(open, triggerRef, surfaceNode, placement);
22
+ const position = useOverlayPosition(open, anchorRef ?? triggerRef, surfaceNode, placement);
30
23
  const change = useCallback((next)=>{
31
24
  setOpen(next);
32
25
  onOpenChange?.(next);
@@ -52,27 +45,23 @@ function Tooltip({ children, content, placement = 'top', trigger = 'hover', dela
52
45
  clearTimer
53
46
  ]);
54
47
  useEffect(()=>{
55
- if (!open) return;
48
+ if (!open || 'click' !== trigger) return;
56
49
  const onPointerDown = (event)=>{
57
50
  const target = event.target;
58
51
  if (surfaceNode?.contains(target) || triggerRef.current?.contains(target)) return;
59
52
  change(false);
60
53
  };
61
54
  const onKeyDown = (event)=>{
62
- if ('Escape' === event.key) {
63
- clearTimer();
64
- change(false);
65
- }
55
+ if ('Escape' === event.key) change(false);
66
56
  };
67
- if ('click' === trigger) document.addEventListener('mousedown', onPointerDown);
57
+ document.addEventListener('mousedown', onPointerDown);
68
58
  document.addEventListener('keydown', onKeyDown);
69
59
  return ()=>{
70
- if ('click' === trigger) document.removeEventListener('mousedown', onPointerDown);
60
+ document.removeEventListener('mousedown', onPointerDown);
71
61
  document.removeEventListener('keydown', onKeyDown);
72
62
  };
73
63
  }, [
74
64
  change,
75
- clearTimer,
76
65
  open,
77
66
  surfaceNode,
78
67
  trigger
@@ -89,19 +78,18 @@ function Tooltip({ children, content, placement = 'top', trigger = 'hover', dela
89
78
  const hide = ()=>{
90
79
  if ('click' === trigger) return;
91
80
  clearTimer();
92
- timerRef.current = window.setTimeout(()=>{
93
- change(false);
94
- timerRef.current = void 0;
95
- }, 120);
81
+ change(false);
96
82
  };
97
83
  const child = children;
98
84
  const childProps = child.props;
99
85
  const childRef = child.ref;
100
86
  const mergedRef = useMergedRef(childRef, triggerRef);
87
+ const declaresExpanded = 'aria-expanded' in childProps;
101
88
  const triggerElement = /*#__PURE__*/ cloneElement(child, {
102
89
  ref: mergedRef,
103
- 'aria-describedby': open && 'hover' === trigger ? id : void 0,
104
- 'aria-expanded': 'click' === trigger ? open : childProps['aria-expanded'],
90
+ ...declaresExpanded ? {} : {
91
+ 'aria-expanded': open
92
+ },
105
93
  onMouseEnter: (event)=>{
106
94
  childProps.onMouseEnter?.(event);
107
95
  if ('hover' === trigger) show();
@@ -110,14 +98,6 @@ function Tooltip({ children, content, placement = 'top', trigger = 'hover', dela
110
98
  childProps.onMouseLeave?.(event);
111
99
  if ('hover' === trigger) hide();
112
100
  },
113
- onFocus: (event)=>{
114
- childProps.onFocus?.(event);
115
- if ('hover' === trigger) show();
116
- },
117
- onBlur: (event)=>{
118
- childProps.onBlur?.(event);
119
- hide();
120
- },
121
101
  onClick: (event)=>{
122
102
  childProps.onClick?.(event);
123
103
  if ('click' === trigger) show();
@@ -126,10 +106,9 @@ function Tooltip({ children, content, placement = 'top', trigger = 'hover', dela
126
106
  const surface = open ? /*#__PURE__*/ createPortal(/*#__PURE__*/ jsx("div", {
127
107
  ref: setSurfaceNode,
128
108
  id: id,
129
- role: 'hover' === trigger ? 'tooltip' : 'dialog',
130
- "aria-label": 'click' === trigger ? text.close : void 0,
109
+ role: role ?? ('click' === trigger ? 'dialog' : 'note'),
131
110
  className: [
132
- 'ov-tooltip',
111
+ 'ov-popover',
133
112
  className
134
113
  ].filter(Boolean).join(' '),
135
114
  "data-placement": position.placement,
@@ -149,4 +128,4 @@ function Tooltip({ children, content, placement = 'top', trigger = 'hover', dela
149
128
  ]
150
129
  });
151
130
  }
152
- export { Tooltip };
131
+ export { Popover };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Adapted from Arco Design Button (MIT), commit 4e087a0fe7d5ae2f222fbce4a9518ba047b01772.
3
+ * https://github.com/arco-design/arco-design/tree/4e087a0fe7d5ae2f222fbce4a9518ba047b01772/components/Button
4
+ * Copyright (c) 2021 Bytedance, Inc. and its affiliates. See LICENSE.arco-design.
5
+ * Keeps native events/ref, variants, sizes, icons and loading; omits links,
6
+ * groups, status palettes, Chinese-character spacing and ConfigProvider coupling.
7
+ * Visual rules come from the console's theme-ve-o-aml-design@0.0.36 skin.
8
+ */
9
+ import { type ButtonHTMLAttributes, type ReactNode } from 'react';
10
+ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {
11
+ type?: 'default' | 'primary' | 'secondary' | 'outline' | 'text';
12
+ htmlType?: 'button' | 'submit' | 'reset';
13
+ size?: 'mini' | 'small' | 'default' | 'large';
14
+ shape?: 'square' | 'circle';
15
+ icon?: ReactNode;
16
+ iconOnly?: boolean;
17
+ loading?: boolean;
18
+ long?: boolean;
19
+ }
20
+ export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Adapted from Arco Design Input (MIT), commit 4e087a0fe7d5ae2f222fbce4a9518ba047b01772.
3
+ * https://github.com/arco-design/arco-design/tree/4e087a0fe7d5ae2f222fbce4a9518ba047b01772/components/Input
4
+ * Copyright (c) 2021 Bytedance, Inc. and its affiliates. See LICENSE.arco-design.
5
+ * Native value/events/ref and affixes only. No password toggles, groups, clear buttons,
6
+ * word counters, auto-width/auto-size, value truncation or ConfigProvider.
7
+ * Visual rules come from the console's theme-ve-o-aml-design@0.0.36 skin.
8
+ */
9
+ import { type InputHTMLAttributes, type ReactNode, type TextareaHTMLAttributes } from 'react';
10
+ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix' | 'type'> {
11
+ type?: 'text' | 'search' | 'email' | 'url' | 'tel' | 'password' | 'number';
12
+ size?: 'mini' | 'small' | 'default' | 'large';
13
+ prefix?: ReactNode;
14
+ suffix?: ReactNode;
15
+ }
16
+ export declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
17
+ export declare const TextArea: import("react").ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & import("react").RefAttributes<HTMLTextAreaElement>>;
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ closeLabel: string;
3
+ };
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ closeLabel: string;
3
+ };
4
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import type { ModalProps } from './types.js';
2
+ export declare function Modal({ open, title, triggerRef, id, className, locale: localeProp, onClose, children, closeLabel, }: ModalProps): import("react").ReactPortal | null;
@@ -0,0 +1,18 @@
1
+ import type { ReactNode, RefObject } from 'react';
2
+ import type { Locale } from '../../locale.js';
3
+ /** A controlled modal with the same overlay capabilities as the internal Drawer. */
4
+ export interface ModalProps {
5
+ open: boolean;
6
+ children: ReactNode;
7
+ /** Accessible name; render a visible heading inside children. */
8
+ title: string;
9
+ /** Theme anchor; focus returns to the element active when the modal opened. */
10
+ triggerRef: RefObject<HTMLElement | null>;
11
+ id?: string;
12
+ className?: string;
13
+ locale?: Locale;
14
+ /** Overrides the localized close button name, including an explicit empty string. */
15
+ closeLabel?: string;
16
+ /** Close intent from the mask, close button or Escape. The host controls open. */
17
+ onClose?: () => void;
18
+ }
@@ -0,0 +1 @@
1
+ export declare function lockBodyScroll(body: HTMLElement): () => void;
@@ -20,4 +20,4 @@ export type { PopoverPlacement, PopoverProps, PopoverTrigger, } from './types.js
20
20
  * tooltip is one dark line, a popover is a white card. What they share — the
21
21
  * portal, positioning and theme-variable syncing — lives in `overlay/`.
22
22
  */
23
- export declare function Popover({ children, content, placement, trigger, delay, disabled, className, style, onOpenChange, }: PopoverProps): import("react").JSX.Element;
23
+ export declare function Popover({ children, content, placement, anchorRef, trigger, delay, open: controlledOpen, role, disabled, className, style, onOpenChange, }: PopoverProps): import("react").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import type { OverlayPlacement } from '../overlay/types.js';
2
- import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import type { AriaRole, CSSProperties, ReactElement, ReactNode, RefObject } from 'react';
3
3
  /**
4
4
  * 弹出层的方位,与提示共用一套取值。空间不足时自动翻到对侧。
5
5
  * Where the popover sits relative to its trigger, sharing the tooltip's values.
@@ -35,10 +35,16 @@ export interface PopoverProps {
35
35
  content: ReactNode;
36
36
  /** 方位,默认 `right`——内容在行尾展开,不遮挡左侧。 Placement, `right` by default. */
37
37
  placement?: PopoverPlacement;
38
+ /** 可选的定位元素,触发事件仍在 children 上。 Optional anchor; children still handle the trigger. */
39
+ anchorRef?: RefObject<HTMLElement | null>;
38
40
  /** 触发方式,默认 `hover`。 Trigger mode, `hover` by default. */
39
41
  trigger?: PopoverTrigger;
40
42
  /** 悬停后多久展示,单位毫秒。延迟只作用于 `hover`。 Hover delay in ms; `hover` only. */
41
43
  delay?: number;
44
+ /** Controlled visibility; omitted values use instance-local state. */
45
+ open?: boolean;
46
+ /** Surface semantics; defaults to dialog for click and note for hover. */
47
+ role?: AriaRole;
42
48
  /** 为真时不展示浮层。 Suppresses the surface; the trigger still renders. */
43
49
  disabled?: boolean;
44
50
  /** 浮层容器的额外类名。 Extra class names for the surface. */
@@ -0,0 +1,12 @@
1
+ export interface DashboardStatus {
2
+ loading?: boolean;
3
+ error?: Error | null;
4
+ onRetry?: () => void;
5
+ }
6
+ export declare function DashboardState({ state, empty, loading, failed, retry, }: {
7
+ state?: DashboardStatus;
8
+ empty: string;
9
+ loading: string;
10
+ failed: string;
11
+ retry: string;
12
+ }): import("react").JSX.Element;