@uipath/apollo-wind 2.60.0 → 2.61.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/README.md +13 -0
- package/dist/components/forms/field-actions.cjs +181 -0
- package/dist/components/forms/field-actions.d.ts +131 -0
- package/dist/components/forms/field-actions.js +129 -0
- package/dist/components/forms/field-control.cjs +415 -0
- package/dist/components/forms/field-control.d.ts +52 -0
- package/dist/components/forms/field-control.js +372 -0
- package/dist/components/forms/field-renderer.cjs +77 -420
- package/dist/components/forms/field-renderer.d.ts +2 -3
- package/dist/components/forms/field-renderer.js +78 -421
- package/dist/components/forms/form-designer.cjs +7 -1
- package/dist/components/forms/form-designer.js +7 -1
- package/dist/components/forms/form-schema.d.ts +121 -2
- package/dist/components/forms/form-strings.cjs +67 -0
- package/dist/components/forms/form-strings.d.ts +30 -0
- package/dist/components/forms/form-strings.js +30 -0
- package/dist/components/forms/index.cjs +53 -9
- package/dist/components/forms/index.d.ts +6 -1
- package/dist/components/forms/index.js +6 -1
- package/dist/components/forms/literal-value-context.cjs +37 -0
- package/dist/components/forms/literal-value-context.d.ts +5 -0
- package/dist/components/forms/literal-value-context.js +3 -0
- package/dist/components/forms/metadata-form.cjs +100 -21
- package/dist/components/forms/metadata-form.d.ts +5 -0
- package/dist/components/forms/metadata-form.js +101 -22
- package/dist/components/forms/mode-aware-field.cjs +589 -0
- package/dist/components/forms/mode-aware-field.d.ts +15 -0
- package/dist/components/forms/mode-aware-field.js +555 -0
- package/dist/components/forms/opaque-value.cjs +44 -0
- package/dist/components/forms/opaque-value.d.ts +7 -0
- package/dist/components/forms/opaque-value.js +7 -0
- package/dist/components/forms/rules-engine.cjs +13 -0
- package/dist/components/forms/rules-engine.js +13 -0
- package/dist/components/forms/schema-serializer.cjs +8 -0
- package/dist/components/forms/schema-serializer.js +8 -0
- package/dist/components/forms/string-list-field.cjs +36 -18
- package/dist/components/forms/string-list-field.d.ts +6 -0
- package/dist/components/forms/string-list-field.js +35 -20
- package/dist/components/forms/validation-converter.cjs +32 -2
- package/dist/components/forms/validation-converter.d.ts +17 -1
- package/dist/components/forms/validation-converter.js +30 -3
- package/dist/components/forms/value-modes.cjs +253 -0
- package/dist/components/forms/value-modes.d.ts +236 -0
- package/dist/components/forms/value-modes.js +180 -0
- package/dist/components/ui/accordion.cjs +1 -0
- package/dist/components/ui/accordion.js +1 -0
- package/dist/components/ui/avatar.d.ts +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/boolean-radio-group.cjs +114 -0
- package/dist/components/ui/boolean-radio-group.d.ts +24 -0
- package/dist/components/ui/boolean-radio-group.js +77 -0
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/components/ui/command.d.ts +7 -7
- package/dist/components/ui/dialog.cjs +1 -0
- package/dist/components/ui/dialog.js +1 -0
- package/dist/components/ui/drawer.cjs +1 -1
- package/dist/components/ui/drawer.js +1 -1
- package/dist/components/ui/field-addons/field-menu.cjs +1 -0
- package/dist/components/ui/field-addons/field-menu.d.ts +2 -0
- package/dist/components/ui/field-addons/field-menu.js +1 -0
- package/dist/components/ui/field-addons/index.cjs +4 -0
- package/dist/components/ui/field-addons/index.d.ts +1 -0
- package/dist/components/ui/field-addons/index.js +2 -1
- package/dist/components/ui/field-addons/value-mode-strings.cjs +7 -1
- package/dist/components/ui/field-addons/value-mode-strings.d.ts +9 -0
- package/dist/components/ui/field-addons/value-mode-strings.js +7 -1
- package/dist/components/ui/field-addons/value-mode-switch-dialog.cjs +73 -0
- package/dist/components/ui/field-addons/value-mode-switch-dialog.d.ts +16 -0
- package/dist/components/ui/field-addons/value-mode-switch-dialog.js +39 -0
- package/dist/components/ui/form-field.cjs +2 -1
- package/dist/components/ui/form-field.d.ts +2 -0
- package/dist/components/ui/form-field.js +2 -1
- package/dist/components/ui/index.cjs +235 -191
- package/dist/components/ui/index.d.ts +4 -0
- package/dist/components/ui/index.js +4 -0
- package/dist/components/ui/input-group.cjs +6 -3
- package/dist/components/ui/input-group.d.ts +6 -5
- package/dist/components/ui/input-group.js +6 -3
- package/dist/components/ui/json-tree-view/DecorationChip.cjs +81 -0
- package/dist/components/ui/json-tree-view/DecorationChip.d.ts +4 -0
- package/dist/components/ui/json-tree-view/DecorationChip.js +47 -0
- package/dist/components/ui/json-tree-view/EditorChrome.cjs +88 -0
- package/dist/components/ui/json-tree-view/EditorChrome.d.ts +21 -0
- package/dist/components/ui/json-tree-view/EditorChrome.js +51 -0
- package/dist/components/ui/json-tree-view/JsonContainerEditor.cjs +95 -0
- package/dist/components/ui/json-tree-view/JsonContainerEditor.d.ts +18 -0
- package/dist/components/ui/json-tree-view/JsonContainerEditor.js +61 -0
- package/dist/components/ui/json-tree-view/JsonLeafValueEditor.cjs +86 -0
- package/dist/components/ui/json-tree-view/JsonLeafValueEditor.d.ts +12 -0
- package/dist/components/ui/json-tree-view/JsonLeafValueEditor.js +52 -0
- package/dist/components/ui/json-tree-view/JsonMultilineLeafEditor.cjs +74 -0
- package/dist/components/ui/json-tree-view/JsonMultilineLeafEditor.d.ts +13 -0
- package/dist/components/ui/json-tree-view/JsonMultilineLeafEditor.js +40 -0
- package/dist/components/ui/json-tree-view/JsonTree.cjs +253 -0
- package/dist/components/ui/json-tree-view/JsonTree.d.ts +81 -0
- package/dist/components/ui/json-tree-view/JsonTree.js +219 -0
- package/dist/components/ui/json-tree-view/JsonTree.types.cjs +18 -0
- package/dist/components/ui/json-tree-view/JsonTree.types.d.ts +253 -0
- package/dist/components/ui/json-tree-view/JsonTree.types.js +0 -0
- package/dist/components/ui/json-tree-view/JsonTreeRow.cjs +284 -0
- package/dist/components/ui/json-tree-view/JsonTreeRow.d.ts +50 -0
- package/dist/components/ui/json-tree-view/JsonTreeRow.js +244 -0
- package/dist/components/ui/json-tree-view/JsonTreeToolbar.cjs +209 -0
- package/dist/components/ui/json-tree-view/JsonTreeToolbar.d.ts +35 -0
- package/dist/components/ui/json-tree-view/JsonTreeToolbar.js +175 -0
- package/dist/components/ui/json-tree-view/JsonTreeTooltip.cjs +84 -0
- package/dist/components/ui/json-tree-view/JsonTreeTooltip.d.ts +21 -0
- package/dist/components/ui/json-tree-view/JsonTreeTooltip.js +47 -0
- package/dist/components/ui/json-tree-view/JsonTypeBadge.cjs +70 -0
- package/dist/components/ui/json-tree-view/JsonTypeBadge.d.ts +17 -0
- package/dist/components/ui/json-tree-view/JsonTypeBadge.js +36 -0
- package/dist/components/ui/json-tree-view/NodeKey.cjs +77 -0
- package/dist/components/ui/json-tree-view/NodeKey.d.ts +16 -0
- package/dist/components/ui/json-tree-view/NodeKey.js +43 -0
- package/dist/components/ui/json-tree-view/RowActions.cjs +120 -0
- package/dist/components/ui/json-tree-view/RowActions.d.ts +15 -0
- package/dist/components/ui/json-tree-view/RowActions.js +86 -0
- package/dist/components/ui/json-tree-view/ScalarValueCell.cjs +112 -0
- package/dist/components/ui/json-tree-view/ScalarValueCell.d.ts +18 -0
- package/dist/components/ui/json-tree-view/ScalarValueCell.js +75 -0
- package/dist/components/ui/json-tree-view/buildJsonTree.cjs +324 -0
- package/dist/components/ui/json-tree-view/buildJsonTree.d.ts +75 -0
- package/dist/components/ui/json-tree-view/buildJsonTree.js +257 -0
- package/dist/components/ui/json-tree-view/clipboard.cjs +63 -0
- package/dist/components/ui/json-tree-view/clipboard.d.ts +6 -0
- package/dist/components/ui/json-tree-view/clipboard.js +29 -0
- package/dist/components/ui/json-tree-view/index.cjs +175 -0
- package/dist/components/ui/json-tree-view/index.d.ts +10 -0
- package/dist/components/ui/json-tree-view/index.js +11 -0
- package/dist/components/ui/json-tree-view/leafEditTypes.cjs +74 -0
- package/dist/components/ui/json-tree-view/leafEditTypes.d.ts +12 -0
- package/dist/components/ui/json-tree-view/leafEditTypes.js +34 -0
- package/dist/components/ui/json-tree-view/strings.cjs +122 -0
- package/dist/components/ui/json-tree-view/strings.d.ts +65 -0
- package/dist/components/ui/json-tree-view/strings.js +79 -0
- package/dist/components/ui/prompt-value-control.cjs +70 -0
- package/dist/components/ui/prompt-value-control.d.ts +28 -0
- package/dist/components/ui/prompt-value-control.js +36 -0
- package/dist/components/ui/sheet.cjs +2 -2
- package/dist/components/ui/sheet.d.ts +1 -1
- package/dist/components/ui/sheet.js +2 -2
- package/dist/components/ui/spinner.d.ts +1 -1
- package/dist/components/ui/switch.d.ts +2 -2
- package/dist/components/ui/textarea.cjs +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/components/ui/toggle-group.d.ts +2 -2
- package/dist/components/ui/toggle.d.ts +2 -2
- package/dist/components/ui/variable-value-control.cjs +98 -0
- package/dist/components/ui/variable-value-control.d.ts +35 -0
- package/dist/components/ui/variable-value-control.js +64 -0
- package/dist/index.cjs +145 -16
- package/dist/index.d.ts +21 -3
- package/dist/index.js +11 -2
- package/dist/lib/index.cjs +4 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.js +2 -2
- package/dist/lib/utils.cjs +21 -1
- package/dist/lib/utils.d.ts +8 -0
- package/dist/lib/utils.js +18 -1
- package/dist/styles.css +278 -0
- package/dist/tailwind.css +72 -0
- package/package.json +1 -1
|
@@ -0,0 +1,209 @@
|
|
|
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
|
+
JsonTreeToolbar: ()=>JsonTreeToolbar
|
|
28
|
+
});
|
|
29
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
30
|
+
const external_button_cjs_namespaceObject = require("../button.cjs");
|
|
31
|
+
const index_cjs_namespaceObject = require("../../../lib/index.cjs");
|
|
32
|
+
const external_dropdown_menu_cjs_namespaceObject = require("../dropdown-menu.cjs");
|
|
33
|
+
const external_input_cjs_namespaceObject = require("../input.cjs");
|
|
34
|
+
const external_lucide_react_namespaceObject = require("lucide-react");
|
|
35
|
+
const external_react_namespaceObject = require("react");
|
|
36
|
+
const external_strings_cjs_namespaceObject = require("./strings.cjs");
|
|
37
|
+
const external_JsonTreeTooltip_cjs_namespaceObject = require("./JsonTreeTooltip.cjs");
|
|
38
|
+
const ALL_FILTER_VALUE = '__all__';
|
|
39
|
+
function JsonTreeToolbar({ strings, tooltipContentClassName, ...props }) {
|
|
40
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_strings_cjs_namespaceObject.JsonTreeViewProvider, {
|
|
41
|
+
strings: strings,
|
|
42
|
+
tooltipContentClassName: tooltipContentClassName,
|
|
43
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(JsonTreeToolbarContent, {
|
|
44
|
+
...props
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function JsonTreeToolbarContent({ query, onQueryChange, searchPlaceholder, filters, activeFilterId = null, onFilterChange, allCollapsed = false, onToggleAll, leading, controlsHidden = false, className }) {
|
|
49
|
+
const strings = (0, external_strings_cjs_namespaceObject.useJsonTreeViewStrings)();
|
|
50
|
+
const [searchOpen, setSearchOpen] = (0, external_react_namespaceObject.useState)(false);
|
|
51
|
+
const activeFilter = filters?.find((f)=>f.id === activeFilterId);
|
|
52
|
+
const resolvedSearchPlaceholder = searchPlaceholder ?? strings.searchFields;
|
|
53
|
+
const filterLabel = activeFilter ? strings.filterActive(activeFilter.label) : strings.filter;
|
|
54
|
+
const searchActionLabel = strings.searchFieldsAction;
|
|
55
|
+
const toggleAllLabel = allCollapsed ? strings.expandAll : strings.collapseAll;
|
|
56
|
+
const closeSearch = ()=>{
|
|
57
|
+
onQueryChange('');
|
|
58
|
+
setSearchOpen(false);
|
|
59
|
+
};
|
|
60
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
61
|
+
className: (0, index_cjs_namespaceObject.cn)('flex items-center gap-1.5', className),
|
|
62
|
+
children: [
|
|
63
|
+
leading,
|
|
64
|
+
!controlsHidden && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
|
|
65
|
+
children: [
|
|
66
|
+
searchOpen ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
67
|
+
className: "relative flex min-w-0 flex-1 items-center overflow-hidden",
|
|
68
|
+
children: [
|
|
69
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Search, {
|
|
70
|
+
size: 13,
|
|
71
|
+
className: "pointer-events-none absolute left-2 text-foreground-subtle"
|
|
72
|
+
}),
|
|
73
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_input_cjs_namespaceObject.Input, {
|
|
74
|
+
autoFocus: true,
|
|
75
|
+
type: "text",
|
|
76
|
+
variant: "ghost",
|
|
77
|
+
size: "xs",
|
|
78
|
+
value: query,
|
|
79
|
+
onChange: (e)=>onQueryChange(e.target.value),
|
|
80
|
+
onKeyDown: (e)=>{
|
|
81
|
+
if ('Escape' === e.key) closeSearch();
|
|
82
|
+
},
|
|
83
|
+
"aria-label": resolvedSearchPlaceholder,
|
|
84
|
+
placeholder: resolvedSearchPlaceholder,
|
|
85
|
+
style: {
|
|
86
|
+
paddingLeft: '1.75rem',
|
|
87
|
+
paddingRight: '1.5rem'
|
|
88
|
+
},
|
|
89
|
+
className: "h-6 w-full text-foreground placeholder:text-foreground-subtle focus-visible:ring-0"
|
|
90
|
+
}),
|
|
91
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
|
|
92
|
+
type: "button",
|
|
93
|
+
onClick: closeSearch,
|
|
94
|
+
"aria-label": strings.clearSearch,
|
|
95
|
+
className: "absolute right-1.5 grid size-4 place-items-center text-foreground-subtle transition hover:text-foreground",
|
|
96
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.X, {
|
|
97
|
+
size: 12
|
|
98
|
+
})
|
|
99
|
+
})
|
|
100
|
+
]
|
|
101
|
+
}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
|
|
102
|
+
children: [
|
|
103
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
104
|
+
className: "flex-1"
|
|
105
|
+
}),
|
|
106
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeTooltip_cjs_namespaceObject.JsonTreeTooltip, {
|
|
107
|
+
content: searchActionLabel,
|
|
108
|
+
placement: "top",
|
|
109
|
+
delay: true,
|
|
110
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button, {
|
|
111
|
+
variant: "ghost",
|
|
112
|
+
size: "3xs",
|
|
113
|
+
icon: true,
|
|
114
|
+
onClick: ()=>setSearchOpen(true),
|
|
115
|
+
"aria-label": searchActionLabel,
|
|
116
|
+
className: "rounded text-foreground-subtle hover:bg-surface-overlay hover:text-foreground",
|
|
117
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Search, {
|
|
118
|
+
size: 14
|
|
119
|
+
})
|
|
120
|
+
})
|
|
121
|
+
})
|
|
122
|
+
]
|
|
123
|
+
}),
|
|
124
|
+
!!filters?.length && onFilterChange && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_dropdown_menu_cjs_namespaceObject.DropdownMenu, {
|
|
125
|
+
children: [
|
|
126
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeTooltip_cjs_namespaceObject.JsonTreeTooltip, {
|
|
127
|
+
content: filterLabel,
|
|
128
|
+
placement: "top",
|
|
129
|
+
delay: true,
|
|
130
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_dropdown_menu_cjs_namespaceObject.DropdownMenuTrigger, {
|
|
131
|
+
asChild: true,
|
|
132
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button, {
|
|
133
|
+
variant: "ghost",
|
|
134
|
+
size: "3xs",
|
|
135
|
+
icon: true,
|
|
136
|
+
"aria-label": filterLabel,
|
|
137
|
+
className: "relative rounded text-foreground-subtle hover:bg-surface-overlay hover:text-foreground",
|
|
138
|
+
children: [
|
|
139
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Filter, {
|
|
140
|
+
size: 14
|
|
141
|
+
}),
|
|
142
|
+
activeFilter && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
143
|
+
className: "absolute right-0.5 top-0.5 size-1.5 rounded-full bg-primary ring-1 ring-surface"
|
|
144
|
+
})
|
|
145
|
+
]
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
}),
|
|
149
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_dropdown_menu_cjs_namespaceObject.DropdownMenuContent, {
|
|
150
|
+
align: "end",
|
|
151
|
+
className: "w-52",
|
|
152
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_dropdown_menu_cjs_namespaceObject.DropdownMenuRadioGroup, {
|
|
153
|
+
value: activeFilterId ?? ALL_FILTER_VALUE,
|
|
154
|
+
onValueChange: (value)=>onFilterChange(value === ALL_FILTER_VALUE ? null : value),
|
|
155
|
+
children: [
|
|
156
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_dropdown_menu_cjs_namespaceObject.DropdownMenuRadioItem, {
|
|
157
|
+
value: ALL_FILTER_VALUE,
|
|
158
|
+
className: "text-[11px] [&>span:first-child]:text-foreground-accent",
|
|
159
|
+
children: strings.filterAll
|
|
160
|
+
}),
|
|
161
|
+
filters.map((filter)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_dropdown_menu_cjs_namespaceObject.DropdownMenuRadioItem, {
|
|
162
|
+
value: filter.id,
|
|
163
|
+
className: "text-[11px] [&>span:first-child]:text-foreground-accent",
|
|
164
|
+
children: [
|
|
165
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
166
|
+
className: "flex-1 truncate",
|
|
167
|
+
children: filter.label
|
|
168
|
+
}),
|
|
169
|
+
void 0 !== filter.count && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
170
|
+
className: "ml-3 rounded bg-surface-overlay px-1.5 py-0.5 font-mono text-[10px] font-medium leading-none text-foreground-muted",
|
|
171
|
+
children: filter.count
|
|
172
|
+
})
|
|
173
|
+
]
|
|
174
|
+
}, filter.id))
|
|
175
|
+
]
|
|
176
|
+
})
|
|
177
|
+
})
|
|
178
|
+
]
|
|
179
|
+
}),
|
|
180
|
+
onToggleAll && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeTooltip_cjs_namespaceObject.JsonTreeTooltip, {
|
|
181
|
+
content: toggleAllLabel,
|
|
182
|
+
placement: "top",
|
|
183
|
+
delay: true,
|
|
184
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button, {
|
|
185
|
+
variant: "ghost",
|
|
186
|
+
size: "3xs",
|
|
187
|
+
icon: true,
|
|
188
|
+
onClick: onToggleAll,
|
|
189
|
+
"aria-label": toggleAllLabel,
|
|
190
|
+
className: "rounded text-foreground-subtle hover:bg-surface-overlay hover:text-foreground",
|
|
191
|
+
children: allCollapsed ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.ChevronsUpDown, {
|
|
192
|
+
size: 14
|
|
193
|
+
}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.ChevronsDownUp, {
|
|
194
|
+
size: 14
|
|
195
|
+
})
|
|
196
|
+
})
|
|
197
|
+
})
|
|
198
|
+
]
|
|
199
|
+
})
|
|
200
|
+
]
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
exports.JsonTreeToolbar = __webpack_exports__.JsonTreeToolbar;
|
|
204
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
205
|
+
"JsonTreeToolbar"
|
|
206
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
207
|
+
Object.defineProperty(exports, '__esModule', {
|
|
208
|
+
value: true
|
|
209
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type JsonTreeViewStrings } from './strings';
|
|
3
|
+
import type { JsonTreeFilterOption } from './JsonTree.types';
|
|
4
|
+
export interface JsonTreeToolbarProps {
|
|
5
|
+
/** Current search query (controlled). */
|
|
6
|
+
query: string;
|
|
7
|
+
onQueryChange: (query: string) => void;
|
|
8
|
+
searchPlaceholder?: string;
|
|
9
|
+
/** Consumer-provided filter options. Omit or pass empty to hide the filter control. */
|
|
10
|
+
filters?: JsonTreeFilterOption[];
|
|
11
|
+
/** Id of the active filter, or null for "All". */
|
|
12
|
+
activeFilterId?: string | null;
|
|
13
|
+
onFilterChange?: (id: string | null) => void;
|
|
14
|
+
/** Collapse-all toggle state. Omit `onToggleAll` to hide the control. */
|
|
15
|
+
allCollapsed?: boolean;
|
|
16
|
+
onToggleAll?: () => void;
|
|
17
|
+
/**
|
|
18
|
+
* Content rendered at the start of the row, before the flexible spacer (e.g.
|
|
19
|
+
* a tab switcher). The tree controls (search / filter / collapse) stay pinned
|
|
20
|
+
* to the end.
|
|
21
|
+
*/
|
|
22
|
+
leading?: ReactNode;
|
|
23
|
+
/**
|
|
24
|
+
* Hides the search / filter / collapse controls, keeping only `leading`.
|
|
25
|
+
* Use when a non-tree tab is active and the controls would be inert.
|
|
26
|
+
*/
|
|
27
|
+
controlsHidden?: boolean;
|
|
28
|
+
/** String overrides; see `JsonTreeViewProps.strings`. */
|
|
29
|
+
strings?: Partial<JsonTreeViewStrings>;
|
|
30
|
+
/** Extra classes for every tooltip panel (e.g. a z-index above a host's overlays). */
|
|
31
|
+
tooltipContentClassName?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
/** Leading slot + search, filter, and collapse-all controls for a `JsonTreeView`. */
|
|
35
|
+
export declare function JsonTreeToolbar({ strings, tooltipContentClassName, ...props }: JsonTreeToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "../button.js";
|
|
3
|
+
import { cn } from "../../../lib/index.js";
|
|
4
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuTrigger } from "../dropdown-menu.js";
|
|
5
|
+
import { Input } from "../input.js";
|
|
6
|
+
import { ChevronsDownUp, ChevronsUpDown, Filter, Search, X } from "lucide-react";
|
|
7
|
+
import { useState } from "react";
|
|
8
|
+
import { JsonTreeViewProvider, useJsonTreeViewStrings } from "./strings.js";
|
|
9
|
+
import { JsonTreeTooltip } from "./JsonTreeTooltip.js";
|
|
10
|
+
const ALL_FILTER_VALUE = '__all__';
|
|
11
|
+
function JsonTreeToolbar({ strings, tooltipContentClassName, ...props }) {
|
|
12
|
+
return /*#__PURE__*/ jsx(JsonTreeViewProvider, {
|
|
13
|
+
strings: strings,
|
|
14
|
+
tooltipContentClassName: tooltipContentClassName,
|
|
15
|
+
children: /*#__PURE__*/ jsx(JsonTreeToolbarContent, {
|
|
16
|
+
...props
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function JsonTreeToolbarContent({ query, onQueryChange, searchPlaceholder, filters, activeFilterId = null, onFilterChange, allCollapsed = false, onToggleAll, leading, controlsHidden = false, className }) {
|
|
21
|
+
const strings = useJsonTreeViewStrings();
|
|
22
|
+
const [searchOpen, setSearchOpen] = useState(false);
|
|
23
|
+
const activeFilter = filters?.find((f)=>f.id === activeFilterId);
|
|
24
|
+
const resolvedSearchPlaceholder = searchPlaceholder ?? strings.searchFields;
|
|
25
|
+
const filterLabel = activeFilter ? strings.filterActive(activeFilter.label) : strings.filter;
|
|
26
|
+
const searchActionLabel = strings.searchFieldsAction;
|
|
27
|
+
const toggleAllLabel = allCollapsed ? strings.expandAll : strings.collapseAll;
|
|
28
|
+
const closeSearch = ()=>{
|
|
29
|
+
onQueryChange('');
|
|
30
|
+
setSearchOpen(false);
|
|
31
|
+
};
|
|
32
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
33
|
+
className: cn('flex items-center gap-1.5', className),
|
|
34
|
+
children: [
|
|
35
|
+
leading,
|
|
36
|
+
!controlsHidden && /*#__PURE__*/ jsxs(Fragment, {
|
|
37
|
+
children: [
|
|
38
|
+
searchOpen ? /*#__PURE__*/ jsxs("div", {
|
|
39
|
+
className: "relative flex min-w-0 flex-1 items-center overflow-hidden",
|
|
40
|
+
children: [
|
|
41
|
+
/*#__PURE__*/ jsx(Search, {
|
|
42
|
+
size: 13,
|
|
43
|
+
className: "pointer-events-none absolute left-2 text-foreground-subtle"
|
|
44
|
+
}),
|
|
45
|
+
/*#__PURE__*/ jsx(Input, {
|
|
46
|
+
autoFocus: true,
|
|
47
|
+
type: "text",
|
|
48
|
+
variant: "ghost",
|
|
49
|
+
size: "xs",
|
|
50
|
+
value: query,
|
|
51
|
+
onChange: (e)=>onQueryChange(e.target.value),
|
|
52
|
+
onKeyDown: (e)=>{
|
|
53
|
+
if ('Escape' === e.key) closeSearch();
|
|
54
|
+
},
|
|
55
|
+
"aria-label": resolvedSearchPlaceholder,
|
|
56
|
+
placeholder: resolvedSearchPlaceholder,
|
|
57
|
+
style: {
|
|
58
|
+
paddingLeft: '1.75rem',
|
|
59
|
+
paddingRight: '1.5rem'
|
|
60
|
+
},
|
|
61
|
+
className: "h-6 w-full text-foreground placeholder:text-foreground-subtle focus-visible:ring-0"
|
|
62
|
+
}),
|
|
63
|
+
/*#__PURE__*/ jsx("button", {
|
|
64
|
+
type: "button",
|
|
65
|
+
onClick: closeSearch,
|
|
66
|
+
"aria-label": strings.clearSearch,
|
|
67
|
+
className: "absolute right-1.5 grid size-4 place-items-center text-foreground-subtle transition hover:text-foreground",
|
|
68
|
+
children: /*#__PURE__*/ jsx(X, {
|
|
69
|
+
size: 12
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
]
|
|
73
|
+
}) : /*#__PURE__*/ jsxs(Fragment, {
|
|
74
|
+
children: [
|
|
75
|
+
/*#__PURE__*/ jsx("div", {
|
|
76
|
+
className: "flex-1"
|
|
77
|
+
}),
|
|
78
|
+
/*#__PURE__*/ jsx(JsonTreeTooltip, {
|
|
79
|
+
content: searchActionLabel,
|
|
80
|
+
placement: "top",
|
|
81
|
+
delay: true,
|
|
82
|
+
children: /*#__PURE__*/ jsx(Button, {
|
|
83
|
+
variant: "ghost",
|
|
84
|
+
size: "3xs",
|
|
85
|
+
icon: true,
|
|
86
|
+
onClick: ()=>setSearchOpen(true),
|
|
87
|
+
"aria-label": searchActionLabel,
|
|
88
|
+
className: "rounded text-foreground-subtle hover:bg-surface-overlay hover:text-foreground",
|
|
89
|
+
children: /*#__PURE__*/ jsx(Search, {
|
|
90
|
+
size: 14
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
}),
|
|
96
|
+
!!filters?.length && onFilterChange && /*#__PURE__*/ jsxs(DropdownMenu, {
|
|
97
|
+
children: [
|
|
98
|
+
/*#__PURE__*/ jsx(JsonTreeTooltip, {
|
|
99
|
+
content: filterLabel,
|
|
100
|
+
placement: "top",
|
|
101
|
+
delay: true,
|
|
102
|
+
children: /*#__PURE__*/ jsx(DropdownMenuTrigger, {
|
|
103
|
+
asChild: true,
|
|
104
|
+
children: /*#__PURE__*/ jsxs(Button, {
|
|
105
|
+
variant: "ghost",
|
|
106
|
+
size: "3xs",
|
|
107
|
+
icon: true,
|
|
108
|
+
"aria-label": filterLabel,
|
|
109
|
+
className: "relative rounded text-foreground-subtle hover:bg-surface-overlay hover:text-foreground",
|
|
110
|
+
children: [
|
|
111
|
+
/*#__PURE__*/ jsx(Filter, {
|
|
112
|
+
size: 14
|
|
113
|
+
}),
|
|
114
|
+
activeFilter && /*#__PURE__*/ jsx("span", {
|
|
115
|
+
className: "absolute right-0.5 top-0.5 size-1.5 rounded-full bg-primary ring-1 ring-surface"
|
|
116
|
+
})
|
|
117
|
+
]
|
|
118
|
+
})
|
|
119
|
+
})
|
|
120
|
+
}),
|
|
121
|
+
/*#__PURE__*/ jsx(DropdownMenuContent, {
|
|
122
|
+
align: "end",
|
|
123
|
+
className: "w-52",
|
|
124
|
+
children: /*#__PURE__*/ jsxs(DropdownMenuRadioGroup, {
|
|
125
|
+
value: activeFilterId ?? ALL_FILTER_VALUE,
|
|
126
|
+
onValueChange: (value)=>onFilterChange(value === ALL_FILTER_VALUE ? null : value),
|
|
127
|
+
children: [
|
|
128
|
+
/*#__PURE__*/ jsx(DropdownMenuRadioItem, {
|
|
129
|
+
value: ALL_FILTER_VALUE,
|
|
130
|
+
className: "text-[11px] [&>span:first-child]:text-foreground-accent",
|
|
131
|
+
children: strings.filterAll
|
|
132
|
+
}),
|
|
133
|
+
filters.map((filter)=>/*#__PURE__*/ jsxs(DropdownMenuRadioItem, {
|
|
134
|
+
value: filter.id,
|
|
135
|
+
className: "text-[11px] [&>span:first-child]:text-foreground-accent",
|
|
136
|
+
children: [
|
|
137
|
+
/*#__PURE__*/ jsx("span", {
|
|
138
|
+
className: "flex-1 truncate",
|
|
139
|
+
children: filter.label
|
|
140
|
+
}),
|
|
141
|
+
void 0 !== filter.count && /*#__PURE__*/ jsx("span", {
|
|
142
|
+
className: "ml-3 rounded bg-surface-overlay px-1.5 py-0.5 font-mono text-[10px] font-medium leading-none text-foreground-muted",
|
|
143
|
+
children: filter.count
|
|
144
|
+
})
|
|
145
|
+
]
|
|
146
|
+
}, filter.id))
|
|
147
|
+
]
|
|
148
|
+
})
|
|
149
|
+
})
|
|
150
|
+
]
|
|
151
|
+
}),
|
|
152
|
+
onToggleAll && /*#__PURE__*/ jsx(JsonTreeTooltip, {
|
|
153
|
+
content: toggleAllLabel,
|
|
154
|
+
placement: "top",
|
|
155
|
+
delay: true,
|
|
156
|
+
children: /*#__PURE__*/ jsx(Button, {
|
|
157
|
+
variant: "ghost",
|
|
158
|
+
size: "3xs",
|
|
159
|
+
icon: true,
|
|
160
|
+
onClick: onToggleAll,
|
|
161
|
+
"aria-label": toggleAllLabel,
|
|
162
|
+
className: "rounded text-foreground-subtle hover:bg-surface-overlay hover:text-foreground",
|
|
163
|
+
children: allCollapsed ? /*#__PURE__*/ jsx(ChevronsUpDown, {
|
|
164
|
+
size: 14
|
|
165
|
+
}) : /*#__PURE__*/ jsx(ChevronsDownUp, {
|
|
166
|
+
size: 14
|
|
167
|
+
})
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
]
|
|
171
|
+
})
|
|
172
|
+
]
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
export { JsonTreeToolbar };
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
+
JsonTreeTooltip: ()=>JsonTreeTooltip,
|
|
28
|
+
JsonTreeTooltipProvider: ()=>JsonTreeTooltipProvider
|
|
29
|
+
});
|
|
30
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
31
|
+
const external_react_namespaceObject = require("react");
|
|
32
|
+
const external_tooltip_cjs_namespaceObject = require("../tooltip.cjs");
|
|
33
|
+
const index_cjs_namespaceObject = require("../../../lib/index.cjs");
|
|
34
|
+
const external_strings_cjs_namespaceObject = require("./strings.cjs");
|
|
35
|
+
const HasTooltipProviderContext = /*#__PURE__*/ (0, external_react_namespaceObject.createContext)(false);
|
|
36
|
+
function JsonTreeTooltipProvider({ children }) {
|
|
37
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_tooltip_cjs_namespaceObject.TooltipProvider, {
|
|
38
|
+
delayDuration: 300,
|
|
39
|
+
skipDelayDuration: 100,
|
|
40
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(HasTooltipProviderContext.Provider, {
|
|
41
|
+
value: true,
|
|
42
|
+
children: children
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function JsonTreeTooltip({ content, placement = 'top', delay = false, hide = false, children }) {
|
|
47
|
+
const [open, setOpen] = (0, external_react_namespaceObject.useState)(false);
|
|
48
|
+
const contentClassName = (0, external_strings_cjs_namespaceObject.useJsonTreeViewTooltipClassName)();
|
|
49
|
+
const hasProvider = (0, external_react_namespaceObject.useContext)(HasTooltipProviderContext);
|
|
50
|
+
const isEmpty = null == content || false === content || 'string' == typeof content && !content.trim();
|
|
51
|
+
const tooltip = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_tooltip_cjs_namespaceObject.Tooltip, {
|
|
52
|
+
open: open && !hide && !isEmpty,
|
|
53
|
+
onOpenChange: setOpen,
|
|
54
|
+
delayDuration: delay ? 700 : 200,
|
|
55
|
+
children: [
|
|
56
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_tooltip_cjs_namespaceObject.TooltipTrigger, {
|
|
57
|
+
asChild: true,
|
|
58
|
+
children: children
|
|
59
|
+
}),
|
|
60
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_tooltip_cjs_namespaceObject.TooltipPortal, {
|
|
61
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_tooltip_cjs_namespaceObject.TooltipContent, {
|
|
62
|
+
side: placement,
|
|
63
|
+
className: (0, index_cjs_namespaceObject.cn)('max-w-xs wrap-break-word', contentClassName),
|
|
64
|
+
children: content
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
]
|
|
68
|
+
});
|
|
69
|
+
if (hasProvider) return tooltip;
|
|
70
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_tooltip_cjs_namespaceObject.TooltipProvider, {
|
|
71
|
+
delayDuration: 200,
|
|
72
|
+
skipDelayDuration: 100,
|
|
73
|
+
children: tooltip
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
exports.JsonTreeTooltip = __webpack_exports__.JsonTreeTooltip;
|
|
77
|
+
exports.JsonTreeTooltipProvider = __webpack_exports__.JsonTreeTooltipProvider;
|
|
78
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
79
|
+
"JsonTreeTooltip",
|
|
80
|
+
"JsonTreeTooltipProvider"
|
|
81
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
82
|
+
Object.defineProperty(exports, '__esModule', {
|
|
83
|
+
value: true
|
|
84
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* One shared Radix provider for every tooltip below it, so each
|
|
4
|
+
* `JsonTreeTooltip` skips mounting its own fallback provider.
|
|
5
|
+
*/
|
|
6
|
+
export declare function JsonTreeTooltipProvider({ children }: {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
interface JsonTreeTooltipProps {
|
|
10
|
+
content: ReactNode;
|
|
11
|
+
placement?: 'top' | 'bottom' | 'left' | 'right';
|
|
12
|
+
/** Waits the longer 700ms before opening, for dense controls. */
|
|
13
|
+
delay?: boolean;
|
|
14
|
+
/** Keeps the tooltip closed (e.g. while the trigger's own menu is open). */
|
|
15
|
+
hide?: boolean;
|
|
16
|
+
/** A single element; it becomes the trigger without an extra wrapper. */
|
|
17
|
+
children: ReactElement;
|
|
18
|
+
}
|
|
19
|
+
/** Hover tooltip for the tree's controls, built on apollo-wind's Tooltip. */
|
|
20
|
+
export declare function JsonTreeTooltip({ content, placement, delay, hide, children, }: JsonTreeTooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useState } from "react";
|
|
3
|
+
import { Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger } from "../tooltip.js";
|
|
4
|
+
import { cn } from "../../../lib/index.js";
|
|
5
|
+
import { useJsonTreeViewTooltipClassName } from "./strings.js";
|
|
6
|
+
const HasTooltipProviderContext = /*#__PURE__*/ createContext(false);
|
|
7
|
+
function JsonTreeTooltipProvider({ children }) {
|
|
8
|
+
return /*#__PURE__*/ jsx(TooltipProvider, {
|
|
9
|
+
delayDuration: 300,
|
|
10
|
+
skipDelayDuration: 100,
|
|
11
|
+
children: /*#__PURE__*/ jsx(HasTooltipProviderContext.Provider, {
|
|
12
|
+
value: true,
|
|
13
|
+
children: children
|
|
14
|
+
})
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function JsonTreeTooltip({ content, placement = 'top', delay = false, hide = false, children }) {
|
|
18
|
+
const [open, setOpen] = useState(false);
|
|
19
|
+
const contentClassName = useJsonTreeViewTooltipClassName();
|
|
20
|
+
const hasProvider = useContext(HasTooltipProviderContext);
|
|
21
|
+
const isEmpty = null == content || false === content || 'string' == typeof content && !content.trim();
|
|
22
|
+
const tooltip = /*#__PURE__*/ jsxs(Tooltip, {
|
|
23
|
+
open: open && !hide && !isEmpty,
|
|
24
|
+
onOpenChange: setOpen,
|
|
25
|
+
delayDuration: delay ? 700 : 200,
|
|
26
|
+
children: [
|
|
27
|
+
/*#__PURE__*/ jsx(TooltipTrigger, {
|
|
28
|
+
asChild: true,
|
|
29
|
+
children: children
|
|
30
|
+
}),
|
|
31
|
+
/*#__PURE__*/ jsx(TooltipPortal, {
|
|
32
|
+
children: /*#__PURE__*/ jsx(TooltipContent, {
|
|
33
|
+
side: placement,
|
|
34
|
+
className: cn('max-w-xs wrap-break-word', contentClassName),
|
|
35
|
+
children: content
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
if (hasProvider) return tooltip;
|
|
41
|
+
return /*#__PURE__*/ jsx(TooltipProvider, {
|
|
42
|
+
delayDuration: 200,
|
|
43
|
+
skipDelayDuration: 100,
|
|
44
|
+
children: tooltip
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export { JsonTreeTooltip, JsonTreeTooltipProvider };
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
JsonTypeBadge: ()=>JsonTypeBadge
|
|
28
|
+
});
|
|
29
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
30
|
+
const index_cjs_namespaceObject = require("../../../lib/index.cjs");
|
|
31
|
+
const external_lucide_react_namespaceObject = require("lucide-react");
|
|
32
|
+
const external_JsonTreeTooltip_cjs_namespaceObject = require("./JsonTreeTooltip.cjs");
|
|
33
|
+
const TYPE_ICON = {
|
|
34
|
+
string: external_lucide_react_namespaceObject.Type,
|
|
35
|
+
number: external_lucide_react_namespaceObject.Hash,
|
|
36
|
+
boolean: external_lucide_react_namespaceObject.ToggleLeft,
|
|
37
|
+
object: external_lucide_react_namespaceObject.Braces,
|
|
38
|
+
array: external_lucide_react_namespaceObject.Brackets,
|
|
39
|
+
null: external_lucide_react_namespaceObject.CircleSlash2
|
|
40
|
+
};
|
|
41
|
+
const TYPE_LABEL = {
|
|
42
|
+
string: 'String',
|
|
43
|
+
number: 'Number',
|
|
44
|
+
boolean: 'Boolean',
|
|
45
|
+
object: 'Object',
|
|
46
|
+
array: 'Array',
|
|
47
|
+
null: 'Null'
|
|
48
|
+
};
|
|
49
|
+
function JsonTypeBadge({ type, icon, className, tooltip }) {
|
|
50
|
+
const DefaultIcon = TYPE_ICON[type];
|
|
51
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeTooltip_cjs_namespaceObject.JsonTreeTooltip, {
|
|
52
|
+
content: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
53
|
+
className: "break-all font-mono text-xs font-semibold leading-4",
|
|
54
|
+
children: tooltip ?? TYPE_LABEL[type]
|
|
55
|
+
}),
|
|
56
|
+
placement: "top",
|
|
57
|
+
delay: true,
|
|
58
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
59
|
+
className: (0, index_cjs_namespaceObject.cn)('inline-flex h-4.5 min-w-4.5 shrink-0 items-center justify-center rounded border border-border bg-surface-overlay px-0.5 text-foreground-muted [&_svg]:size-2.75', className),
|
|
60
|
+
children: icon ?? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(DefaultIcon, {})
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
exports.JsonTypeBadge = __webpack_exports__.JsonTypeBadge;
|
|
65
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
66
|
+
"JsonTypeBadge"
|
|
67
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
68
|
+
Object.defineProperty(exports, '__esModule', {
|
|
69
|
+
value: true
|
|
70
|
+
});
|