@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.
- package/dist/components/forms/aria-ids.cjs +38 -0
- package/dist/components/forms/aria-ids.d.ts +2 -0
- package/dist/components/forms/aria-ids.js +4 -0
- package/dist/components/forms/demo-mocks.cjs +0 -448
- package/dist/components/forms/demo-mocks.js +0 -448
- package/dist/components/forms/field-control.cjs +21 -17
- package/dist/components/forms/field-control.d.ts +3 -1
- package/dist/components/forms/field-control.js +21 -17
- package/dist/components/forms/field-renderer.cjs +65 -37
- package/dist/components/forms/field-renderer.js +66 -38
- package/dist/components/forms/form-designer.cjs +204 -3
- package/dist/components/forms/form-designer.js +204 -3
- package/dist/components/forms/form-examples.cjs +3 -190
- package/dist/components/forms/form-examples.d.ts +0 -10
- package/dist/components/forms/form-examples.js +3 -184
- package/dist/components/forms/form-schema.d.ts +6 -0
- package/dist/components/forms/metadata-form.cjs +9 -1
- package/dist/components/forms/metadata-form.d.ts +8 -1
- package/dist/components/forms/metadata-form.js +9 -1
- package/dist/components/forms/mode-aware-field.cjs +11 -6
- package/dist/components/forms/mode-aware-field.d.ts +2 -0
- package/dist/components/forms/mode-aware-field.js +11 -6
- package/dist/components/forms/string-list-field.cjs +5 -4
- package/dist/components/forms/string-list-field.d.ts +4 -2
- package/dist/components/forms/string-list-field.js +5 -4
- package/dist/components/ui/folder-picker/components/folder-breadcrumb.cjs +72 -0
- package/dist/components/ui/folder-picker/components/folder-breadcrumb.d.ts +14 -0
- package/dist/components/ui/folder-picker/components/folder-breadcrumb.js +38 -0
- package/dist/components/ui/folder-picker/components/folder-picker-empty-state.cjs +75 -0
- package/dist/components/ui/folder-picker/components/folder-picker-empty-state.d.ts +26 -0
- package/dist/components/ui/folder-picker/components/folder-picker-empty-state.js +41 -0
- package/dist/components/ui/folder-picker/components/folder-picker-footer.cjs +70 -0
- package/dist/components/ui/folder-picker/components/folder-picker-footer.d.ts +20 -0
- package/dist/components/ui/folder-picker/components/folder-picker-footer.js +36 -0
- package/dist/components/ui/folder-picker/components/folder-picker-search.cjs +79 -0
- package/dist/components/ui/folder-picker/components/folder-picker-search.d.ts +14 -0
- package/dist/components/ui/folder-picker/components/folder-picker-search.js +45 -0
- package/dist/components/ui/folder-picker/components/folder-row.cjs +107 -0
- package/dist/components/ui/folder-picker/components/folder-row.d.ts +27 -0
- package/dist/components/ui/folder-picker/components/folder-row.js +73 -0
- package/dist/components/ui/folder-picker/folder-picker.cjs +465 -0
- package/dist/components/ui/folder-picker/folder-picker.d.ts +34 -0
- package/dist/components/ui/folder-picker/folder-picker.js +425 -0
- package/dist/components/ui/folder-picker/index.cjs +42 -0
- package/dist/components/ui/folder-picker/index.d.ts +2 -0
- package/dist/components/ui/folder-picker/index.js +2 -0
- package/dist/components/ui/folder-picker/types.cjs +44 -0
- package/dist/components/ui/folder-picker/types.d.ts +97 -0
- package/dist/components/ui/folder-picker/types.js +4 -0
- package/dist/components/ui/index.cjs +26 -26
- package/dist/components/ui/json-tree-view/JsonTree.types.d.ts +13 -0
- package/dist/components/ui/json-tree-view/JsonTreeRow.cjs +2 -1
- package/dist/components/ui/json-tree-view/JsonTreeRow.js +2 -1
- package/dist/components/ui/json-tree-view/JsonTypeBadge.cjs +43 -6
- package/dist/components/ui/json-tree-view/JsonTypeBadge.d.ts +6 -3
- package/dist/components/ui/json-tree-view/JsonTypeBadge.js +44 -7
- package/dist/components/ui/json-tree-view/index.d.ts +1 -1
- package/dist/components/ui/json-tree-view/strings.cjs +1 -0
- package/dist/components/ui/json-tree-view/strings.d.ts +10 -2
- package/dist/components/ui/json-tree-view/strings.js +1 -0
- package/dist/components/ui/prompt-value-control.cjs +3 -1
- package/dist/components/ui/prompt-value-control.d.ts +5 -0
- package/dist/components/ui/prompt-value-control.js +3 -1
- package/dist/components/ui/variable-value-control.cjs +3 -1
- package/dist/components/ui/variable-value-control.d.ts +5 -0
- package/dist/components/ui/variable-value-control.js +3 -1
- package/dist/index.cjs +13 -3
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -1
- package/dist/styles.css +41 -0
- package/package.json +1 -1
- 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 };
|