@uipath/apollo-wind 2.22.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 (103) hide show
  1. package/dist/components/forms/metadata-form.cjs +2 -2
  2. package/dist/components/forms/metadata-form.js +2 -2
  3. package/dist/components/ui/index.cjs +92 -82
  4. package/dist/components/ui/index.d.ts +1 -0
  5. package/dist/components/ui/index.js +1 -0
  6. package/dist/components/ui/prompt-editor/components/EditorToolbar.cjs +156 -0
  7. package/dist/components/ui/prompt-editor/components/EditorToolbar.d.ts +9 -0
  8. package/dist/components/ui/prompt-editor/components/EditorToolbar.js +122 -0
  9. package/dist/components/ui/prompt-editor/components/MarkdownPreview.cjs +205 -0
  10. package/dist/components/ui/prompt-editor/components/MarkdownPreview.d.ts +14 -0
  11. package/dist/components/ui/prompt-editor/components/MarkdownPreview.js +161 -0
  12. package/dist/components/ui/prompt-editor/components/PromptEditorAutocompleteMenu.cjs +194 -0
  13. package/dist/components/ui/prompt-editor/components/PromptEditorAutocompleteMenu.d.ts +28 -0
  14. package/dist/components/ui/prompt-editor/components/PromptEditorAutocompleteMenu.js +160 -0
  15. package/dist/components/ui/prompt-editor/components/TokenPill.cjs +119 -0
  16. package/dist/components/ui/prompt-editor/components/TokenPill.d.ts +15 -0
  17. package/dist/components/ui/prompt-editor/components/TokenPill.js +85 -0
  18. package/dist/components/ui/prompt-editor/components/TokenPillWithTooltip.cjs +138 -0
  19. package/dist/components/ui/prompt-editor/components/TokenPillWithTooltip.d.ts +13 -0
  20. package/dist/components/ui/prompt-editor/components/TokenPillWithTooltip.js +104 -0
  21. package/dist/components/ui/prompt-editor/components/token-icon-markup.cjs +138 -0
  22. package/dist/components/ui/prompt-editor/components/token-icon-markup.d.ts +16 -0
  23. package/dist/components/ui/prompt-editor/components/token-icon-markup.js +104 -0
  24. package/dist/components/ui/prompt-editor/index.cjs +40 -0
  25. package/dist/components/ui/prompt-editor/index.d.ts +4 -0
  26. package/dist/components/ui/prompt-editor/index.js +3 -0
  27. package/dist/components/ui/prompt-editor/nodes/InputTokenNode.cjs +145 -0
  28. package/dist/components/ui/prompt-editor/nodes/InputTokenNode.d.ts +30 -0
  29. package/dist/components/ui/prompt-editor/nodes/InputTokenNode.js +105 -0
  30. package/dist/components/ui/prompt-editor/nodes/OutputTokenNode.cjs +145 -0
  31. package/dist/components/ui/prompt-editor/nodes/OutputTokenNode.d.ts +30 -0
  32. package/dist/components/ui/prompt-editor/nodes/OutputTokenNode.js +105 -0
  33. package/dist/components/ui/prompt-editor/nodes/ResourceTokenNode.cjs +145 -0
  34. package/dist/components/ui/prompt-editor/nodes/ResourceTokenNode.d.ts +30 -0
  35. package/dist/components/ui/prompt-editor/nodes/ResourceTokenNode.js +105 -0
  36. package/dist/components/ui/prompt-editor/nodes/StateTokenNode.cjs +145 -0
  37. package/dist/components/ui/prompt-editor/nodes/StateTokenNode.d.ts +30 -0
  38. package/dist/components/ui/prompt-editor/nodes/StateTokenNode.js +105 -0
  39. package/dist/components/ui/prompt-editor/nodes/index.cjs +72 -0
  40. package/dist/components/ui/prompt-editor/nodes/index.d.ts +8 -0
  41. package/dist/components/ui/prompt-editor/nodes/index.js +5 -0
  42. package/dist/components/ui/prompt-editor/plugins/AutocompletePlugin.cjs +242 -0
  43. package/dist/components/ui/prompt-editor/plugins/AutocompletePlugin.d.ts +15 -0
  44. package/dist/components/ui/prompt-editor/plugins/AutocompletePlugin.js +208 -0
  45. package/dist/components/ui/prompt-editor/plugins/CopyPastePlugin.cjs +164 -0
  46. package/dist/components/ui/prompt-editor/plugins/CopyPastePlugin.d.ts +1 -0
  47. package/dist/components/ui/prompt-editor/plugins/CopyPastePlugin.js +130 -0
  48. package/dist/components/ui/prompt-editor/plugins/EditorRefPlugin.cjs +50 -0
  49. package/dist/components/ui/prompt-editor/plugins/EditorRefPlugin.d.ts +4 -0
  50. package/dist/components/ui/prompt-editor/plugins/EditorRefPlugin.js +16 -0
  51. package/dist/components/ui/prompt-editor/plugins/MultilinePlugin.cjs +108 -0
  52. package/dist/components/ui/prompt-editor/plugins/MultilinePlugin.d.ts +3 -0
  53. package/dist/components/ui/prompt-editor/plugins/MultilinePlugin.js +74 -0
  54. package/dist/components/ui/prompt-editor/plugins/NodeSelectionFixPlugin.cjs +313 -0
  55. package/dist/components/ui/prompt-editor/plugins/NodeSelectionFixPlugin.d.ts +7 -0
  56. package/dist/components/ui/prompt-editor/plugins/NodeSelectionFixPlugin.js +276 -0
  57. package/dist/components/ui/prompt-editor/plugins/RenameTokensPlugin.cjs +186 -0
  58. package/dist/components/ui/prompt-editor/plugins/RenameTokensPlugin.d.ts +7 -0
  59. package/dist/components/ui/prompt-editor/plugins/RenameTokensPlugin.js +152 -0
  60. package/dist/components/ui/prompt-editor/plugins/ToolbarActionsPlugin.cjs +132 -0
  61. package/dist/components/ui/prompt-editor/plugins/ToolbarActionsPlugin.d.ts +7 -0
  62. package/dist/components/ui/prompt-editor/plugins/ToolbarActionsPlugin.js +98 -0
  63. package/dist/components/ui/prompt-editor/plugins/ValidateTokensPlugin.cjs +85 -0
  64. package/dist/components/ui/prompt-editor/plugins/ValidateTokensPlugin.d.ts +4 -0
  65. package/dist/components/ui/prompt-editor/plugins/ValidateTokensPlugin.js +51 -0
  66. package/dist/components/ui/prompt-editor/plugins/ValueSyncPlugin.cjs +98 -0
  67. package/dist/components/ui/prompt-editor/plugins/ValueSyncPlugin.d.ts +8 -0
  68. package/dist/components/ui/prompt-editor/plugins/ValueSyncPlugin.js +64 -0
  69. package/dist/components/ui/prompt-editor/plugins/VariableDropPlugin.cjs +137 -0
  70. package/dist/components/ui/prompt-editor/plugins/VariableDropPlugin.d.ts +19 -0
  71. package/dist/components/ui/prompt-editor/plugins/VariableDropPlugin.js +100 -0
  72. package/dist/components/ui/prompt-editor/plugins/shared/token-nodes.cjs +49 -0
  73. package/dist/components/ui/prompt-editor/plugins/shared/token-nodes.d.ts +8 -0
  74. package/dist/components/ui/prompt-editor/plugins/shared/token-nodes.js +12 -0
  75. package/dist/components/ui/prompt-editor/prompt-editor.cjs +402 -0
  76. package/dist/components/ui/prompt-editor/prompt-editor.d.ts +35 -0
  77. package/dist/components/ui/prompt-editor/prompt-editor.js +368 -0
  78. package/dist/components/ui/prompt-editor/types.cjs +74 -0
  79. package/dist/components/ui/prompt-editor/types.d.ts +58 -0
  80. package/dist/components/ui/prompt-editor/types.js +31 -0
  81. package/dist/components/ui/prompt-editor/utils/autocomplete-segments.cjs +60 -0
  82. package/dist/components/ui/prompt-editor/utils/autocomplete-segments.d.ts +29 -0
  83. package/dist/components/ui/prompt-editor/utils/autocomplete-segments.js +20 -0
  84. package/dist/components/ui/prompt-editor/utils/comparison.cjs +39 -0
  85. package/dist/components/ui/prompt-editor/utils/comparison.d.ts +3 -0
  86. package/dist/components/ui/prompt-editor/utils/comparison.js +5 -0
  87. package/dist/components/ui/prompt-editor/utils/index.cjs +68 -0
  88. package/dist/components/ui/prompt-editor/utils/index.d.ts +3 -0
  89. package/dist/components/ui/prompt-editor/utils/index.js +4 -0
  90. package/dist/components/ui/prompt-editor/utils/insert-token.cjs +103 -0
  91. package/dist/components/ui/prompt-editor/utils/insert-token.d.ts +12 -0
  92. package/dist/components/ui/prompt-editor/utils/insert-token.js +66 -0
  93. package/dist/components/ui/prompt-editor/utils/serialization.cjs +255 -0
  94. package/dist/components/ui/prompt-editor/utils/serialization.d.ts +16 -0
  95. package/dist/components/ui/prompt-editor/utils/serialization.js +200 -0
  96. package/dist/editor-themes/monaco.cjs +2 -2
  97. package/dist/editor-themes/monaco.js +2 -2
  98. package/dist/index.cjs +7 -0
  99. package/dist/index.d.ts +2 -0
  100. package/dist/index.js +2 -1
  101. package/dist/styles.css +44 -16
  102. package/dist/tailwind.utilities.css +1 -1
  103. 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 };
@@ -296,7 +296,7 @@ const apolloFutureDarkMonaco = {
296
296
  inherit: false,
297
297
  rules: darkRules,
298
298
  colors: {
299
- 'editor.background': '#18181b',
299
+ 'editor.background': '#27272a',
300
300
  'editor.foreground': '#a1a1aa',
301
301
  'editorLineNumber.foreground': '#52525b',
302
302
  'editorLineNumber.activeForeground': '#a1a1aa',
@@ -333,7 +333,7 @@ const apolloFutureLightMonaco = {
333
333
  inherit: false,
334
334
  rules: lightRules,
335
335
  colors: {
336
- 'editor.background': '#f4f4f5',
336
+ 'editor.background': '#e4e4e7',
337
337
  'editor.foreground': '#52525b',
338
338
  'editorLineNumber.foreground': '#a1a1aa',
339
339
  'editorLineNumber.activeForeground': '#71717a',
@@ -263,7 +263,7 @@ const apolloFutureDarkMonaco = {
263
263
  inherit: false,
264
264
  rules: darkRules,
265
265
  colors: {
266
- 'editor.background': '#18181b',
266
+ 'editor.background': '#27272a',
267
267
  'editor.foreground': '#a1a1aa',
268
268
  'editorLineNumber.foreground': '#52525b',
269
269
  'editorLineNumber.activeForeground': '#a1a1aa',
@@ -300,7 +300,7 @@ const apolloFutureLightMonaco = {
300
300
  inherit: false,
301
301
  rules: lightRules,
302
302
  colors: {
303
- 'editor.background': '#f4f4f5',
303
+ 'editor.background': '#e4e4e7',
304
304
  'editor.foreground': '#52525b',
305
305
  'editorLineNumber.foreground': '#a1a1aa',
306
306
  'editorLineNumber.activeForeground': '#71717a',
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);
@@ -761,9 +763,6 @@
761
763
  .-mx-6 {
762
764
  margin-inline: calc(var(--spacing) * -6);
763
765
  }
764
- .\[margin-inline\:calc\(var\(--mf-content-inset\,0px\)\*-1\)\] {
765
- margin-inline: calc(var(--mf-content-inset,0px) * -1);
766
- }
767
766
  .mx-0\.5 {
768
767
  margin-inline: calc(var(--spacing) * 0.5);
769
768
  }
@@ -845,9 +844,6 @@
845
844
  .mr-auto {
846
845
  margin-right: auto;
847
846
  }
848
- .-mb-px {
849
- margin-bottom: -1px;
850
- }
851
847
  .mb-0\.5 {
852
848
  margin-bottom: calc(var(--spacing) * 0.5);
853
849
  }
@@ -1481,6 +1477,9 @@
1481
1477
  .max-w-\[220px\] {
1482
1478
  max-width: 220px;
1483
1479
  }
1480
+ .max-w-\[320px\] {
1481
+ max-width: 320px;
1482
+ }
1484
1483
  .max-w-\[360px\] {
1485
1484
  max-width: 360px;
1486
1485
  }
@@ -1547,6 +1546,9 @@
1547
1546
  .flex-1 {
1548
1547
  flex: 1;
1549
1548
  }
1549
+ .flex-shrink {
1550
+ flex-shrink: 1;
1551
+ }
1550
1552
  .shrink-0 {
1551
1553
  flex-shrink: 0;
1552
1554
  }
@@ -1786,6 +1788,9 @@
1786
1788
  .gap-\[--spacing\(var\(--gap\)\)\] {
1787
1789
  gap: calc(var(--spacing) * var(--gap));
1788
1790
  }
1791
+ .gap-\[3px\] {
1792
+ gap: 3px;
1793
+ }
1789
1794
  .gap-\[15px\] {
1790
1795
  gap: 15px;
1791
1796
  }
@@ -2096,6 +2101,10 @@
2096
2101
  border-bottom-style: var(--tw-border-style);
2097
2102
  border-bottom-width: 1px;
2098
2103
  }
2104
+ .border-b-0 {
2105
+ border-bottom-style: var(--tw-border-style);
2106
+ border-bottom-width: 0px;
2107
+ }
2099
2108
  .border-b-2 {
2100
2109
  border-bottom-style: var(--tw-border-style);
2101
2110
  border-bottom-width: 2px;
@@ -2442,6 +2451,18 @@
2442
2451
  .bg-border-subtle {
2443
2452
  background-color: var(--border-subtle);
2444
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
+ }
2445
2466
  .bg-brand {
2446
2467
  background-color: var(--brand);
2447
2468
  }
@@ -3380,9 +3401,6 @@
3380
3401
  .p-px {
3381
3402
  padding: 1px;
3382
3403
  }
3383
- .\[padding-inline\:var\(--mf-content-inset\,0px\)\] {
3384
- padding-inline: var(--mf-content-inset,0px);
3385
- }
3386
3404
  .px-0 {
3387
3405
  padding-inline: calc(var(--spacing) * 0);
3388
3406
  }
@@ -3899,6 +3917,12 @@
3899
3917
  .text-muted-foreground {
3900
3918
  color: var(--muted-foreground);
3901
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
+ }
3902
3926
  .text-muted-foreground\/70 {
3903
3927
  color: var(--muted-foreground);
3904
3928
  @supports (color: color-mix(in lab, red, red)) {
@@ -4041,6 +4065,12 @@
4041
4065
  .opacity-70 {
4042
4066
  opacity: 70%;
4043
4067
  }
4068
+ .opacity-80 {
4069
+ opacity: 80%;
4070
+ }
4071
+ .opacity-95 {
4072
+ opacity: 95%;
4073
+ }
4044
4074
  .opacity-100 {
4045
4075
  opacity: 100%;
4046
4076
  }
@@ -4137,6 +4167,9 @@
4137
4167
  outline-style: var(--tw-outline-style);
4138
4168
  outline-width: 1px;
4139
4169
  }
4170
+ .outline-offset-1 {
4171
+ outline-offset: 1px;
4172
+ }
4140
4173
  .blur {
4141
4174
  --tw-blur: blur(8px);
4142
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,);
@@ -5532,11 +5565,6 @@
5532
5565
  }
5533
5566
  }
5534
5567
  }
5535
- .data-\[state\=active\]\:border-primary {
5536
- &[data-state="active"] {
5537
- border-color: var(--primary);
5538
- }
5539
- }
5540
5568
  .data-\[state\=active\]\:border-b-primary {
5541
5569
  &[data-state="active"] {
5542
5570
  border-bottom-color: var(--primary);
@@ -5547,9 +5575,9 @@
5547
5575
  background-color: var(--background);
5548
5576
  }
5549
5577
  }
5550
- .data-\[state\=active\]\:bg-transparent {
5578
+ .data-\[state\=active\]\:bg-surface-overlay {
5551
5579
  &[data-state="active"] {
5552
- background-color: transparent;
5580
+ background-color: var(--surface-overlay);
5553
5581
  }
5554
5582
  }
5555
5583
  .data-\[state\=active\]\:text-foreground {
@@ -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.22.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",