@botpress/webchat 0.5.1 → 1.0.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/dist/App.d.ts +10 -0
- package/dist/Utils/colors.d.ts +18 -0
- package/dist/Utils/eventEmitter.d.ts +12 -0
- package/dist/Utils/index.d.ts +2 -0
- package/dist/client/MessagingClient.d.ts +27 -0
- package/dist/client/adapters/Audio.d.ts +19 -0
- package/dist/client/adapters/Card.d.ts +188 -0
- package/dist/client/adapters/Carousel.d.ts +147 -0
- package/dist/client/adapters/Choice.d.ts +45 -0
- package/dist/client/adapters/Dropdown.d.ts +46 -0
- package/dist/client/adapters/File.d.ts +19 -0
- package/dist/client/adapters/Image.d.ts +19 -0
- package/dist/client/adapters/Location.d.ts +27 -0
- package/dist/client/adapters/Message.d.ts +433 -0
- package/dist/client/adapters/Text.d.ts +20 -0
- package/dist/client/adapters/Utils.d.ts +5 -0
- package/dist/client/adapters/Video.d.ts +19 -0
- package/dist/client/adapters/Voice.d.ts +15 -0
- package/dist/client/adapters/index.d.ts +12 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/components/Avatar.d.ts +6 -0
- package/dist/components/Block.d.ts +4 -0
- package/dist/components/Composer.d.ts +12 -14
- package/dist/components/Container.d.ts +2 -12
- package/dist/components/Header.d.ts +36 -26
- package/dist/components/LoadingIndicator.d.ts +2 -0
- package/dist/components/Message.d.ts +7 -0
- package/dist/components/MessageList.d.ts +2 -0
- package/dist/components/Modal.d.ts +17 -0
- package/dist/components/RestartConversation.d.ts +5 -0
- package/dist/components/Webchat.d.ts +6 -0
- package/dist/components/dev-tools/DevTools.d.ts +1 -0
- package/dist/components/dev-tools/configuration.d.ts +2 -0
- package/dist/components/dev-tools/helpers.d.ts +5 -0
- package/dist/components/index.d.ts +12 -0
- package/dist/components/renderers/Audio.d.ts +3 -0
- package/dist/components/renderers/Bubble.d.ts +5 -0
- package/dist/components/renderers/Button.d.ts +4 -0
- package/dist/components/renderers/Carousel.d.ts +3 -0
- package/dist/components/renderers/Column.d.ts +5 -0
- package/dist/components/renderers/Dropdown.d.ts +5 -0
- package/dist/components/renderers/File.d.ts +3 -0
- package/dist/components/renderers/Image.d.ts +3 -0
- package/dist/components/renderers/Location.d.ts +3 -0
- package/dist/components/renderers/Row.d.ts +5 -0
- package/dist/components/renderers/Text.d.ts +4 -0
- package/dist/components/renderers/Video.d.ts +3 -0
- package/dist/components/renderers/index.d.ts +2 -0
- package/dist/contexts/ComposerContext.d.ts +8 -0
- package/dist/contexts/MessageContext.d.ts +8 -0
- package/dist/contexts/ModalContext.d.ts +14 -0
- package/dist/contexts/WebchatContext.d.ts +56 -0
- package/dist/contexts/index.d.ts +4 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/useImageSize.d.ts +2 -0
- package/dist/hooks/useRefresh.d.ts +10 -0
- package/dist/hooks/useWebchatStore.d.ts +30 -0
- package/dist/index.d.ts +3 -17
- package/dist/index.js +43569 -48
- package/dist/index.umd.cjs +702 -0
- package/dist/main.d.ts +11 -13
- package/dist/providers/ModalProvider.d.ts +8 -0
- package/dist/providers/WebchatProvider.d.ts +13 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/theme.d.ts +3371 -0
- package/dist/services/clipboard.d.ts +1 -0
- package/dist/services/images.d.ts +2 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/toast.d.ts +17 -0
- package/dist/themes/dawn.d.ts +2 -0
- package/dist/themes/duskTheme.d.ts +2 -0
- package/dist/themes/eggplant.d.ts +2 -0
- package/dist/themes/galaxy.d.ts +2 -0
- package/dist/themes/index.d.ts +6 -0
- package/dist/themes/midnight.d.ts +2 -0
- package/dist/themes/prism.d.ts +2 -0
- package/dist/twind.config.d.ts +9 -0
- package/dist/types/block-type.d.ts +93 -0
- package/dist/types/image.d.ts +11 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/vite.svg +1 -0
- package/index.html +18 -0
- package/package.json +60 -49
- package/public/vite.svg +1 -0
- package/src/App.tsx +41 -0
- package/src/Utils/colors.ts +45 -0
- package/src/Utils/eventEmitter.ts +31 -0
- package/src/Utils/index.ts +2 -0
- package/src/assets/check-circle-bold.svg +5 -0
- package/src/assets/chevron-up.svg +3 -0
- package/src/assets/file-05.svg +6 -0
- package/src/assets/globe-02.svg +6 -0
- package/src/assets/help-circle.svg +3 -0
- package/src/assets/info-circle.svg +3 -0
- package/src/assets/lock-01.svg +4 -0
- package/src/assets/mail-01.svg +6 -0
- package/src/assets/minus-circle.svg +3 -0
- package/src/assets/phone.svg +6 -0
- package/src/assets/send-03.svg +4 -0
- package/src/assets/share-04.svg +5 -0
- package/src/assets/slash-circle-01.svg +3 -0
- package/src/assets/x-circle-bold.svg +5 -0
- package/src/assets/x-close.svg +3 -0
- package/src/assets/x.svg +3 -0
- package/src/client/MessagingClient.ts +87 -0
- package/src/client/adapters/Audio.ts +10 -0
- package/src/client/adapters/Card.ts +104 -0
- package/src/client/adapters/Carousel.ts +11 -0
- package/src/client/adapters/Choice.ts +48 -0
- package/src/client/adapters/Dropdown.ts +39 -0
- package/src/client/adapters/File.ts +10 -0
- package/src/client/adapters/Image.ts +10 -0
- package/src/client/adapters/Location.ts +18 -0
- package/src/client/adapters/Message.ts +26 -0
- package/src/client/adapters/Text.ts +11 -0
- package/src/client/adapters/Utils.ts +11 -0
- package/src/client/adapters/Video.ts +10 -0
- package/src/client/adapters/Voice.ts +9 -0
- package/src/client/adapters/index.ts +12 -0
- package/src/client/index.ts +2 -0
- package/src/components/Avatar.tsx +22 -0
- package/src/components/Block.tsx +17 -0
- package/src/components/Composer.tsx +115 -0
- package/src/components/Container.tsx +17 -0
- package/src/components/Header.tsx +141 -0
- package/src/components/LoadingIndicator.tsx +15 -0
- package/src/components/Message.tsx +52 -0
- package/src/components/MessageList.tsx +75 -0
- package/src/components/Modal.tsx +49 -0
- package/src/components/RestartConversation.tsx +52 -0
- package/src/components/Webchat.tsx +68 -0
- package/src/components/dev-tools/DevTools.tsx +496 -0
- package/src/components/dev-tools/configuration.tsx +27 -0
- package/src/components/dev-tools/helpers.ts +21 -0
- package/src/components/index.ts +12 -0
- package/src/components/renderers/Audio.tsx +11 -0
- package/src/components/renderers/Bubble.tsx +12 -0
- package/src/components/renderers/Button.tsx +59 -0
- package/src/components/renderers/Carousel.tsx +51 -0
- package/src/components/renderers/Column.tsx +22 -0
- package/src/components/renderers/Dropdown.tsx +170 -0
- package/src/components/renderers/File.tsx +13 -0
- package/src/components/renderers/Image.tsx +63 -0
- package/src/components/renderers/Location.tsx +16 -0
- package/src/components/renderers/Row.tsx +22 -0
- package/src/components/renderers/Text.tsx +32 -0
- package/src/components/renderers/Video.tsx +11 -0
- package/src/components/renderers/index.ts +28 -0
- package/src/contexts/ComposerContext.ts +16 -0
- package/src/contexts/MessageContext.ts +16 -0
- package/src/contexts/ModalContext.ts +19 -0
- package/src/contexts/WebchatContext.ts +61 -0
- package/src/contexts/index.ts +4 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useImageSize.ts +30 -0
- package/src/hooks/useRefresh.ts +33 -0
- package/src/hooks/useWebchatStore.ts +45 -0
- package/src/index.css +18 -0
- package/src/index.ts +3 -0
- package/src/main.tsx +33 -0
- package/src/providers/ModalProvider.tsx +35 -0
- package/src/providers/WebchatProvider.tsx +107 -0
- package/src/providers/index.ts +2 -0
- package/src/schemas/index.ts +1 -0
- package/src/schemas/theme.ts +188 -0
- package/src/services/clipboard.ts +8 -0
- package/src/services/images.ts +39 -0
- package/src/services/index.ts +3 -0
- package/src/services/toast.tsx +71 -0
- package/src/themes/dawn.ts +277 -0
- package/src/themes/duskTheme.ts +349 -0
- package/src/themes/eggplant.ts +353 -0
- package/src/themes/galaxy.ts +323 -0
- package/src/themes/index.ts +6 -0
- package/src/themes/midnight.ts +276 -0
- package/src/themes/prism.ts +349 -0
- package/src/twind.config.ts +31 -0
- package/src/types/block-type.ts +150 -0
- package/src/types/image.ts +10 -0
- package/src/types/index.ts +2 -0
- package/src/vite-env.d.ts +1 -0
- package/tailwind.config.js +0 -0
- package/tsconfig.json +30 -0
- package/tsconfig.node.json +10 -0
- package/vite.config.ts +31 -0
- package/README.md +0 -41
- package/assets/fonts/roboto/roboto.woff2 +0 -0
- package/assets/fonts/roboto/roboto500.woff2 +0 -0
- package/assets/fonts/roboto.css +0 -128
- package/assets/notification.mp3 +0 -0
- package/dist/components/Composer.js +0 -118
- package/dist/components/Container.js +0 -62
- package/dist/components/ConversationList.d.ts +0 -10
- package/dist/components/ConversationList.js +0 -41
- package/dist/components/Footer.d.ts +0 -3
- package/dist/components/Footer.js +0 -21
- package/dist/components/Header.js +0 -181
- package/dist/components/VoiceRecorder.d.ts +0 -10
- package/dist/components/VoiceRecorder.js +0 -137
- package/dist/components/common/Avatar/index.d.ts +0 -9
- package/dist/components/common/Avatar/index.js +0 -13
- package/dist/components/common/BotInfo/index.d.ts +0 -10
- package/dist/components/common/BotInfo/index.js +0 -107
- package/dist/components/common/BotInfo/style.scss +0 -88
- package/dist/components/common/ConfirmDialog/index.d.ts +0 -11
- package/dist/components/common/ConfirmDialog/index.js +0 -78
- package/dist/components/common/ConfirmDialog/style.module.scss +0 -48
- package/dist/components/common/Dialog/index.d.ts +0 -17
- package/dist/components/common/Dialog/index.js +0 -57
- package/dist/components/common/Dialog/style.module.scss +0 -29
- package/dist/components/common/ToolTip/index.d.ts +0 -10
- package/dist/components/common/ToolTip/index.js +0 -163
- package/dist/components/common/ToolTip/style.module.scss +0 -108
- package/dist/components/common/ToolTip/utils.d.ts +0 -15
- package/dist/components/common/ToolTip/utils.js +0 -78
- package/dist/components/common/variables.scss +0 -38
- package/dist/components/messages/InlineFeedback.d.ts +0 -11
- package/dist/components/messages/InlineFeedback.js +0 -56
- package/dist/components/messages/Message.d.ts +0 -11
- package/dist/components/messages/Message.js +0 -106
- package/dist/components/messages/MessageGroup.d.ts +0 -23
- package/dist/components/messages/MessageGroup.js +0 -63
- package/dist/components/messages/MessageList.d.ts +0 -10
- package/dist/components/messages/MessageList.js +0 -148
- package/dist/core/api.d.ts +0 -23
- package/dist/core/api.js +0 -117
- package/dist/core/constants.d.ts +0 -14
- package/dist/core/constants.js +0 -29
- package/dist/core/socket.d.ts +0 -14
- package/dist/core/socket.js +0 -57
- package/dist/declaration.d.ts +0 -2
- package/dist/declaration.js +0 -1
- package/dist/fonts/roboto.d.ts +0 -4
- package/dist/fonts/roboto.js +0 -9
- package/dist/globals.d.ts +0 -7
- package/dist/globals.js +0 -2
- package/dist/icons/Add.d.ts +0 -6
- package/dist/icons/Add.js +0 -10
- package/dist/icons/Cancel.d.ts +0 -5
- package/dist/icons/Cancel.js +0 -10
- package/dist/icons/Chat.d.ts +0 -6
- package/dist/icons/Chat.js +0 -9
- package/dist/icons/Close.d.ts +0 -3
- package/dist/icons/Close.js +0 -10
- package/dist/icons/Delete.d.ts +0 -3
- package/dist/icons/Delete.js +0 -11
- package/dist/icons/Download.d.ts +0 -3
- package/dist/icons/Download.js +0 -10
- package/dist/icons/Email.d.ts +0 -3
- package/dist/icons/Email.js +0 -8
- package/dist/icons/Information.d.ts +0 -3
- package/dist/icons/Information.js +0 -12
- package/dist/icons/List.d.ts +0 -3
- package/dist/icons/List.js +0 -15
- package/dist/icons/Microphone.d.ts +0 -5
- package/dist/icons/Microphone.js +0 -12
- package/dist/icons/Phone.d.ts +0 -3
- package/dist/icons/Phone.js +0 -8
- package/dist/icons/Reload.d.ts +0 -3
- package/dist/icons/Reload.js +0 -10
- package/dist/icons/ThumbsDown.d.ts +0 -3
- package/dist/icons/ThumbsDown.js +0 -11
- package/dist/icons/ThumbsUp.d.ts +0 -3
- package/dist/icons/ThumbsUp.js +0 -11
- package/dist/icons/Website.d.ts +0 -3
- package/dist/icons/Website.js +0 -8
- package/dist/main.js +0 -336
- package/dist/store/composer.d.ts +0 -17
- package/dist/store/composer.js +0 -98
- package/dist/store/index.d.ts +0 -89
- package/dist/store/index.js +0 -604
- package/dist/store/view.d.ts +0 -61
- package/dist/store/view.js +0 -365
- package/dist/translations/ar.json +0 -30
- package/dist/translations/de.json +0 -32
- package/dist/translations/en.json +0 -40
- package/dist/translations/es.json +0 -19
- package/dist/translations/fr.json +0 -40
- package/dist/translations/index.d.ts +0 -9
- package/dist/translations/index.js +0 -95
- package/dist/translations/it.json +0 -38
- package/dist/translations/pt.json +0 -19
- package/dist/translations/ru.json +0 -24
- package/dist/translations/uk.json +0 -24
- package/dist/typings.d.ts +0 -410
- package/dist/typings.js +0 -2
- package/dist/utils/analytics.d.ts +0 -5
- package/dist/utils/analytics.js +0 -37
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.js +0 -27
- package/dist/utils/storage.d.ts +0 -16
- package/dist/utils/storage.js +0 -129
- package/dist/utils/webchatEvents.d.ts +0 -2
- package/dist/utils/webchatEvents.js +0 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function copyToClipboard(value: string, description?: string): Promise<string>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
type ToastType = ToastProps['type'] | CustomToastProps['type'];
|
|
3
|
+
type CustomToastProps = {
|
|
4
|
+
type: 'custom';
|
|
5
|
+
content?: ReactNode;
|
|
6
|
+
};
|
|
7
|
+
type ToastProps = {
|
|
8
|
+
type?: 'success' | 'error' | 'neutral';
|
|
9
|
+
title: string;
|
|
10
|
+
icon?: FC<{
|
|
11
|
+
className?: string;
|
|
12
|
+
type?: ToastType;
|
|
13
|
+
}>;
|
|
14
|
+
description?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function showToast(props: ToastProps | CustomToastProps): string;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const config: import("@twind/core").TwindConfig<import("@twind/core").BaseTheme & import("@twind/preset-tailwind").TailwindTheme & import("@twind/preset-container-queries").ContainerQueriesTheme & {
|
|
2
|
+
fontFamily: {
|
|
3
|
+
sans: string[];
|
|
4
|
+
rubik: string[];
|
|
5
|
+
plex: string[];
|
|
6
|
+
mono: string[];
|
|
7
|
+
};
|
|
8
|
+
extend: never;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { Theme } from '../schemas';
|
|
2
|
+
export declare const blockTypes: readonly ["button", "text", "image", "audio", "video", "file", "location", "column", "row", "bubble", "carousel", "dropdown"];
|
|
3
|
+
export declare const markdownTypes: readonly ["heading1", "heading2", "heading3", "text", "horizontalRule", "link", "italic", "bold", "orderedList", "unorderedList", "listItem", "lineBreak", "pre"];
|
|
4
|
+
export type MarkdownTypes = (typeof markdownTypes)[number];
|
|
5
|
+
export type BlockTypes = (typeof blockTypes)[number];
|
|
6
|
+
export type BlockStyles = NonNullable<Theme['message']>['blocks'];
|
|
7
|
+
export type BlockObject = DropdownBlock | ButtonBlock | TextBlock | ImageBlock | AudioBlock | VideoBlock | FileBlock | LocationBlock | ColumnBlock | RowBlock | BubbleBlock | CarouselBlock;
|
|
8
|
+
export type Sender = {
|
|
9
|
+
name: string;
|
|
10
|
+
avatar?: string;
|
|
11
|
+
};
|
|
12
|
+
export type MessageObject = {
|
|
13
|
+
direction: 'incoming' | 'outgoing' | 'system';
|
|
14
|
+
disableInput?: boolean;
|
|
15
|
+
sender: Sender;
|
|
16
|
+
timestamp: Date;
|
|
17
|
+
block: BlockObject;
|
|
18
|
+
};
|
|
19
|
+
export type ButtonBlock = {
|
|
20
|
+
type: 'button';
|
|
21
|
+
variant: 'action' | 'link';
|
|
22
|
+
reusable?: boolean;
|
|
23
|
+
groupId?: string;
|
|
24
|
+
text: string;
|
|
25
|
+
buttonValue: string;
|
|
26
|
+
};
|
|
27
|
+
export type TextBlock = {
|
|
28
|
+
type: 'text';
|
|
29
|
+
text: string;
|
|
30
|
+
};
|
|
31
|
+
export type ImageBlock = {
|
|
32
|
+
type: 'image';
|
|
33
|
+
orientation?: 'portrait' | 'landscape' | 'square' | 'auto';
|
|
34
|
+
url: string;
|
|
35
|
+
};
|
|
36
|
+
export type AudioBlock = {
|
|
37
|
+
type: 'audio';
|
|
38
|
+
url: string;
|
|
39
|
+
};
|
|
40
|
+
export type VideoBlock = {
|
|
41
|
+
type: 'video';
|
|
42
|
+
url: string;
|
|
43
|
+
};
|
|
44
|
+
export type FileBlock = {
|
|
45
|
+
type: 'file';
|
|
46
|
+
url: string;
|
|
47
|
+
title?: string;
|
|
48
|
+
};
|
|
49
|
+
type DropdownChoice = {
|
|
50
|
+
label: string;
|
|
51
|
+
value: string;
|
|
52
|
+
};
|
|
53
|
+
export type DropdownBlock = {
|
|
54
|
+
label?: string;
|
|
55
|
+
type: 'dropdown';
|
|
56
|
+
reusable?: boolean;
|
|
57
|
+
options: DropdownChoice[];
|
|
58
|
+
};
|
|
59
|
+
export type LocationBlock = {
|
|
60
|
+
type: 'location';
|
|
61
|
+
latitude: number;
|
|
62
|
+
longitude: number;
|
|
63
|
+
title?: string;
|
|
64
|
+
};
|
|
65
|
+
export type ColumnBlock = {
|
|
66
|
+
type: 'column';
|
|
67
|
+
blocks: BlockObject[];
|
|
68
|
+
horizontalAlignment?: 'left' | 'center' | 'right';
|
|
69
|
+
verticalAlignment?: 'top' | 'center' | 'bottom' | 'stretch';
|
|
70
|
+
};
|
|
71
|
+
export type RowBlock = {
|
|
72
|
+
type: 'row';
|
|
73
|
+
blocks: BlockObject[];
|
|
74
|
+
horizontalAlignment?: 'left' | 'center' | 'right' | 'stretch';
|
|
75
|
+
verticalAlignment?: 'top' | 'center' | 'bottom';
|
|
76
|
+
};
|
|
77
|
+
export type CarouselBlock = {
|
|
78
|
+
type: 'carousel';
|
|
79
|
+
blocks: BlockObject[];
|
|
80
|
+
};
|
|
81
|
+
export type BubbleBlock = {
|
|
82
|
+
type: 'bubble';
|
|
83
|
+
block: BlockObject;
|
|
84
|
+
};
|
|
85
|
+
export type CommonBlockProps = {
|
|
86
|
+
styles?: BlockStyles;
|
|
87
|
+
};
|
|
88
|
+
export type BlockMap<P extends BlockObject = BlockObject> = {
|
|
89
|
+
[T in P['type']]: Extract<P, {
|
|
90
|
+
type: T;
|
|
91
|
+
}>;
|
|
92
|
+
};
|
|
93
|
+
export {};
|
package/dist/vite.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
package/index.html
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
6
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
7
|
+
<link
|
|
8
|
+
href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"
|
|
9
|
+
rel="stylesheet"
|
|
10
|
+
/>
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
12
|
+
<title>Echo</title>
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<div id="root"></div>
|
|
16
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
package/package.json
CHANGED
|
@@ -1,55 +1,66 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botpress/webchat",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"copy:scss": "yarn run -T copyfiles -u 1 ./src/**/*.scss dist",
|
|
13
|
-
"prepublish": "yarn run -T rimraf dist && yarn --immutable && yarn run -T tsc --build && yarn run -T rimraf dist/.tsbuildinfo && yarn copy:scss"
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.umd.cjs",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"require": "./dist/index.umd.cjs"
|
|
11
|
+
}
|
|
14
12
|
},
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
"@types/js-cookie": "^3.0.1",
|
|
22
|
-
"@types/lodash": "^4.14.178",
|
|
23
|
-
"@types/mime": "^2.0.3",
|
|
24
|
-
"@types/node": "^16.11.13",
|
|
25
|
-
"@types/react": "^17.0.38",
|
|
26
|
-
"@types/react-dom": "^17.0.11",
|
|
27
|
-
"@types/uuid": "^8.3.4",
|
|
28
|
-
"prop-types": "^15.8.1"
|
|
13
|
+
"scripts": {
|
|
14
|
+
"type:check": "tsc --noEmit",
|
|
15
|
+
"dev": "vite",
|
|
16
|
+
"build": "pnpm type:check && vite build",
|
|
17
|
+
"lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
18
|
+
"preview": "vite preview"
|
|
29
19
|
},
|
|
30
20
|
"dependencies": {
|
|
31
|
-
"@
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"@
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
21
|
+
"@botpress/messaging-socket": "^1.2.0",
|
|
22
|
+
"@floating-ui/react": "^0.25.4",
|
|
23
|
+
"@headlessui/react": "1.7.11",
|
|
24
|
+
"@heroicons/react": "^2.0.18",
|
|
25
|
+
"@material/material-color-utilities": "^0.2.7",
|
|
26
|
+
"@radix-ui/react-avatar": "^1.0.3",
|
|
27
|
+
"@radix-ui/react-collapsible": "^1.0.3",
|
|
28
|
+
"@radix-ui/react-dialog": "^1.0.4",
|
|
29
|
+
"@radix-ui/react-icons": "^1.3.0",
|
|
30
|
+
"@tailwindcss/container-queries": "^0.1.1",
|
|
31
|
+
"@twind/core": "^1.1.3",
|
|
32
|
+
"@twind/intellisense": "^1.1.3",
|
|
33
|
+
"@twind/preset-autoprefix": "^1.0.7",
|
|
34
|
+
"@twind/preset-container-queries": "^1.0.7",
|
|
35
|
+
"@twind/preset-tailwind": "^1.1.4",
|
|
36
|
+
"@twind/with-react": "^1.1.3",
|
|
37
|
+
"@types/color-convert": "^2.0.1",
|
|
38
|
+
"@types/uuid": "^9.0.3",
|
|
39
|
+
"classnames": "^2.3.2",
|
|
40
|
+
"clsx": "^2.0.0",
|
|
41
|
+
"color-convert": "^2.0.1",
|
|
42
|
+
"embla-carousel-react": "8.0.0-rc11",
|
|
43
|
+
"google-map-react": "^2.2.1",
|
|
44
|
+
"react": "^18.2.0",
|
|
45
|
+
"react-colorful": "^5.6.1",
|
|
46
|
+
"react-dom": "^18.2.0",
|
|
47
|
+
"react-hot-toast": "^2.4.1",
|
|
48
|
+
"react-markdown": "^8.0.7",
|
|
49
|
+
"react-use": "^17.4.0",
|
|
50
|
+
"tailwind-scrollbar": "^3.0.4",
|
|
51
|
+
"uuid": "^9.0.0",
|
|
52
|
+
"vite-plugin-svgr": "^3.2.0",
|
|
53
|
+
"zod": "^3.21.4",
|
|
54
|
+
"zustand": "^4.4.1"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/react": "^18.0.37",
|
|
58
|
+
"@types/react-dom": "^18.0.11",
|
|
59
|
+
"@vitejs/plugin-react-swc": "^3.0.0",
|
|
60
|
+
"autoprefixer": "^10.4.14",
|
|
61
|
+
"tailwindcss": "^3.3.2",
|
|
62
|
+
"typescript": "^5.0.2",
|
|
63
|
+
"vite": "^4.3.9",
|
|
64
|
+
"vite-plugin-dts": "^3.5.4"
|
|
54
65
|
}
|
|
55
|
-
}
|
|
66
|
+
}
|
package/public/vite.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
package/src/App.tsx
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/// <reference types="vite-plugin-svgr/client" />
|
|
2
|
+
|
|
3
|
+
import { GlobeAltIcon } from '@heroicons/react/24/outline'
|
|
4
|
+
import { DocumentTextIcon, EnvelopeIcon, LockClosedIcon, PhoneIcon } from '@heroicons/react/24/solid'
|
|
5
|
+
import { ComponentProps } from 'react'
|
|
6
|
+
import { Toaster } from 'react-hot-toast'
|
|
7
|
+
import { WebchatClient } from './client'
|
|
8
|
+
import {
|
|
9
|
+
Composer,
|
|
10
|
+
ComposerButton,
|
|
11
|
+
ComposerInput,
|
|
12
|
+
Container,
|
|
13
|
+
Header,
|
|
14
|
+
MessageList,
|
|
15
|
+
RestartConversation,
|
|
16
|
+
Webchat,
|
|
17
|
+
} from './components'
|
|
18
|
+
import { WebchatProvider } from './providers'
|
|
19
|
+
import { Theme } from './schemas'
|
|
20
|
+
import { DevTools } from './components/dev-tools/DevTools'
|
|
21
|
+
import { defaultConfiguration } from './components/dev-tools/configuration'
|
|
22
|
+
// import { getSheet, stringify } from '@twind/core'
|
|
23
|
+
// import { twObject } from './main'
|
|
24
|
+
|
|
25
|
+
type Props = {
|
|
26
|
+
theme: Theme
|
|
27
|
+
client: WebchatClient
|
|
28
|
+
} & ComponentProps<typeof Container>
|
|
29
|
+
|
|
30
|
+
export const App = ({ theme, client }: Props) => {
|
|
31
|
+
return (
|
|
32
|
+
<WebchatProvider client={client} styles={theme} configuration={defaultConfiguration}>
|
|
33
|
+
{(configuration) => (
|
|
34
|
+
<>
|
|
35
|
+
<DevTools />
|
|
36
|
+
<Webchat configuration={configuration} />
|
|
37
|
+
</>
|
|
38
|
+
)}
|
|
39
|
+
</WebchatProvider>
|
|
40
|
+
)
|
|
41
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { argbFromHex, hexFromArgb, themeFromSourceColor } from '@material/material-color-utilities'
|
|
2
|
+
import convert from 'color-convert'
|
|
3
|
+
import colors from 'tailwindcss/colors'
|
|
4
|
+
|
|
5
|
+
export function buildColorPalette(color: string, theme: 'light' | 'dark' = 'light') {
|
|
6
|
+
const {
|
|
7
|
+
palettes: { primary: primaryPalette, secondary: secondaryPalette },
|
|
8
|
+
schemes,
|
|
9
|
+
} = themeFromSourceColor(argbFromHex(color))
|
|
10
|
+
|
|
11
|
+
const scheme = schemes[theme]
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
primary: hexFromArgb(scheme.primary),
|
|
15
|
+
primaryHover: hexFromArgb(primaryPalette.tone(theme === 'light' ? 30 : 90)),
|
|
16
|
+
primaryHoverDark: hexFromArgb(primaryPalette.tone(theme === 'light' ? 20 : 95)),
|
|
17
|
+
onPrimary: hexFromArgb(scheme.onPrimary),
|
|
18
|
+
primaryContainer: hexFromArgb(scheme.primaryContainer),
|
|
19
|
+
primaryContainerHover: hexFromArgb(primaryPalette.tone(theme === 'light' ? 80 : 40)),
|
|
20
|
+
onPrimaryContainer: hexFromArgb(scheme.onPrimaryContainer),
|
|
21
|
+
secondary: hexFromArgb(scheme.secondary),
|
|
22
|
+
secondaryHover: hexFromArgb(secondaryPalette.tone(theme === 'light' ? 30 : 90)),
|
|
23
|
+
onSecondary: hexFromArgb(scheme.onSecondary),
|
|
24
|
+
secondaryContainer: hexFromArgb(scheme.secondaryContainer),
|
|
25
|
+
secondaryContainerHover: hexFromArgb(secondaryPalette.tone(theme === 'light' ? 80 : 40)),
|
|
26
|
+
onSecondaryContainer: hexFromArgb(scheme.onSecondaryContainer),
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type Grays = 'gray' | 'stone' | 'slate' | 'zinc' | 'neutral'
|
|
31
|
+
export function selectGrayFromColor(color: string, omit?: Grays[]) {
|
|
32
|
+
const [primaryHue, ,] = convert.hex.hsl(color)
|
|
33
|
+
|
|
34
|
+
const grays: { name: Grays; HSL: [number, number, number] }[] = [
|
|
35
|
+
{ name: 'gray' as const, HSL: convert.hex.hsl(colors.gray[500]) },
|
|
36
|
+
{ name: 'stone' as const, HSL: convert.hex.hsl(colors.stone[500]) },
|
|
37
|
+
{ name: 'slate' as const, HSL: convert.hex.hsl(colors.slate[500]) },
|
|
38
|
+
{ name: 'zinc' as const, HSL: convert.hex.hsl(colors.zinc[500]) },
|
|
39
|
+
{ name: 'neutral' as const, HSL: convert.hex.hsl(colors.neutral[500]) },
|
|
40
|
+
].filter((gray) => !omit?.includes(gray.name))
|
|
41
|
+
|
|
42
|
+
const hueDiffs = grays.map((gray) => Math.abs(gray.HSL[0] - primaryHue))
|
|
43
|
+
const closestHueIndex = hueDiffs.indexOf(Math.min(...hueDiffs))
|
|
44
|
+
return grays[closestHueIndex].name
|
|
45
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type CallbackFn<T> = (args: T) => void
|
|
2
|
+
|
|
3
|
+
export class EventEmitter<T extends Record<string, any>> {
|
|
4
|
+
private readonly eventMap: Partial<Record<keyof T, Set<CallbackFn<any>>>>
|
|
5
|
+
|
|
6
|
+
constructor() {
|
|
7
|
+
this.eventMap = {}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
on<U extends keyof T>(event: U, callback: CallbackFn<T[U]>): () => void {
|
|
11
|
+
if (!this.eventMap[event]) {
|
|
12
|
+
this.eventMap[event] = new Set<CallbackFn<T[U]>>()
|
|
13
|
+
}
|
|
14
|
+
this.eventMap[event]?.add(callback)
|
|
15
|
+
|
|
16
|
+
return () => {
|
|
17
|
+
this.eventMap[event]?.delete(callback)
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
emit<U extends keyof T>(event: U, arg?: T[U]): void {
|
|
22
|
+
this.eventMap[event]?.forEach((callback) => {
|
|
23
|
+
callback(arg)
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type Events = {
|
|
29
|
+
[key: string]: undefined
|
|
30
|
+
}
|
|
31
|
+
export const eventEmitter = new EventEmitter<Events>()
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"
|
|
2
|
+
stroke-width="1.5">
|
|
3
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
|
4
|
+
d="m7.5 12 3 3 6-6m5.5 3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z" />
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"
|
|
2
|
+
stroke-width="1.5"
|
|
3
|
+
>
|
|
4
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
|
5
|
+
d="M14 2.27V6.4c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437c.214.11.494.11 1.054.11h4.13M14 17H8m8-4H8m12-3.012V17.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C17.72 22 16.88 22 15.2 22H8.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C4 19.72 4 18.88 4 17.2V6.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C6.28 2 7.12 2 8.8 2h3.212c.733 0 1.1 0 1.446.083.306.073.598.195.867.36.303.185.562.444 1.08.963l3.19 3.188c.518.519.777.778.963 1.081a3 3 0 0 1 .36.867c.082.346.082.712.082 1.446Z" />
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" stroke-width="1.5" height="18" fill="none"
|
|
2
|
+
viewBox="0 0 18 18"
|
|
3
|
+
>
|
|
4
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
|
5
|
+
d="M9 .667A12.75 12.75 0 0 1 12.333 9 12.75 12.75 0 0 1 9 17.333M9 .667A12.75 12.75 0 0 0 5.667 9 12.75 12.75 0 0 0 9 17.333M9 .667a8.333 8.333 0 0 0 0 16.666M9 .667a8.333 8.333 0 0 1 0 16.666M1.083 6.5h15.834m-15.834 5h15.834" />
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
|
2
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
|
2
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12 16v-4m0-4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
|
2
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
|
|
3
|
+
d="M17 10V8A5 5 0 0 0 7 8v2m5 4.5v2M8.8 21h6.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C20 18.72 20 17.88 20 16.2v-1.4c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C17.72 10 16.88 10 15.2 10H8.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 12.28 4 13.12 4 14.8v1.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 21 7.12 21 8.8 21Z" />
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" stroke-width="1.5" width="18" height="16" fill="none"
|
|
2
|
+
viewBox="0 0 18 16"
|
|
3
|
+
>
|
|
4
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
|
5
|
+
d="M.667 3.833 7.47 8.596c.55.386.826.579 1.126.653.265.066.541.066.806 0 .3-.074.575-.267 1.126-.653l6.804-4.763M4.667 14.667h8.666c1.4 0 2.1 0 2.635-.273a2.5 2.5 0 0 0 1.093-1.092c.272-.535.272-1.235.272-2.635V5.333c0-1.4 0-2.1-.272-2.635a2.5 2.5 0 0 0-1.093-1.092c-.534-.273-1.235-.273-2.635-.273H4.667c-1.4 0-2.1 0-2.635.273A2.5 2.5 0 0 0 .939 2.698C.667 3.233.667 3.933.667 5.333v5.334c0 1.4 0 2.1.272 2.635a2.5 2.5 0 0 0 1.093 1.092c.534.273 1.234.273 2.635.273Z" />
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" stroke-width="1.5" width="18" height="18" fill="none"
|
|
2
|
+
viewBox="0 0 18 18"
|
|
3
|
+
>
|
|
4
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
|
5
|
+
d="M5.984 6.378c.58 1.208 1.37 2.34 2.372 3.341a12.17 12.17 0 0 0 3.341 2.372c.104.05.156.075.222.094a.87.87 0 0 0 .718-.122c.056-.04.103-.088.199-.183.29-.291.437-.437.583-.532a1.667 1.667 0 0 1 1.817 0c.146.095.292.24.584.532l.162.162c.443.443.664.665.785.903a1.667 1.667 0 0 1 0 1.504c-.12.238-.342.46-.785.902l-.131.131c-.442.442-.662.663-.963.831-.332.187-.85.322-1.231.32-.344 0-.58-.067-1.05-.2a15.866 15.866 0 0 1-6.903-4.062 15.866 15.866 0 0 1-4.061-6.903c-.134-.47-.2-.706-.202-1.05a2.814 2.814 0 0 1 .32-1.232c.17-.3.39-.52.831-.962l.132-.131c.443-.443.664-.664.902-.785a1.667 1.667 0 0 1 1.504 0c.238.12.46.342.902.785l.163.162c.291.292.437.437.532.584.36.552.36 1.264 0 1.817-.095.146-.24.292-.532.583a1.682 1.682 0 0 0-.183.199.872.872 0 0 0-.122.718c.019.066.044.118.094.222Z" />
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
|
2
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
|
|
3
|
+
d="M10.5 12H5m-.084.291L2.58 19.267c-.184.548-.275.822-.21.99a.5.5 0 0 0 .332.3c.174.05.438-.07.965-.306l16.711-7.52c.515-.232.772-.348.851-.508a.5.5 0 0 0 0-.444c-.08-.16-.336-.276-.85-.508L3.661 3.748c-.525-.237-.788-.355-.962-.306a.5.5 0 0 0-.332.299c-.066.168.025.442.206.988l2.342 7.057c.032.094.047.14.053.188a.5.5 0 0 1 0 .129c-.006.048-.022.095-.053.188Z" />
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"
|
|
2
|
+
>
|
|
3
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
|
4
|
+
d="M15.5 5.5v-5m0 0h-5m5 0L8.833 7.167m-2.5-5H4.5c-1.4 0-2.1 0-2.635.272A2.5 2.5 0 0 0 .772 3.532C.5 4.066.5 4.767.5 6.167V11.5c0 1.4 0 2.1.272 2.635a2.5 2.5 0 0 0 1.093 1.092C2.4 15.5 3.1 15.5 4.5 15.5h5.333c1.4 0 2.1 0 2.635-.273a2.5 2.5 0 0 0 1.093-1.092c.272-.535.272-1.235.272-2.635V9.667" />
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
|
2
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m4.93 4.93 14.14 14.14M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"
|
|
2
|
+
stroke-width="1.5">
|
|
3
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
|
4
|
+
d="m15 9-6 6m0-6 6 6m7-3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z" />
|
|
5
|
+
</svg>
|
package/src/assets/x.svg
ADDED