@uipath/apollo-wind 2.23.0 → 2.24.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.
Files changed (99) hide show
  1. package/dist/components/ui/index.cjs +96 -86
  2. package/dist/components/ui/index.d.ts +1 -0
  3. package/dist/components/ui/index.js +1 -0
  4. package/dist/components/ui/prompt-editor/components/EditorToolbar.cjs +156 -0
  5. package/dist/components/ui/prompt-editor/components/EditorToolbar.d.ts +9 -0
  6. package/dist/components/ui/prompt-editor/components/EditorToolbar.js +122 -0
  7. package/dist/components/ui/prompt-editor/components/MarkdownPreview.cjs +205 -0
  8. package/dist/components/ui/prompt-editor/components/MarkdownPreview.d.ts +14 -0
  9. package/dist/components/ui/prompt-editor/components/MarkdownPreview.js +161 -0
  10. package/dist/components/ui/prompt-editor/components/PromptEditorAutocompleteMenu.cjs +194 -0
  11. package/dist/components/ui/prompt-editor/components/PromptEditorAutocompleteMenu.d.ts +28 -0
  12. package/dist/components/ui/prompt-editor/components/PromptEditorAutocompleteMenu.js +160 -0
  13. package/dist/components/ui/prompt-editor/components/TokenPill.cjs +119 -0
  14. package/dist/components/ui/prompt-editor/components/TokenPill.d.ts +15 -0
  15. package/dist/components/ui/prompt-editor/components/TokenPill.js +85 -0
  16. package/dist/components/ui/prompt-editor/components/TokenPillWithTooltip.cjs +138 -0
  17. package/dist/components/ui/prompt-editor/components/TokenPillWithTooltip.d.ts +13 -0
  18. package/dist/components/ui/prompt-editor/components/TokenPillWithTooltip.js +104 -0
  19. package/dist/components/ui/prompt-editor/components/token-icon-markup.cjs +138 -0
  20. package/dist/components/ui/prompt-editor/components/token-icon-markup.d.ts +16 -0
  21. package/dist/components/ui/prompt-editor/components/token-icon-markup.js +104 -0
  22. package/dist/components/ui/prompt-editor/index.cjs +40 -0
  23. package/dist/components/ui/prompt-editor/index.d.ts +4 -0
  24. package/dist/components/ui/prompt-editor/index.js +3 -0
  25. package/dist/components/ui/prompt-editor/nodes/InputTokenNode.cjs +145 -0
  26. package/dist/components/ui/prompt-editor/nodes/InputTokenNode.d.ts +30 -0
  27. package/dist/components/ui/prompt-editor/nodes/InputTokenNode.js +105 -0
  28. package/dist/components/ui/prompt-editor/nodes/OutputTokenNode.cjs +145 -0
  29. package/dist/components/ui/prompt-editor/nodes/OutputTokenNode.d.ts +30 -0
  30. package/dist/components/ui/prompt-editor/nodes/OutputTokenNode.js +105 -0
  31. package/dist/components/ui/prompt-editor/nodes/ResourceTokenNode.cjs +145 -0
  32. package/dist/components/ui/prompt-editor/nodes/ResourceTokenNode.d.ts +30 -0
  33. package/dist/components/ui/prompt-editor/nodes/ResourceTokenNode.js +105 -0
  34. package/dist/components/ui/prompt-editor/nodes/StateTokenNode.cjs +145 -0
  35. package/dist/components/ui/prompt-editor/nodes/StateTokenNode.d.ts +30 -0
  36. package/dist/components/ui/prompt-editor/nodes/StateTokenNode.js +105 -0
  37. package/dist/components/ui/prompt-editor/nodes/index.cjs +72 -0
  38. package/dist/components/ui/prompt-editor/nodes/index.d.ts +8 -0
  39. package/dist/components/ui/prompt-editor/nodes/index.js +5 -0
  40. package/dist/components/ui/prompt-editor/plugins/AutocompletePlugin.cjs +242 -0
  41. package/dist/components/ui/prompt-editor/plugins/AutocompletePlugin.d.ts +15 -0
  42. package/dist/components/ui/prompt-editor/plugins/AutocompletePlugin.js +208 -0
  43. package/dist/components/ui/prompt-editor/plugins/CopyPastePlugin.cjs +164 -0
  44. package/dist/components/ui/prompt-editor/plugins/CopyPastePlugin.d.ts +1 -0
  45. package/dist/components/ui/prompt-editor/plugins/CopyPastePlugin.js +130 -0
  46. package/dist/components/ui/prompt-editor/plugins/EditorRefPlugin.cjs +50 -0
  47. package/dist/components/ui/prompt-editor/plugins/EditorRefPlugin.d.ts +4 -0
  48. package/dist/components/ui/prompt-editor/plugins/EditorRefPlugin.js +16 -0
  49. package/dist/components/ui/prompt-editor/plugins/MultilinePlugin.cjs +108 -0
  50. package/dist/components/ui/prompt-editor/plugins/MultilinePlugin.d.ts +3 -0
  51. package/dist/components/ui/prompt-editor/plugins/MultilinePlugin.js +74 -0
  52. package/dist/components/ui/prompt-editor/plugins/NodeSelectionFixPlugin.cjs +313 -0
  53. package/dist/components/ui/prompt-editor/plugins/NodeSelectionFixPlugin.d.ts +7 -0
  54. package/dist/components/ui/prompt-editor/plugins/NodeSelectionFixPlugin.js +276 -0
  55. package/dist/components/ui/prompt-editor/plugins/RenameTokensPlugin.cjs +186 -0
  56. package/dist/components/ui/prompt-editor/plugins/RenameTokensPlugin.d.ts +7 -0
  57. package/dist/components/ui/prompt-editor/plugins/RenameTokensPlugin.js +152 -0
  58. package/dist/components/ui/prompt-editor/plugins/ToolbarActionsPlugin.cjs +132 -0
  59. package/dist/components/ui/prompt-editor/plugins/ToolbarActionsPlugin.d.ts +7 -0
  60. package/dist/components/ui/prompt-editor/plugins/ToolbarActionsPlugin.js +98 -0
  61. package/dist/components/ui/prompt-editor/plugins/ValidateTokensPlugin.cjs +85 -0
  62. package/dist/components/ui/prompt-editor/plugins/ValidateTokensPlugin.d.ts +4 -0
  63. package/dist/components/ui/prompt-editor/plugins/ValidateTokensPlugin.js +51 -0
  64. package/dist/components/ui/prompt-editor/plugins/ValueSyncPlugin.cjs +98 -0
  65. package/dist/components/ui/prompt-editor/plugins/ValueSyncPlugin.d.ts +8 -0
  66. package/dist/components/ui/prompt-editor/plugins/ValueSyncPlugin.js +64 -0
  67. package/dist/components/ui/prompt-editor/plugins/VariableDropPlugin.cjs +137 -0
  68. package/dist/components/ui/prompt-editor/plugins/VariableDropPlugin.d.ts +19 -0
  69. package/dist/components/ui/prompt-editor/plugins/VariableDropPlugin.js +100 -0
  70. package/dist/components/ui/prompt-editor/plugins/shared/token-nodes.cjs +49 -0
  71. package/dist/components/ui/prompt-editor/plugins/shared/token-nodes.d.ts +8 -0
  72. package/dist/components/ui/prompt-editor/plugins/shared/token-nodes.js +12 -0
  73. package/dist/components/ui/prompt-editor/prompt-editor.cjs +402 -0
  74. package/dist/components/ui/prompt-editor/prompt-editor.d.ts +35 -0
  75. package/dist/components/ui/prompt-editor/prompt-editor.js +368 -0
  76. package/dist/components/ui/prompt-editor/types.cjs +74 -0
  77. package/dist/components/ui/prompt-editor/types.d.ts +58 -0
  78. package/dist/components/ui/prompt-editor/types.js +31 -0
  79. package/dist/components/ui/prompt-editor/utils/autocomplete-segments.cjs +60 -0
  80. package/dist/components/ui/prompt-editor/utils/autocomplete-segments.d.ts +29 -0
  81. package/dist/components/ui/prompt-editor/utils/autocomplete-segments.js +20 -0
  82. package/dist/components/ui/prompt-editor/utils/comparison.cjs +39 -0
  83. package/dist/components/ui/prompt-editor/utils/comparison.d.ts +3 -0
  84. package/dist/components/ui/prompt-editor/utils/comparison.js +5 -0
  85. package/dist/components/ui/prompt-editor/utils/index.cjs +68 -0
  86. package/dist/components/ui/prompt-editor/utils/index.d.ts +3 -0
  87. package/dist/components/ui/prompt-editor/utils/index.js +4 -0
  88. package/dist/components/ui/prompt-editor/utils/insert-token.cjs +103 -0
  89. package/dist/components/ui/prompt-editor/utils/insert-token.d.ts +12 -0
  90. package/dist/components/ui/prompt-editor/utils/insert-token.js +66 -0
  91. package/dist/components/ui/prompt-editor/utils/serialization.cjs +255 -0
  92. package/dist/components/ui/prompt-editor/utils/serialization.d.ts +16 -0
  93. package/dist/components/ui/prompt-editor/utils/serialization.js +200 -0
  94. package/dist/index.cjs +7 -0
  95. package/dist/index.d.ts +2 -0
  96. package/dist/index.js +2 -1
  97. package/dist/styles.css +42 -0
  98. package/dist/tailwind.utilities.css +1 -1
  99. package/package.json +7 -1
@@ -0,0 +1,200 @@
1
+ import { $createLineBreakNode, $createParagraphNode, $createTextNode, $getRoot, $isLineBreakNode, $isParagraphNode, $isRangeSelection, $isTextNode } from "lexical";
2
+ import { createInputTokenNode, createOutputTokenNode, createResourceTokenNode, createStateTokenNode, isInputTokenNode, isOutputTokenNode, isResourceTokenNode, isStateTokenNode } from "../nodes/index.js";
3
+ const WORD_JOINER = '\u2060';
4
+ const appendTextToken = (tokens, raw)=>{
5
+ const text = raw.split(WORD_JOINER).join('');
6
+ if (!text) return;
7
+ const lastToken = tokens[tokens.length - 1];
8
+ if (lastToken && 'text' === lastToken.type) lastToken.value += text;
9
+ else tokens.push({
10
+ type: 'text',
11
+ value: text
12
+ });
13
+ };
14
+ const $getEditorTokensInternal = ()=>{
15
+ const root = $getRoot();
16
+ const tokens = [];
17
+ const addText = (raw)=>appendTextToken(tokens, raw);
18
+ const traverseChildren = (children)=>{
19
+ for (const node of children)if ($isTextNode(node)) addText(node.getTextContent());
20
+ else if ($isLineBreakNode(node)) addText('\n');
21
+ else if (isInputTokenNode(node)) tokens.push({
22
+ type: 'input',
23
+ value: node.getValue()
24
+ });
25
+ else if (isOutputTokenNode(node)) tokens.push({
26
+ type: 'output',
27
+ value: node.getValue()
28
+ });
29
+ else if (isStateTokenNode(node)) tokens.push({
30
+ type: 'state',
31
+ value: node.getValue()
32
+ });
33
+ else if (isResourceTokenNode(node)) tokens.push({
34
+ type: 'resource',
35
+ value: node.getValue()
36
+ });
37
+ };
38
+ const paragraphs = root.getChildren();
39
+ for(let i = 0; i < paragraphs.length; i++){
40
+ const paragraph = paragraphs[i];
41
+ if ($isParagraphNode(paragraph)) {
42
+ traverseChildren(paragraph.getChildren());
43
+ if (i < paragraphs.length - 1) addText('\n');
44
+ }
45
+ }
46
+ return tokens;
47
+ };
48
+ const $setEditorTokensInternal = (tokens)=>{
49
+ if (!Array.isArray(tokens)) throw new TypeError('setEditorTokensInternal: tokens must be an array');
50
+ const root = $getRoot();
51
+ root.clear();
52
+ const currentParagraph = $createParagraphNode();
53
+ for (const token of tokens)if ('text' === token.type) {
54
+ const lines = token.value.split('\n');
55
+ for(let i = 0; i < lines.length; i++){
56
+ if (lines[i]) currentParagraph.append($createTextNode(lines[i]));
57
+ if (i < lines.length - 1) currentParagraph.append($createLineBreakNode());
58
+ }
59
+ } else {
60
+ let node;
61
+ switch(token.type){
62
+ case 'input':
63
+ node = createInputTokenNode(token.value);
64
+ break;
65
+ case 'output':
66
+ node = createOutputTokenNode(token.value);
67
+ break;
68
+ case 'state':
69
+ node = createStateTokenNode(token.value);
70
+ break;
71
+ case 'resource':
72
+ node = createResourceTokenNode(token.value);
73
+ break;
74
+ default:
75
+ throw new Error(`Unknown token type: ${token.type}`);
76
+ }
77
+ currentParagraph.append(node);
78
+ }
79
+ root.append(currentParagraph);
80
+ };
81
+ const getEditorTokens = (editor)=>{
82
+ let tokens = [];
83
+ editor.getEditorState().read(()=>{
84
+ tokens = $getEditorTokensInternal();
85
+ });
86
+ return tokens;
87
+ };
88
+ const setEditorTokens = (editor, tokens)=>{
89
+ editor.update(()=>$setEditorTokensInternal(tokens), {
90
+ discrete: true
91
+ });
92
+ };
93
+ const tokensToClipboardString = (tokens)=>{
94
+ let result = '';
95
+ for (const token of tokens)if ('text' === token.type) result += token.value;
96
+ else result += `{{ ${token.value} }}`;
97
+ return result;
98
+ };
99
+ const clipboardStringToTokens = (str)=>{
100
+ const tokens = [];
101
+ let currentText = '';
102
+ let i = 0;
103
+ const flushText = ()=>{
104
+ if (currentText.length > 0) {
105
+ tokens.push({
106
+ type: 'text',
107
+ value: currentText
108
+ });
109
+ currentText = '';
110
+ }
111
+ };
112
+ while(i < str.length){
113
+ if ('{' === str[i] && i + 1 < str.length && '{' === str[i + 1]) {
114
+ flushText();
115
+ i += 2;
116
+ let inner = '';
117
+ let foundClosing = false;
118
+ while(i < str.length){
119
+ if ('}' === str[i] && i + 1 < str.length && '}' === str[i + 1]) {
120
+ i += 2;
121
+ foundClosing = true;
122
+ break;
123
+ }
124
+ inner += str[i];
125
+ i++;
126
+ }
127
+ if (foundClosing && inner.trim()) tokens.push({
128
+ type: 'input',
129
+ value: inner.trim()
130
+ });
131
+ else if (foundClosing) currentText += '{{}}';
132
+ else currentText += `{{${inner}`;
133
+ continue;
134
+ }
135
+ currentText += str[i];
136
+ i++;
137
+ }
138
+ flushText();
139
+ return tokens;
140
+ };
141
+ const getEditorTokensFromSelection = (selection)=>{
142
+ if (!$isRangeSelection(selection)) return [];
143
+ if (selection.isCollapsed()) return [];
144
+ const tokens = [];
145
+ const addText = (raw)=>appendTextToken(tokens, raw);
146
+ const selectedNodes = selection.getNodes();
147
+ const anchorKey = selection.anchor.key;
148
+ const focusKey = selection.focus.key;
149
+ const anchorOffset = selection.anchor.offset;
150
+ const focusOffset = selection.focus.offset;
151
+ const anchorNode = selection.anchor.getNode();
152
+ const nodeKeys = new Set(selectedNodes.map((n)=>n.getKey()));
153
+ const nodesToProcess = [];
154
+ if ($isTextNode(anchorNode) && !nodeKeys.has(anchorKey)) nodesToProcess.push(anchorNode);
155
+ nodesToProcess.push(...selectedNodes);
156
+ if (0 === nodesToProcess.length) return [];
157
+ const firstSelectedNode = nodesToProcess[0];
158
+ const isForward = 1 === nodesToProcess.length ? anchorOffset <= focusOffset : firstSelectedNode.getKey() === anchorKey || firstSelectedNode.getParent()?.getKey() === anchorKey;
159
+ let prevNodeParagraph = null;
160
+ for (const node of nodesToProcess){
161
+ const nodeKey = node.getKey();
162
+ const nodeType = node.getType();
163
+ const nodeParagraph = $isParagraphNode(node) ? node : node.getParent();
164
+ if (prevNodeParagraph && nodeParagraph && prevNodeParagraph !== nodeParagraph) addText('\n');
165
+ prevNodeParagraph = nodeParagraph;
166
+ if (!$isParagraphNode(node)) {
167
+ if ('input-token' === nodeType) tokens.push({
168
+ type: 'input',
169
+ value: node.getValue()
170
+ });
171
+ else if ('output-token' === nodeType) tokens.push({
172
+ type: 'output',
173
+ value: node.getValue()
174
+ });
175
+ else if ('state-token' === nodeType) tokens.push({
176
+ type: 'state',
177
+ value: node.getValue()
178
+ });
179
+ else if ('resource-token' === nodeType) tokens.push({
180
+ type: 'resource',
181
+ value: node.getValue()
182
+ });
183
+ else if ($isTextNode(node)) {
184
+ const textContent = node.getTextContent();
185
+ let selectedText = textContent;
186
+ const isAnchorNode = nodeKey === anchorKey;
187
+ const isFocusNode = nodeKey === focusKey;
188
+ if (isAnchorNode && isFocusNode) {
189
+ const start = Math.min(anchorOffset, focusOffset);
190
+ const end = Math.max(anchorOffset, focusOffset);
191
+ selectedText = textContent.slice(start, end);
192
+ } else if (isAnchorNode) selectedText = isForward ? textContent.slice(anchorOffset) : textContent.slice(0, anchorOffset);
193
+ else if (isFocusNode) selectedText = isForward ? textContent.slice(0, focusOffset) : textContent.slice(focusOffset);
194
+ if (selectedText) addText(selectedText);
195
+ } else if ($isLineBreakNode(node)) addText('\n');
196
+ }
197
+ }
198
+ return tokens;
199
+ };
200
+ export { $getEditorTokensInternal, $setEditorTokensInternal, WORD_JOINER, clipboardStringToTokens, getEditorTokens, getEditorTokensFromSelection, setEditorTokens, tokensToClipboardString };
package/dist/index.cjs CHANGED
@@ -67,6 +67,7 @@ __webpack_require__.d(__webpack_exports__, {
67
67
  CommandSeparator: ()=>command_cjs_namespaceObject.CommandSeparator,
68
68
  FormFieldRenderer: ()=>field_renderer_cjs_namespaceObject.FormFieldRenderer,
69
69
  EditableCell: ()=>editable_cell_cjs_namespaceObject.EditableCell,
70
+ PromptEditor: ()=>index_cjs_namespaceObject.PromptEditor,
70
71
  Spinner: ()=>spinner_cjs_namespaceObject.Spinner,
71
72
  buttonVariants: ()=>button_cjs_namespaceObject.buttonVariants,
72
73
  SheetOverlay: ()=>sheet_cjs_namespaceObject.SheetOverlay,
@@ -129,6 +130,7 @@ __webpack_require__.d(__webpack_exports__, {
129
130
  TooltipProvider: ()=>tooltip_cjs_namespaceObject.TooltipProvider,
130
131
  DataFetcher: ()=>data_fetcher_cjs_namespaceObject.DataFetcher,
131
132
  DialogPortal: ()=>dialog_cjs_namespaceObject.DialogPortal,
133
+ VARIABLE_DRAG_MIME: ()=>index_cjs_namespaceObject.VARIABLE_DRAG_MIME,
132
134
  analyticsPlugin: ()=>form_plugins_cjs_namespaceObject.analyticsPlugin,
133
135
  cn: ()=>utils_cjs_namespaceObject.cn,
134
136
  DropdownMenuSub: ()=>dropdown_menu_cjs_namespaceObject.DropdownMenuSub,
@@ -276,6 +278,7 @@ const table_cjs_namespaceObject = require("./components/ui/table.cjs");
276
278
  const data_table_cjs_namespaceObject = require("./components/ui/data-table.cjs");
277
279
  const editable_cell_cjs_namespaceObject = require("./components/ui/editable-cell.cjs");
278
280
  const progress_cjs_namespaceObject = require("./components/ui/progress.cjs");
281
+ const index_cjs_namespaceObject = require("./components/ui/prompt-editor/index.cjs");
279
282
  const skeleton_cjs_namespaceObject = require("./components/ui/skeleton.cjs");
280
283
  const spinner_cjs_namespaceObject = require("./components/ui/spinner.cjs");
281
284
  const empty_state_cjs_namespaceObject = require("./components/ui/empty-state.cjs");
@@ -442,6 +445,7 @@ exports.PopoverAnchor = __webpack_exports__.PopoverAnchor;
442
445
  exports.PopoverContent = __webpack_exports__.PopoverContent;
443
446
  exports.PopoverTrigger = __webpack_exports__.PopoverTrigger;
444
447
  exports.Progress = __webpack_exports__.Progress;
448
+ exports.PromptEditor = __webpack_exports__.PromptEditor;
445
449
  exports.RadioGroup = __webpack_exports__.RadioGroup;
446
450
  exports.RadioGroupItem = __webpack_exports__.RadioGroupItem;
447
451
  exports.ResizableHandle = __webpack_exports__.ResizableHandle;
@@ -504,6 +508,7 @@ exports.TooltipPortal = __webpack_exports__.TooltipPortal;
504
508
  exports.TooltipProvider = __webpack_exports__.TooltipProvider;
505
509
  exports.TooltipTrigger = __webpack_exports__.TooltipTrigger;
506
510
  exports.TreeView = __webpack_exports__.TreeView;
511
+ exports.VARIABLE_DRAG_MIME = __webpack_exports__.VARIABLE_DRAG_MIME;
507
512
  exports.analyticsPlugin = __webpack_exports__.analyticsPlugin;
508
513
  exports.auditPlugin = __webpack_exports__.auditPlugin;
509
514
  exports.autoSavePlugin = __webpack_exports__.autoSavePlugin;
@@ -654,6 +659,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
654
659
  "PopoverContent",
655
660
  "PopoverTrigger",
656
661
  "Progress",
662
+ "PromptEditor",
657
663
  "RadioGroup",
658
664
  "RadioGroupItem",
659
665
  "ResizableHandle",
@@ -716,6 +722,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
716
722
  "TooltipProvider",
717
723
  "TooltipTrigger",
718
724
  "TreeView",
725
+ "VARIABLE_DRAG_MIME",
719
726
  "analyticsPlugin",
720
727
  "auditPlugin",
721
728
  "autoSavePlugin",
package/dist/index.d.ts CHANGED
@@ -44,6 +44,8 @@ export type { DataTableProps } from './components/ui/data-table';
44
44
  export { EditableCell, createEditableColumn, } from './components/ui/editable-cell';
45
45
  export type { EditableCellMeta, EditableCellType, } from './components/ui/editable-cell';
46
46
  export { Progress } from './components/ui/progress';
47
+ export { PromptEditor, VARIABLE_DRAG_MIME } from './components/ui/prompt-editor';
48
+ export type { PromptEditorAutoCompleteOption, PromptEditorMode, PromptEditorProps, PromptEditorRef, PromptEditorToken, PromptEditorTokenType, } from './components/ui/prompt-editor';
47
49
  export { Skeleton } from './components/ui/skeleton';
48
50
  export { Spinner, spinnerVariants } from './components/ui/spinner';
49
51
  export type { SpinnerProps } from './components/ui/spinner';
package/dist/index.js CHANGED
@@ -29,6 +29,7 @@ import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, Tabl
29
29
  import { DataTable, DataTableColumnHeader, DataTableSelectColumn } from "./components/ui/data-table.js";
30
30
  import { EditableCell, createEditableColumn } from "./components/ui/editable-cell.js";
31
31
  import { Progress } from "./components/ui/progress.js";
32
+ import { PromptEditor, VARIABLE_DRAG_MIME } from "./components/ui/prompt-editor/index.js";
32
33
  import { Skeleton } from "./components/ui/skeleton.js";
33
34
  import { Spinner, spinnerVariants } from "./components/ui/spinner.js";
34
35
  import { EmptyState } from "./components/ui/empty-state.js";
@@ -62,4 +63,4 @@ import { ExpressionBuilder, RuleBuilder, RulesEngine } from "./components/forms/
62
63
  import { DataFetcher, DataSourceBuilder, DataTransformers, FetchAdapter } from "./components/forms/data-fetcher.js";
63
64
  import { analyticsPlugin, auditPlugin, autoSavePlugin, formattingPlugin, validationPlugin, workflowPlugin } from "./components/forms/form-plugins.js";
64
65
  import { hasMinMaxStep, hasOptions, isCustomField, isFileField } from "./components/forms/form-schema.js";
65
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Column, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataFetcher, DataSourceBuilder, DataTable, DataTableColumnHeader, DataTableSelectColumn, DataTransformers, DatePicker, DateTimePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableCell, EmptyState, ExpressionBuilder, FetchAdapter, FileUpload, FormDesigner, FormFieldRenderer, FormStateViewer, Grid, HoverCard, HoverCardContent, HoverCardTrigger, Input, Label, MetadataForm, MultiSelect, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Row, RuleBuilder, RulesEngine, ScrollArea, ScrollBar, Search, SearchWithSuggestions, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, Spinner, StatsCard, Stepper, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, tree_view as TreeView, analyticsPlugin, auditPlugin, autoSavePlugin, badgeVariants, buttonVariants, cn, createEditableColumn, formattingPlugin, hasMinMaxStep, hasOptions, isCustomField, isFileField, spinnerVariants, toast, toggleVariants, validationPlugin, workflowPlugin };
66
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Column, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataFetcher, DataSourceBuilder, DataTable, DataTableColumnHeader, DataTableSelectColumn, DataTransformers, DatePicker, DateTimePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableCell, EmptyState, ExpressionBuilder, FetchAdapter, FileUpload, FormDesigner, FormFieldRenderer, FormStateViewer, Grid, HoverCard, HoverCardContent, HoverCardTrigger, Input, Label, MetadataForm, MultiSelect, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, PromptEditor, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Row, RuleBuilder, RulesEngine, ScrollArea, ScrollBar, Search, SearchWithSuggestions, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, Spinner, StatsCard, Stepper, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, tree_view as TreeView, VARIABLE_DRAG_MIME, analyticsPlugin, auditPlugin, autoSavePlugin, badgeVariants, buttonVariants, cn, createEditableColumn, formattingPlugin, hasMinMaxStep, hasOptions, isCustomField, isFileField, spinnerVariants, toast, toggleVariants, validationPlugin, workflowPlugin };
package/dist/styles.css CHANGED
@@ -291,6 +291,7 @@
291
291
  --color-card: var(--card);
292
292
  --color-primary: var(--primary);
293
293
  --color-muted: var(--muted);
294
+ --color-muted-foreground: var(--muted-foreground);
294
295
  --color-border: var(--ap-wind-border);
295
296
  --color-border-de-emp: var(--border-de-emp);
296
297
  --color-ring: var(--ring);
@@ -298,6 +299,7 @@
298
299
  --color-foreground-link: var(--foreground-link);
299
300
  --color-border-disabled: var(--border-disabled);
300
301
  --color-border-grid: var(--border-grid);
302
+ --color-error: var(--error);
301
303
  --color-logo: var(--logo);
302
304
  --color-background-secondary: var(--color-background-secondary);
303
305
  --color-background-inverse: var(--color-background-inverse);
@@ -1475,6 +1477,9 @@
1475
1477
  .max-w-\[220px\] {
1476
1478
  max-width: 220px;
1477
1479
  }
1480
+ .max-w-\[320px\] {
1481
+ max-width: 320px;
1482
+ }
1478
1483
  .max-w-\[360px\] {
1479
1484
  max-width: 360px;
1480
1485
  }
@@ -1541,6 +1546,9 @@
1541
1546
  .flex-1 {
1542
1547
  flex: 1;
1543
1548
  }
1549
+ .flex-shrink {
1550
+ flex-shrink: 1;
1551
+ }
1544
1552
  .shrink-0 {
1545
1553
  flex-shrink: 0;
1546
1554
  }
@@ -1780,6 +1788,9 @@
1780
1788
  .gap-\[--spacing\(var\(--gap\)\)\] {
1781
1789
  gap: calc(var(--spacing) * var(--gap));
1782
1790
  }
1791
+ .gap-\[3px\] {
1792
+ gap: 3px;
1793
+ }
1783
1794
  .gap-\[15px\] {
1784
1795
  gap: 15px;
1785
1796
  }
@@ -2090,6 +2101,10 @@
2090
2101
  border-bottom-style: var(--tw-border-style);
2091
2102
  border-bottom-width: 1px;
2092
2103
  }
2104
+ .border-b-0 {
2105
+ border-bottom-style: var(--tw-border-style);
2106
+ border-bottom-width: 0px;
2107
+ }
2093
2108
  .border-b-2 {
2094
2109
  border-bottom-style: var(--tw-border-style);
2095
2110
  border-bottom-width: 2px;
@@ -2436,6 +2451,18 @@
2436
2451
  .bg-border-subtle {
2437
2452
  background-color: var(--border-subtle);
2438
2453
  }
2454
+ .bg-border\/40 {
2455
+ background-color: var(--ap-wind-border);
2456
+ @supports (color: color-mix(in lab, red, red)) {
2457
+ background-color: color-mix(in oklab, var(--ap-wind-border) 40%, transparent);
2458
+ }
2459
+ }
2460
+ .bg-border\/60 {
2461
+ background-color: var(--ap-wind-border);
2462
+ @supports (color: color-mix(in lab, red, red)) {
2463
+ background-color: color-mix(in oklab, var(--ap-wind-border) 60%, transparent);
2464
+ }
2465
+ }
2439
2466
  .bg-brand {
2440
2467
  background-color: var(--brand);
2441
2468
  }
@@ -3890,6 +3917,12 @@
3890
3917
  .text-muted-foreground {
3891
3918
  color: var(--muted-foreground);
3892
3919
  }
3920
+ .text-muted-foreground\/60 {
3921
+ color: var(--muted-foreground);
3922
+ @supports (color: color-mix(in lab, red, red)) {
3923
+ color: color-mix(in oklab, var(--muted-foreground) 60%, transparent);
3924
+ }
3925
+ }
3893
3926
  .text-muted-foreground\/70 {
3894
3927
  color: var(--muted-foreground);
3895
3928
  @supports (color: color-mix(in lab, red, red)) {
@@ -4032,6 +4065,12 @@
4032
4065
  .opacity-70 {
4033
4066
  opacity: 70%;
4034
4067
  }
4068
+ .opacity-80 {
4069
+ opacity: 80%;
4070
+ }
4071
+ .opacity-95 {
4072
+ opacity: 95%;
4073
+ }
4035
4074
  .opacity-100 {
4036
4075
  opacity: 100%;
4037
4076
  }
@@ -4128,6 +4167,9 @@
4128
4167
  outline-style: var(--tw-outline-style);
4129
4168
  outline-width: 1px;
4130
4169
  }
4170
+ .outline-offset-1 {
4171
+ outline-offset: 1px;
4172
+ }
4131
4173
  .blur {
4132
4174
  --tw-blur: blur(8px);
4133
4175
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
@@ -60,4 +60,4 @@
60
60
 
61
61
  @utility animate-fade-in {
62
62
  animation: apollo-fade-in 250ms ease-out;
63
- }
63
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-wind",
3
- "version": "2.23.0",
3
+ "version": "2.24.0",
4
4
  "description": "UiPath wind design system - A Tailwind CSS based React component library",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -70,6 +70,9 @@
70
70
  "@dnd-kit/sortable": "^10.0.0",
71
71
  "@dnd-kit/utilities": "^3.2.2",
72
72
  "@hookform/resolvers": "^5.2.2",
73
+ "@lexical/clipboard": "0.42.0",
74
+ "@lexical/react": "0.42.0",
75
+ "@lexical/utils": "0.42.0",
73
76
  "@radix-ui/react-accordion": "^1.2.12",
74
77
  "@radix-ui/react-alert-dialog": "^1.1.15",
75
78
  "@radix-ui/react-aspect-ratio": "^1.1.8",
@@ -104,9 +107,12 @@
104
107
  "clsx": "^2.1.1",
105
108
  "cmdk": "^1.1.1",
106
109
  "date-fns": "^4.1.0",
110
+ "dompurify": "^3.4.0",
107
111
  "framer-motion": "^12.26.2",
108
112
  "jsep": "^1.4.0",
113
+ "lexical": "0.42.0",
109
114
  "lucide-react": "^0.577.0",
115
+ "marked": "^17.0.6",
110
116
  "next-themes": "^0.4.6",
111
117
  "react-day-picker": "^9.13.0",
112
118
  "react-hook-form": "^7.66.1",