@flowtomic/ui 0.1.15 → 0.2.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/components/_reference/shadcn-ai/prompt-input.d.ts +48 -0
- package/dist/components/_reference/shadcn-ai/prompt-input.d.ts.map +1 -0
- package/dist/components/_reference/shadcn-ai/prompt-input.js +67 -0
- package/dist/components/atoms/actions/badge/badge.d.ts +97 -1
- package/dist/components/atoms/actions/badge/badge.d.ts.map +1 -1
- package/dist/components/atoms/actions/badge/badge.js +83 -0
- package/dist/components/atoms/actions/button/button.d.ts +134 -1
- package/dist/components/atoms/actions/button/button.d.ts.map +1 -1
- package/dist/components/atoms/actions/button/button.js +106 -0
- package/dist/components/atoms/actions/context-menu/context-menu.d.ts +79 -0
- package/dist/components/atoms/actions/context-menu/context-menu.d.ts.map +1 -1
- package/dist/components/atoms/actions/context-menu/context-menu.js +55 -0
- package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.d.ts +51 -3
- package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.js +51 -3
- package/dist/components/atoms/animation/encrypted-text/encrypted-text.d.ts.map +1 -1
- package/dist/components/atoms/animation/encrypted-text/encrypted-text.js +3 -1
- package/dist/components/atoms/feedback/alert/alert.d.ts +77 -12
- package/dist/components/atoms/feedback/alert/alert.d.ts.map +1 -1
- package/dist/components/atoms/feedback/alert/alert.js +64 -12
- package/dist/components/atoms/feedback/alert-dialog/alert-dialog.d.ts +2 -2
- package/dist/components/atoms/feedback/dialog/dialog.d.ts +66 -8
- package/dist/components/atoms/feedback/dialog/dialog.d.ts.map +1 -1
- package/dist/components/atoms/feedback/dialog/dialog.js +66 -8
- package/dist/components/atoms/feedback/hover-card/hover-card.d.ts +45 -5
- package/dist/components/atoms/feedback/hover-card/hover-card.d.ts.map +1 -1
- package/dist/components/atoms/feedback/hover-card/hover-card.js +45 -5
- package/dist/components/atoms/feedback/inline-citation/inline-citation.d.ts +53 -2
- package/dist/components/atoms/feedback/inline-citation/inline-citation.d.ts.map +1 -1
- package/dist/components/atoms/feedback/inline-citation/inline-citation.js +53 -2
- package/dist/components/atoms/feedback/popover/popover.d.ts +78 -0
- package/dist/components/atoms/feedback/popover/popover.d.ts.map +1 -1
- package/dist/components/atoms/feedback/popover/popover.js +64 -0
- package/dist/components/atoms/feedback/sheet/sheet.d.ts +90 -0
- package/dist/components/atoms/feedback/sheet/sheet.d.ts.map +1 -1
- package/dist/components/atoms/feedback/sheet/sheet.js +78 -0
- package/dist/components/atoms/feedback/sonner/sonner.d.ts +66 -6
- package/dist/components/atoms/feedback/sonner/sonner.d.ts.map +1 -1
- package/dist/components/atoms/feedback/sonner/sonner.js +66 -6
- package/dist/components/atoms/feedback/tooltip/tooltip.d.ts +54 -4
- package/dist/components/atoms/feedback/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/atoms/feedback/tooltip/tooltip.js +63 -5
- package/dist/components/atoms/forms/checkbox/checkbox.d.ts +62 -4
- package/dist/components/atoms/forms/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/atoms/forms/checkbox/checkbox.js +58 -4
- package/dist/components/atoms/forms/field/field.d.ts +67 -0
- package/dist/components/atoms/forms/field/field.d.ts.map +1 -1
- package/dist/components/atoms/forms/field/field.js +47 -0
- package/dist/components/atoms/forms/form/form.d.ts +60 -0
- package/dist/components/atoms/forms/form/form.d.ts.map +1 -1
- package/dist/components/atoms/forms/form/form.js +3 -0
- package/dist/components/atoms/forms/input/input.d.ts +100 -1
- package/dist/components/atoms/forms/input/input.d.ts.map +1 -1
- package/dist/components/atoms/forms/input/input.js +82 -0
- package/dist/components/atoms/forms/input-otp/input-otp.d.ts +62 -0
- package/dist/components/atoms/forms/input-otp/input-otp.d.ts.map +1 -1
- package/dist/components/atoms/forms/input-otp/input-otp.js +50 -0
- package/dist/components/atoms/forms/label/label.d.ts +54 -0
- package/dist/components/atoms/forms/label/label.d.ts.map +1 -1
- package/dist/components/atoms/forms/label/label.js +50 -0
- package/dist/components/atoms/forms/radio-group/radio-group.d.ts +47 -0
- package/dist/components/atoms/forms/radio-group/radio-group.d.ts.map +1 -1
- package/dist/components/atoms/forms/radio-group/radio-group.js +43 -0
- package/dist/components/atoms/forms/select/select.d.ts +62 -0
- package/dist/components/atoms/forms/select/select.d.ts.map +1 -1
- package/dist/components/atoms/forms/select/select.js +62 -0
- package/dist/components/atoms/forms/slider/slider.d.ts +60 -0
- package/dist/components/atoms/forms/slider/slider.d.ts.map +1 -1
- package/dist/components/atoms/forms/slider/slider.js +53 -1
- package/dist/components/atoms/forms/switch/switch.d.ts +67 -0
- package/dist/components/atoms/forms/switch/switch.d.ts.map +1 -1
- package/dist/components/atoms/forms/switch/switch.js +63 -0
- package/dist/components/atoms/forms/textarea/textarea.d.ts +66 -0
- package/dist/components/atoms/forms/textarea/textarea.d.ts.map +1 -1
- package/dist/components/atoms/forms/textarea/textarea.js +13 -0
- package/dist/components/atoms/forms/toggle/toggle.d.ts +65 -1
- package/dist/components/atoms/forms/toggle/toggle.d.ts.map +1 -1
- package/dist/components/atoms/forms/toggle/toggle.js +58 -0
- package/dist/components/atoms/index.d.ts +0 -2
- package/dist/components/atoms/index.d.ts.map +1 -1
- package/dist/components/atoms/index.js +0 -1
- package/dist/components/atoms/layout/accordion/accordion.d.ts +84 -0
- package/dist/components/atoms/layout/accordion/accordion.d.ts.map +1 -1
- package/dist/components/atoms/layout/accordion/accordion.js +72 -0
- package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.d.ts +54 -0
- package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.d.ts.map +1 -1
- package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.js +49 -0
- package/dist/components/atoms/layout/collapsible/collapsible.d.ts +47 -5
- package/dist/components/atoms/layout/collapsible/collapsible.d.ts.map +1 -1
- package/dist/components/atoms/layout/collapsible/collapsible.js +47 -5
- package/dist/components/atoms/layout/drawer/drawer.d.ts +55 -0
- package/dist/components/atoms/layout/drawer/drawer.d.ts.map +1 -1
- package/dist/components/atoms/layout/index.d.ts +2 -0
- package/dist/components/atoms/layout/index.d.ts.map +1 -1
- package/dist/components/atoms/layout/index.js +1 -0
- package/dist/components/atoms/layout/resizable/resizable.d.ts +77 -2
- package/dist/components/atoms/layout/resizable/resizable.d.ts.map +1 -1
- package/dist/components/atoms/layout/resizable/resizable.js +68 -0
- package/dist/components/atoms/layout/scroll-area/scroll-area.d.ts +34 -2
- package/dist/components/atoms/layout/scroll-area/scroll-area.d.ts.map +1 -1
- package/dist/components/atoms/layout/scroll-area/scroll-area.js +35 -3
- package/dist/components/atoms/layout/sidebar/sidebar.d.ts +66 -1
- package/dist/components/atoms/layout/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/atoms/layout/sidebar/sidebar.js +66 -0
- package/dist/components/atoms/layout/toggle-group/toggle-group.d.ts +73 -0
- package/dist/components/atoms/layout/toggle-group/toggle-group.d.ts.map +1 -1
- package/dist/components/atoms/layout/toggle-group/toggle-group.js +57 -0
- package/dist/components/atoms/layout/widget-resize-handle/index.d.ts +3 -0
- package/dist/components/atoms/layout/widget-resize-handle/index.d.ts.map +1 -0
- package/dist/components/atoms/layout/widget-resize-handle/index.js +1 -0
- package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.d.ts +98 -0
- package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.d.ts.map +1 -0
- package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.js +117 -0
- package/dist/components/atoms/navigation/command/command.d.ts +7 -7
- package/dist/components/molecules/data-display/message/message.d.ts +22 -6
- package/dist/components/molecules/data-display/message/message.d.ts.map +1 -1
- package/dist/components/molecules/data-display/message/message.js +192 -8
- package/dist/components/molecules/draggable-widget/draggable-widget.d.ts.map +1 -1
- package/dist/components/molecules/draggable-widget/draggable-widget.js +6 -2
- package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.d.ts.map +1 -1
- package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.js +1 -1
- package/dist/components/molecules/forms/autocomplete/autocomplete-section.d.ts.map +1 -1
- package/dist/components/molecules/forms/autocomplete/autocomplete-section.js +3 -1
- package/dist/components/molecules/forms/chat-input/chat-input.d.ts.map +1 -1
- package/dist/components/molecules/forms/chat-input/chat-input.js +1 -1
- package/dist/components/molecules/forms/item/item.d.ts +1 -1
- package/dist/components/molecules/forms/text-editor/text-editor.d.ts.map +1 -1
- package/dist/components/molecules/navigation/menu-dock/menu-dock.js +1 -1
- package/dist/components/organisms/chat-log/chat-log.d.ts +1 -1
- package/dist/components/organisms/chat-log/chat-log.d.ts.map +1 -1
- package/dist/components/organisms/chat-log/chat-log.js +5 -5
- package/dist/components/organisms/document-editor/document-editor.d.ts.map +1 -1
- package/dist/components/organisms/document-editor/document-editor.js +2 -2
- package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts.map +1 -1
- package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.js +1 -1
- package/dist/components/organisms/form-layout/form-layout.d.ts.map +1 -1
- package/dist/components/organisms/form-layout/form-layout.js +3 -1
- package/dist/components/organisms/genealogy-canvas/genealogy-canvas.d.ts +0 -5
- package/dist/components/organisms/genealogy-canvas/genealogy-canvas.d.ts.map +1 -1
- package/dist/components/organisms/genealogy-canvas/genealogy-canvas.js +50 -55
- package/dist/components/organisms/model-selector/model-selector.d.ts +1 -1
- package/dist/components/organisms/prompt-input/index.d.ts +1 -1
- package/dist/components/organisms/prompt-input/index.d.ts.map +1 -1
- package/dist/components/organisms/prompt-input/index.js +1 -1
- package/dist/components/organisms/prompt-input/prompt-input.d.ts +22 -7
- package/dist/components/organisms/prompt-input/prompt-input.d.ts.map +1 -1
- package/dist/components/organisms/prompt-input/prompt-input.js +26 -17
- package/dist/index.js +480 -480
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/test/setup.js +43 -0
- package/package.json +18 -2
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
* Componente de mensagem com branches e attachments
|
|
5
5
|
*/
|
|
6
6
|
import type { FileUIPart, UIMessage } from "ai";
|
|
7
|
+
import hardenReactMarkdown from "harden-react-markdown";
|
|
7
8
|
import type { ComponentProps, HTMLAttributes } from "react";
|
|
8
9
|
import * as React from "react";
|
|
9
|
-
import {
|
|
10
|
-
import { Button } from "
|
|
10
|
+
import { type Options } from "react-markdown";
|
|
11
|
+
import { Button } from "@/components/atoms";
|
|
12
|
+
import "katex/dist/katex.min.css";
|
|
11
13
|
export type MessageProps = HTMLAttributes<HTMLDivElement> & {
|
|
12
14
|
from: UIMessage["role"];
|
|
13
15
|
};
|
|
@@ -40,13 +42,27 @@ export declare const MessageBranchSelector: React.ForwardRefExoticComponent<HTML
|
|
|
40
42
|
from: UIMessage["role"];
|
|
41
43
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
42
44
|
export type MessageBranchPreviousProps = ComponentProps<typeof Button>;
|
|
43
|
-
export declare const MessageBranchPrevious: React.ForwardRefExoticComponent<Omit<import("
|
|
45
|
+
export declare const MessageBranchPrevious: React.ForwardRefExoticComponent<Omit<import("@/components/atoms").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
44
46
|
export type MessageBranchNextProps = ComponentProps<typeof Button>;
|
|
45
|
-
export declare const MessageBranchNext: React.ForwardRefExoticComponent<Omit<import("
|
|
47
|
+
export declare const MessageBranchNext: React.ForwardRefExoticComponent<Omit<import("@/components/atoms").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
46
48
|
export type MessageBranchPageProps = HTMLAttributes<HTMLSpanElement>;
|
|
47
49
|
export declare const MessageBranchPage: React.ForwardRefExoticComponent<MessageBranchPageProps & React.RefAttributes<HTMLSpanElement>>;
|
|
48
|
-
export type MessageResponseProps =
|
|
49
|
-
|
|
50
|
+
export type MessageResponseProps = HTMLAttributes<HTMLDivElement> & {
|
|
51
|
+
options?: Options;
|
|
52
|
+
children: Options["children"];
|
|
53
|
+
allowedImagePrefixes?: ComponentProps<ReturnType<typeof hardenReactMarkdown>>["allowedImagePrefixes"];
|
|
54
|
+
allowedLinkPrefixes?: ComponentProps<ReturnType<typeof hardenReactMarkdown>>["allowedLinkPrefixes"];
|
|
55
|
+
defaultOrigin?: ComponentProps<ReturnType<typeof hardenReactMarkdown>>["defaultOrigin"];
|
|
56
|
+
parseIncompleteMarkdown?: boolean;
|
|
57
|
+
};
|
|
58
|
+
export declare const MessageResponse: React.NamedExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
59
|
+
options?: Options;
|
|
60
|
+
children: Options["children"];
|
|
61
|
+
allowedImagePrefixes?: ComponentProps<ReturnType<typeof hardenReactMarkdown>>["allowedImagePrefixes"];
|
|
62
|
+
allowedLinkPrefixes?: ComponentProps<ReturnType<typeof hardenReactMarkdown>>["allowedLinkPrefixes"];
|
|
63
|
+
defaultOrigin?: ComponentProps<ReturnType<typeof hardenReactMarkdown>>["defaultOrigin"];
|
|
64
|
+
parseIncompleteMarkdown?: boolean;
|
|
65
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
50
66
|
export type MessageAttachmentProps = HTMLAttributes<HTMLDivElement> & {
|
|
51
67
|
data: FileUIPart;
|
|
52
68
|
className?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/data-display/message/message.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/data-display/message/message.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import hardenReactMarkdown from "harden-react-markdown";
|
|
2
3
|
import { ChevronLeftIcon, ChevronRightIcon, PaperclipIcon, XIcon } from "lucide-react";
|
|
3
4
|
import * as React from "react";
|
|
4
|
-
import { createContext, memo, useContext, useEffect, useState } from "react";
|
|
5
|
-
import
|
|
5
|
+
import { createContext, isValidElement, memo, useContext, useEffect, useState } from "react";
|
|
6
|
+
import ReactMarkdown from "react-markdown";
|
|
7
|
+
import rehypeKatex from "rehype-katex";
|
|
8
|
+
import remarkGfm from "remark-gfm";
|
|
9
|
+
import remarkMath from "remark-math";
|
|
10
|
+
import { Button, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/atoms";
|
|
11
|
+
import { CodeBlock, CodeBlockCopyButton } from "@/components/atoms/code/code-block";
|
|
12
|
+
import { ButtonGroup, ButtonGroupText } from "@/components/molecules/forms/button-group";
|
|
6
13
|
import { cn } from "@/lib/utils";
|
|
7
|
-
import
|
|
8
|
-
import { ButtonGroup, ButtonGroupText } from "../../forms/button-group";
|
|
14
|
+
import "katex/dist/katex.min.css";
|
|
9
15
|
export const Message = React.forwardRef(({ className, from, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("group flex w-full max-w-[80%] gap-2", from === "user" ? "is-user ml-auto justify-end" : "is-assistant", className), ...props })));
|
|
10
16
|
Message.displayName = "Message";
|
|
11
17
|
export const MessageContent = React.forwardRef(({ children, className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("is-user:dark flex w-fit flex-col gap-2 overflow-hidden text-sm", "group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground", "group-[.is-assistant]:text-foreground", className), ...props, children: children })));
|
|
@@ -90,12 +96,190 @@ export const MessageBranchPage = React.forwardRef(({ className, ...props }, ref)
|
|
|
90
96
|
return (_jsxs(ButtonGroupText, { ref: ref, className: cn("border-none bg-transparent text-muted-foreground shadow-none", className), ...props, children: [currentBranch + 1, " of ", totalBranches] }));
|
|
91
97
|
});
|
|
92
98
|
MessageBranchPage.displayName = "MessageBranchPage";
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
99
|
+
/**
|
|
100
|
+
* Parses markdown text and removes incomplete tokens to prevent partial rendering
|
|
101
|
+
* of links, images, bold, and italic formatting during streaming.
|
|
102
|
+
*/
|
|
103
|
+
function parseIncompleteMarkdown(text) {
|
|
104
|
+
if (!text || typeof text !== "string") {
|
|
105
|
+
return text;
|
|
106
|
+
}
|
|
107
|
+
let result = text;
|
|
108
|
+
// Handle incomplete links and images
|
|
109
|
+
// Pattern: [...] or ![...] where the closing ] is missing
|
|
110
|
+
const linkImagePattern = /(!?\[)([^\]]*?)$/;
|
|
111
|
+
const linkMatch = result.match(linkImagePattern);
|
|
112
|
+
if (linkMatch) {
|
|
113
|
+
// If we have an unterminated [ or ![, remove it and everything after
|
|
114
|
+
const startIndex = result.lastIndexOf(linkMatch[1]);
|
|
115
|
+
result = result.substring(0, startIndex);
|
|
116
|
+
}
|
|
117
|
+
// Handle incomplete bold formatting (**)
|
|
118
|
+
const boldPattern = /(\*\*)([^*]*?)$/;
|
|
119
|
+
const boldMatch = result.match(boldPattern);
|
|
120
|
+
if (boldMatch) {
|
|
121
|
+
// Count the number of ** in the entire string
|
|
122
|
+
const asteriskPairs = (result.match(/\*\*/g) || []).length;
|
|
123
|
+
// If odd number of **, we have an incomplete bold - complete it
|
|
124
|
+
if (asteriskPairs % 2 === 1) {
|
|
125
|
+
result = `${result}**`;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Handle incomplete italic formatting (__)
|
|
129
|
+
const italicPattern = /(__)([^_]*?)$/;
|
|
130
|
+
const italicMatch = result.match(italicPattern);
|
|
131
|
+
if (italicMatch) {
|
|
132
|
+
// Count the number of __ in the entire string
|
|
133
|
+
const underscorePairs = (result.match(/__/g) || []).length;
|
|
134
|
+
// If odd number of __, we have an incomplete italic - complete it
|
|
135
|
+
if (underscorePairs % 2 === 1) {
|
|
136
|
+
result = `${result}__`;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Handle incomplete single asterisk italic (*)
|
|
140
|
+
const singleAsteriskPattern = /(\*)([^*]*?)$/;
|
|
141
|
+
const singleAsteriskMatch = result.match(singleAsteriskPattern);
|
|
142
|
+
if (singleAsteriskMatch) {
|
|
143
|
+
// Count single asterisks that aren't part of **
|
|
144
|
+
const singleAsterisks = result.split("").reduce((acc, char, index) => {
|
|
145
|
+
if (char === "*") {
|
|
146
|
+
// Check if it's part of a ** pair
|
|
147
|
+
const prevChar = result[index - 1];
|
|
148
|
+
const nextChar = result[index + 1];
|
|
149
|
+
if (prevChar !== "*" && nextChar !== "*") {
|
|
150
|
+
return acc + 1;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return acc;
|
|
154
|
+
}, 0);
|
|
155
|
+
// If odd number of single *, we have an incomplete italic - complete it
|
|
156
|
+
if (singleAsterisks % 2 === 1) {
|
|
157
|
+
result = `${result}*`;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// Handle incomplete single underscore italic (_)
|
|
161
|
+
const singleUnderscorePattern = /(_)([^_]*?)$/;
|
|
162
|
+
const singleUnderscoreMatch = result.match(singleUnderscorePattern);
|
|
163
|
+
if (singleUnderscoreMatch) {
|
|
164
|
+
// Count single underscores that aren't part of __
|
|
165
|
+
const singleUnderscores = result.split("").reduce((acc, char, index) => {
|
|
166
|
+
if (char === "_") {
|
|
167
|
+
// Check if it's part of a __ pair
|
|
168
|
+
const prevChar = result[index - 1];
|
|
169
|
+
const nextChar = result[index + 1];
|
|
170
|
+
if (prevChar !== "_" && nextChar !== "_") {
|
|
171
|
+
return acc + 1;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return acc;
|
|
175
|
+
}, 0);
|
|
176
|
+
// If odd number of single _, we have an incomplete italic - complete it
|
|
177
|
+
if (singleUnderscores % 2 === 1) {
|
|
178
|
+
result = `${result}_`;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Handle incomplete inline code blocks (`) - but avoid code blocks (```)
|
|
182
|
+
const inlineCodePattern = /(`)([^`]*?)$/;
|
|
183
|
+
const inlineCodeMatch = result.match(inlineCodePattern);
|
|
184
|
+
if (inlineCodeMatch) {
|
|
185
|
+
// Check if we're dealing with a code block (triple backticks)
|
|
186
|
+
const _hasCodeBlockStart = result.includes("```");
|
|
187
|
+
const codeBlockPattern = /```[\s\S]*?```/g;
|
|
188
|
+
const _completeCodeBlocks = (result.match(codeBlockPattern) || []).length;
|
|
189
|
+
const allTripleBackticks = (result.match(/```/g) || []).length;
|
|
190
|
+
// If we have an odd number of ``` sequences, we're inside an incomplete code block
|
|
191
|
+
// In this case, don't complete inline code
|
|
192
|
+
const insideIncompleteCodeBlock = allTripleBackticks % 2 === 1;
|
|
193
|
+
if (!insideIncompleteCodeBlock) {
|
|
194
|
+
// Count the number of single backticks that are NOT part of triple backticks
|
|
195
|
+
let singleBacktickCount = 0;
|
|
196
|
+
for (let i = 0; i < result.length; i++) {
|
|
197
|
+
if (result[i] === "`") {
|
|
198
|
+
// Check if this backtick is part of a triple backtick sequence
|
|
199
|
+
const isTripleStart = result.substring(i, i + 3) === "```";
|
|
200
|
+
const isTripleMiddle = i > 0 && result.substring(i - 1, i + 2) === "```";
|
|
201
|
+
const isTripleEnd = i > 1 && result.substring(i - 2, i + 1) === "```";
|
|
202
|
+
if (!(isTripleStart || isTripleMiddle || isTripleEnd)) {
|
|
203
|
+
singleBacktickCount++;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
// If odd number of single backticks, we have an incomplete inline code - complete it
|
|
208
|
+
if (singleBacktickCount % 2 === 1) {
|
|
209
|
+
result = `${result}\``;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// Handle incomplete strikethrough formatting (~~)
|
|
214
|
+
const strikethroughPattern = /(~~)([^~]*?)$/;
|
|
215
|
+
const strikethroughMatch = result.match(strikethroughPattern);
|
|
216
|
+
if (strikethroughMatch) {
|
|
217
|
+
// Count the number of ~~ in the entire string
|
|
218
|
+
const tildePairs = (result.match(/~~/g) || []).length;
|
|
219
|
+
// If odd number of ~~, we have an incomplete strikethrough - complete it
|
|
220
|
+
if (tildePairs % 2 === 1) {
|
|
221
|
+
result = `${result}~~`;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return result;
|
|
225
|
+
}
|
|
226
|
+
// Create a hardened version of ReactMarkdown
|
|
227
|
+
const HardenedMarkdown = hardenReactMarkdown(ReactMarkdown);
|
|
228
|
+
const components = {
|
|
229
|
+
ol: ({ node, children, className, ...props }) => (_jsx("ol", { className: cn("ml-4 list-outside list-decimal", className), ...props, children: children })),
|
|
230
|
+
li: ({ node, children, className, ...props }) => (_jsx("li", { className: cn("py-1", className), ...props, children: children })),
|
|
231
|
+
ul: ({ node, children, className, ...props }) => (_jsx("ul", { className: cn("ml-4 list-outside list-disc", className), ...props, children: children })),
|
|
232
|
+
hr: ({ node, className, ...props }) => (_jsx("hr", { className: cn("my-6 border-border", className), ...props })),
|
|
233
|
+
strong: ({ node, children, className, ...props }) => (_jsx("span", { className: cn("font-semibold", className), ...props, children: children })),
|
|
234
|
+
a: ({ node, children, className, ...props }) => (_jsx("a", { className: cn("font-medium text-primary underline", className), rel: "noreferrer", target: "_blank", ...props, children: children })),
|
|
235
|
+
h1: ({ node, children, className, ...props }) => (_jsx("h1", { className: cn("mt-6 mb-2 font-semibold text-3xl", className), ...props, children: children })),
|
|
236
|
+
h2: ({ node, children, className, ...props }) => (_jsx("h2", { className: cn("mt-6 mb-2 font-semibold text-2xl", className), ...props, children: children })),
|
|
237
|
+
h3: ({ node, children, className, ...props }) => (_jsx("h3", { className: cn("mt-6 mb-2 font-semibold text-xl", className), ...props, children: children })),
|
|
238
|
+
h4: ({ node, children, className, ...props }) => (_jsx("h4", { className: cn("mt-6 mb-2 font-semibold text-lg", className), ...props, children: children })),
|
|
239
|
+
h5: ({ node, children, className, ...props }) => (_jsx("h5", { className: cn("mt-6 mb-2 font-semibold text-base", className), ...props, children: children })),
|
|
240
|
+
h6: ({ node, children, className, ...props }) => (_jsx("h6", { className: cn("mt-6 mb-2 font-semibold text-sm", className), ...props, children: children })),
|
|
241
|
+
table: ({ node, children, className, ...props }) => (_jsx("div", { className: "my-4 overflow-x-auto", children: _jsx("table", { className: cn("w-full border-collapse border border-border", className), ...props, children: children }) })),
|
|
242
|
+
thead: ({ node, children, className, ...props }) => (_jsx("thead", { className: cn("bg-muted/50", className), ...props, children: children })),
|
|
243
|
+
tbody: ({ node, children, className, ...props }) => (_jsx("tbody", { className: cn("divide-y divide-border", className), ...props, children: children })),
|
|
244
|
+
tr: ({ node, children, className, ...props }) => (_jsx("tr", { className: cn("border-border border-b", className), ...props, children: children })),
|
|
245
|
+
th: ({ node, children, className, ...props }) => (_jsx("th", { className: cn("px-4 py-2 text-left font-semibold text-sm", className), ...props, children: children })),
|
|
246
|
+
td: ({ node, children, className, ...props }) => (_jsx("td", { className: cn("px-4 py-2 text-sm", className), ...props, children: children })),
|
|
247
|
+
blockquote: ({ node, children, className, ...props }) => (_jsx("blockquote", { className: cn("my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic", className), ...props, children: children })),
|
|
248
|
+
code: ({ node, className, ...props }) => {
|
|
249
|
+
const inline = node?.position?.start.line === node?.position?.end.line;
|
|
250
|
+
if (!inline) {
|
|
251
|
+
return _jsx("code", { className: className, ...props });
|
|
252
|
+
}
|
|
253
|
+
return (_jsx("code", { className: cn("rounded bg-muted px-1.5 py-0.5 font-mono text-sm", className), ...props }));
|
|
254
|
+
},
|
|
255
|
+
pre: ({ node, className, children }) => {
|
|
256
|
+
let language = "javascript";
|
|
257
|
+
if (typeof node?.properties?.className === "string") {
|
|
258
|
+
const lang = node.properties.className.replace("language-", "");
|
|
259
|
+
// Validate that it's a valid BundledLanguage, fallback to javascript
|
|
260
|
+
language = lang || "javascript";
|
|
261
|
+
}
|
|
262
|
+
// Extract code content from children safely
|
|
263
|
+
let code = "";
|
|
264
|
+
if (isValidElement(children) &&
|
|
265
|
+
children.props &&
|
|
266
|
+
typeof children.props.children === "string") {
|
|
267
|
+
code = children.props.children;
|
|
268
|
+
}
|
|
269
|
+
else if (typeof children === "string") {
|
|
270
|
+
code = children;
|
|
271
|
+
}
|
|
272
|
+
return (_jsx(CodeBlock, { className: cn("my-4 h-auto", className), code: code, language: language, children: _jsx(CodeBlockCopyButton, { onCopy: () => console.log("Copied code to clipboard"), onError: () => console.error("Failed to copy code to clipboard") }) }));
|
|
273
|
+
},
|
|
274
|
+
};
|
|
275
|
+
const MessageResponseComponent = React.forwardRef(({ className, options, children, allowedImagePrefixes, allowedLinkPrefixes, defaultOrigin, parseIncompleteMarkdown: shouldParseIncompleteMarkdown = true, ...props }, ref) => {
|
|
276
|
+
// Parse the children to remove incomplete markdown tokens if enabled
|
|
277
|
+
const parsedChildren = typeof children === "string" && shouldParseIncompleteMarkdown
|
|
278
|
+
? parseIncompleteMarkdown(children)
|
|
279
|
+
: children;
|
|
280
|
+
return (_jsx("div", { ref: ref, className: cn("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0", className), ...props, children: _jsx(HardenedMarkdown, { allowedImagePrefixes: allowedImagePrefixes ?? ["*"], allowedLinkPrefixes: allowedLinkPrefixes ?? ["*"], components: components, defaultOrigin: defaultOrigin, rehypePlugins: [rehypeKatex], remarkPlugins: [remarkGfm, remarkMath], ...options, children: parsedChildren }) }));
|
|
96
281
|
});
|
|
97
282
|
MessageResponseComponent.displayName = "MessageResponse";
|
|
98
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
99
283
|
export const MessageResponse = memo(MessageResponseComponent, (prevProps, nextProps) => prevProps.children === nextProps.children);
|
|
100
284
|
export const MessageAttachment = React.forwardRef(({ data, className, onRemove, ...props }, ref) => {
|
|
101
285
|
const filename = data.filename || "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draggable-widget.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/draggable-widget/draggable-widget.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"draggable-widget.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/draggable-widget/draggable-widget.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,4DA0I3B,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { useDraggable } from "@dnd-kit/core";
|
|
|
9
9
|
import { CSS } from "@dnd-kit/utilities";
|
|
10
10
|
import { GripVertical, Settings2, X } from "lucide-react";
|
|
11
11
|
import { memo } from "react";
|
|
12
|
-
import { WidgetResizeHandle } from "@/components/atoms/widget-resize-handle";
|
|
12
|
+
import { WidgetResizeHandle } from "@/components/atoms/layout/widget-resize-handle";
|
|
13
13
|
import { cn } from "@/lib/utils";
|
|
14
14
|
/**
|
|
15
15
|
* Componente de widget arrastável
|
|
@@ -39,6 +39,10 @@ export const DraggableWidget = memo(({ widgetId, widgetType, children, isEditMod
|
|
|
39
39
|
e.stopPropagation();
|
|
40
40
|
onConfigure?.(widgetId);
|
|
41
41
|
};
|
|
42
|
-
return (_jsxs("div", { ref: setNodeRef, style: style, className: cn("relative group", isDragging && "opacity-50 z-50", isEditMode && "ring-2 ring-primary/20", className), children: [_jsx("div", { className: cn("h-full w-full bg-card rounded-lg border border-border shadow-sm overflow-hidden", isEditMode && "hover:shadow-md transition-shadow"), children: children }), isEditMode && (_jsxs(_Fragment, { children: [_jsx("
|
|
42
|
+
return (_jsxs("div", { ref: setNodeRef, style: style, className: cn("relative group", isDragging && "opacity-50 z-50", isEditMode && "ring-2 ring-primary/20", className), children: [_jsx("div", { className: cn("h-full w-full bg-card rounded-lg border border-border shadow-sm overflow-hidden", isEditMode && "hover:shadow-md transition-shadow"), children: children }), isEditMode && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", ...attributes, ...listeners, className: cn("absolute top-2 left-2 p-1.5 rounded-md", "bg-background/80 backdrop-blur-sm border border-border", "cursor-grab active:cursor-grabbing", "opacity-0 group-hover:opacity-100 transition-opacity", "hover:bg-background"), tabIndex: 0, "aria-label": "Arrastar widget", onKeyDown: (e) => {
|
|
43
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
44
|
+
e.preventDefault();
|
|
45
|
+
}
|
|
46
|
+
}, children: _jsx(GripVertical, { className: "w-4 h-4 text-muted-foreground" }) }), _jsxs("div", { className: "absolute top-2 right-2 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity", children: [onConfigure && (_jsx("button", { type: "button", onClick: handleConfigure, className: cn("p-1.5 rounded-md", "bg-background/80 backdrop-blur-sm border border-border", "hover:bg-background text-muted-foreground hover:text-foreground", "transition-colors"), "aria-label": "Configurar widget", children: _jsx(Settings2, { className: "w-4 h-4" }) })), onRemove && (_jsx("button", { type: "button", onClick: handleRemove, className: cn("p-1.5 rounded-md", "bg-background/80 backdrop-blur-sm border border-border", "hover:bg-destructive hover:text-destructive-foreground", "text-muted-foreground transition-colors"), "aria-label": "Remover widget", children: _jsx(X, { className: "w-4 h-4" }) }))] }), onResize && (_jsx(WidgetResizeHandle, { widgetId: widgetId, currentWidth: currentWidth, currentHeight: currentHeight, onResize: onResize, cellSize: cellSize, gap: gap }))] }))] }));
|
|
43
47
|
});
|
|
44
48
|
DraggableWidget.displayName = "DraggableWidget";
|
package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-chat-message-modal.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAYpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;IACvD,4BAA4B,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"edit-chat-message-modal.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAYpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;IACvD,4BAA4B,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA4HpE,CAAC"}
|
package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.js
CHANGED
|
@@ -60,6 +60,6 @@ export const EditChatMessageModal = ({ isOpen, onClose, message, onSave, isLoadi
|
|
|
60
60
|
};
|
|
61
61
|
if (!message)
|
|
62
62
|
return null;
|
|
63
|
-
return (_jsx(Dialog, { open: isOpen, onOpenChange: handleClose, children: _jsxs(DialogContent, { className: cn("max-w-2xl max-h-[80vh] overflow-hidden", className), children: [_jsx(DialogHeader, { children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Edit, { className: "w-5 h-5 text-blue-600 dark:text-blue-400" }), _jsx(DialogTitle, { className: "text-lg", children: "Editar Mensagem" })] }) }), _jsxs("div", { className: "space-y-4", children: [_jsx("div", { className: "bg-gray-50 dark:bg-gray-800/50 rounded-lg p-3 border", children: _jsxs("div", { className: "flex items-center gap-2 mb-2", children: [_jsx("span", { className: "font-medium text-gray-900 dark:text-gray-100", children: message.sender }), message.messageType && (_jsx(Badge, { className: getMessageTypeBadgeClassName(message.messageType), children: message.messageType })), _jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400 ml-auto", children: formatTimestamp(message.timestamp) })] }) }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Conte\u00FAdo da Mensagem" }), _jsx(Textarea, { value: editedContent, onChange: (e) => setEditedContent(e.target.value), className: "min-h-[200px] resize-none", placeholder: "Digite o conte\u00FAdo da mensagem...", disabled: isLoading }), _jsxs("div", { className: "flex items-center justify-between text-xs text-gray-500 dark:text-gray-400", children: [_jsxs("span", { children: [editedContent.length, " caracteres"] }), hasChanges && (_jsx("div", { className: "flex items-center gap-1 text-amber-600 dark:text-amber-400", children: _jsx("span", { children: "\u26A0\uFE0F Altera\u00E7\u00F5es n\u00E3o salvas" }) }))] })] }), _jsxs("div", { className: "flex items-center justify-end gap-2 pt-4 border-t", children: [_jsx(Button, { variant: "outline", onClick: handleClose, disabled: isLoading, children: "Cancelar" }), _jsxs(Button, { onClick: handleSave, disabled: !hasChanges || isLoading || !editedContent.trim(), className: "flex items-center gap-2", children: [isLoading ? (_jsx("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-white" })) : (_jsx(Save, { className: "w-4 h-4" })), "Salvar Altera\u00E7\u00F5es"] })] })] })] }) }));
|
|
63
|
+
return (_jsx(Dialog, { open: isOpen, onOpenChange: handleClose, children: _jsxs(DialogContent, { className: cn("max-w-2xl max-h-[80vh] overflow-hidden", className), children: [_jsx(DialogHeader, { children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Edit, { className: "w-5 h-5 text-blue-600 dark:text-blue-400" }), _jsx(DialogTitle, { className: "text-lg", children: "Editar Mensagem" })] }) }), _jsxs("div", { className: "space-y-4", children: [_jsx("div", { className: "bg-gray-50 dark:bg-gray-800/50 rounded-lg p-3 border", children: _jsxs("div", { className: "flex items-center gap-2 mb-2", children: [_jsx("span", { className: "font-medium text-gray-900 dark:text-gray-100", children: message.sender }), message.messageType && (_jsx(Badge, { className: getMessageTypeBadgeClassName(message.messageType), children: message.messageType })), _jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400 ml-auto", children: formatTimestamp(message.timestamp) })] }) }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { htmlFor: "message-content", className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Conte\u00FAdo da Mensagem" }), _jsx(Textarea, { id: "message-content", value: editedContent, onChange: (e) => setEditedContent(e.target.value), className: "min-h-[200px] resize-none", placeholder: "Digite o conte\u00FAdo da mensagem...", disabled: isLoading }), _jsxs("div", { className: "flex items-center justify-between text-xs text-gray-500 dark:text-gray-400", children: [_jsxs("span", { children: [editedContent.length, " caracteres"] }), hasChanges && (_jsx("div", { className: "flex items-center gap-1 text-amber-600 dark:text-amber-400", children: _jsx("span", { children: "\u26A0\uFE0F Altera\u00E7\u00F5es n\u00E3o salvas" }) }))] })] }), _jsxs("div", { className: "flex items-center justify-end gap-2 pt-4 border-t", children: [_jsx(Button, { variant: "outline", onClick: handleClose, disabled: isLoading, children: "Cancelar" }), _jsxs(Button, { onClick: handleSave, disabled: !hasChanges || isLoading || !editedContent.trim(), className: "flex items-center gap-2", children: [isLoading ? (_jsx("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-white" })) : (_jsx(Save, { className: "w-4 h-4" })), "Salvar Altera\u00E7\u00F5es"] })] })] })] }) }));
|
|
64
64
|
};
|
|
65
65
|
EditChatMessageModal.displayName = "EditChatMessageModal";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-section.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/autocomplete-section.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACpF;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"autocomplete-section.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/autocomplete-section.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACpF;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,mBAAmB,iGAkBxB,CAAC;AAIF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -7,7 +7,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import { cn } from "@/lib/utils";
|
|
9
9
|
const AutocompleteSection = React.forwardRef(({ className, title, children, ...props }, ref) => {
|
|
10
|
-
return (
|
|
10
|
+
return (
|
|
11
|
+
// biome-ignore lint/a11y/useSemanticElements: Agrupamento em menu de autocomplete
|
|
12
|
+
_jsxs("div", { ref: ref, ...props, className: cn("space-y-1", className), role: "group", "aria-label": title, children: [title && (_jsx("div", { className: "px-2 py-1.5 text-xs font-semibold text-muted-foreground", children: title })), _jsx("ul", { className: "space-y-0.5", children: children })] }));
|
|
11
13
|
});
|
|
12
14
|
AutocompleteSection.displayName = "AutocompleteSection";
|
|
13
15
|
export { AutocompleteSection };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/chat-input/chat-input.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"chat-input.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/chat-input/chat-input.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,uFAiNrB,CAAC"}
|
|
@@ -19,7 +19,7 @@ export const ChatInput = React.forwardRef(({ value, onChange, onSubmit, maxLengt
|
|
|
19
19
|
textareaRef.current.style.height = "auto";
|
|
20
20
|
textareaRef.current.style.height = `${textareaRef.current.scrollHeight}px`;
|
|
21
21
|
}
|
|
22
|
-
}, [
|
|
22
|
+
}, []);
|
|
23
23
|
const handleSubmit = () => {
|
|
24
24
|
if (!value.trim() || remaining < 0 || disabled || isLoading)
|
|
25
25
|
return;
|
|
@@ -13,7 +13,7 @@ declare namespace ItemSeparator {
|
|
|
13
13
|
var displayName: string;
|
|
14
14
|
}
|
|
15
15
|
declare const itemVariants: (props?: ({
|
|
16
|
-
variant?: "
|
|
16
|
+
variant?: "outline" | "default" | "muted" | null | undefined;
|
|
17
17
|
size?: "default" | "sm" | null | undefined;
|
|
18
18
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
19
19
|
export interface ItemProps extends React.ComponentProps<"div">, VariantProps<typeof itemVariants> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-editor.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/text-editor/text-editor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA4BH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqB/B,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,OAAO,CAAC;AAEZ,QAAA,MAAM,eAAe,EAAE,uBAAuB,EAgB7C,CAAC;AA2DF,KAAK,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAE3E,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACzD,YAAY,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACnC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"text-editor.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/text-editor/text-editor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA4BH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqB/B,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,OAAO,CAAC;AAEZ,QAAA,MAAM,eAAe,EAAE,uBAAuB,EAgB7C,CAAC;AA2DF,KAAK,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAE3E,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACzD,YAAY,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACnC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,UAAU,wFA+XtB,CAAC;AA8BF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -146,7 +146,7 @@ const FloatingDockMobile = ({ items, className }) => {
|
|
|
146
146
|
transition: {
|
|
147
147
|
delay: idx * 0.05,
|
|
148
148
|
},
|
|
149
|
-
}, transition: { delay: (items.length - 1 - idx) * 0.05 }, children: _jsx("a", { href: item.href, onClick: item.onClick, className: "flex h-10 w-10 items-center justify-center rounded-full bg-gray-50 dark:bg-neutral-900", children: _jsx("div", { className: "h-4 w-4", children: item.icon }) }) }, item.title))) })) }), _jsx("button", { onClick: () => setOpen(!open), className: "flex h-10 w-10 items-center justify-center rounded-full bg-gray-50 dark:bg-neutral-800", "aria-label": "Toggle menu", children: _jsx(Menu, { className: "h-5 w-5 text-neutral-500 dark:text-neutral-400" }) })] }));
|
|
149
|
+
}, transition: { delay: (items.length - 1 - idx) * 0.05 }, children: _jsx("a", { href: item.href, onClick: item.onClick, className: "flex h-10 w-10 items-center justify-center rounded-full bg-gray-50 dark:bg-neutral-900", children: _jsx("div", { className: "h-4 w-4", children: item.icon }) }) }, item.title))) })) }), _jsx("button", { type: "button", onClick: () => setOpen(!open), className: "flex h-10 w-10 items-center justify-center rounded-full bg-gray-50 dark:bg-neutral-800", "aria-label": "Toggle menu", children: _jsx(Menu, { className: "h-5 w-5 text-neutral-500 dark:text-neutral-400" }) })] }));
|
|
150
150
|
};
|
|
151
151
|
const FloatingDockDesktop = ({ items, className }) => {
|
|
152
152
|
const mouseX = useMotionValue(Infinity);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { HTMLAttributes, ReactNode } from "react";
|
|
8
8
|
import * as React from "react";
|
|
9
|
-
import { type ChatMessageData, type ChatMessageProps } from "
|
|
9
|
+
import { type ChatMessageData, type ChatMessageProps } from "@/components/molecules/data-display/chat-message";
|
|
10
10
|
export interface ChatLogProps extends HTMLAttributes<HTMLDivElement> {
|
|
11
11
|
messages: ChatMessageData[];
|
|
12
12
|
onMessageEdit?: (id: string | number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-log.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/chat-log/chat-log.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-log.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/chat-log/chat-log.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,kDAAkD,CAAC;AAQ1D,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,cAAc,CAAC;IAClE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAChD,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,YAAY,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACtD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,OAAO,qFA+EnB,CAAC"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { useEffect, useRef } from "react";
|
|
4
|
+
import { ChatMessage, } from "@/components/molecules/data-display/chat-message";
|
|
5
|
+
import { Conversation, ConversationContent, ConversationEmptyState, } from "@/components/organisms/conversation";
|
|
4
6
|
import { cn } from "@/lib/utils";
|
|
5
|
-
import { ChatMessage, } from "../../molecules/data-display/chat-message";
|
|
6
|
-
import { Conversation, ConversationContent, ConversationEmptyState } from "../conversation";
|
|
7
7
|
export const ChatLog = React.forwardRef(({ messages, onMessageEdit, onMessageDelete, onMessageViewContext, emptyState, emptyStateTitle = "Nenhuma mensagem ainda", emptyStateDescription = "Comece a conversar para ver mensagens aqui", headerActions, filters, className, messageTypeConfig, senderConfig, formatTimestamp, renderMarkdown = true, showActions = true, showTimestamp = true, autoScroll = true, ...props }, ref) => {
|
|
8
8
|
const messagesEndRef = useRef(null);
|
|
9
|
-
const scrollToBottom = () => {
|
|
9
|
+
const scrollToBottom = React.useCallback(() => {
|
|
10
10
|
messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
|
|
11
|
-
};
|
|
11
|
+
}, []);
|
|
12
12
|
useEffect(() => {
|
|
13
13
|
if (autoScroll && messages.length > 0) {
|
|
14
14
|
scrollToBottom();
|
|
15
15
|
}
|
|
16
|
-
}, [messages, autoScroll]);
|
|
16
|
+
}, [messages, autoScroll, scrollToBottom]);
|
|
17
17
|
return (_jsxs("div", { ref: ref, className: cn("h-full flex flex-col", className), ...props, children: [headerActions && (_jsx("div", { className: "flex items-center justify-between p-3 bg-gray-100 dark:bg-gray-800/50 border-b border-gray-200 dark:border-gray-700", children: headerActions })), filters && _jsx("div", { className: "border-b border-gray-200 dark:border-gray-700", children: filters }), _jsxs(Conversation, { className: "flex-1 overflow-y-auto px-1 sm:px-2 bg-gray-50 dark:bg-gray-900/50 rounded-lg border border-gray-200 dark:border-gray-700", children: [_jsx(ConversationContent, { className: "p-4 text-gray-900 dark:text-gray-200 leading-relaxed space-y-3 sm:space-y-4", children: messages.length === 0
|
|
18
18
|
? emptyState || (_jsx(ConversationEmptyState, { title: emptyStateTitle, description: emptyStateDescription }))
|
|
19
19
|
: messages.map((message) => (_jsx(ChatMessage, { message: message, onEdit: onMessageEdit, onDelete: onMessageDelete, onViewContext: onMessageViewContext, renderMarkdown: renderMarkdown, messageTypeConfig: messageTypeConfig, senderConfig: senderConfig, formatTimestamp: formatTimestamp, showActions: showActions, showTimestamp: showTimestamp }, message.id))) }), _jsx("div", { ref: messagesEndRef })] })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/document-editor/document-editor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,uCAAuC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAChD,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IACnC,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,KAAK,IAAI,CAAC;IAC3D,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"document-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/document-editor/document-editor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,uCAAuC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAChD,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IACnC,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,KAAK,IAAI,CAAC;IAC3D,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,eAAO,MAAM,cAAc,4FA4S1B,CAAC"}
|
|
@@ -49,10 +49,10 @@ export const DocumentEditor = React.forwardRef(({ title: controlledTitle, onTitl
|
|
|
49
49
|
// Estado interno para página ativa
|
|
50
50
|
const [internalActivePage, setInternalActivePage] = React.useState(0);
|
|
51
51
|
const activePage = controlledActivePage ?? internalActivePage;
|
|
52
|
-
const handleActivePageChange = (index) => {
|
|
52
|
+
const handleActivePageChange = React.useCallback((index) => {
|
|
53
53
|
setInternalActivePage(index);
|
|
54
54
|
onActivePageChange?.(index);
|
|
55
|
-
};
|
|
55
|
+
}, [onActivePageChange]);
|
|
56
56
|
// Última edição (timestamp)
|
|
57
57
|
const [lastEdit, setLastEdit] = React.useState(new Date());
|
|
58
58
|
// Estado interno para modo de visualização
|
package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draggable-dashboard-grid.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;IAExD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAElE;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAElF;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhE;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,GACV,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"draggable-dashboard-grid.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;IAExD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAElE;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAElF;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhE;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,GACV,EAAE,2BAA2B,2CAoN7B"}
|
|
@@ -111,7 +111,7 @@ export function DraggableDashboardGrid({ widgets, renderWidget, isEditMode, grid
|
|
|
111
111
|
if (emptyState) {
|
|
112
112
|
return _jsx(_Fragment, { children: emptyState });
|
|
113
113
|
}
|
|
114
|
-
return (_jsxs("div", { className: "flex flex-col items-center justify-center min-h-[400px] p-8 text-center", children: [_jsx("div", { className: "mb-4", children:
|
|
114
|
+
return (_jsxs("div", { className: "flex flex-col items-center justify-center min-h-[400px] p-8 text-center", children: [_jsx("div", { className: "mb-4", children: _jsxs("svg", { className: "w-24 h-24 text-muted-foreground mx-auto", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", role: "img", "aria-labelledby": "empty-dashboard-icon-title", children: [_jsx("title", { id: "empty-dashboard-icon-title", children: "\u00CDcone de Dashboard Vazio" }), _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" })] }) }), _jsx("h3", { className: "text-xl font-semibold text-foreground mb-2", children: "Nenhum widget configurado" }), _jsx("p", { className: "text-muted-foreground mb-6 max-w-md", children: "Arraste widgets da paleta para come\u00E7ar a personalizar seu dashboard." })] }));
|
|
115
115
|
}
|
|
116
116
|
return (_jsxs(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragStart: handleDragStart, onDragMove: handleDragMove, onDragEnd: handleDragEnd, onDragCancel: handleDragCancel, children: [_jsx("div", { ref: setDroppableRef, className: cn(className), style: {
|
|
117
117
|
display: "grid",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-layout.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/form-layout/form-layout.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAmCtF;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,KAAK,GACL,KAAK,GACL,UAAU,GACV,UAAU,GACV,QAAQ,GACR,SAAS,GACT,UAAU,GACV,QAAQ,GACR,MAAM,GACN,UAAU,GACV,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,KAAK,GACL,QAAQ,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,WAAW;IACpD,kEAAkE;IAClE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,EAAE,CAAC;IACjE,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,WAAW;IACtD,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,WAAW;IACvD,4BAA4B;IAC5B,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3B,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"form-layout.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/form-layout/form-layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -57,7 +57,9 @@ export function BaseFormField({ config, control }) {
|
|
|
57
57
|
case "slider":
|
|
58
58
|
return (_jsxs("div", { className: "space-y-2", children: [_jsx(Slider, { value: [Number(field.value ?? sliderRange?.min ?? 0)], onValueChange: (vals) => field.onChange(vals[0]), min: sliderRange?.min ?? 0, max: sliderRange?.max ?? 100, step: sliderRange?.step ?? 1, disabled: disabled }), typeof field.value === "number" && (_jsxs("p", { className: "text-xs text-muted-foreground", children: ["Valor: ", field.value] }))] }));
|
|
59
59
|
case "otp":
|
|
60
|
-
return (_jsx(InputOTP, { maxLength: otpLength ?? 6, value: String(field.value ?? ""), onChange: field.onChange, disabled: disabled, children: _jsx(InputOTPGroup, { children: Array.from({ length: otpLength ?? 6 }).map((_, i) => (
|
|
60
|
+
return (_jsx(InputOTP, { maxLength: otpLength ?? 6, value: String(field.value ?? ""), onChange: field.onChange, disabled: disabled, children: _jsx(InputOTPGroup, { children: Array.from({ length: otpLength ?? 6 }).map((_, i) => (
|
|
61
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: O índice é estável para o OTP
|
|
62
|
+
_jsx(InputOTPSlot, { index: i }, i))) }) }));
|
|
61
63
|
case "toggle":
|
|
62
64
|
return (_jsx("div", { className: "flex items-center gap-2", children: _jsx(Toggle, { pressed: !!field.value, onPressedChange: (pressed) => field.onChange(pressed), disabled: disabled, children: label }) }));
|
|
63
65
|
default:
|
|
@@ -86,11 +86,6 @@ export interface GenealogyCanvasProps extends Omit<ComponentProps<typeof Canvas>
|
|
|
86
86
|
*/
|
|
87
87
|
className?: string;
|
|
88
88
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Componente GenealogyCanvas
|
|
91
|
-
*
|
|
92
|
-
* Renderiza uma árvore genealógica interativa usando ReactFlow
|
|
93
|
-
*/
|
|
94
89
|
export declare const GenealogyCanvas: ({ data, initialExpanded, nodeWidth, nodeHeight, horizontalSpacing, verticalSpacing, onNodeSelect, onNodeExpand, onAddRelation, renderNode, className, ...canvasProps }: GenealogyCanvasProps) => import("react/jsx-runtime").JSX.Element;
|
|
95
90
|
export {};
|
|
96
91
|
//# sourceMappingURL=genealogy-canvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genealogy-canvas.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/genealogy-canvas/genealogy-canvas.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAc7F,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAK5D;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC7C,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/C,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAiDD;;GAEG;AACH,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IAC1F;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAE7E;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAE/E;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IAEpD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"genealogy-canvas.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/genealogy-canvas/genealogy-canvas.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAc7F,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAK5D;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC7C,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/C,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAiDD;;GAEG;AACH,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IAC1F;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAE7E;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAE/E;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IAEpD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwED,eAAO,MAAM,eAAe,GAAI,wKAa7B,oBAAoB,4CAyEtB,CAAC"}
|