@uipath/apollo-wind 2.62.0 → 2.64.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 (72) hide show
  1. package/dist/components/forms/aria-ids.cjs +38 -0
  2. package/dist/components/forms/aria-ids.d.ts +2 -0
  3. package/dist/components/forms/aria-ids.js +4 -0
  4. package/dist/components/forms/demo-mocks.cjs +0 -448
  5. package/dist/components/forms/demo-mocks.js +0 -448
  6. package/dist/components/forms/field-control.cjs +21 -17
  7. package/dist/components/forms/field-control.d.ts +3 -1
  8. package/dist/components/forms/field-control.js +21 -17
  9. package/dist/components/forms/field-renderer.cjs +65 -37
  10. package/dist/components/forms/field-renderer.js +66 -38
  11. package/dist/components/forms/form-designer.cjs +204 -3
  12. package/dist/components/forms/form-designer.js +204 -3
  13. package/dist/components/forms/form-examples.cjs +3 -190
  14. package/dist/components/forms/form-examples.d.ts +0 -10
  15. package/dist/components/forms/form-examples.js +3 -184
  16. package/dist/components/forms/form-schema.d.ts +6 -0
  17. package/dist/components/forms/metadata-form.cjs +9 -1
  18. package/dist/components/forms/metadata-form.d.ts +8 -1
  19. package/dist/components/forms/metadata-form.js +9 -1
  20. package/dist/components/forms/mode-aware-field.cjs +11 -6
  21. package/dist/components/forms/mode-aware-field.d.ts +2 -0
  22. package/dist/components/forms/mode-aware-field.js +11 -6
  23. package/dist/components/forms/string-list-field.cjs +5 -4
  24. package/dist/components/forms/string-list-field.d.ts +4 -2
  25. package/dist/components/forms/string-list-field.js +5 -4
  26. package/dist/components/ui/folder-picker/components/folder-breadcrumb.cjs +72 -0
  27. package/dist/components/ui/folder-picker/components/folder-breadcrumb.d.ts +14 -0
  28. package/dist/components/ui/folder-picker/components/folder-breadcrumb.js +38 -0
  29. package/dist/components/ui/folder-picker/components/folder-picker-empty-state.cjs +75 -0
  30. package/dist/components/ui/folder-picker/components/folder-picker-empty-state.d.ts +26 -0
  31. package/dist/components/ui/folder-picker/components/folder-picker-empty-state.js +41 -0
  32. package/dist/components/ui/folder-picker/components/folder-picker-footer.cjs +70 -0
  33. package/dist/components/ui/folder-picker/components/folder-picker-footer.d.ts +20 -0
  34. package/dist/components/ui/folder-picker/components/folder-picker-footer.js +36 -0
  35. package/dist/components/ui/folder-picker/components/folder-picker-search.cjs +79 -0
  36. package/dist/components/ui/folder-picker/components/folder-picker-search.d.ts +14 -0
  37. package/dist/components/ui/folder-picker/components/folder-picker-search.js +45 -0
  38. package/dist/components/ui/folder-picker/components/folder-row.cjs +107 -0
  39. package/dist/components/ui/folder-picker/components/folder-row.d.ts +27 -0
  40. package/dist/components/ui/folder-picker/components/folder-row.js +73 -0
  41. package/dist/components/ui/folder-picker/folder-picker.cjs +465 -0
  42. package/dist/components/ui/folder-picker/folder-picker.d.ts +34 -0
  43. package/dist/components/ui/folder-picker/folder-picker.js +425 -0
  44. package/dist/components/ui/folder-picker/index.cjs +42 -0
  45. package/dist/components/ui/folder-picker/index.d.ts +2 -0
  46. package/dist/components/ui/folder-picker/index.js +2 -0
  47. package/dist/components/ui/folder-picker/types.cjs +44 -0
  48. package/dist/components/ui/folder-picker/types.d.ts +97 -0
  49. package/dist/components/ui/folder-picker/types.js +4 -0
  50. package/dist/components/ui/index.cjs +26 -26
  51. package/dist/components/ui/json-tree-view/JsonTree.types.d.ts +13 -0
  52. package/dist/components/ui/json-tree-view/JsonTreeRow.cjs +2 -1
  53. package/dist/components/ui/json-tree-view/JsonTreeRow.js +2 -1
  54. package/dist/components/ui/json-tree-view/JsonTypeBadge.cjs +43 -6
  55. package/dist/components/ui/json-tree-view/JsonTypeBadge.d.ts +6 -3
  56. package/dist/components/ui/json-tree-view/JsonTypeBadge.js +44 -7
  57. package/dist/components/ui/json-tree-view/index.d.ts +1 -1
  58. package/dist/components/ui/json-tree-view/strings.cjs +1 -0
  59. package/dist/components/ui/json-tree-view/strings.d.ts +10 -2
  60. package/dist/components/ui/json-tree-view/strings.js +1 -0
  61. package/dist/components/ui/prompt-value-control.cjs +3 -1
  62. package/dist/components/ui/prompt-value-control.d.ts +5 -0
  63. package/dist/components/ui/prompt-value-control.js +3 -1
  64. package/dist/components/ui/variable-value-control.cjs +3 -1
  65. package/dist/components/ui/variable-value-control.d.ts +5 -0
  66. package/dist/components/ui/variable-value-control.js +3 -1
  67. package/dist/index.cjs +13 -3
  68. package/dist/index.d.ts +3 -1
  69. package/dist/index.js +2 -1
  70. package/dist/styles.css +41 -0
  71. package/package.json +1 -1
  72. package/dist/templates/Forms/form-builder-example.d.ts +0 -1
@@ -0,0 +1,14 @@
1
+ export interface FolderPickerSearchProps {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ placeholder?: string;
5
+ clearLabel?: string;
6
+ }
7
+ /**
8
+ * Filters the level being browsed.
9
+ *
10
+ * Matches `CommandInput`: no field of its own, just a leading magnifier and
11
+ * the rule under the row, so the search reads as part of the popover rather
12
+ * than as a control sitting inside it.
13
+ */
14
+ export declare function FolderPickerSearch({ value, onChange, placeholder, clearLabel, }: FolderPickerSearchProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,45 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Search, X } from "lucide-react";
3
+ import { useRef } from "react";
4
+ function FolderPickerSearch({ value, onChange, placeholder = 'Search...', clearLabel = 'Clear search' }) {
5
+ const inputRef = useRef(null);
6
+ return /*#__PURE__*/ jsxs("div", {
7
+ className: "flex items-center border-b border-border px-3",
8
+ children: [
9
+ /*#__PURE__*/ jsx(Search, {
10
+ className: "mr-2 size-4 shrink-0 opacity-50"
11
+ }),
12
+ /*#__PURE__*/ jsx("input", {
13
+ ref: inputRef,
14
+ "data-slot": "folder-picker-search",
15
+ type: "text",
16
+ autoComplete: "off",
17
+ "aria-label": placeholder,
18
+ placeholder: placeholder,
19
+ value: value,
20
+ onChange: (event)=>onChange(event.target.value),
21
+ className: "flex h-9 w-full rounded-md bg-transparent py-2 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
22
+ onKeyDown: (event)=>{
23
+ if ('Escape' === event.key && value) {
24
+ event.preventDefault();
25
+ event.stopPropagation();
26
+ onChange('');
27
+ }
28
+ }
29
+ }),
30
+ value && /*#__PURE__*/ jsx("button", {
31
+ type: "button",
32
+ "aria-label": clearLabel,
33
+ className: "ml-1 grid size-5 shrink-0 cursor-pointer place-items-center rounded text-muted-foreground transition-colors hover:text-foreground",
34
+ onClick: ()=>{
35
+ inputRef.current?.focus();
36
+ onChange('');
37
+ },
38
+ children: /*#__PURE__*/ jsx(X, {
39
+ className: "size-3.5"
40
+ })
41
+ })
42
+ ]
43
+ });
44
+ }
45
+ export { FolderPickerSearch };
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ FolderRow: ()=>FolderRow
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const external_lucide_react_namespaceObject = require("lucide-react");
31
+ const external_spinner_cjs_namespaceObject = require("../../spinner.cjs");
32
+ const index_cjs_namespaceObject = require("../../../../lib/index.cjs");
33
+ function FolderRow({ entry, level, selected, active, loading, rowRef, onFocus, onToggleSelect, onOpen, openLabel = (rowLabel)=>`Open ${rowLabel}` }) {
34
+ const label = entry.label ?? entry.name;
35
+ const canOpen = !entry.disabled && false !== entry.hasChildren;
36
+ const canStartOpen = canOpen && !loading;
37
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
38
+ role: "treeitem",
39
+ "aria-level": level,
40
+ "aria-selected": selected,
41
+ "aria-label": label,
42
+ "aria-expanded": canOpen ? false : void 0,
43
+ "aria-disabled": entry.disabled,
44
+ ref: rowRef,
45
+ tabIndex: entry.disabled ? void 0 : active ? 0 : -1,
46
+ onFocus: (event)=>!entry.disabled && event.target === event.currentTarget && onFocus(),
47
+ className: (0, index_cjs_namespaceObject.cn)('flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm text-foreground transition-colors', entry.disabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer hover:bg-surface-overlay', selected && 'font-medium'),
48
+ onClick: (event)=>!entry.disabled && event.detail <= 1 && onToggleSelect(),
49
+ onDoubleClick: ()=>{
50
+ if (canStartOpen) onOpen();
51
+ else if (!entry.disabled && !selected) onToggleSelect();
52
+ },
53
+ onKeyDown: (event)=>{
54
+ if (entry.disabled) return;
55
+ if (event.target !== event.currentTarget) return;
56
+ if ('Enter' === event.key || ' ' === event.key) {
57
+ event.preventDefault();
58
+ onToggleSelect();
59
+ } else if ('ArrowRight' === event.key && canStartOpen) {
60
+ event.preventDefault();
61
+ onOpen();
62
+ }
63
+ },
64
+ children: [
65
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
66
+ className: "grid size-3.5 shrink-0 place-items-center",
67
+ children: selected && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Check, {
68
+ className: "size-3.5 text-foreground-accent",
69
+ strokeWidth: 3
70
+ })
71
+ }),
72
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Folder, {
73
+ size: 14,
74
+ className: "shrink-0 text-foreground-muted"
75
+ }),
76
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
77
+ className: "min-w-0 flex-1 truncate",
78
+ children: label
79
+ }),
80
+ false !== entry.hasChildren && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
81
+ type: "button",
82
+ "aria-label": openLabel(label),
83
+ "aria-busy": loading || void 0,
84
+ tabIndex: -1,
85
+ disabled: entry.disabled,
86
+ className: "grid size-5 shrink-0 cursor-pointer place-items-center rounded text-foreground-muted transition-colors hover:bg-surface-overlay hover:text-foreground",
87
+ onClick: (event)=>{
88
+ event.stopPropagation();
89
+ if (canStartOpen) onOpen();
90
+ },
91
+ children: loading ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_spinner_cjs_namespaceObject.Spinner, {
92
+ className: "[&_svg]:size-3.5",
93
+ "aria-hidden": "true"
94
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.ChevronRight, {
95
+ size: 14
96
+ })
97
+ })
98
+ ]
99
+ });
100
+ }
101
+ exports.FolderRow = __webpack_exports__.FolderRow;
102
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
103
+ "FolderRow"
104
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
105
+ Object.defineProperty(exports, '__esModule', {
106
+ value: true
107
+ });
@@ -0,0 +1,27 @@
1
+ import type { FolderPickerEntry } from '../types';
2
+ export interface FolderRowProps {
3
+ entry: FolderPickerEntry;
4
+ /** Depth in the tree, 1 at the root. */
5
+ level: number;
6
+ selected: boolean;
7
+ /** The tree's single tab stop. The parent moves it with the arrow keys. */
8
+ active: boolean;
9
+ /** This row's own contents are being fetched. */
10
+ loading: boolean;
11
+ rowRef: (node: HTMLDivElement | null) => void;
12
+ onFocus: () => void;
13
+ onToggleSelect: () => void;
14
+ onOpen: () => void;
15
+ /** Accessible name for the Open control, given the row's label. */
16
+ openLabel?: (label: string) => string;
17
+ }
18
+ /**
19
+ * One folder in the list.
20
+ *
21
+ * A `treeitem` rather than a listbox option: an option is atomic to assistive
22
+ * technology, which would hide the trailing Open control or make it compete
23
+ * with the row for focus. Clicking the row marks it with a tick as the
24
+ * pending choice, the chevron or a double click opens it, and a known leaf
25
+ * offers no way in at all.
26
+ */
27
+ export declare function FolderRow({ entry, level, selected, active, loading, rowRef, onFocus, onToggleSelect, onOpen, openLabel, }: FolderRowProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,73 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Check, ChevronRight, Folder } from "lucide-react";
3
+ import { Spinner } from "../../spinner.js";
4
+ import { cn } from "../../../../lib/index.js";
5
+ function FolderRow({ entry, level, selected, active, loading, rowRef, onFocus, onToggleSelect, onOpen, openLabel = (rowLabel)=>`Open ${rowLabel}` }) {
6
+ const label = entry.label ?? entry.name;
7
+ const canOpen = !entry.disabled && false !== entry.hasChildren;
8
+ const canStartOpen = canOpen && !loading;
9
+ return /*#__PURE__*/ jsxs("div", {
10
+ role: "treeitem",
11
+ "aria-level": level,
12
+ "aria-selected": selected,
13
+ "aria-label": label,
14
+ "aria-expanded": canOpen ? false : void 0,
15
+ "aria-disabled": entry.disabled,
16
+ ref: rowRef,
17
+ tabIndex: entry.disabled ? void 0 : active ? 0 : -1,
18
+ onFocus: (event)=>!entry.disabled && event.target === event.currentTarget && onFocus(),
19
+ className: cn('flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm text-foreground transition-colors', entry.disabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer hover:bg-surface-overlay', selected && 'font-medium'),
20
+ onClick: (event)=>!entry.disabled && event.detail <= 1 && onToggleSelect(),
21
+ onDoubleClick: ()=>{
22
+ if (canStartOpen) onOpen();
23
+ else if (!entry.disabled && !selected) onToggleSelect();
24
+ },
25
+ onKeyDown: (event)=>{
26
+ if (entry.disabled) return;
27
+ if (event.target !== event.currentTarget) return;
28
+ if ('Enter' === event.key || ' ' === event.key) {
29
+ event.preventDefault();
30
+ onToggleSelect();
31
+ } else if ('ArrowRight' === event.key && canStartOpen) {
32
+ event.preventDefault();
33
+ onOpen();
34
+ }
35
+ },
36
+ children: [
37
+ /*#__PURE__*/ jsx("span", {
38
+ className: "grid size-3.5 shrink-0 place-items-center",
39
+ children: selected && /*#__PURE__*/ jsx(Check, {
40
+ className: "size-3.5 text-foreground-accent",
41
+ strokeWidth: 3
42
+ })
43
+ }),
44
+ /*#__PURE__*/ jsx(Folder, {
45
+ size: 14,
46
+ className: "shrink-0 text-foreground-muted"
47
+ }),
48
+ /*#__PURE__*/ jsx("span", {
49
+ className: "min-w-0 flex-1 truncate",
50
+ children: label
51
+ }),
52
+ false !== entry.hasChildren && /*#__PURE__*/ jsx("button", {
53
+ type: "button",
54
+ "aria-label": openLabel(label),
55
+ "aria-busy": loading || void 0,
56
+ tabIndex: -1,
57
+ disabled: entry.disabled,
58
+ className: "grid size-5 shrink-0 cursor-pointer place-items-center rounded text-foreground-muted transition-colors hover:bg-surface-overlay hover:text-foreground",
59
+ onClick: (event)=>{
60
+ event.stopPropagation();
61
+ if (canStartOpen) onOpen();
62
+ },
63
+ children: loading ? /*#__PURE__*/ jsx(Spinner, {
64
+ className: "[&_svg]:size-3.5",
65
+ "aria-hidden": "true"
66
+ }) : /*#__PURE__*/ jsx(ChevronRight, {
67
+ size: 14
68
+ })
69
+ })
70
+ ]
71
+ });
72
+ }
73
+ export { FolderRow };