@autobe/ui 0.30.0-dev.20260315 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -661
- package/lib/components/AutoBeChatMain.js +5 -5
- package/lib/components/AutoBeConfigModal.js +9 -9
- package/package.json +2 -2
- package/src/components/AutoBeAssistantMessageMovie.tsx +22 -22
- package/src/components/AutoBeChatMain.tsx +376 -376
- package/src/components/AutoBeChatSidebar.tsx +414 -414
- package/src/components/AutoBeConfigButton.tsx +83 -83
- package/src/components/AutoBeConfigModal.tsx +443 -443
- package/src/components/AutoBeStatusButton.tsx +75 -75
- package/src/components/AutoBeStatusModal.tsx +486 -486
- package/src/components/AutoBeUserMessageMovie.tsx +27 -27
- package/src/components/common/ActionButton.tsx +205 -205
- package/src/components/common/ActionButtonGroup.tsx +80 -80
- package/src/components/common/AutoBeConfigInput.tsx +185 -185
- package/src/components/common/ChatBubble.tsx +119 -119
- package/src/components/common/Collapsible.tsx +95 -95
- package/src/components/common/CompactSessionIndicator.tsx +73 -73
- package/src/components/common/CompactSessionList.tsx +82 -82
- package/src/components/common/index.ts +8 -8
- package/src/components/common/openai/OpenAIContent.tsx +53 -53
- package/src/components/common/openai/OpenAIUserAudioContent.tsx +70 -70
- package/src/components/common/openai/OpenAIUserFileContent.tsx +76 -76
- package/src/components/common/openai/OpenAIUserImageContent.tsx +34 -34
- package/src/components/common/openai/OpenAIUserTextContent.tsx +15 -15
- package/src/components/common/openai/index.ts +5 -5
- package/src/components/events/AutoBeCompleteEventMovie.tsx +402 -402
- package/src/components/events/AutoBeCorrectEventMovie.tsx +354 -354
- package/src/components/events/AutoBeEventGroupMovie.tsx +18 -18
- package/src/components/events/AutoBeEventMovie.tsx +158 -158
- package/src/components/events/AutoBeProgressEventMovie.tsx +217 -217
- package/src/components/events/AutoBeScenarioEventMovie.tsx +135 -135
- package/src/components/events/AutoBeStartEventMovie.tsx +82 -82
- package/src/components/events/AutoBeValidateEventMovie.tsx +249 -249
- package/src/components/events/README.md +300 -300
- package/src/components/events/common/CollapsibleEventGroup.tsx +211 -211
- package/src/components/events/common/EventCard.tsx +61 -61
- package/src/components/events/common/EventContent.tsx +31 -31
- package/src/components/events/common/EventHeader.tsx +85 -85
- package/src/components/events/common/EventIcon.tsx +82 -82
- package/src/components/events/common/ProgressBar.tsx +64 -64
- package/src/components/events/common/index.ts +13 -13
- package/src/components/events/groups/CorrectEventGroup.tsx +183 -183
- package/src/components/events/groups/ValidateEventGroup.tsx +143 -143
- package/src/components/events/groups/index.ts +8 -8
- package/src/components/events/index.ts +16 -16
- package/src/components/events/utils/eventGrouper.tsx +116 -116
- package/src/components/events/utils/index.ts +1 -1
- package/src/components/index.ts +13 -13
- package/src/components/upload/AutoBeChatUploadBox.tsx +425 -425
- package/src/components/upload/AutoBeChatUploadSendButton.tsx +66 -66
- package/src/components/upload/AutoBeFileUploadBox.tsx +123 -123
- package/src/components/upload/AutoBeUploadConfig.ts +5 -5
- package/src/components/upload/AutoBeVoiceRecoderButton.tsx +100 -100
- package/src/components/upload/index.ts +5 -5
- package/src/constant/color.ts +28 -28
- package/src/context/AutoBeAgentContext.tsx +245 -245
- package/src/context/AutoBeAgentSessionList.tsx +58 -58
- package/src/context/SearchParamsContext.tsx +49 -49
- package/src/hooks/index.ts +3 -3
- package/src/hooks/useEscapeKey.ts +24 -24
- package/src/hooks/useIsomorphicLayoutEffect.ts +8 -8
- package/src/hooks/useMediaQuery.ts +73 -73
- package/src/hooks/useSessionStorage.ts +10 -10
- package/src/icons/Receipt.tsx +74 -74
- package/src/index.ts +9 -9
- package/src/strategy/AutoBeAgentSessionStorageStrategy.ts +127 -127
- package/src/structure/AutoBeListener.ts +373 -373
- package/src/structure/AutoBeListenerState.ts +53 -53
- package/src/structure/IAutoBeAgentSessionStorageStrategy.ts +87 -87
- package/src/structure/IAutoBeEventGroup.ts +6 -6
- package/src/structure/index.ts +4 -4
- package/src/types/config.ts +44 -44
- package/src/types/index.ts +1 -1
- package/src/utils/AutoBeFileUploader.ts +279 -279
- package/src/utils/AutoBeVoiceRecorder.ts +95 -95
- package/src/utils/__tests__/crypto.test.ts +286 -286
- package/src/utils/__tests__/storage.test.ts +229 -229
- package/src/utils/crypto.ts +95 -95
- package/src/utils/index.ts +6 -6
- package/src/utils/number.ts +17 -17
- package/src/utils/storage.ts +96 -96
- package/src/utils/time.ts +14 -14
- package/tsconfig.json +9 -9
- package/vitest.config.ts +15 -15
- package/README.md +0 -261
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { overlay } from "overlay-kit";
|
|
2
|
-
import { CSSProperties } from "react";
|
|
3
|
-
|
|
4
|
-
import AutoBeConfigModal, { IConfigField } from "./AutoBeConfigModal";
|
|
5
|
-
|
|
6
|
-
export interface IAutoBeConfigButtonProps {
|
|
7
|
-
className?: string;
|
|
8
|
-
style?: CSSProperties;
|
|
9
|
-
title?: string;
|
|
10
|
-
fields: IConfigField[];
|
|
11
|
-
onSave?: () => void;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* A floating action button that opens the configuration modal Features hover
|
|
16
|
-
* animations and a clean, modern design
|
|
17
|
-
*/
|
|
18
|
-
export const AutoBeConfigButton = (props: IAutoBeConfigButtonProps) => {
|
|
19
|
-
return (
|
|
20
|
-
<button
|
|
21
|
-
onClick={() =>
|
|
22
|
-
overlay.open(({ isOpen, close }) => (
|
|
23
|
-
<AutoBeConfigModal
|
|
24
|
-
isOpen={isOpen}
|
|
25
|
-
onClose={close}
|
|
26
|
-
fields={props.fields}
|
|
27
|
-
onSave={() => {
|
|
28
|
-
props.onSave?.();
|
|
29
|
-
}}
|
|
30
|
-
/>
|
|
31
|
-
))
|
|
32
|
-
}
|
|
33
|
-
className={props.className}
|
|
34
|
-
style={{
|
|
35
|
-
background: "#f8f9fa",
|
|
36
|
-
color: "#495057",
|
|
37
|
-
border: "1px solid #dee2e6",
|
|
38
|
-
borderRadius: "50%",
|
|
39
|
-
padding: "0.5rem",
|
|
40
|
-
width: "2rem",
|
|
41
|
-
height: "2rem",
|
|
42
|
-
cursor: "pointer",
|
|
43
|
-
fontSize: "0.85rem",
|
|
44
|
-
fontWeight: "400",
|
|
45
|
-
boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)",
|
|
46
|
-
transition: "all 0.2s ease",
|
|
47
|
-
display: "flex",
|
|
48
|
-
alignItems: "center",
|
|
49
|
-
justifyContent: "center",
|
|
50
|
-
...props.style,
|
|
51
|
-
}}
|
|
52
|
-
onMouseOver={(e) => {
|
|
53
|
-
e.currentTarget.style.transform = "translateY(-1px)";
|
|
54
|
-
e.currentTarget.style.boxShadow = "0 4px 8px rgba(0, 0, 0, 0.15)";
|
|
55
|
-
e.currentTarget.style.background = "#e9ecef";
|
|
56
|
-
e.currentTarget.style.borderColor = "#adb5bd";
|
|
57
|
-
}}
|
|
58
|
-
onMouseOut={(e) => {
|
|
59
|
-
e.currentTarget.style.transform = "translateY(0)";
|
|
60
|
-
e.currentTarget.style.boxShadow = "0 2px 4px rgba(0, 0, 0, 0.1)";
|
|
61
|
-
e.currentTarget.style.background = "#f8f9fa";
|
|
62
|
-
e.currentTarget.style.borderColor = "#dee2e6";
|
|
63
|
-
}}
|
|
64
|
-
title={props.title ?? "Configure Settings"}
|
|
65
|
-
>
|
|
66
|
-
<svg
|
|
67
|
-
width="14"
|
|
68
|
-
height="14"
|
|
69
|
-
viewBox="0 0 24 24"
|
|
70
|
-
fill="none"
|
|
71
|
-
stroke="currentColor"
|
|
72
|
-
strokeWidth="2"
|
|
73
|
-
strokeLinecap="round"
|
|
74
|
-
strokeLinejoin="round"
|
|
75
|
-
>
|
|
76
|
-
<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2Z" />
|
|
77
|
-
<circle cx="12" cy="12" r="3" />
|
|
78
|
-
</svg>
|
|
79
|
-
</button>
|
|
80
|
-
);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
export default AutoBeConfigButton;
|
|
1
|
+
import { overlay } from "overlay-kit";
|
|
2
|
+
import { CSSProperties } from "react";
|
|
3
|
+
|
|
4
|
+
import AutoBeConfigModal, { IConfigField } from "./AutoBeConfigModal";
|
|
5
|
+
|
|
6
|
+
export interface IAutoBeConfigButtonProps {
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
title?: string;
|
|
10
|
+
fields: IConfigField[];
|
|
11
|
+
onSave?: () => void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A floating action button that opens the configuration modal Features hover
|
|
16
|
+
* animations and a clean, modern design
|
|
17
|
+
*/
|
|
18
|
+
export const AutoBeConfigButton = (props: IAutoBeConfigButtonProps) => {
|
|
19
|
+
return (
|
|
20
|
+
<button
|
|
21
|
+
onClick={() =>
|
|
22
|
+
overlay.open(({ isOpen, close }) => (
|
|
23
|
+
<AutoBeConfigModal
|
|
24
|
+
isOpen={isOpen}
|
|
25
|
+
onClose={close}
|
|
26
|
+
fields={props.fields}
|
|
27
|
+
onSave={() => {
|
|
28
|
+
props.onSave?.();
|
|
29
|
+
}}
|
|
30
|
+
/>
|
|
31
|
+
))
|
|
32
|
+
}
|
|
33
|
+
className={props.className}
|
|
34
|
+
style={{
|
|
35
|
+
background: "#f8f9fa",
|
|
36
|
+
color: "#495057",
|
|
37
|
+
border: "1px solid #dee2e6",
|
|
38
|
+
borderRadius: "50%",
|
|
39
|
+
padding: "0.5rem",
|
|
40
|
+
width: "2rem",
|
|
41
|
+
height: "2rem",
|
|
42
|
+
cursor: "pointer",
|
|
43
|
+
fontSize: "0.85rem",
|
|
44
|
+
fontWeight: "400",
|
|
45
|
+
boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)",
|
|
46
|
+
transition: "all 0.2s ease",
|
|
47
|
+
display: "flex",
|
|
48
|
+
alignItems: "center",
|
|
49
|
+
justifyContent: "center",
|
|
50
|
+
...props.style,
|
|
51
|
+
}}
|
|
52
|
+
onMouseOver={(e) => {
|
|
53
|
+
e.currentTarget.style.transform = "translateY(-1px)";
|
|
54
|
+
e.currentTarget.style.boxShadow = "0 4px 8px rgba(0, 0, 0, 0.15)";
|
|
55
|
+
e.currentTarget.style.background = "#e9ecef";
|
|
56
|
+
e.currentTarget.style.borderColor = "#adb5bd";
|
|
57
|
+
}}
|
|
58
|
+
onMouseOut={(e) => {
|
|
59
|
+
e.currentTarget.style.transform = "translateY(0)";
|
|
60
|
+
e.currentTarget.style.boxShadow = "0 2px 4px rgba(0, 0, 0, 0.1)";
|
|
61
|
+
e.currentTarget.style.background = "#f8f9fa";
|
|
62
|
+
e.currentTarget.style.borderColor = "#dee2e6";
|
|
63
|
+
}}
|
|
64
|
+
title={props.title ?? "Configure Settings"}
|
|
65
|
+
>
|
|
66
|
+
<svg
|
|
67
|
+
width="14"
|
|
68
|
+
height="14"
|
|
69
|
+
viewBox="0 0 24 24"
|
|
70
|
+
fill="none"
|
|
71
|
+
stroke="currentColor"
|
|
72
|
+
strokeWidth="2"
|
|
73
|
+
strokeLinecap="round"
|
|
74
|
+
strokeLinejoin="round"
|
|
75
|
+
>
|
|
76
|
+
<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2Z" />
|
|
77
|
+
<circle cx="12" cy="12" r="3" />
|
|
78
|
+
</svg>
|
|
79
|
+
</button>
|
|
80
|
+
);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export default AutoBeConfigButton;
|