@uipath/apollo-wind 2.37.0 → 2.38.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/field-renderer.cjs +2 -3
- package/dist/components/forms/field-renderer.js +3 -4
- package/dist/components/forms/form-designer.cjs +2 -3
- package/dist/components/forms/form-designer.js +3 -4
- package/dist/components/ui/index.cjs +14 -14
- package/dist/components/ui/label.cjs +20 -1
- package/dist/components/ui/label.d.ts +15 -1
- package/dist/components/ui/label.js +18 -2
- package/dist/components/ui/lockable-value-field/components/field-header.cjs +2 -5
- package/dist/components/ui/lockable-value-field/components/field-header.js +3 -6
- package/dist/components/ui/lockable-value-field/lockable-value-field.cjs +21 -18
- package/dist/components/ui/lockable-value-field/lockable-value-field.d.ts +1 -1
- package/dist/components/ui/lockable-value-field/lockable-value-field.js +21 -18
- package/dist/components/ui/lockable-value-field/types.cjs +10 -2
- package/dist/components/ui/lockable-value-field/types.d.ts +14 -1
- package/dist/components/ui/lockable-value-field/types.js +11 -3
- package/dist/components/ui/prompt-editor/components/MarkdownPreview.cjs +2 -2
- package/dist/components/ui/prompt-editor/components/MarkdownPreview.js +2 -2
- package/dist/components/ui/prompt-editor/types.cjs +5 -5
- package/dist/components/ui/prompt-editor/types.js +5 -5
- package/dist/index.cjs +3 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/styles.css +13 -1
- package/package.json +1 -1
|
@@ -544,9 +544,8 @@ function FormLabel({ children, required, htmlFor, className = '' }) {
|
|
|
544
544
|
className: className,
|
|
545
545
|
children: [
|
|
546
546
|
children,
|
|
547
|
-
required && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(
|
|
548
|
-
className: "
|
|
549
|
-
children: "*"
|
|
547
|
+
required && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(label_cjs_namespaceObject.RequiredIndicator, {
|
|
548
|
+
className: "ml-1"
|
|
550
549
|
})
|
|
551
550
|
]
|
|
552
551
|
});
|
|
@@ -12,7 +12,7 @@ import { Checkbox } from "../ui/checkbox.js";
|
|
|
12
12
|
import { Switch } from "../ui/switch.js";
|
|
13
13
|
import { RadioGroup, RadioGroupItem } from "../ui/radio-group.js";
|
|
14
14
|
import { Slider } from "../ui/slider.js";
|
|
15
|
-
import { Label } from "../ui/label.js";
|
|
15
|
+
import { Label, RequiredIndicator } from "../ui/label.js";
|
|
16
16
|
import { DatePicker } from "../ui/date-picker.js";
|
|
17
17
|
import { DateTimePicker } from "../ui/datetime-picker.js";
|
|
18
18
|
import { FileUpload } from "../ui/file-upload.js";
|
|
@@ -516,9 +516,8 @@ function FormLabel({ children, required, htmlFor, className = '' }) {
|
|
|
516
516
|
className: className,
|
|
517
517
|
children: [
|
|
518
518
|
children,
|
|
519
|
-
required && /*#__PURE__*/ jsx(
|
|
520
|
-
className: "
|
|
521
|
-
children: "*"
|
|
519
|
+
required && /*#__PURE__*/ jsx(RequiredIndicator, {
|
|
520
|
+
className: "ml-1"
|
|
522
521
|
})
|
|
523
522
|
]
|
|
524
523
|
});
|
|
@@ -1172,9 +1172,8 @@ function FormDesigner() {
|
|
|
1172
1172
|
className: "text-xs font-medium truncate",
|
|
1173
1173
|
children: field.label
|
|
1174
1174
|
}),
|
|
1175
|
-
field.rules?.some((r)=>r.effects.required) && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(
|
|
1176
|
-
className: "text-[10px]
|
|
1177
|
-
children: "*"
|
|
1175
|
+
field.rules?.some((r)=>r.effects.required) && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(label_cjs_namespaceObject.RequiredIndicator, {
|
|
1176
|
+
className: "ml-0 text-[10px]"
|
|
1178
1177
|
})
|
|
1179
1178
|
]
|
|
1180
1179
|
}),
|
|
@@ -4,7 +4,7 @@ import { schemaToJson } from "./schema-serializer.js";
|
|
|
4
4
|
import { MetadataForm } from "./metadata-form.js";
|
|
5
5
|
import { Button } from "../ui/button.js";
|
|
6
6
|
import { Input } from "../ui/input.js";
|
|
7
|
-
import { Label } from "../ui/label.js";
|
|
7
|
+
import { Label, RequiredIndicator } from "../ui/label.js";
|
|
8
8
|
import { Textarea } from "../ui/textarea.js";
|
|
9
9
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select.js";
|
|
10
10
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../ui/card.js";
|
|
@@ -1144,9 +1144,8 @@ function FormDesigner() {
|
|
|
1144
1144
|
className: "text-xs font-medium truncate",
|
|
1145
1145
|
children: field.label
|
|
1146
1146
|
}),
|
|
1147
|
-
field.rules?.some((r)=>r.effects.required) && /*#__PURE__*/ jsx(
|
|
1148
|
-
className: "text-[10px]
|
|
1149
|
-
children: "*"
|
|
1147
|
+
field.rules?.some((r)=>r.effects.required) && /*#__PURE__*/ jsx(RequiredIndicator, {
|
|
1148
|
+
className: "ml-0 text-[10px]"
|
|
1150
1149
|
})
|
|
1151
1150
|
]
|
|
1152
1151
|
}),
|
|
@@ -60,7 +60,7 @@ var __webpack_modules__ = {
|
|
|
60
60
|
"./datetime-picker" (module) {
|
|
61
61
|
module.exports = require("./datetime-picker.cjs");
|
|
62
62
|
},
|
|
63
|
-
"
|
|
63
|
+
"./dialog" (module) {
|
|
64
64
|
module.exports = require("./dialog.cjs");
|
|
65
65
|
},
|
|
66
66
|
"./drawer" (module) {
|
|
@@ -78,16 +78,16 @@ var __webpack_modules__ = {
|
|
|
78
78
|
"./file-upload" (module) {
|
|
79
79
|
module.exports = require("./file-upload.cjs");
|
|
80
80
|
},
|
|
81
|
-
"
|
|
81
|
+
"./hover-card" (module) {
|
|
82
82
|
module.exports = require("./hover-card.cjs");
|
|
83
83
|
},
|
|
84
84
|
"@/components/ui/input-group" (module) {
|
|
85
85
|
module.exports = require("./input-group.cjs");
|
|
86
86
|
},
|
|
87
|
-
"
|
|
87
|
+
"./input" (module) {
|
|
88
88
|
module.exports = require("./input.cjs");
|
|
89
89
|
},
|
|
90
|
-
"
|
|
90
|
+
"./label" (module) {
|
|
91
91
|
module.exports = require("./label.cjs");
|
|
92
92
|
},
|
|
93
93
|
"./layout" (module) {
|
|
@@ -105,7 +105,7 @@ var __webpack_modules__ = {
|
|
|
105
105
|
"@/components/ui/popover" (module) {
|
|
106
106
|
module.exports = require("./popover.cjs");
|
|
107
107
|
},
|
|
108
|
-
"
|
|
108
|
+
"./portal-container" (module) {
|
|
109
109
|
module.exports = require("./portal-container.cjs");
|
|
110
110
|
},
|
|
111
111
|
"./progress" (module) {
|
|
@@ -156,7 +156,7 @@ var __webpack_modules__ = {
|
|
|
156
156
|
"./switch" (module) {
|
|
157
157
|
module.exports = require("./switch.cjs");
|
|
158
158
|
},
|
|
159
|
-
"
|
|
159
|
+
"./table" (module) {
|
|
160
160
|
module.exports = require("./table.cjs");
|
|
161
161
|
},
|
|
162
162
|
"./tabs" (module) {
|
|
@@ -168,7 +168,7 @@ var __webpack_modules__ = {
|
|
|
168
168
|
"./toggle-group" (module) {
|
|
169
169
|
module.exports = require("./toggle-group.cjs");
|
|
170
170
|
},
|
|
171
|
-
"
|
|
171
|
+
"./toggle" (module) {
|
|
172
172
|
module.exports = require("./toggle.cjs");
|
|
173
173
|
},
|
|
174
174
|
"./tooltip" (module) {
|
|
@@ -367,7 +367,7 @@ var __webpack_exports__ = {};
|
|
|
367
367
|
"default"
|
|
368
368
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_datetime_picker__rspack_import_19[__rspack_import_key];
|
|
369
369
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
370
|
-
var _dialog__rspack_import_20 = __webpack_require__("
|
|
370
|
+
var _dialog__rspack_import_20 = __webpack_require__("./dialog");
|
|
371
371
|
var __rspack_reexport = {};
|
|
372
372
|
for(const __rspack_import_key in _dialog__rspack_import_20)if ([
|
|
373
373
|
"TreeView",
|
|
@@ -409,14 +409,14 @@ var __webpack_exports__ = {};
|
|
|
409
409
|
"default"
|
|
410
410
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_file_upload__rspack_import_25[__rspack_import_key];
|
|
411
411
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
412
|
-
var _hover_card__rspack_import_26 = __webpack_require__("
|
|
412
|
+
var _hover_card__rspack_import_26 = __webpack_require__("./hover-card");
|
|
413
413
|
var __rspack_reexport = {};
|
|
414
414
|
for(const __rspack_import_key in _hover_card__rspack_import_26)if ([
|
|
415
415
|
"TreeView",
|
|
416
416
|
"default"
|
|
417
417
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_hover_card__rspack_import_26[__rspack_import_key];
|
|
418
418
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
419
|
-
var _input__rspack_import_27 = __webpack_require__("
|
|
419
|
+
var _input__rspack_import_27 = __webpack_require__("./input");
|
|
420
420
|
var __rspack_reexport = {};
|
|
421
421
|
for(const __rspack_import_key in _input__rspack_import_27)if ([
|
|
422
422
|
"TreeView",
|
|
@@ -430,7 +430,7 @@ var __webpack_exports__ = {};
|
|
|
430
430
|
"default"
|
|
431
431
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_input_group__rspack_import_28[__rspack_import_key];
|
|
432
432
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
433
|
-
var _label__rspack_import_29 = __webpack_require__("
|
|
433
|
+
var _label__rspack_import_29 = __webpack_require__("./label");
|
|
434
434
|
var __rspack_reexport = {};
|
|
435
435
|
for(const __rspack_import_key in _label__rspack_import_29)if ([
|
|
436
436
|
"TreeView",
|
|
@@ -472,7 +472,7 @@ var __webpack_exports__ = {};
|
|
|
472
472
|
"default"
|
|
473
473
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_popover__rspack_import_34[__rspack_import_key];
|
|
474
474
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
475
|
-
var _portal_container__rspack_import_35 = __webpack_require__("
|
|
475
|
+
var _portal_container__rspack_import_35 = __webpack_require__("./portal-container");
|
|
476
476
|
var __rspack_reexport = {};
|
|
477
477
|
for(const __rspack_import_key in _portal_container__rspack_import_35)if ([
|
|
478
478
|
"TreeView",
|
|
@@ -591,7 +591,7 @@ var __webpack_exports__ = {};
|
|
|
591
591
|
"default"
|
|
592
592
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_switch__rspack_import_51[__rspack_import_key];
|
|
593
593
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
594
|
-
var _table__rspack_import_52 = __webpack_require__("
|
|
594
|
+
var _table__rspack_import_52 = __webpack_require__("./table");
|
|
595
595
|
var __rspack_reexport = {};
|
|
596
596
|
for(const __rspack_import_key in _table__rspack_import_52)if ([
|
|
597
597
|
"TreeView",
|
|
@@ -612,7 +612,7 @@ var __webpack_exports__ = {};
|
|
|
612
612
|
"default"
|
|
613
613
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_textarea__rspack_import_54[__rspack_import_key];
|
|
614
614
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
615
|
-
var _toggle__rspack_import_55 = __webpack_require__("
|
|
615
|
+
var _toggle__rspack_import_55 = __webpack_require__("./toggle");
|
|
616
616
|
var __rspack_reexport = {};
|
|
617
617
|
for(const __rspack_import_key in _toggle__rspack_import_55)if ([
|
|
618
618
|
"TreeView",
|
|
@@ -24,6 +24,7 @@ var __webpack_require__ = {};
|
|
|
24
24
|
var __webpack_exports__ = {};
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
RequiredIndicator: ()=>RequiredIndicator,
|
|
27
28
|
Label: ()=>Label
|
|
28
29
|
});
|
|
29
30
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
@@ -39,9 +40,27 @@ const Label = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ classNa
|
|
|
39
40
|
...props
|
|
40
41
|
}));
|
|
41
42
|
Label.displayName = react_label_namespaceObject.Root.displayName;
|
|
43
|
+
const RequiredIndicator = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("span", {
|
|
44
|
+
ref: ref,
|
|
45
|
+
...props,
|
|
46
|
+
className: (0, index_cjs_namespaceObject.cn)('ml-0.5 text-current', className),
|
|
47
|
+
children: [
|
|
48
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
49
|
+
"aria-hidden": "true",
|
|
50
|
+
children: "*"
|
|
51
|
+
}),
|
|
52
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
53
|
+
className: "sr-only",
|
|
54
|
+
children: " (required)"
|
|
55
|
+
})
|
|
56
|
+
]
|
|
57
|
+
}));
|
|
58
|
+
RequiredIndicator.displayName = 'RequiredIndicator';
|
|
42
59
|
exports.Label = __webpack_exports__.Label;
|
|
60
|
+
exports.RequiredIndicator = __webpack_exports__.RequiredIndicator;
|
|
43
61
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
44
|
-
"Label"
|
|
62
|
+
"Label",
|
|
63
|
+
"RequiredIndicator"
|
|
45
64
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
46
65
|
Object.defineProperty(exports, '__esModule', {
|
|
47
66
|
value: true
|
|
@@ -4,4 +4,18 @@ import * as React from 'react';
|
|
|
4
4
|
declare const labelVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
5
5
|
export type LabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>;
|
|
6
6
|
declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: import("class-variance-authority/types").ClassProp | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
|
|
7
|
-
export
|
|
7
|
+
export interface RequiredIndicatorProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children' | 'aria-hidden'> {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Marks a field as required. Place it right after the label text.
|
|
11
|
+
*
|
|
12
|
+
* Uses `text-current` rather than an error/destructive color: an untouched
|
|
13
|
+
* required field isn't in an error state, so coloring the asterisk red reads
|
|
14
|
+
* as a validation failure before the person has done anything. The asterisk
|
|
15
|
+
* glyph is `aria-hidden` since it's a visual affordance, not the thing that
|
|
16
|
+
* makes the field required to assistive tech; a `sr-only` "(required)" is
|
|
17
|
+
* included alongside it so the label still announces the requirement even if
|
|
18
|
+
* the field's own control is missing `required`/`aria-required`.
|
|
19
|
+
*/
|
|
20
|
+
declare const RequiredIndicator: React.ForwardRefExoticComponent<RequiredIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
|
21
|
+
export { Label, RequiredIndicator };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Root } from "@radix-ui/react-label";
|
|
3
3
|
import { cva } from "class-variance-authority";
|
|
4
4
|
import { forwardRef } from "react";
|
|
@@ -11,4 +11,20 @@ const Label = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE
|
|
|
11
11
|
...props
|
|
12
12
|
}));
|
|
13
13
|
Label.displayName = Root.displayName;
|
|
14
|
-
|
|
14
|
+
const RequiredIndicator = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsxs("span", {
|
|
15
|
+
ref: ref,
|
|
16
|
+
...props,
|
|
17
|
+
className: cn('ml-0.5 text-current', className),
|
|
18
|
+
children: [
|
|
19
|
+
/*#__PURE__*/ jsx("span", {
|
|
20
|
+
"aria-hidden": "true",
|
|
21
|
+
children: "*"
|
|
22
|
+
}),
|
|
23
|
+
/*#__PURE__*/ jsx("span", {
|
|
24
|
+
className: "sr-only",
|
|
25
|
+
children: " (required)"
|
|
26
|
+
})
|
|
27
|
+
]
|
|
28
|
+
}));
|
|
29
|
+
RequiredIndicator.displayName = 'RequiredIndicator';
|
|
30
|
+
export { Label, RequiredIndicator };
|
|
@@ -51,13 +51,10 @@ function FieldHeader({ label, fieldId, fieldLabel, required, fieldType, onFieldT
|
|
|
51
51
|
children: [
|
|
52
52
|
label ?? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_label_cjs_namespaceObject.Label, {
|
|
53
53
|
htmlFor: fieldId,
|
|
54
|
-
className: "text-xs font-medium text-foreground
|
|
54
|
+
className: "text-xs font-medium text-foreground",
|
|
55
55
|
children: [
|
|
56
56
|
fieldLabel,
|
|
57
|
-
required && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(
|
|
58
|
-
className: "ml-0.5 text-destructive",
|
|
59
|
-
children: "*"
|
|
60
|
-
})
|
|
57
|
+
required && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_label_cjs_namespaceObject.RequiredIndicator, {})
|
|
61
58
|
]
|
|
62
59
|
}),
|
|
63
60
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_tooltip_cjs_namespaceObject.TooltipProvider, {
|
|
@@ -3,7 +3,7 @@ import { Asterisk, Braces, ChevronDown, Sparkles } from "lucide-react";
|
|
|
3
3
|
import { useId, useState } from "react";
|
|
4
4
|
import { Button } from "../../button.js";
|
|
5
5
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../dropdown-menu.js";
|
|
6
|
-
import { Label } from "../../label.js";
|
|
6
|
+
import { Label, RequiredIndicator } from "../../label.js";
|
|
7
7
|
import { Popover, PopoverContent, PopoverTrigger } from "../../popover.js";
|
|
8
8
|
import { Switch } from "../../switch.js";
|
|
9
9
|
import { Textarea } from "../../textarea.js";
|
|
@@ -23,13 +23,10 @@ function FieldHeader({ label, fieldId, fieldLabel, required, fieldType, onFieldT
|
|
|
23
23
|
children: [
|
|
24
24
|
label ?? /*#__PURE__*/ jsxs(Label, {
|
|
25
25
|
htmlFor: fieldId,
|
|
26
|
-
className: "text-xs font-medium text-foreground
|
|
26
|
+
className: "text-xs font-medium text-foreground",
|
|
27
27
|
children: [
|
|
28
28
|
fieldLabel,
|
|
29
|
-
required && /*#__PURE__*/ jsx(
|
|
30
|
-
className: "ml-0.5 text-destructive",
|
|
31
|
-
children: "*"
|
|
32
|
-
})
|
|
29
|
+
required && /*#__PURE__*/ jsx(RequiredIndicator, {})
|
|
33
30
|
]
|
|
34
31
|
}),
|
|
35
32
|
/*#__PURE__*/ jsx(TooltipProvider, {
|
|
@@ -44,7 +44,7 @@ const lock_toggle_button_cjs_namespaceObject = require("./components/lock-toggle
|
|
|
44
44
|
const mode_menu_item_cjs_namespaceObject = require("./components/mode-menu-item.cjs");
|
|
45
45
|
const external_types_cjs_namespaceObject = require("./types.cjs");
|
|
46
46
|
const external_utils_cjs_namespaceObject = require("./utils.cjs");
|
|
47
|
-
function LockableValueField({ value = '', onValueChange, onValueBlur, locked = true, onLockedChange, mode = 'fixed', onModeChange, renderExpressionEditor, fieldType = 'string', onFieldTypeChange, required, onRequiredChange, label, error, errorId, fileUploadAriaLabel, headerActions, compact, controlsVisibility = 'visible', showFieldActions = true, options = external_utils_cjs_namespaceObject.DEFAULT_SELECT_OPTIONS, onGenerateWithAi, variables = [], id, className }) {
|
|
47
|
+
function LockableValueField({ value = '', onValueChange, onValueBlur, locked = true, onLockedChange, leadingAddon, trailingAddon, mode = 'fixed', onModeChange, renderExpressionEditor, fieldType = 'string', onFieldTypeChange, required, onRequiredChange, label, error, errorId, belowValue, fileUploadAriaLabel, headerActions, compact, controlsVisibility = 'visible', showFieldActions = true, options = external_utils_cjs_namespaceObject.DEFAULT_SELECT_OPTIONS, onGenerateWithAi, variables = [], id, className }) {
|
|
48
48
|
const generatedId = (0, external_react_namespaceObject.useId)().replace(/:/g, '');
|
|
49
49
|
const [datePopoverOpen, setDatePopoverOpen] = (0, external_react_namespaceObject.useState)(false);
|
|
50
50
|
const [selectOpen, setSelectOpen] = (0, external_react_namespaceObject.useState)(false);
|
|
@@ -80,10 +80,11 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
80
80
|
typeMeta.supportsExpression ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_input_group_cjs_namespaceObject.InputGroup, {
|
|
81
81
|
error: error,
|
|
82
82
|
errorId: validationId,
|
|
83
|
+
className: (0, index_cjs_namespaceObject.cn)('bg-surface-overlay', 'file' === fieldType && !locked && 'fixed' === effectiveMode && 'h-auto items-stretch'),
|
|
83
84
|
children: [
|
|
84
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_input_group_cjs_namespaceObject.InputGroupAddon, {
|
|
85
|
+
null !== leadingAddon && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_input_group_cjs_namespaceObject.InputGroupAddon, {
|
|
85
86
|
align: "inline-start",
|
|
86
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(lock_toggle_button_cjs_namespaceObject.LockToggleButton, {
|
|
87
|
+
children: void 0 !== leadingAddon ? leadingAddon : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(lock_toggle_button_cjs_namespaceObject.LockToggleButton, {
|
|
87
88
|
locked: locked,
|
|
88
89
|
onLockedChange: onLockedChange
|
|
89
90
|
})
|
|
@@ -161,6 +162,16 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
161
162
|
})
|
|
162
163
|
})
|
|
163
164
|
]
|
|
165
|
+
}) : 'file' === fieldType ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_file_upload_cjs_namespaceObject.FileUpload, {
|
|
166
|
+
id: fieldId,
|
|
167
|
+
ariaLabel: fileUploadAriaLabel ?? ('string' == typeof label ? label : fieldLabel),
|
|
168
|
+
className: "flex-1",
|
|
169
|
+
onFilesChange: (files)=>onValueChange?.(files.map((f)=>f.name).join(', ')),
|
|
170
|
+
disabled: !onValueChange,
|
|
171
|
+
onBlur: onValueBlur,
|
|
172
|
+
"aria-invalid": error ? true : void 0,
|
|
173
|
+
"aria-describedby": error ? validationId : void 0,
|
|
174
|
+
"aria-errormessage": error ? validationId : void 0
|
|
164
175
|
}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_input_group_cjs_namespaceObject.InputGroupInput, {
|
|
165
176
|
id: fieldId,
|
|
166
177
|
type: 'integer' === fieldType ? 'number' : 'text',
|
|
@@ -170,9 +181,10 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
170
181
|
onBlur: onValueBlur,
|
|
171
182
|
placeholder: fieldLabel
|
|
172
183
|
}),
|
|
173
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_input_group_cjs_namespaceObject.InputGroupAddon, {
|
|
184
|
+
null !== trailingAddon && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_input_group_cjs_namespaceObject.InputGroupAddon, {
|
|
174
185
|
align: "inline-end",
|
|
175
|
-
|
|
186
|
+
className: null != trailingAddon ? 'cursor-default' : void 0,
|
|
187
|
+
children: void 0 !== trailingAddon ? trailingAddon : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_dropdown_menu_cjs_namespaceObject.DropdownMenu, {
|
|
176
188
|
children: [
|
|
177
189
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_dropdown_menu_cjs_namespaceObject.DropdownMenuTrigger, {
|
|
178
190
|
asChild: true,
|
|
@@ -211,7 +223,7 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
211
223
|
}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
212
224
|
className: "flex items-center gap-2",
|
|
213
225
|
children: [
|
|
214
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(lock_toggle_button_cjs_namespaceObject.LockToggleButton, {
|
|
226
|
+
void 0 !== leadingAddon ? leadingAddon : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(lock_toggle_button_cjs_namespaceObject.LockToggleButton, {
|
|
215
227
|
locked: locked,
|
|
216
228
|
onLockedChange: onLockedChange
|
|
217
229
|
}),
|
|
@@ -264,17 +276,7 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
264
276
|
"aria-invalid": error ? true : void 0,
|
|
265
277
|
"aria-describedby": error ? validationId : void 0,
|
|
266
278
|
"aria-errormessage": error ? validationId : void 0
|
|
267
|
-
}) :
|
|
268
|
-
id: fieldId,
|
|
269
|
-
ariaLabel: fileUploadAriaLabel ?? ('string' == typeof label ? label : fieldLabel),
|
|
270
|
-
className: "flex-1",
|
|
271
|
-
onFilesChange: (files)=>onValueChange?.(files.map((f)=>f.name).join(', ')),
|
|
272
|
-
disabled: !onValueChange,
|
|
273
|
-
onBlur: onValueBlur,
|
|
274
|
-
"aria-invalid": error ? true : void 0,
|
|
275
|
-
"aria-describedby": error ? validationId : void 0,
|
|
276
|
-
"aria-errormessage": error ? validationId : void 0
|
|
277
|
-
})
|
|
279
|
+
}) : null
|
|
278
280
|
]
|
|
279
281
|
}),
|
|
280
282
|
error && !typeMeta.supportsExpression && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("p", {
|
|
@@ -284,7 +286,8 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
284
286
|
"aria-atomic": "true",
|
|
285
287
|
className: "mt-1 text-xs leading-4 text-error",
|
|
286
288
|
children: error
|
|
287
|
-
})
|
|
289
|
+
}),
|
|
290
|
+
belowValue
|
|
288
291
|
]
|
|
289
292
|
});
|
|
290
293
|
}
|
|
@@ -11,4 +11,4 @@ import type { LockableValueFieldProps } from './types';
|
|
|
11
11
|
* Insert-variable menu is empty (and disabled) unless `variables` is
|
|
12
12
|
* provided; file uploads aren't persisted anywhere.
|
|
13
13
|
*/
|
|
14
|
-
export declare function LockableValueField({ value, onValueChange, onValueBlur, locked, onLockedChange, mode, onModeChange, renderExpressionEditor, fieldType, onFieldTypeChange, required, onRequiredChange, label, error, errorId, fileUploadAriaLabel, headerActions, compact, controlsVisibility, showFieldActions, options, onGenerateWithAi, variables, id, className, }: LockableValueFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function LockableValueField({ value, onValueChange, onValueBlur, locked, onLockedChange, leadingAddon, trailingAddon, mode, onModeChange, renderExpressionEditor, fieldType, onFieldTypeChange, required, onRequiredChange, label, error, errorId, belowValue, fileUploadAriaLabel, headerActions, compact, controlsVisibility, showFieldActions, options, onGenerateWithAi, variables, id, className, }: LockableValueFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -16,7 +16,7 @@ import { LockToggleButton } from "./components/lock-toggle-button.js";
|
|
|
16
16
|
import { ModeMenuItem } from "./components/mode-menu-item.js";
|
|
17
17
|
import { FIELD_TYPE_META } from "./types.js";
|
|
18
18
|
import { DEFAULT_SELECT_OPTIONS, formatDateValue, getLockedDisplayValue, parseDateValue, parseListValue, toDateOnlyString } from "./utils.js";
|
|
19
|
-
function LockableValueField({ value = '', onValueChange, onValueBlur, locked = true, onLockedChange, mode = 'fixed', onModeChange, renderExpressionEditor, fieldType = 'string', onFieldTypeChange, required, onRequiredChange, label, error, errorId, fileUploadAriaLabel, headerActions, compact, controlsVisibility = 'visible', showFieldActions = true, options = DEFAULT_SELECT_OPTIONS, onGenerateWithAi, variables = [], id, className }) {
|
|
19
|
+
function LockableValueField({ value = '', onValueChange, onValueBlur, locked = true, onLockedChange, leadingAddon, trailingAddon, mode = 'fixed', onModeChange, renderExpressionEditor, fieldType = 'string', onFieldTypeChange, required, onRequiredChange, label, error, errorId, belowValue, fileUploadAriaLabel, headerActions, compact, controlsVisibility = 'visible', showFieldActions = true, options = DEFAULT_SELECT_OPTIONS, onGenerateWithAi, variables = [], id, className }) {
|
|
20
20
|
const generatedId = useId().replace(/:/g, '');
|
|
21
21
|
const [datePopoverOpen, setDatePopoverOpen] = useState(false);
|
|
22
22
|
const [selectOpen, setSelectOpen] = useState(false);
|
|
@@ -52,10 +52,11 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
52
52
|
typeMeta.supportsExpression ? /*#__PURE__*/ jsxs(InputGroup, {
|
|
53
53
|
error: error,
|
|
54
54
|
errorId: validationId,
|
|
55
|
+
className: cn('bg-surface-overlay', 'file' === fieldType && !locked && 'fixed' === effectiveMode && 'h-auto items-stretch'),
|
|
55
56
|
children: [
|
|
56
|
-
/*#__PURE__*/ jsx(InputGroupAddon, {
|
|
57
|
+
null !== leadingAddon && /*#__PURE__*/ jsx(InputGroupAddon, {
|
|
57
58
|
align: "inline-start",
|
|
58
|
-
children: /*#__PURE__*/ jsx(LockToggleButton, {
|
|
59
|
+
children: void 0 !== leadingAddon ? leadingAddon : /*#__PURE__*/ jsx(LockToggleButton, {
|
|
59
60
|
locked: locked,
|
|
60
61
|
onLockedChange: onLockedChange
|
|
61
62
|
})
|
|
@@ -133,6 +134,16 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
133
134
|
})
|
|
134
135
|
})
|
|
135
136
|
]
|
|
137
|
+
}) : 'file' === fieldType ? /*#__PURE__*/ jsx(FileUpload, {
|
|
138
|
+
id: fieldId,
|
|
139
|
+
ariaLabel: fileUploadAriaLabel ?? ('string' == typeof label ? label : fieldLabel),
|
|
140
|
+
className: "flex-1",
|
|
141
|
+
onFilesChange: (files)=>onValueChange?.(files.map((f)=>f.name).join(', ')),
|
|
142
|
+
disabled: !onValueChange,
|
|
143
|
+
onBlur: onValueBlur,
|
|
144
|
+
"aria-invalid": error ? true : void 0,
|
|
145
|
+
"aria-describedby": error ? validationId : void 0,
|
|
146
|
+
"aria-errormessage": error ? validationId : void 0
|
|
136
147
|
}) : /*#__PURE__*/ jsx(InputGroupInput, {
|
|
137
148
|
id: fieldId,
|
|
138
149
|
type: 'integer' === fieldType ? 'number' : 'text',
|
|
@@ -142,9 +153,10 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
142
153
|
onBlur: onValueBlur,
|
|
143
154
|
placeholder: fieldLabel
|
|
144
155
|
}),
|
|
145
|
-
/*#__PURE__*/ jsx(InputGroupAddon, {
|
|
156
|
+
null !== trailingAddon && /*#__PURE__*/ jsx(InputGroupAddon, {
|
|
146
157
|
align: "inline-end",
|
|
147
|
-
|
|
158
|
+
className: null != trailingAddon ? 'cursor-default' : void 0,
|
|
159
|
+
children: void 0 !== trailingAddon ? trailingAddon : /*#__PURE__*/ jsxs(DropdownMenu, {
|
|
148
160
|
children: [
|
|
149
161
|
/*#__PURE__*/ jsx(DropdownMenuTrigger, {
|
|
150
162
|
asChild: true,
|
|
@@ -183,7 +195,7 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
183
195
|
}) : /*#__PURE__*/ jsxs("div", {
|
|
184
196
|
className: "flex items-center gap-2",
|
|
185
197
|
children: [
|
|
186
|
-
/*#__PURE__*/ jsx(LockToggleButton, {
|
|
198
|
+
void 0 !== leadingAddon ? leadingAddon : /*#__PURE__*/ jsx(LockToggleButton, {
|
|
187
199
|
locked: locked,
|
|
188
200
|
onLockedChange: onLockedChange
|
|
189
201
|
}),
|
|
@@ -236,17 +248,7 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
236
248
|
"aria-invalid": error ? true : void 0,
|
|
237
249
|
"aria-describedby": error ? validationId : void 0,
|
|
238
250
|
"aria-errormessage": error ? validationId : void 0
|
|
239
|
-
}) :
|
|
240
|
-
id: fieldId,
|
|
241
|
-
ariaLabel: fileUploadAriaLabel ?? ('string' == typeof label ? label : fieldLabel),
|
|
242
|
-
className: "flex-1",
|
|
243
|
-
onFilesChange: (files)=>onValueChange?.(files.map((f)=>f.name).join(', ')),
|
|
244
|
-
disabled: !onValueChange,
|
|
245
|
-
onBlur: onValueBlur,
|
|
246
|
-
"aria-invalid": error ? true : void 0,
|
|
247
|
-
"aria-describedby": error ? validationId : void 0,
|
|
248
|
-
"aria-errormessage": error ? validationId : void 0
|
|
249
|
-
})
|
|
251
|
+
}) : null
|
|
250
252
|
]
|
|
251
253
|
}),
|
|
252
254
|
error && !typeMeta.supportsExpression && /*#__PURE__*/ jsx("p", {
|
|
@@ -256,7 +258,8 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
|
|
|
256
258
|
"aria-atomic": "true",
|
|
257
259
|
className: "mt-1 text-xs leading-4 text-error",
|
|
258
260
|
children: error
|
|
259
|
-
})
|
|
261
|
+
}),
|
|
262
|
+
belowValue
|
|
260
263
|
]
|
|
261
264
|
});
|
|
262
265
|
}
|
|
@@ -74,9 +74,16 @@ const FIELD_TYPE_META = {
|
|
|
74
74
|
file: {
|
|
75
75
|
label: 'File',
|
|
76
76
|
icon: external_lucide_react_namespaceObject.File,
|
|
77
|
-
supportsExpression:
|
|
77
|
+
supportsExpression: true,
|
|
78
78
|
fixedLabel: 'Fixed value',
|
|
79
79
|
fixedDescription: 'Upload a file'
|
|
80
|
+
},
|
|
81
|
+
object: {
|
|
82
|
+
label: 'Object',
|
|
83
|
+
icon: external_lucide_react_namespaceObject.Braces,
|
|
84
|
+
supportsExpression: true,
|
|
85
|
+
fixedLabel: 'Fixed value',
|
|
86
|
+
fixedDescription: 'Use a literal object value'
|
|
80
87
|
}
|
|
81
88
|
};
|
|
82
89
|
const FIELD_TYPE_ORDER = [
|
|
@@ -86,7 +93,8 @@ const FIELD_TYPE_ORDER = [
|
|
|
86
93
|
'boolean',
|
|
87
94
|
'single-select',
|
|
88
95
|
'multi-select',
|
|
89
|
-
'file'
|
|
96
|
+
'file',
|
|
97
|
+
'object'
|
|
90
98
|
];
|
|
91
99
|
exports.FIELD_TYPE_META = __webpack_exports__.FIELD_TYPE_META;
|
|
92
100
|
exports.FIELD_TYPE_ORDER = __webpack_exports__.FIELD_TYPE_ORDER;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type LucideIcon } from 'lucide-react';
|
|
2
2
|
import type { AriaAttributes, ReactNode } from 'react';
|
|
3
3
|
export type LockableValueFieldMode = 'fixed' | 'expression';
|
|
4
|
-
export type LockableFieldType = 'string' | 'integer' | 'date' | 'boolean' | 'single-select' | 'multi-select' | 'file';
|
|
4
|
+
export type LockableFieldType = 'string' | 'integer' | 'date' | 'boolean' | 'single-select' | 'multi-select' | 'file' | 'object';
|
|
5
5
|
interface FieldTypeMeta {
|
|
6
6
|
label: string;
|
|
7
7
|
icon: LucideIcon;
|
|
@@ -26,6 +26,17 @@ export interface LockableValueFieldProps {
|
|
|
26
26
|
locked?: boolean;
|
|
27
27
|
/** Called when the user toggles the lock. */
|
|
28
28
|
onLockedChange?: (locked: boolean) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Replaces the leading lock toggle with a semantic prefix such as `=`.
|
|
31
|
+
* Pass `null` to suppress the built-in toggle; omitting the prop preserves it.
|
|
32
|
+
*/
|
|
33
|
+
leadingAddon?: ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Replaces the trailing fixed/expression menu with a consumer-provided action
|
|
36
|
+
* for expression-capable field types. Pass `null` to suppress the built-in
|
|
37
|
+
* menu; omitting the prop preserves it.
|
|
38
|
+
*/
|
|
39
|
+
trailingAddon?: ReactNode;
|
|
29
40
|
/** Fixed value vs. JS expression. Defaults to 'fixed'. Ignored for types that don't support expressions. */
|
|
30
41
|
mode?: LockableValueFieldMode;
|
|
31
42
|
/** Called when the user switches modes. */
|
|
@@ -61,6 +72,8 @@ export interface LockableValueFieldProps {
|
|
|
61
72
|
error?: ReactNode;
|
|
62
73
|
/** Optional id for the inline validation message. */
|
|
63
74
|
errorId?: string;
|
|
75
|
+
/** Content rendered below the value control, such as a related checkbox or help text. */
|
|
76
|
+
belowValue?: ReactNode;
|
|
64
77
|
/** Accessible name for the file-upload dropzone. Defaults to a string `label`, then the computed field label. */
|
|
65
78
|
fileUploadAriaLabel?: string;
|
|
66
79
|
/** Extra content rendered after the built-in AI assist / Insert variable buttons (e.g. a delete button). */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ALargeSmall, Calendar, File, Hash, List, ListChecks, ToggleLeft } from "lucide-react";
|
|
1
|
+
import { ALargeSmall, Braces, Calendar, File, Hash, List, ListChecks, ToggleLeft } from "lucide-react";
|
|
2
2
|
const FIELD_TYPE_META = {
|
|
3
3
|
string: {
|
|
4
4
|
label: 'String',
|
|
@@ -45,9 +45,16 @@ const FIELD_TYPE_META = {
|
|
|
45
45
|
file: {
|
|
46
46
|
label: 'File',
|
|
47
47
|
icon: File,
|
|
48
|
-
supportsExpression:
|
|
48
|
+
supportsExpression: true,
|
|
49
49
|
fixedLabel: 'Fixed value',
|
|
50
50
|
fixedDescription: 'Upload a file'
|
|
51
|
+
},
|
|
52
|
+
object: {
|
|
53
|
+
label: 'Object',
|
|
54
|
+
icon: Braces,
|
|
55
|
+
supportsExpression: true,
|
|
56
|
+
fixedLabel: 'Fixed value',
|
|
57
|
+
fixedDescription: 'Use a literal object value'
|
|
51
58
|
}
|
|
52
59
|
};
|
|
53
60
|
const FIELD_TYPE_ORDER = [
|
|
@@ -57,6 +64,7 @@ const FIELD_TYPE_ORDER = [
|
|
|
57
64
|
'boolean',
|
|
58
65
|
'single-select',
|
|
59
66
|
'multi-select',
|
|
60
|
-
'file'
|
|
67
|
+
'file',
|
|
68
|
+
'object'
|
|
61
69
|
];
|
|
62
70
|
export { FIELD_TYPE_META, FIELD_TYPE_ORDER };
|
|
@@ -70,8 +70,8 @@ const MARKDOWN_PREVIEW_STYLES = `
|
|
|
70
70
|
.prompt-editor-preview th { font-weight: 600; background-color: var(--color-muted); }
|
|
71
71
|
.prompt-editor-preview strong { font-weight: 700; }
|
|
72
72
|
.prompt-editor-preview em { font-style: italic; }
|
|
73
|
-
.prompt-editor-preview .token-pill { display: inline-flex; align-items: center; gap: 3px; height: 20px; padding: 0 4px; border-radius: 4px; font-size: 13px; line-height: 20px; vertical-align: middle; background: var(--color-
|
|
74
|
-
.prompt-editor-preview .token-pill svg { display: block; flex-shrink: 0; color: var(--color-
|
|
73
|
+
.prompt-editor-preview .token-pill { display: inline-flex; align-items: center; gap: 3px; height: 20px; padding: 0 4px; border-radius: 4px; font-size: 13px; line-height: 20px; vertical-align: middle; background: var(--color-info-background); color: var(--color-info-text); }
|
|
74
|
+
.prompt-editor-preview .token-pill svg { display: block; flex-shrink: 0; color: var(--color-info-icon); width: 14px; height: 14px; }
|
|
75
75
|
`;
|
|
76
76
|
const PURIFY_CONFIG = {
|
|
77
77
|
ALLOWED_TAGS: [
|
|
@@ -32,8 +32,8 @@ const MARKDOWN_PREVIEW_STYLES = `
|
|
|
32
32
|
.prompt-editor-preview th { font-weight: 600; background-color: var(--color-muted); }
|
|
33
33
|
.prompt-editor-preview strong { font-weight: 700; }
|
|
34
34
|
.prompt-editor-preview em { font-style: italic; }
|
|
35
|
-
.prompt-editor-preview .token-pill { display: inline-flex; align-items: center; gap: 3px; height: 20px; padding: 0 4px; border-radius: 4px; font-size: 13px; line-height: 20px; vertical-align: middle; background: var(--color-
|
|
36
|
-
.prompt-editor-preview .token-pill svg { display: block; flex-shrink: 0; color: var(--color-
|
|
35
|
+
.prompt-editor-preview .token-pill { display: inline-flex; align-items: center; gap: 3px; height: 20px; padding: 0 4px; border-radius: 4px; font-size: 13px; line-height: 20px; vertical-align: middle; background: var(--color-info-background); color: var(--color-info-text); }
|
|
36
|
+
.prompt-editor-preview .token-pill svg { display: block; flex-shrink: 0; color: var(--color-info-icon); width: 14px; height: 14px; }
|
|
37
37
|
`;
|
|
38
38
|
const PURIFY_CONFIG = {
|
|
39
39
|
ALLOWED_TAGS: [
|
|
@@ -31,14 +31,14 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
31
31
|
});
|
|
32
32
|
const getPromptEditorTokenColors = ()=>({
|
|
33
33
|
valid: {
|
|
34
|
-
background: 'var(--color-
|
|
35
|
-
border: 'var(--color-
|
|
36
|
-
text: 'var(--color-
|
|
37
|
-
icon: 'var(--color-
|
|
34
|
+
background: 'var(--color-info-background)',
|
|
35
|
+
border: 'var(--color-info-icon)',
|
|
36
|
+
text: 'var(--color-info-text)',
|
|
37
|
+
icon: 'var(--color-info-icon)'
|
|
38
38
|
},
|
|
39
39
|
invalid: {
|
|
40
40
|
background: 'var(--color-error-background)',
|
|
41
|
-
border: 'var(--color-error)',
|
|
41
|
+
border: 'var(--color-error-icon)',
|
|
42
42
|
text: 'var(--color-error-text)',
|
|
43
43
|
icon: 'var(--color-error-icon)'
|
|
44
44
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
const getPromptEditorTokenColors = ()=>({
|
|
2
2
|
valid: {
|
|
3
|
-
background: 'var(--color-
|
|
4
|
-
border: 'var(--color-
|
|
5
|
-
text: 'var(--color-
|
|
6
|
-
icon: 'var(--color-
|
|
3
|
+
background: 'var(--color-info-background)',
|
|
4
|
+
border: 'var(--color-info-icon)',
|
|
5
|
+
text: 'var(--color-info-text)',
|
|
6
|
+
icon: 'var(--color-info-icon)'
|
|
7
7
|
},
|
|
8
8
|
invalid: {
|
|
9
9
|
background: 'var(--color-error-background)',
|
|
10
|
-
border: 'var(--color-error)',
|
|
10
|
+
border: 'var(--color-error-icon)',
|
|
11
11
|
text: 'var(--color-error-text)',
|
|
12
12
|
icon: 'var(--color-error-icon)'
|
|
13
13
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -71,6 +71,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
71
71
|
Column: ()=>column_cjs_namespaceObject.Column,
|
|
72
72
|
AlertDialogTrigger: ()=>alert_dialog_cjs_namespaceObject.AlertDialogTrigger,
|
|
73
73
|
DrawerOverlay: ()=>drawer_cjs_namespaceObject.DrawerOverlay,
|
|
74
|
+
RequiredIndicator: ()=>label_cjs_namespaceObject.RequiredIndicator,
|
|
74
75
|
CardContent: ()=>card_cjs_namespaceObject.CardContent,
|
|
75
76
|
SelectValue: ()=>select_cjs_namespaceObject.SelectValue,
|
|
76
77
|
Slider: ()=>slider_cjs_namespaceObject.Slider,
|
|
@@ -509,6 +510,7 @@ exports.Progress = __webpack_exports__.Progress;
|
|
|
509
510
|
exports.PromptEditor = __webpack_exports__.PromptEditor;
|
|
510
511
|
exports.RadioGroup = __webpack_exports__.RadioGroup;
|
|
511
512
|
exports.RadioGroupItem = __webpack_exports__.RadioGroupItem;
|
|
513
|
+
exports.RequiredIndicator = __webpack_exports__.RequiredIndicator;
|
|
512
514
|
exports.ResizableHandle = __webpack_exports__.ResizableHandle;
|
|
513
515
|
exports.ResizablePanel = __webpack_exports__.ResizablePanel;
|
|
514
516
|
exports.ResizablePanelGroup = __webpack_exports__.ResizablePanelGroup;
|
|
@@ -752,6 +754,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
752
754
|
"PromptEditor",
|
|
753
755
|
"RadioGroup",
|
|
754
756
|
"RadioGroupItem",
|
|
757
|
+
"RequiredIndicator",
|
|
755
758
|
"ResizableHandle",
|
|
756
759
|
"ResizablePanel",
|
|
757
760
|
"ResizablePanelGroup",
|
package/dist/index.d.ts
CHANGED
|
@@ -18,8 +18,8 @@ export { FIELD_TYPE_META, FIELD_TYPE_ORDER, LockableValueField, } from './compon
|
|
|
18
18
|
export type { LockableValueFieldProps, LockableValueFieldMode, LockableFieldType, LockableValueFieldOption, } from './components/ui/lockable-value-field';
|
|
19
19
|
export { Textarea } from './components/ui/textarea';
|
|
20
20
|
export type { TextareaProps } from './components/ui/textarea';
|
|
21
|
-
export { Label } from './components/ui/label';
|
|
22
|
-
export type { LabelProps } from './components/ui/label';
|
|
21
|
+
export { Label, RequiredIndicator } from './components/ui/label';
|
|
22
|
+
export type { LabelProps, RequiredIndicatorProps } from './components/ui/label';
|
|
23
23
|
export { Checkbox } from './components/ui/checkbox';
|
|
24
24
|
export type { CheckboxProps } from './components/ui/checkbox';
|
|
25
25
|
export { RadioGroup, RadioGroupItem } from './components/ui/radio-group';
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import { Input } from "./components/ui/input.js";
|
|
|
10
10
|
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./components/ui/input-group.js";
|
|
11
11
|
import { FIELD_TYPE_META, FIELD_TYPE_ORDER, LockableValueField } from "./components/ui/lockable-value-field/index.js";
|
|
12
12
|
import { Textarea } from "./components/ui/textarea.js";
|
|
13
|
-
import { Label } from "./components/ui/label.js";
|
|
13
|
+
import { Label, RequiredIndicator } from "./components/ui/label.js";
|
|
14
14
|
import { Checkbox } from "./components/ui/checkbox.js";
|
|
15
15
|
import { RadioGroup, RadioGroupItem } from "./components/ui/radio-group.js";
|
|
16
16
|
import { Switch } from "./components/ui/switch.js";
|
|
@@ -69,4 +69,4 @@ import { ExpressionBuilder, RuleBuilder, RulesEngine } from "./components/forms/
|
|
|
69
69
|
import { DataFetcher, DataSourceBuilder, DataTransformers, FetchAdapter } from "./components/forms/data-fetcher.js";
|
|
70
70
|
import { analyticsPlugin, auditPlugin, autoSavePlugin, formattingPlugin, validationPlugin, workflowPlugin } from "./components/forms/form-plugins.js";
|
|
71
71
|
import { hasMinMaxStep, hasOptions, isCustomField, isFileField } from "./components/forms/form-schema.js";
|
|
72
|
-
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, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, 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, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableCell, EmptyState, ExpressionBuilder, FIELD_TYPE_META, FIELD_TYPE_ORDER, FetchAdapter, FileUpload, FormDesigner, FormFieldRenderer, FormStateViewer, Grid, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Label, LockableValueField, MetadataForm, MultiSelect, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, Progress, PromptEditor, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Row, RuleBuilder, RulesEngine, ScrollArea, ScrollBar, ScrollableTabsList, 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, VariablePicker, VariablePickerContent, analyticsPlugin, auditPlugin, autoSavePlugin, badgeVariants, buttonVariants, cn, createEditableColumn, formattingPlugin, hasMinMaxStep, hasOptions, isCustomField, isFileField, spinnerVariants, toast, toggleVariants, validationPlugin, workflowPlugin };
|
|
72
|
+
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, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, 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, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableCell, EmptyState, ExpressionBuilder, FIELD_TYPE_META, FIELD_TYPE_ORDER, FetchAdapter, FileUpload, FormDesigner, FormFieldRenderer, FormStateViewer, Grid, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Label, LockableValueField, MetadataForm, MultiSelect, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, Progress, PromptEditor, RadioGroup, RadioGroupItem, RequiredIndicator, ResizableHandle, ResizablePanel, ResizablePanelGroup, Row, RuleBuilder, RulesEngine, ScrollArea, ScrollBar, ScrollableTabsList, 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, VariablePicker, VariablePickerContent, analyticsPlugin, auditPlugin, autoSavePlugin, badgeVariants, buttonVariants, cn, createEditableColumn, formattingPlugin, hasMinMaxStep, hasOptions, isCustomField, isFileField, spinnerVariants, toast, toggleVariants, validationPlugin, workflowPlugin };
|
package/dist/styles.css
CHANGED
|
@@ -299,7 +299,6 @@
|
|
|
299
299
|
--color-foreground-link: var(--foreground-link);
|
|
300
300
|
--color-border-disabled: var(--border-disabled);
|
|
301
301
|
--color-border-grid: var(--border-grid);
|
|
302
|
-
--color-error: var(--error);
|
|
303
302
|
--color-logo: var(--logo);
|
|
304
303
|
--color-background-secondary: var(--color-background-secondary);
|
|
305
304
|
--color-background-inverse: var(--color-background-inverse);
|
|
@@ -886,6 +885,9 @@
|
|
|
886
885
|
.-ml-3 {
|
|
887
886
|
margin-left: calc(var(--spacing) * -3);
|
|
888
887
|
}
|
|
888
|
+
.ml-0 {
|
|
889
|
+
margin-left: calc(var(--spacing) * 0);
|
|
890
|
+
}
|
|
889
891
|
.ml-0\.5 {
|
|
890
892
|
margin-left: calc(var(--spacing) * 0.5);
|
|
891
893
|
}
|
|
@@ -1470,6 +1472,9 @@
|
|
|
1470
1472
|
.w-\[600px\] {
|
|
1471
1473
|
width: 600px;
|
|
1472
1474
|
}
|
|
1475
|
+
.w-\[620px\] {
|
|
1476
|
+
width: 620px;
|
|
1477
|
+
}
|
|
1473
1478
|
.w-\[700px\] {
|
|
1474
1479
|
width: 700px;
|
|
1475
1480
|
}
|
|
@@ -3914,6 +3919,10 @@
|
|
|
3914
3919
|
.text-\[40px\] {
|
|
3915
3920
|
font-size: 40px;
|
|
3916
3921
|
}
|
|
3922
|
+
.leading-3 {
|
|
3923
|
+
--tw-leading: calc(var(--spacing) * 3);
|
|
3924
|
+
line-height: calc(var(--spacing) * 3);
|
|
3925
|
+
}
|
|
3917
3926
|
.leading-4 {
|
|
3918
3927
|
--tw-leading: calc(var(--spacing) * 4);
|
|
3919
3928
|
line-height: calc(var(--spacing) * 4);
|
|
@@ -4285,6 +4294,9 @@
|
|
|
4285
4294
|
.underline-offset-4 {
|
|
4286
4295
|
text-underline-offset: 4px;
|
|
4287
4296
|
}
|
|
4297
|
+
.accent-brand {
|
|
4298
|
+
accent-color: var(--brand);
|
|
4299
|
+
}
|
|
4288
4300
|
.accent-primary {
|
|
4289
4301
|
accent-color: var(--primary);
|
|
4290
4302
|
}
|