@reopt-ai/opt-ui 1.14.0 → 1.15.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/CHANGELOG.md +45 -0
- package/COMPONENT_CATALOG.md +222 -69
- package/README.md +26 -0
- package/dist/core/index.cjs +4 -4
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +2 -2
- package/dist/docs/02-components/01-core.md +37 -33
- package/dist/docs/02-components/02-visuals.md +1 -1
- package/dist/docs/02-components/03-shells.md +191 -36
- package/dist/docs/02-components/04-surfaces.md +1 -1
- package/dist/docs/02-components/index.md +4 -4
- package/dist/id-registry.cjs +24 -0
- package/dist/id-registry.js +24 -0
- package/dist/id-registry.json +51 -0
- package/dist/index.cjs +445 -381
- package/dist/index.d.cts +16 -13
- package/dist/index.d.ts +16 -13
- package/dist/index.js +303 -245
- package/dist/{key-pad-menu-CqFI6la9.js → key-pad-menu-BCOeYvsH.js} +50 -61
- package/dist/{key-pad-menu-D6pYzaj-.d.cts → key-pad-menu-CaIsTHB2.d.cts} +12 -8
- package/dist/{key-pad-menu-BgtSL3xe.cjs → key-pad-menu-Jaqxhx9P.cjs} +48 -71
- package/dist/{key-pad-menu-Yh7Fpb8m.d.ts → key-pad-menu-odAEycIX.d.ts} +12 -8
- package/dist/meta.cjs +447 -7
- package/dist/meta.js +447 -7
- package/dist/{field-sidebar-mSVCMAZp.js → replay-player-layout-BVUNsUS1.js} +891 -191
- package/dist/{field-sidebar-ePqFX6MN.cjs → replay-player-layout-Cmzptq89.cjs} +931 -189
- package/dist/{field-sidebar-CJ4HxP8D.d.cts → replay-player-layout-DpqdfdQ6.d.ts} +246 -3
- package/dist/{field-sidebar-DnhpcT2A.d.ts → replay-player-layout-DuZW-gFF.d.cts} +246 -3
- package/dist/shells/index.cjs +58 -52
- package/dist/shells/index.d.cts +2 -2
- package/dist/shells/index.d.ts +2 -2
- package/dist/shells/index.js +2 -2
- package/dist/{text-truncate-Bd-0WkSP.js → text-truncate-B-8nJgnu.js} +200 -101
- package/dist/{text-truncate-Bbul-jMD.d.cts → text-truncate-DOxUijpB.d.cts} +2 -0
- package/dist/{text-truncate-Bbul-jMD.d.ts → text-truncate-DOxUijpB.d.ts} +2 -0
- package/dist/{text-truncate-BeYW6XZu.cjs → text-truncate-gQhpMy-Z.cjs} +214 -97
- package/package.json +1 -1
|
@@ -3,8 +3,8 @@ import { clsx } from "clsx";
|
|
|
3
3
|
import { twMerge } from "tailwind-merge";
|
|
4
4
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import * as React from "react";
|
|
6
|
-
import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
7
|
-
import { AlertDialogPanel, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxPopover, ComboboxRoot, Composite, CompositeItem, CompositeProvider, CompositeRow, DialogDescription, DialogDisclosure, DialogDismiss, DialogHeading, DialogPanel, DialogRoot, DisclosureContent, DisclosureRoot, DisclosureTrigger, FormCheckbox, FormControl, FormDescription, FormError, FormField, FormGroup, FormGroupLabel, FormInput, FormLabel, FormProvider, FormPush, FormRadio, FormRadioGroup, FormRemove, FormReset, FormRoot, FormSubmit, FormSwitch, MenuButtonArrow, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuPopover, MenuRoot, MenuSeparator, MenuTrigger, MenubarContainer, MenubarRoot, Meter, PopoverClose, PopoverContent, PopoverRoot, PopoverTrigger, SelectItem, SelectLabel, SelectPopover, SelectRoot, SelectTrigger, Tab, TabList, TabPanel, TabsRoot, ToolbarButton, ToolbarContainer, ToolbarRoot, ToolbarSeparator, Tooltip, TooltipAnchor, TooltipRoot, useFieldValue, useFormContext, useFormStore } from "@reopt-ai/opt-ui-primitives";
|
|
6
|
+
import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
7
|
+
import { AlertDialogPanel, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxPopover, ComboboxRoot, Composite, CompositeItem, CompositeProvider, CompositeRow, DialogDescription, DialogDisclosure, DialogDismiss, DialogHeading, DialogPanel, DialogRoot, DisclosureContent, DisclosureRoot, DisclosureTrigger, FormCheckbox, FormControl, FormDescription, FormError, FormField, FormGroup, FormGroupLabel, FormInput, FormLabel, FormProvider, FormPush, FormRadio, FormRadioGroup, FormRemove, FormReset, FormRoot, FormSubmit, FormSwitch, FormTextarea, MenuButtonArrow, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuPopover, MenuRoot, MenuSeparator, MenuTrigger, MenubarContainer, MenubarRoot, Meter, PopoverClose, PopoverContent, PopoverRoot, PopoverTrigger, SelectItem, SelectLabel, SelectPopover, SelectRoot, SelectTrigger, Tab, TabList, TabPanel, TabsRoot, Toggle, ToggleGroup, ToolbarButton, ToolbarContainer, ToolbarRoot, ToolbarSeparator, Tooltip, TooltipAnchor, TooltipRoot, useFieldValue, useFormContext, useFormStore } from "@reopt-ai/opt-ui-primitives";
|
|
8
8
|
import { AtSign, Bell, Binary, Braces, Brackets, Calendar, CalendarClock, CalendarDays, ChartColumn, Check, ChevronLeft, ChevronRight, CircleAlert, CircleCheck, CircleDollarSign, CircleHelp, Copy, CreditCard, Download, Eye, FileText, Fingerprint, Flag, Folder, Globe, GripVertical, Hash, Heart, Info, Layers, Link2, List, LogIn, Mail, MapPin, MessageCircle, MousePointerClick, Network, Percent, Search, Settings, Share2, ShoppingCart, Sigma, Star, Timer, ToggleLeft, TrendingUp, TriangleAlert, Type, Upload, User, UserPlus, XCircle, Zap } from "lucide-react";
|
|
9
9
|
import { Group, Panel, Separator as Separator$1 } from "react-resizable-panels";
|
|
10
10
|
//#region src/lib/cn.ts
|
|
@@ -220,6 +220,47 @@ function useControlledState(defaultValue, controlledValue, onChange) {
|
|
|
220
220
|
}, [isControlled, onChange])];
|
|
221
221
|
}
|
|
222
222
|
//#endregion
|
|
223
|
+
//#region src/core/toggle.tsx
|
|
224
|
+
const _excluded$22 = [
|
|
225
|
+
"size",
|
|
226
|
+
"className",
|
|
227
|
+
"children"
|
|
228
|
+
];
|
|
229
|
+
const _excluded2$12 = [
|
|
230
|
+
"className",
|
|
231
|
+
"children",
|
|
232
|
+
"orientation"
|
|
233
|
+
];
|
|
234
|
+
const sizeStyles$7 = {
|
|
235
|
+
sm: "h-8 min-w-8 px-2 text-xs gap-1.5",
|
|
236
|
+
md: "h-10 min-w-10 px-3 text-sm gap-2"
|
|
237
|
+
};
|
|
238
|
+
const toggleBase = cn("inline-flex cursor-pointer items-center justify-center rounded-md border border-border bg-surface font-medium text-text-secondary", "hover:bg-bg-subtle hover:text-text-primary", "data-[pressed]:border-accent data-[pressed]:bg-accent-subtle data-[pressed]:text-accent", "disabled:pointer-events-none disabled:opacity-40", OPT_FOCUS_VISIBLE);
|
|
239
|
+
/** A two-state (pressed) button. Use standalone or inside `ToggleGroup`. */
|
|
240
|
+
function Toggle$1(_ref) {
|
|
241
|
+
let { size = "md", className, children } = _ref, props = _objectWithoutProperties(_ref, _excluded$22);
|
|
242
|
+
return /* @__PURE__ */ jsx(Toggle, _objectSpread2(_objectSpread2({ className: cn(toggleBase, sizeStyles$7[size], className) }, props), {}, {
|
|
243
|
+
"data-opt-id": "GFCMY",
|
|
244
|
+
"data-opt-slug": "toggle.Toggle",
|
|
245
|
+
children
|
|
246
|
+
}));
|
|
247
|
+
}
|
|
248
|
+
Toggle$1.displayName = "Toggle";
|
|
249
|
+
/** A set of related toggles with shared selection and keyboard navigation. */
|
|
250
|
+
function ToggleGroup$1(_ref2) {
|
|
251
|
+
let { className, children, orientation = "horizontal" } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$12);
|
|
252
|
+
return /* @__PURE__ */ jsx(ToggleGroup, _objectSpread2(_objectSpread2({
|
|
253
|
+
orientation,
|
|
254
|
+
"aria-orientation": orientation,
|
|
255
|
+
className: cn("inline-flex gap-1", orientation === "vertical" ? "flex-col" : "flex-row", className)
|
|
256
|
+
}, props), {}, {
|
|
257
|
+
"data-opt-id": "47J37",
|
|
258
|
+
"data-opt-slug": "toggle.ToggleGroup",
|
|
259
|
+
children
|
|
260
|
+
}));
|
|
261
|
+
}
|
|
262
|
+
ToggleGroup$1.displayName = "ToggleGroup";
|
|
263
|
+
//#endregion
|
|
223
264
|
//#region src/core/skeleton.tsx
|
|
224
265
|
const _excluded$21 = [
|
|
225
266
|
"variant",
|
|
@@ -1034,12 +1075,10 @@ function Tooltip$1(_ref5) {
|
|
|
1034
1075
|
}
|
|
1035
1076
|
//#endregion
|
|
1036
1077
|
//#region src/lib/use-input-id.ts
|
|
1037
|
-
/**
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
function useInputId(id, label, prefix) {
|
|
1042
|
-
return id !== null && id !== void 0 ? id : label ? `${prefix}-${label.replace(/\s+/g, "-").toLowerCase()}` : void 0;
|
|
1078
|
+
/** Generates an instance-specific, hydration-stable ID unless one is supplied. */
|
|
1079
|
+
function useInputId(id, _label, prefix) {
|
|
1080
|
+
const generatedId = useId();
|
|
1081
|
+
return id !== null && id !== void 0 ? id : `${prefix}-${generatedId}`;
|
|
1043
1082
|
}
|
|
1044
1083
|
//#endregion
|
|
1045
1084
|
//#region src/core/input.tsx
|
|
@@ -1348,6 +1387,7 @@ const Textarea = forwardRef((_ref, ref) => {
|
|
|
1348
1387
|
ref,
|
|
1349
1388
|
id: textareaId,
|
|
1350
1389
|
rows,
|
|
1390
|
+
required,
|
|
1351
1391
|
className: cn("border-border bg-surface text-text-primary placeholder:text-text-tertiary w-full rounded-lg border px-4 py-3 text-sm outline-transparent", OPT_FOCUS_VISIBLE, textareaSizeStyles[size], resizeStyles$1[resize], hasError && "border-danger focus-visible:outline-danger", !fullWidth && "w-auto", className),
|
|
1352
1392
|
"aria-invalid": hasError,
|
|
1353
1393
|
"aria-describedby": getDescribedBy(textareaId, error, hint)
|
|
@@ -2170,6 +2210,7 @@ function NumberInput({ value: controlledValue, defaultValue, onChange, nullable,
|
|
|
2170
2210
|
children: [
|
|
2171
2211
|
/* @__PURE__ */ jsx("input", {
|
|
2172
2212
|
type: "text",
|
|
2213
|
+
role: "spinbutton",
|
|
2173
2214
|
inputMode: "decimal",
|
|
2174
2215
|
id: inputId,
|
|
2175
2216
|
value: displayValue,
|
|
@@ -2183,6 +2224,10 @@ function NumberInput({ value: controlledValue, defaultValue, onChange, nullable,
|
|
|
2183
2224
|
"aria-label": (_ref2 = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : label) !== null && _ref2 !== void 0 ? _ref2 : resolvedLabels.input,
|
|
2184
2225
|
"aria-invalid": hasError,
|
|
2185
2226
|
"aria-required": required,
|
|
2227
|
+
"aria-valuenow": value !== null && value !== void 0 ? value : void 0,
|
|
2228
|
+
"aria-valuemin": min,
|
|
2229
|
+
"aria-valuemax": max,
|
|
2230
|
+
"aria-valuetext": value === null ? "" : void 0,
|
|
2186
2231
|
"aria-describedby": getDescribedBy(inputId, effectiveError, hint),
|
|
2187
2232
|
min,
|
|
2188
2233
|
max,
|
|
@@ -2249,13 +2294,16 @@ function getSliderState(value, min, max, step) {
|
|
|
2249
2294
|
};
|
|
2250
2295
|
}
|
|
2251
2296
|
/** Renders the slider component. */
|
|
2252
|
-
function Slider({ value: controlledValue, defaultValue = 0, onChange, min = 0, max = 100, step = 1, label, showValue = false, formatValue, disabled = false, className, "aria-label": ariaLabel }) {
|
|
2297
|
+
function Slider({ value: controlledValue, defaultValue = 0, onChange, onValueCommit, min = 0, max = 100, step = 1, label, showValue = false, formatValue, disabled = false, className, "aria-label": ariaLabel }) {
|
|
2253
2298
|
var _ref;
|
|
2254
2299
|
const [localValue, setLocalValue] = useState(defaultValue);
|
|
2300
|
+
const pendingValue = useRef(null);
|
|
2301
|
+
const pointerStart = useRef(null);
|
|
2255
2302
|
const sliderState = getSliderState(controlledValue !== null && controlledValue !== void 0 ? controlledValue : localValue, min, max, step);
|
|
2256
2303
|
const handleChange = useCallback((e) => {
|
|
2257
2304
|
const next = getSliderState(parseFloat(e.target.value), min, max, step).value;
|
|
2258
2305
|
if (controlledValue === void 0) setLocalValue(next);
|
|
2306
|
+
pendingValue.current = next;
|
|
2259
2307
|
onChange === null || onChange === void 0 || onChange(next);
|
|
2260
2308
|
}, [
|
|
2261
2309
|
controlledValue,
|
|
@@ -2264,6 +2312,12 @@ function Slider({ value: controlledValue, defaultValue = 0, onChange, min = 0, m
|
|
|
2264
2312
|
step,
|
|
2265
2313
|
onChange
|
|
2266
2314
|
]);
|
|
2315
|
+
const commit = () => {
|
|
2316
|
+
const next = pendingValue.current;
|
|
2317
|
+
pendingValue.current = null;
|
|
2318
|
+
pointerStart.current = null;
|
|
2319
|
+
if (!disabled && next !== null) onValueCommit === null || onValueCommit === void 0 || onValueCommit(next);
|
|
2320
|
+
};
|
|
2267
2321
|
const displayValue = formatValue ? formatValue(sliderState.value) : String(sliderState.value);
|
|
2268
2322
|
return /* @__PURE__ */ jsxs("div", {
|
|
2269
2323
|
className: cn("flex flex-col gap-1.5", className),
|
|
@@ -2285,6 +2339,34 @@ function Slider({ value: controlledValue, defaultValue = 0, onChange, min = 0, m
|
|
|
2285
2339
|
step: sliderState.step,
|
|
2286
2340
|
value: sliderState.value,
|
|
2287
2341
|
onChange: handleChange,
|
|
2342
|
+
onPointerDown: (event) => {
|
|
2343
|
+
var _event$currentTarget$, _event$currentTarget;
|
|
2344
|
+
pointerStart.current = sliderState.value;
|
|
2345
|
+
(_event$currentTarget$ = (_event$currentTarget = event.currentTarget).setPointerCapture) === null || _event$currentTarget$ === void 0 || _event$currentTarget$.call(_event$currentTarget, event.pointerId);
|
|
2346
|
+
},
|
|
2347
|
+
onPointerUp: commit,
|
|
2348
|
+
onPointerCancel: () => {
|
|
2349
|
+
const previous = pointerStart.current;
|
|
2350
|
+
pendingValue.current = null;
|
|
2351
|
+
pointerStart.current = null;
|
|
2352
|
+
if (previous !== null && !disabled) {
|
|
2353
|
+
if (controlledValue === void 0) setLocalValue(previous);
|
|
2354
|
+
onChange === null || onChange === void 0 || onChange(previous);
|
|
2355
|
+
}
|
|
2356
|
+
},
|
|
2357
|
+
onKeyUp: (event) => {
|
|
2358
|
+
if ([
|
|
2359
|
+
"ArrowLeft",
|
|
2360
|
+
"ArrowRight",
|
|
2361
|
+
"ArrowUp",
|
|
2362
|
+
"ArrowDown",
|
|
2363
|
+
"Home",
|
|
2364
|
+
"End",
|
|
2365
|
+
"PageUp",
|
|
2366
|
+
"PageDown"
|
|
2367
|
+
].includes(event.key)) commit();
|
|
2368
|
+
},
|
|
2369
|
+
onBlur: commit,
|
|
2288
2370
|
disabled,
|
|
2289
2371
|
"aria-label": (_ref = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : label) !== null && _ref !== void 0 ? _ref : "Slider",
|
|
2290
2372
|
"aria-valuemin": sliderState.min,
|
|
@@ -2790,6 +2872,12 @@ function IconPicker({ value, onChange, icons = DEFAULT_ICONS, label, required, e
|
|
|
2790
2872
|
}
|
|
2791
2873
|
IconPicker.displayName = "IconPicker";
|
|
2792
2874
|
//#endregion
|
|
2875
|
+
//#region src/lib/is-composing-key.ts
|
|
2876
|
+
/** Safari may report the composition-ending key with keyCode 229. */
|
|
2877
|
+
function isComposingKey(event) {
|
|
2878
|
+
return event.nativeEvent.isComposing || event.keyCode === 229;
|
|
2879
|
+
}
|
|
2880
|
+
//#endregion
|
|
2793
2881
|
//#region src/core/tag-input.tsx
|
|
2794
2882
|
const DEFAULT_DELIMITERS = [
|
|
2795
2883
|
",",
|
|
@@ -2801,7 +2889,7 @@ function splitByDelimiters(text, delimiters) {
|
|
|
2801
2889
|
return text.split(new RegExp(pattern)).map((s) => s.trim()).filter(Boolean);
|
|
2802
2890
|
}
|
|
2803
2891
|
const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", label, required, error, hint, maxTags, disabled = false, className, id, "aria-label": ariaLabel, suggestions, delimiters = DEFAULT_DELIMITERS, allowDuplicates = false }, ref) => {
|
|
2804
|
-
var _useInputId, _ref, _ref2, _ref3
|
|
2892
|
+
var _useInputId, _ref, _ref2, _ref3;
|
|
2805
2893
|
const [tags, setTags] = useControlledState([], value, onChange);
|
|
2806
2894
|
const fallbackId = useId().replace(/:/g, "");
|
|
2807
2895
|
const tagInputId = (_useInputId = useInputId(id, label, "tag-input")) !== null && _useInputId !== void 0 ? _useInputId : `tag-input-${fallbackId}`;
|
|
@@ -2810,8 +2898,8 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
2810
2898
|
const [inputValue, setInputValue] = useState("");
|
|
2811
2899
|
const [highlightIndex, setHighlightIndex] = useState(-1);
|
|
2812
2900
|
const [showSuggestions, setShowSuggestions] = useState(false);
|
|
2813
|
-
const
|
|
2814
|
-
|
|
2901
|
+
const inputRef = useRef(null);
|
|
2902
|
+
useImperativeHandle(ref, () => inputRef.current);
|
|
2815
2903
|
const listboxRef = useRef(null);
|
|
2816
2904
|
const listboxId = useId();
|
|
2817
2905
|
const undoStack = useRef([]);
|
|
@@ -2834,11 +2922,12 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
2834
2922
|
setTags(next);
|
|
2835
2923
|
}, [tags, setTags]);
|
|
2836
2924
|
const filtered = suggestions && inputValue.trim() ? suggestions.filter((s) => s.toLowerCase().includes(inputValue.trim().toLowerCase()) && (allowDuplicates || !tags.includes(s))) : [];
|
|
2837
|
-
const isOpen = showSuggestions && filtered.length > 0;
|
|
2925
|
+
const isOpen = !disabled && showSuggestions && filtered.length > 0;
|
|
2838
2926
|
useEffect(() => {
|
|
2839
2927
|
setHighlightIndex(-1);
|
|
2840
2928
|
}, [inputValue]);
|
|
2841
2929
|
const addTag = useCallback((tag) => {
|
|
2930
|
+
if (disabled) return;
|
|
2842
2931
|
const trimmed = tag.trim();
|
|
2843
2932
|
if (!trimmed) return;
|
|
2844
2933
|
if (!allowDuplicates && tags.includes(trimmed)) return;
|
|
@@ -2851,13 +2940,20 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
2851
2940
|
tags,
|
|
2852
2941
|
setTags,
|
|
2853
2942
|
maxTags,
|
|
2854
|
-
allowDuplicates
|
|
2943
|
+
allowDuplicates,
|
|
2944
|
+
disabled
|
|
2855
2945
|
]);
|
|
2856
2946
|
const removeTag = useCallback((index) => {
|
|
2947
|
+
if (disabled) return;
|
|
2857
2948
|
pushUndo([...tags]);
|
|
2858
2949
|
setTags(tags.filter((_, i) => i !== index));
|
|
2859
|
-
}, [
|
|
2950
|
+
}, [
|
|
2951
|
+
tags,
|
|
2952
|
+
setTags,
|
|
2953
|
+
disabled
|
|
2954
|
+
]);
|
|
2860
2955
|
const handleTagKeyDown = useCallback((e, index) => {
|
|
2956
|
+
if (disabled || isComposingKey(e)) return;
|
|
2861
2957
|
if (e.key === "Backspace" || e.key === "Delete") {
|
|
2862
2958
|
e.preventDefault();
|
|
2863
2959
|
const nextTags = tags.filter((_, i) => i !== index);
|
|
@@ -2904,10 +3000,12 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
2904
3000
|
setTags,
|
|
2905
3001
|
undo,
|
|
2906
3002
|
redo,
|
|
2907
|
-
inputRef
|
|
3003
|
+
inputRef,
|
|
3004
|
+
disabled
|
|
2908
3005
|
]);
|
|
2909
3006
|
const handleInputKeyDown = useCallback((e) => {
|
|
2910
3007
|
var _inputRef$current5;
|
|
3008
|
+
if (disabled || isComposingKey(e)) return;
|
|
2911
3009
|
if ((e.ctrlKey || e.metaKey) && e.key === "z" && !e.shiftKey) {
|
|
2912
3010
|
e.preventDefault();
|
|
2913
3011
|
undo();
|
|
@@ -2959,9 +3057,11 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
2959
3057
|
filtered,
|
|
2960
3058
|
undo,
|
|
2961
3059
|
redo,
|
|
2962
|
-
inputRef
|
|
3060
|
+
inputRef,
|
|
3061
|
+
disabled
|
|
2963
3062
|
]);
|
|
2964
3063
|
const handlePaste = useCallback((e) => {
|
|
3064
|
+
if (disabled) return;
|
|
2965
3065
|
const parts = splitByDelimiters(e.clipboardData.getData("text/plain"), delimiters);
|
|
2966
3066
|
if (parts.length < 2) return;
|
|
2967
3067
|
e.preventDefault();
|
|
@@ -2982,7 +3082,8 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
2982
3082
|
setTags,
|
|
2983
3083
|
maxTags,
|
|
2984
3084
|
delimiters,
|
|
2985
|
-
allowDuplicates
|
|
3085
|
+
allowDuplicates,
|
|
3086
|
+
disabled
|
|
2986
3087
|
]);
|
|
2987
3088
|
useEffect(() => {
|
|
2988
3089
|
if (highlightIndex >= 0 && listboxRef.current) {
|
|
@@ -2997,7 +3098,8 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
2997
3098
|
"data-opt-id": "3TDWF",
|
|
2998
3099
|
"data-opt-slug": "tag-input.TagInput",
|
|
2999
3100
|
children: [
|
|
3000
|
-
label && /* @__PURE__ */ jsxs("
|
|
3101
|
+
label && /* @__PURE__ */ jsxs("label", {
|
|
3102
|
+
htmlFor: tagInputId,
|
|
3001
3103
|
className: "text-sm font-medium text-text-primary",
|
|
3002
3104
|
children: [label, required && /* @__PURE__ */ jsx(RequiredMark, {})]
|
|
3003
3105
|
}),
|
|
@@ -3008,7 +3110,7 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
3008
3110
|
return (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.focus();
|
|
3009
3111
|
},
|
|
3010
3112
|
role: "group",
|
|
3011
|
-
"aria-label": (
|
|
3113
|
+
"aria-label": (_ref = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : label) !== null && _ref !== void 0 ? _ref : "Tag input",
|
|
3012
3114
|
"aria-required": required,
|
|
3013
3115
|
"aria-invalid": hasError,
|
|
3014
3116
|
"aria-describedby": describedBy,
|
|
@@ -3018,6 +3120,7 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
3018
3120
|
"aria-label": "Selected tags",
|
|
3019
3121
|
className: "contents",
|
|
3020
3122
|
children: tags.map((tag, i) => /* @__PURE__ */ jsxs(CompositeItem, {
|
|
3123
|
+
disabled,
|
|
3021
3124
|
render: /* @__PURE__ */ jsx("span", { ref: (el) => {
|
|
3022
3125
|
if (el) tagRefs.current.set(i, el);
|
|
3023
3126
|
else tagRefs.current.delete(i);
|
|
@@ -3050,6 +3153,7 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
3050
3153
|
})
|
|
3051
3154
|
}), /* @__PURE__ */ jsx("input", {
|
|
3052
3155
|
ref: inputRef,
|
|
3156
|
+
id: tagInputId,
|
|
3053
3157
|
type: "text",
|
|
3054
3158
|
value: inputValue,
|
|
3055
3159
|
onChange: (e) => {
|
|
@@ -3065,7 +3169,7 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
3065
3169
|
placeholder: tags.length === 0 ? placeholder : atLimit ? "" : "",
|
|
3066
3170
|
disabled: disabled || atLimit,
|
|
3067
3171
|
className: cn("min-w-[60px] flex-1 border-none bg-transparent text-sm outline-transparent", OPT_TEXT_PRIMARY, OPT_FOCUS_VISIBLE, "placeholder:text-text-tertiary"),
|
|
3068
|
-
"aria-label": (
|
|
3172
|
+
"aria-label": (_ref2 = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : label) !== null && _ref2 !== void 0 ? _ref2 : "Tag input",
|
|
3069
3173
|
role: suggestions ? "combobox" : void 0,
|
|
3070
3174
|
"aria-describedby": describedBy,
|
|
3071
3175
|
"aria-expanded": suggestions ? isOpen : void 0,
|
|
@@ -3078,7 +3182,7 @@ const TagInput = forwardRef(({ value, onChange, placeholder = "Add tag...", labe
|
|
|
3078
3182
|
ref: listboxRef,
|
|
3079
3183
|
id: listboxId,
|
|
3080
3184
|
role: "listbox",
|
|
3081
|
-
"aria-label": (
|
|
3185
|
+
"aria-label": (_ref3 = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : label) !== null && _ref3 !== void 0 ? _ref3 : "Tag suggestions",
|
|
3082
3186
|
className: "border-border bg-surface absolute top-full z-50 mt-1 max-h-48 w-full overflow-auto rounded-lg border shadow-md",
|
|
3083
3187
|
children: filtered.map((suggestion, i) => /* @__PURE__ */ jsx("li", {
|
|
3084
3188
|
id: `${listboxId}-${i}`,
|
|
@@ -3703,31 +3807,23 @@ const resizeStyles = {
|
|
|
3703
3807
|
both: "resize"
|
|
3704
3808
|
};
|
|
3705
3809
|
/** Renders the form textarea component. */
|
|
3706
|
-
function FormTextarea(_ref3) {
|
|
3707
|
-
var _ref4;
|
|
3810
|
+
function FormTextarea$1(_ref3) {
|
|
3708
3811
|
let { className, resize = "vertical", rows = 4, name } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$2);
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
const error = form === null || form === void 0 ? void 0 : form.getError(name);
|
|
3712
|
-
const touched = form === null || form === void 0 ? void 0 : form.getFieldTouched(name);
|
|
3713
|
-
const hasError = Boolean(error && touched);
|
|
3714
|
-
return /* @__PURE__ */ jsx("textarea", _objectSpread2(_objectSpread2({
|
|
3812
|
+
useRequiredFormContext("FormTextarea");
|
|
3813
|
+
return /* @__PURE__ */ jsx(FormTextarea, _objectSpread2(_objectSpread2({
|
|
3715
3814
|
name,
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
className: cn("border-border bg-surface flex w-full rounded-lg border px-4 py-3", "text-text-primary placeholder:text-text-tertiary focus-visible:ring-ring focus-visible:ring-offset-ring-offset text-sm outline-none focus-visible:ring-2 focus-visible:ring-offset-1", OPT_FOCUS_VISIBLE, resizeStyles[resize], hasError && "border-danger", className),
|
|
3719
|
-
rows,
|
|
3720
|
-
"aria-invalid": hasError || void 0
|
|
3815
|
+
className: cn("border-border bg-surface flex w-full rounded-lg border px-4 py-3", "text-text-primary placeholder:text-text-tertiary focus-visible:ring-ring focus-visible:ring-offset-ring-offset text-sm outline-none focus-visible:ring-2 focus-visible:ring-offset-1", OPT_FOCUS_VISIBLE, resizeStyles[resize], "aria-[invalid=true]:border-danger", className),
|
|
3816
|
+
rows
|
|
3721
3817
|
}, props), {}, {
|
|
3722
3818
|
"data-opt-id": "Q8G2A",
|
|
3723
3819
|
"data-opt-slug": "form.FormTextarea"
|
|
3724
3820
|
}));
|
|
3725
3821
|
}
|
|
3726
3822
|
/** Renders the form select component. */
|
|
3727
|
-
function FormSelect({ name, children, className, placeholder, minWidth = 140, "aria-label": ariaLabel }) {
|
|
3728
|
-
var
|
|
3823
|
+
function FormSelect({ name, id, children, className, placeholder, minWidth = 140, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy }) {
|
|
3824
|
+
var _ref4;
|
|
3729
3825
|
const form = useRequiredFormContext("FormSelect");
|
|
3730
|
-
const value = (
|
|
3826
|
+
const value = (_ref4 = useFieldValue(form, name)) !== null && _ref4 !== void 0 ? _ref4 : "";
|
|
3731
3827
|
const error = form === null || form === void 0 ? void 0 : form.getError(name);
|
|
3732
3828
|
const touched = form === null || form === void 0 ? void 0 : form.getFieldTouched(name);
|
|
3733
3829
|
const hasError = Boolean(error && touched);
|
|
@@ -3741,7 +3837,10 @@ function FormSelect({ name, children, className, placeholder, minWidth = 140, "a
|
|
|
3741
3837
|
"data-opt-id": "A2XF7",
|
|
3742
3838
|
"data-opt-slug": "form.FormSelect",
|
|
3743
3839
|
children: [/* @__PURE__ */ jsx(SelectTrigger$1, {
|
|
3840
|
+
id,
|
|
3744
3841
|
"aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : name,
|
|
3842
|
+
"aria-describedby": ariaDescribedBy,
|
|
3843
|
+
onBlur: () => form.setFieldTouched(name, true),
|
|
3745
3844
|
"aria-invalid": hasError || void 0,
|
|
3746
3845
|
className: cn("inline-flex cursor-pointer items-center justify-between data-[disabled]:cursor-not-allowed", hasError && "border-danger", className),
|
|
3747
3846
|
style: { minWidth: typeof minWidth === "number" ? `${minWidth}px` : minWidth },
|
|
@@ -3750,16 +3849,16 @@ function FormSelect({ name, children, className, placeholder, minWidth = 140, "a
|
|
|
3750
3849
|
});
|
|
3751
3850
|
}
|
|
3752
3851
|
/** Renders the form select popover component. */
|
|
3753
|
-
function FormSelectPopover(
|
|
3754
|
-
let { className } =
|
|
3852
|
+
function FormSelectPopover(_ref5) {
|
|
3853
|
+
let { className } = _ref5, props = _objectWithoutProperties(_ref5, _excluded4$1);
|
|
3755
3854
|
return /* @__PURE__ */ jsx(SelectPopover$1, _objectSpread2(_objectSpread2({ className: cn(OPT_SURFACE_POPOVER, OPT_ANIMATE_ENTER_EXIT, "z-[120]", className) }, props), {}, {
|
|
3756
3855
|
"data-opt-id": "CQSPJ",
|
|
3757
3856
|
"data-opt-slug": "form.FormSelectPopover"
|
|
3758
3857
|
}));
|
|
3759
3858
|
}
|
|
3760
3859
|
/** Renders the form select item component. */
|
|
3761
|
-
function FormSelectItem(
|
|
3762
|
-
let { className } =
|
|
3860
|
+
function FormSelectItem(_ref6) {
|
|
3861
|
+
let { className } = _ref6, props = _objectWithoutProperties(_ref6, _excluded5);
|
|
3763
3862
|
return /* @__PURE__ */ jsx(SelectItem$1, _objectSpread2(_objectSpread2({ className: cn("flex cursor-pointer items-center gap-2 data-[disabled]:cursor-not-allowed", OPT_ITEM_BASE, OPT_ACTIVE_ITEM, className) }, props), {}, {
|
|
3764
3863
|
"data-opt-id": "J3970",
|
|
3765
3864
|
"data-opt-slug": "form.FormSelectItem"
|
|
@@ -3780,8 +3879,8 @@ const switchSizeStyles = {
|
|
|
3780
3879
|
}
|
|
3781
3880
|
};
|
|
3782
3881
|
/** Renders the form switch component. */
|
|
3783
|
-
function FormSwitch$1(
|
|
3784
|
-
let { className, size = "md", name } =
|
|
3882
|
+
function FormSwitch$1(_ref7) {
|
|
3883
|
+
let { className, size = "md", name } = _ref7, props = _objectWithoutProperties(_ref7, _excluded6);
|
|
3785
3884
|
const styles = switchSizeStyles[size];
|
|
3786
3885
|
const form = useRequiredFormContext("FormSwitch");
|
|
3787
3886
|
const checked = Boolean(useFieldValue(form, name));
|
|
@@ -3796,25 +3895,25 @@ function FormSwitch$1(_ref8) {
|
|
|
3796
3895
|
}));
|
|
3797
3896
|
}
|
|
3798
3897
|
/** Renders the form label component. */
|
|
3799
|
-
function FormLabel$1(
|
|
3800
|
-
let { className } =
|
|
3898
|
+
function FormLabel$1(_ref8) {
|
|
3899
|
+
let { className } = _ref8, props = _objectWithoutProperties(_ref8, _excluded7);
|
|
3801
3900
|
return /* @__PURE__ */ jsx(FormLabel, _objectSpread2(_objectSpread2({ className: cn(labelClass, className) }, props), {}, {
|
|
3802
3901
|
"data-opt-id": "JHRKM",
|
|
3803
3902
|
"data-opt-slug": "form.FormLabel"
|
|
3804
3903
|
}));
|
|
3805
3904
|
}
|
|
3806
3905
|
/** Renders the form error component. */
|
|
3807
|
-
function FormError$1(
|
|
3808
|
-
let { className } =
|
|
3906
|
+
function FormError$1(_ref9) {
|
|
3907
|
+
let { className } = _ref9, props = _objectWithoutProperties(_ref9, _excluded8);
|
|
3809
3908
|
return /* @__PURE__ */ jsx(FormError, _objectSpread2(_objectSpread2({ className: cn(errorClass, className) }, props), {}, {
|
|
3810
3909
|
"data-opt-id": "E9NM4",
|
|
3811
3910
|
"data-opt-slug": "form.FormError"
|
|
3812
3911
|
}));
|
|
3813
3912
|
}
|
|
3814
3913
|
/** Renders the form submit component. */
|
|
3815
|
-
function FormSubmit$1(
|
|
3914
|
+
function FormSubmit$1(_ref10) {
|
|
3816
3915
|
var _form$isSubmitting;
|
|
3817
|
-
let { className, disabled, children } =
|
|
3916
|
+
let { className, disabled, children } = _ref10, props = _objectWithoutProperties(_ref10, _excluded9);
|
|
3818
3917
|
const form = useFormContext();
|
|
3819
3918
|
const isSubmitting = (_form$isSubmitting = form === null || form === void 0 ? void 0 : form.isSubmitting()) !== null && _form$isSubmitting !== void 0 ? _form$isSubmitting : false;
|
|
3820
3919
|
return /* @__PURE__ */ jsx(FormSubmit, _objectSpread2(_objectSpread2({
|
|
@@ -3834,99 +3933,99 @@ function FormProvider$1(props) {
|
|
|
3834
3933
|
}));
|
|
3835
3934
|
}
|
|
3836
3935
|
/** Renders the form group component. */
|
|
3837
|
-
function FormGroup$1(
|
|
3838
|
-
let { className } =
|
|
3936
|
+
function FormGroup$1(_ref11) {
|
|
3937
|
+
let { className } = _ref11, props = _objectWithoutProperties(_ref11, _excluded10);
|
|
3839
3938
|
return /* @__PURE__ */ jsx(FormGroup, _objectSpread2(_objectSpread2({ className: cn("gap-group flex flex-col", className) }, props), {}, {
|
|
3840
3939
|
"data-opt-id": "89E8Q",
|
|
3841
3940
|
"data-opt-slug": "form.FormGroup"
|
|
3842
3941
|
}));
|
|
3843
3942
|
}
|
|
3844
3943
|
/** Renders the form group label component. */
|
|
3845
|
-
function FormGroupLabel$1(
|
|
3846
|
-
let { className } =
|
|
3944
|
+
function FormGroupLabel$1(_ref12) {
|
|
3945
|
+
let { className } = _ref12, props = _objectWithoutProperties(_ref12, _excluded11);
|
|
3847
3946
|
return /* @__PURE__ */ jsx(FormGroupLabel, _objectSpread2(_objectSpread2({ className: cn(labelClass, "font-semibold", className) }, props), {}, {
|
|
3848
3947
|
"data-opt-id": "W95BH",
|
|
3849
3948
|
"data-opt-slug": "form.FormGroupLabel"
|
|
3850
3949
|
}));
|
|
3851
3950
|
}
|
|
3852
3951
|
/** Renders the form description component. */
|
|
3853
|
-
function FormDescription$1(
|
|
3854
|
-
let { className } =
|
|
3952
|
+
function FormDescription$1(_ref13) {
|
|
3953
|
+
let { className } = _ref13, props = _objectWithoutProperties(_ref13, _excluded12);
|
|
3855
3954
|
return /* @__PURE__ */ jsx(FormDescription, _objectSpread2(_objectSpread2({ className: cn(descriptionClass, className) }, props), {}, {
|
|
3856
3955
|
"data-opt-id": "RFB40",
|
|
3857
3956
|
"data-opt-slug": "form.FormDescription"
|
|
3858
3957
|
}));
|
|
3859
3958
|
}
|
|
3860
3959
|
/** Renders the form field component. */
|
|
3861
|
-
function FormField$1(
|
|
3862
|
-
let { className } =
|
|
3960
|
+
function FormField$1(_ref14) {
|
|
3961
|
+
let { className } = _ref14, props = _objectWithoutProperties(_ref14, _excluded13);
|
|
3863
3962
|
return /* @__PURE__ */ jsx(FormField, _objectSpread2(_objectSpread2({ className: cn("gap-element flex flex-col", className) }, props), {}, {
|
|
3864
3963
|
"data-opt-id": "C68GP",
|
|
3865
3964
|
"data-opt-slug": "form.FormField"
|
|
3866
3965
|
}));
|
|
3867
3966
|
}
|
|
3868
3967
|
/** Renders the form control component. */
|
|
3869
|
-
function FormControl$1(
|
|
3870
|
-
let { className } =
|
|
3968
|
+
function FormControl$1(_ref15) {
|
|
3969
|
+
let { className } = _ref15, props = _objectWithoutProperties(_ref15, _excluded14);
|
|
3871
3970
|
return /* @__PURE__ */ jsx(FormControl, _objectSpread2(_objectSpread2({ className: cn(inputClass, className) }, props), {}, {
|
|
3872
3971
|
"data-opt-id": "XNF0F",
|
|
3873
3972
|
"data-opt-slug": "form.FormControl"
|
|
3874
3973
|
}));
|
|
3875
3974
|
}
|
|
3876
3975
|
/** Renders the form push component. */
|
|
3877
|
-
function FormPush$1(
|
|
3878
|
-
let { className } =
|
|
3976
|
+
function FormPush$1(_ref16) {
|
|
3977
|
+
let { className } = _ref16, props = _objectWithoutProperties(_ref16, _excluded15);
|
|
3879
3978
|
return /* @__PURE__ */ jsx(FormPush, _objectSpread2(_objectSpread2({ className: cn(OPT_BUTTON_SECONDARY, className) }, props), {}, {
|
|
3880
3979
|
"data-opt-id": "5SV8S",
|
|
3881
3980
|
"data-opt-slug": "form.FormPush"
|
|
3882
3981
|
}));
|
|
3883
3982
|
}
|
|
3884
3983
|
/** Renders the form remove component. */
|
|
3885
|
-
function FormRemove$1(
|
|
3886
|
-
let { className } =
|
|
3984
|
+
function FormRemove$1(_ref17) {
|
|
3985
|
+
let { className } = _ref17, props = _objectWithoutProperties(_ref17, _excluded16);
|
|
3887
3986
|
return /* @__PURE__ */ jsx(FormRemove, _objectSpread2(_objectSpread2({ className: cn("text-danger-fg hover:text-danger focus-visible:ring-ring focus-visible:ring-offset-ring-offset inline-flex items-center text-sm outline-none focus-visible:ring-2 focus-visible:ring-offset-1", OPT_FOCUS_VISIBLE, className) }, props), {}, {
|
|
3888
3987
|
"data-opt-id": "FEW6V",
|
|
3889
3988
|
"data-opt-slug": "form.FormRemove"
|
|
3890
3989
|
}));
|
|
3891
3990
|
}
|
|
3892
3991
|
/** Renders the form reset component. */
|
|
3893
|
-
function FormReset$1(
|
|
3894
|
-
let { className } =
|
|
3992
|
+
function FormReset$1(_ref18) {
|
|
3993
|
+
let { className } = _ref18, props = _objectWithoutProperties(_ref18, _excluded17);
|
|
3895
3994
|
return /* @__PURE__ */ jsx(FormReset, _objectSpread2(_objectSpread2({ className: cn(OPT_BUTTON_SECONDARY, className) }, props), {}, {
|
|
3896
3995
|
"data-opt-id": "M3FVB",
|
|
3897
3996
|
"data-opt-slug": "form.FormReset"
|
|
3898
3997
|
}));
|
|
3899
3998
|
}
|
|
3900
3999
|
/** Renders the form checkbox component. */
|
|
3901
|
-
function FormCheckbox$1(
|
|
3902
|
-
let { className } =
|
|
4000
|
+
function FormCheckbox$1(_ref19) {
|
|
4001
|
+
let { className } = _ref19, props = _objectWithoutProperties(_ref19, _excluded18);
|
|
3903
4002
|
return /* @__PURE__ */ jsx(FormCheckbox, _objectSpread2(_objectSpread2({ className: cn(checkboxClass, className) }, props), {}, {
|
|
3904
4003
|
"data-opt-id": "3BZS1",
|
|
3905
4004
|
"data-opt-slug": "form.FormCheckbox"
|
|
3906
4005
|
}));
|
|
3907
4006
|
}
|
|
3908
4007
|
/** Renders the form radio group component. */
|
|
3909
|
-
function FormRadioGroup$1(
|
|
3910
|
-
let { className } =
|
|
4008
|
+
function FormRadioGroup$1(_ref20) {
|
|
4009
|
+
let { className } = _ref20, props = _objectWithoutProperties(_ref20, _excluded19);
|
|
3911
4010
|
return /* @__PURE__ */ jsx(FormRadioGroup, _objectSpread2(_objectSpread2({ className: cn("gap-group flex flex-col", className) }, props), {}, {
|
|
3912
4011
|
"data-opt-id": "J8XRP",
|
|
3913
4012
|
"data-opt-slug": "form.FormRadioGroup"
|
|
3914
4013
|
}));
|
|
3915
4014
|
}
|
|
3916
4015
|
/** Renders the form radio component. */
|
|
3917
|
-
function FormRadio$1(
|
|
3918
|
-
let { className } =
|
|
4016
|
+
function FormRadio$1(_ref21) {
|
|
4017
|
+
let { className } = _ref21, props = _objectWithoutProperties(_ref21, _excluded20);
|
|
3919
4018
|
return /* @__PURE__ */ jsx(FormRadio, _objectSpread2(_objectSpread2({ className: cn(radioClass, className) }, props), {}, {
|
|
3920
4019
|
"data-opt-id": "YTN4Q",
|
|
3921
4020
|
"data-opt-slug": "form.FormRadio"
|
|
3922
4021
|
}));
|
|
3923
4022
|
}
|
|
3924
4023
|
/** Renders the form number input component. */
|
|
3925
|
-
function FormNumberInput(
|
|
3926
|
-
var
|
|
3927
|
-
let { name } =
|
|
4024
|
+
function FormNumberInput(_ref22) {
|
|
4025
|
+
var _ref23;
|
|
4026
|
+
let { name } = _ref22, props = _objectWithoutProperties(_ref22, _excluded21);
|
|
3928
4027
|
const form = useRequiredFormContext("FormNumberInput");
|
|
3929
|
-
const value = (
|
|
4028
|
+
const value = (_ref23 = useFieldValue(form, name)) !== null && _ref23 !== void 0 ? _ref23 : 0;
|
|
3930
4029
|
const error = form === null || form === void 0 ? void 0 : form.getError(name);
|
|
3931
4030
|
const touched = form === null || form === void 0 ? void 0 : form.getFieldTouched(name);
|
|
3932
4031
|
return /* @__PURE__ */ jsx(NumberInput, _objectSpread2(_objectSpread2({
|
|
@@ -3939,11 +4038,11 @@ function FormNumberInput(_ref23) {
|
|
|
3939
4038
|
}));
|
|
3940
4039
|
}
|
|
3941
4040
|
/** Renders the form slider component. */
|
|
3942
|
-
function FormSlider(
|
|
3943
|
-
var
|
|
3944
|
-
let { name } =
|
|
4041
|
+
function FormSlider(_ref24) {
|
|
4042
|
+
var _ref25;
|
|
4043
|
+
let { name } = _ref24, props = _objectWithoutProperties(_ref24, _excluded22);
|
|
3945
4044
|
const form = useRequiredFormContext("FormSlider");
|
|
3946
|
-
const value = (
|
|
4045
|
+
const value = (_ref25 = useFieldValue(form, name)) !== null && _ref25 !== void 0 ? _ref25 : 0;
|
|
3947
4046
|
return /* @__PURE__ */ jsx(Slider, _objectSpread2(_objectSpread2({
|
|
3948
4047
|
value,
|
|
3949
4048
|
onChange: (v) => form.setValue(name, v)
|
|
@@ -3953,11 +4052,11 @@ function FormSlider(_ref25) {
|
|
|
3953
4052
|
}));
|
|
3954
4053
|
}
|
|
3955
4054
|
/** Renders the form star rating component. */
|
|
3956
|
-
function FormStarRating(
|
|
3957
|
-
var
|
|
3958
|
-
let { name } =
|
|
4055
|
+
function FormStarRating(_ref26) {
|
|
4056
|
+
var _ref27;
|
|
4057
|
+
let { name } = _ref26, props = _objectWithoutProperties(_ref26, _excluded23);
|
|
3959
4058
|
const form = useRequiredFormContext("FormStarRating");
|
|
3960
|
-
const value = (
|
|
4059
|
+
const value = (_ref27 = useFieldValue(form, name)) !== null && _ref27 !== void 0 ? _ref27 : 0;
|
|
3961
4060
|
return /* @__PURE__ */ jsx(StarRating, _objectSpread2(_objectSpread2({
|
|
3962
4061
|
value,
|
|
3963
4062
|
onChange: (v) => form.setValue(name, v)
|
|
@@ -3967,11 +4066,11 @@ function FormStarRating(_ref27) {
|
|
|
3967
4066
|
}));
|
|
3968
4067
|
}
|
|
3969
4068
|
/** Renders the form color picker component. */
|
|
3970
|
-
function FormColorPicker(
|
|
3971
|
-
var
|
|
3972
|
-
let { name } =
|
|
4069
|
+
function FormColorPicker(_ref28) {
|
|
4070
|
+
var _ref29;
|
|
4071
|
+
let { name } = _ref28, props = _objectWithoutProperties(_ref28, _excluded24);
|
|
3973
4072
|
const form = useRequiredFormContext("FormColorPicker");
|
|
3974
|
-
const value = (
|
|
4073
|
+
const value = (_ref29 = useFieldValue(form, name)) !== null && _ref29 !== void 0 ? _ref29 : "#000000";
|
|
3975
4074
|
const error = form === null || form === void 0 ? void 0 : form.getError(name);
|
|
3976
4075
|
const touched = form === null || form === void 0 ? void 0 : form.getFieldTouched(name);
|
|
3977
4076
|
return /* @__PURE__ */ jsx(ColorPicker, _objectSpread2(_objectSpread2({
|
|
@@ -3984,11 +4083,11 @@ function FormColorPicker(_ref29) {
|
|
|
3984
4083
|
}));
|
|
3985
4084
|
}
|
|
3986
4085
|
/** Renders the form icon picker component. */
|
|
3987
|
-
function FormIconPicker(
|
|
3988
|
-
var
|
|
3989
|
-
let { name } =
|
|
4086
|
+
function FormIconPicker(_ref30) {
|
|
4087
|
+
var _ref31;
|
|
4088
|
+
let { name } = _ref30, props = _objectWithoutProperties(_ref30, _excluded25);
|
|
3990
4089
|
const form = useRequiredFormContext("FormIconPicker");
|
|
3991
|
-
const value = (
|
|
4090
|
+
const value = (_ref31 = useFieldValue(form, name)) !== null && _ref31 !== void 0 ? _ref31 : "";
|
|
3992
4091
|
const error = form === null || form === void 0 ? void 0 : form.getError(name);
|
|
3993
4092
|
const touched = form === null || form === void 0 ? void 0 : form.getFieldTouched(name);
|
|
3994
4093
|
return /* @__PURE__ */ jsx(IconPicker, _objectSpread2(_objectSpread2({
|
|
@@ -4001,11 +4100,11 @@ function FormIconPicker(_ref31) {
|
|
|
4001
4100
|
}));
|
|
4002
4101
|
}
|
|
4003
4102
|
/** Renders the form tag input component. */
|
|
4004
|
-
function FormTagInput(
|
|
4005
|
-
var
|
|
4006
|
-
let { name } =
|
|
4103
|
+
function FormTagInput(_ref32) {
|
|
4104
|
+
var _ref33;
|
|
4105
|
+
let { name } = _ref32, props = _objectWithoutProperties(_ref32, _excluded26);
|
|
4007
4106
|
const form = useRequiredFormContext("FormTagInput");
|
|
4008
|
-
const value = (
|
|
4107
|
+
const value = (_ref33 = useFieldValue(form, name)) !== null && _ref33 !== void 0 ? _ref33 : [];
|
|
4009
4108
|
const error = form === null || form === void 0 ? void 0 : form.getError(name);
|
|
4010
4109
|
const touched = form === null || form === void 0 ? void 0 : form.getFieldTouched(name);
|
|
4011
4110
|
return /* @__PURE__ */ jsx(TagInput, _objectSpread2(_objectSpread2({
|
|
@@ -4018,11 +4117,11 @@ function FormTagInput(_ref33) {
|
|
|
4018
4117
|
}));
|
|
4019
4118
|
}
|
|
4020
4119
|
/** Renders the form date range picker component. */
|
|
4021
|
-
function FormDateRangePicker(
|
|
4022
|
-
var
|
|
4023
|
-
let { name } =
|
|
4120
|
+
function FormDateRangePicker(_ref34) {
|
|
4121
|
+
var _ref35;
|
|
4122
|
+
let { name } = _ref34, props = _objectWithoutProperties(_ref34, _excluded27);
|
|
4024
4123
|
const form = useRequiredFormContext("FormDateRangePicker");
|
|
4025
|
-
const value = (
|
|
4124
|
+
const value = (_ref35 = useFieldValue(form, name)) !== null && _ref35 !== void 0 ? _ref35 : {
|
|
4026
4125
|
start: null,
|
|
4027
4126
|
end: null
|
|
4028
4127
|
};
|
|
@@ -4943,4 +5042,4 @@ function TextTruncate({ text, truncation = "startEnd", ellipsis = "…", width,
|
|
|
4943
5042
|
});
|
|
4944
5043
|
}
|
|
4945
5044
|
//#endregion
|
|
4946
|
-
export { useFormContext as $,
|
|
5045
|
+
export { useFormContext as $, OPT_DOT_YELLOW as $n, Composite as $t, FormGroup$1 as A, SkeletonTable as An, ComboboxRoot$1 as At, FormRemove$1 as B, OPT_ANIMATE_ENTER_EXIT as Bn, DialogRoot$1 as Bt, FormCheckbox$1 as C, koBreadcrumbLabels as Cn, MenubarRoot$1 as Ct, FormDescription$1 as D, Skeleton as Dn, ComboboxInput$1 as Dt, FormDateRangePicker as E, StatCard as En, ComboboxGroupLabel$1 as Et, FormNumberInput as F, FieldMessages as Fn, DialogDismiss$1 as Ft, FormSelectPopover as G, OPT_BADGE_YELLOW as Gn, SelectTrigger$1 as Gt, FormRoot$1 as H, OPT_BADGE_GREEN as Hn, SelectLabel$1 as Ht, FormProvider$1 as I, RequiredMark as In, DialogFooter as It, FormSubmit$1 as J, OPT_DISCLOSURE_TRIGGER as Jn, TabPanel$1 as Jt, FormSlider as K, OPT_BORDER as Kn, Tab$1 as Kt, FormPush$1 as L, getDescribedBy as Ln, DialogHeader as Lt, FormIconPicker as M, Toggle$1 as Mn, DialogBody as Mt, FormInput$1 as N, ToggleGroup$1 as Nn, DialogDescription$1 as Nt, FormError$1 as O, SkeletonAvatar as On, ComboboxItem$1 as Ot, FormLabel$1 as P, useControlledState as Pn, DialogDisclosure$1 as Pt, useFieldValue as Q, OPT_DOT_RED as Qn, DisclosureTrigger$1 as Qt, FormRadio$1 as R, OPT_ACTIVE_ITEM as Rn, DialogHeading$1 as Rt, formatOptTime as S, Button as Sn, MenubarContainer$1 as St, FormControl$1 as T, koStarRatingLabels as Tn, ComboboxGroup$1 as Tt, FormSelect as U, OPT_BADGE_NEUTRAL as Un, SelectPopover$1 as Ut, FormReset$1 as V, OPT_BADGE_BLUE as Vn, SelectItem$1 as Vt, FormSelectItem as W, OPT_BADGE_RED as Wn, SelectRoot$1 as Wt, FormTagInput as X, OPT_DOT_GRAY as Xn, DisclosureContent$1 as Xt, FormSwitch$1 as Y, OPT_DIVIDER as Yn, TabsRoot$1 as Yt, FormTextarea$1 as Z, OPT_DOT_GREEN as Zn, DisclosureRoot$1 as Zt, DropdownTrigger as _, Alert as _n, _objectSpread2 as _r, MenuItemRadio$1 as _t, FieldTokenLegend as a, Textarea as an, OPT_ITEM_BASE as ar, IconPicker as at, formatOptNumber as b, DescriptionList as bn, cn as br, MenuSeparator$1 as bt, ResizableHandle as c, Input as cn, OPT_SURFACE_RAISED as cr, PopoverClose$1 as ct, Checkbox as d, ToolbarContainer$1 as dn, OPT_TD_MUTED as dr, PopoverTrigger$1 as dt, CompositeItem as en, OPT_FOCUS as er, useFormStore as et, CheckboxGroup as f, ToolbarRoot$1 as fn, OPT_TEXT_LABEL as fr, Slider as ft, DropdownSeparator as g, TooltipProvider as gn, OPT_TH as gr, MenuItemCheckbox$1 as gt, DropdownMenu as h, TooltipAnchor$1 as hn, OPT_TEXT_TERTIARY as hr, MenuItem$1 as ht, FieldToken as i, Meter$1 as in, OPT_INPUT_ERROR as ir, isComposingKey as it, FormGroupLabel$1 as j, SkeletonText as jn, AlertDialogPanel$1 as jt, FormField$1 as k, SkeletonCard as kn, ComboboxPopover$1 as kt, ResizablePanel as l, useInputId as ln, OPT_TABLE_ROW_ACTIVE as lr, PopoverContent$1 as lt, DropdownItem as m, Tooltip$1 as mn, OPT_TEXT_SECONDARY as mr, MenuButtonArrow$1 as mt, Highlight as n, CompositeRow as nn, OPT_HOVER_ITEM as nr, DateRangePicker as nt, resolveFieldType as o, StarRating as on, OPT_SURFACE as or, getIconRegistryEntry as ot, DropdownContent as p, ToolbarSeparator$1 as pn, OPT_TEXT_PRIMARY as pr, NumberInput as pt, FormStarRating as q, OPT_DISCLOSURE_CONTENT as qn, TabList$1 as qt, FIELD_TYPE_TOKENS as r, CompositeZone as rn, OPT_INPUT as rr, TagInput as rt, Pagination as s, Switch as sn, OPT_SURFACE_POPOVER as sr, ColorPicker as st, TextTruncate as t, CompositeProvider as tn, OPT_FOCUS_VISIBLE as tr, DEFAULT_PRESETS as tt, ResizablePanelGroup as u, ToolbarButton$1 as un, OPT_TD as ur, PopoverRoot$1 as ut, OPT_UI_DEFAULT_LOCALE as v, Spinner as vn, _objectWithoutProperties as vr, MenuPopover$1 as vt, FormColorPicker as w, koComboboxLabels as wn, ComboboxEmpty as wt, formatOptShortDate as x, EmptyState as xn, MenuTrigger$1 as xt, formatOptDateTime as y, Badge as yn, Kbd as yr, MenuRoot$1 as yt, FormRadioGroup$1 as z, OPT_ANIMATE_DRAWER as zn, DialogPanel$1 as zt };
|