haze-ui 1.11.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -0
- package/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/AccordionItem.js +1 -1
- package/dist/components/Affix/Affix.js +1 -1
- package/dist/components/Alert/Alert.js +1 -1
- package/dist/components/ApprovalCard/ApprovalCard.js +1 -1
- package/dist/components/AspectRatio/AspectRatio.js +1 -1
- package/dist/components/Avatar/Avatar.js +1 -1
- package/dist/components/BackToTop/BackToTop.js +1 -1
- package/dist/components/Badge/Badge.js +1 -1
- package/dist/components/Banner/Banner.js +1 -1
- package/dist/components/BottomSheet/BottomSheet.js +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.js +1 -1
- package/dist/components/Breadcrumb/BreadcrumbItem.js +1 -1
- package/dist/components/Button/Button.js +1 -1
- package/dist/components/Card/Card.js +1 -1
- package/dist/components/Carousel/Carousel.js +1 -1
- package/dist/components/Carousel/CarouselSlide.js +1 -1
- package/dist/components/ChatContainer/ChatContainer.js +1 -1
- package/dist/components/ChatInput/ChatInput.js +1 -1
- package/dist/components/ChatMessage/ChatMessage.js +1 -1
- package/dist/components/Checkbox/Checkbox.js +1 -1
- package/dist/components/Chip/Chip.js +1 -1
- package/dist/components/CodeBlock/CodeBlock.js +1 -1
- package/dist/components/Collapsible/Collapsible.js +1 -1
- package/dist/components/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/Combobox/Combobox.js +1 -1
- package/dist/components/Combobox/ComboboxOption.js +1 -1
- package/dist/components/Command/Command.js +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.js +1 -1
- package/dist/components/Container/Container.js +1 -1
- package/dist/components/ContextMenu/ContextMenu.js +1 -1
- package/dist/components/ContextMenu/ContextMenuContent.js +1 -1
- package/dist/components/ContextMenu/ContextMenuItem.js +1 -1
- package/dist/components/ContextMenu/ContextMenuSeparator.js +1 -1
- package/dist/components/ContextMenu/ContextMenuTrigger.js +1 -1
- package/dist/components/ConversationList/ConversationItem.js +1 -1
- package/dist/components/ConversationList/ConversationList.js +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
- package/dist/components/Datepicker/Calendar.js +1 -1
- package/dist/components/Datepicker/Datepicker.js +1 -1
- package/dist/components/Dialog/Dialog.js +1 -1
- package/dist/components/DiffViewer/DiffViewer.js +1 -1
- package/dist/components/Disclosure/Disclosure.js +1 -1
- package/dist/components/Divider/Divider.js +1 -1
- package/dist/components/Drawer/Drawer.js +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContent.js +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.js +1 -1
- package/dist/components/DropdownMenu/DropdownMenuSeparator.js +1 -1
- package/dist/components/DropdownMenu/DropdownMenuTrigger.js +1 -1
- package/dist/components/Empty/Empty.js +1 -1
- package/dist/components/FileInput/FileInput.js +1 -1
- package/dist/components/Flex/Flex.js +1 -1
- package/dist/components/Grid/Grid.js +1 -1
- package/dist/components/Icon/Icon.js +1 -1
- package/dist/components/Image/Image.js +1 -1
- package/dist/components/InlineEdit/InlineEdit.js +1 -1
- package/dist/components/Input/Input.js +1 -1
- package/dist/components/List/List.js +1 -1
- package/dist/components/List/ListItem.js +1 -1
- package/dist/components/LogViewer/LogViewer.js +1 -1
- package/dist/components/MarkdownRenderer/MarkdownRenderer.js +1 -1
- package/dist/components/Menu/Menu.js +1 -1
- package/dist/components/Menu/MenuDivider.js +1 -1
- package/dist/components/Menu/MenuItem.js +1 -1
- package/dist/components/ModelPicker/ModelPicker.js +1 -1
- package/dist/components/NavigationBar/NavLink.js +1 -1
- package/dist/components/NavigationBar/NavigationBar.js +1 -1
- package/dist/components/NumberInput/NumberInput.js +1 -1
- package/dist/components/OTPInput/OTPInput.js +1 -1
- package/dist/components/Pagination/Pagination.js +1 -1
- package/dist/components/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/Popover/Popover.js +1 -1
- package/dist/components/Progress/Progress.js +1 -1
- package/dist/components/Radio/Radio.js +1 -1
- package/dist/components/Radio/RadioGroup.js +1 -1
- package/dist/components/Rating/Rating.js +1 -1
- package/dist/components/Resizable/Resizable.js +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +1 -1
- package/dist/components/Segmented/Segmented.js +1 -1
- package/dist/components/Select/Select.js +1 -1
- package/dist/components/Skeleton/Skeleton.js +1 -1
- package/dist/components/Slider/Slider.js +1 -1
- package/dist/components/Spinner/Spinner.js +1 -1
- package/dist/components/Stat/Stat.js +1 -1
- package/dist/components/StepTimeline/StepTimeline.js +1 -1
- package/dist/components/Stepper/Step.js +1 -1
- package/dist/components/Stepper/Stepper.js +1 -1
- package/dist/components/StreamingText/StreamingText.js +1 -1
- package/dist/components/SwipeAction/SwipeAction.js +1 -1
- package/dist/components/Switch/Switch.js +1 -1
- package/dist/components/Table/Table.js +1 -1
- package/dist/components/Table/TableBody.js +1 -1
- package/dist/components/Table/TableHead.js +1 -1
- package/dist/components/Tabs/Tab.js +1 -1
- package/dist/components/Tabs/TabList.js +1 -1
- package/dist/components/Tabs/TabPanel.js +1 -1
- package/dist/components/Tabs/Tabs.js +1 -1
- package/dist/components/Tag/Tag.js +1 -1
- package/dist/components/TagGroup/TagGroup.js +1 -1
- package/dist/components/TagGroup/TagGroupItem.js +1 -1
- package/dist/components/TagInput/TagInput.js +1 -1
- package/dist/components/Textarea/Textarea.js +1 -1
- package/dist/components/ThinkingIndicator/ThinkingIndicator.js +1 -1
- package/dist/components/TimePicker/TimePicker.js +1 -1
- package/dist/components/Timeline/Timeline.js +1 -1
- package/dist/components/Toast/Toast.js +1 -1
- package/dist/components/Toast/ToastContainer.js +1 -1
- package/dist/components/TokenCounter/TokenCounter.js +1 -1
- package/dist/components/ToolCallCard/ToolCallCard.js +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -1
- package/dist/components/Transfer/Transfer.js +1 -1
- package/dist/components/Tree/Tree.js +1 -1
- package/dist/components/Tree/TreeItem.js +1 -1
- package/dist/components/Typography/Typography.js +1 -1
- package/dist/components/Upload/Upload.js +1 -1
- package/dist/components/VirtualList/VirtualList.js +1 -1
- package/dist/form/FormItem.js +30 -27
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/types/form/FormItem.d.ts +19 -2
- package/package.json +1 -1
package/dist/form/FormItem.js
CHANGED
|
@@ -1,43 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
import { classnames as e } from "../utils/classnames.js";
|
|
3
3
|
import { useFormControl as t } from "./useFormControl.js";
|
|
4
4
|
/* empty css */
|
|
5
5
|
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
6
6
|
import { useId as i } from "react";
|
|
7
|
-
import { useField as a
|
|
7
|
+
import { useField as a } from "react-f0rm";
|
|
8
8
|
//#region src/lib/form/FormItem.tsx
|
|
9
|
-
var
|
|
10
|
-
function
|
|
11
|
-
let
|
|
12
|
-
form:
|
|
13
|
-
name:
|
|
14
|
-
validate:
|
|
15
|
-
mode:
|
|
16
|
-
|
|
9
|
+
var o = "haze-FormItem__item", s = "haze-FormItem__labelText", c = "haze-FormItem__errorText";
|
|
10
|
+
function l({ form: l, name: u, label: d, validate: f, mode: p, validateDebounce: m, delayError: h, rules: g, className: _, children: v }) {
|
|
11
|
+
let y = `haze-field-${i()}`, b = `${y}-error`, { onBlur: x, errors: S } = a({
|
|
12
|
+
form: l,
|
|
13
|
+
name: u,
|
|
14
|
+
validate: f,
|
|
15
|
+
mode: p,
|
|
16
|
+
validateDebounce: m,
|
|
17
|
+
delayError: h,
|
|
18
|
+
rules: g
|
|
19
|
+
}), C = t(l, u), w = S.length > 0;
|
|
17
20
|
return /* @__PURE__ */ r("div", {
|
|
18
|
-
className: e([
|
|
21
|
+
className: e([o, _]),
|
|
19
22
|
children: [
|
|
20
|
-
|
|
21
|
-
htmlFor:
|
|
22
|
-
className: e(
|
|
23
|
-
children:
|
|
23
|
+
d !== void 0 && /* @__PURE__ */ n("label", {
|
|
24
|
+
htmlFor: y,
|
|
25
|
+
className: e(s),
|
|
26
|
+
children: d
|
|
24
27
|
}),
|
|
25
|
-
|
|
26
|
-
id:
|
|
27
|
-
errorId:
|
|
28
|
-
invalid:
|
|
29
|
-
errors:
|
|
30
|
-
onBlur:
|
|
31
|
-
control:
|
|
28
|
+
v({
|
|
29
|
+
id: y,
|
|
30
|
+
errorId: b,
|
|
31
|
+
invalid: w,
|
|
32
|
+
errors: S,
|
|
33
|
+
onBlur: x,
|
|
34
|
+
control: C
|
|
32
35
|
}),
|
|
33
|
-
|
|
34
|
-
id:
|
|
36
|
+
w && /* @__PURE__ */ n("span", {
|
|
37
|
+
id: b,
|
|
35
38
|
role: "alert",
|
|
36
|
-
className: e(
|
|
37
|
-
children:
|
|
39
|
+
className: e(c),
|
|
40
|
+
children: S[0].message
|
|
38
41
|
})
|
|
39
42
|
]
|
|
40
43
|
});
|
|
41
44
|
}
|
|
42
45
|
//#endregion
|
|
43
|
-
export {
|
|
46
|
+
export { l as default };
|
package/dist/tokens/colors.js
CHANGED
package/dist/tokens/spacing.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type { FieldError, FieldPath, Name, ValidationMode } from 'react-f0rm';
|
|
2
|
+
import type { FieldError, FieldPath, FieldRules, Name, ValidationMode } from 'react-f0rm';
|
|
3
3
|
import type { Control } from 'react-use-control';
|
|
4
4
|
import type { FormInstance, PathValueOf } from './useFormControl';
|
|
5
5
|
/**
|
|
@@ -41,6 +41,23 @@ export type FormItemProps<TValues extends Record<string, any> = any, P extends F
|
|
|
41
41
|
* of the form's `mode`; other fields are unaffected. Omit to keep the
|
|
42
42
|
* form-wide behavior. */
|
|
43
43
|
mode?: ValidationMode;
|
|
44
|
+
/** Milliseconds to debounce this field's validation kicks (react-f0rm
|
|
45
|
+
* ≥0.6): only the last kick inside the window runs the validator — e.g.
|
|
46
|
+
* `300` keeps a fast typist from firing a per-keystroke async validator.
|
|
47
|
+
* While the timer is pending the field counts as validating. Omit for
|
|
48
|
+
* immediate validation (react-f0rm's default). */
|
|
49
|
+
validateDebounce?: number;
|
|
50
|
+
/** Milliseconds to delay *showing* a newly appearing error in the render
|
|
51
|
+
* layer (react-f0rm ≥0.6): the form's error state stays immediate —
|
|
52
|
+
* submit/trigger still gate on it — only the rendered error span and
|
|
53
|
+
* `invalid` wait out the window. An error that clears inside the window
|
|
54
|
+
* never shows. Omit for immediate display. */
|
|
55
|
+
delayError?: number;
|
|
56
|
+
/** Declarative rules (required/min/max/minLength/maxLength/pattern;
|
|
57
|
+
* react-f0rm ≥0.6), compiled into a validator that runs *before*
|
|
58
|
+
* `validate` — both sources' errors merge, rules errors ahead. Omit for
|
|
59
|
+
* `validate`-only validation. */
|
|
60
|
+
rules?: FieldRules;
|
|
44
61
|
className?: string;
|
|
45
62
|
children: (binding: FormItemBinding<TValues, P>) => ReactNode;
|
|
46
63
|
};
|
|
@@ -61,4 +78,4 @@ export type FormItemProps<TValues extends Record<string, any> = any, P extends F
|
|
|
61
78
|
* `<span id={errorId} role='alert'>` next to the children; with no errors
|
|
62
79
|
* no extra element is rendered.
|
|
63
80
|
*/
|
|
64
|
-
export default function FormItem<TValues extends Record<string, any> = any, P extends FieldPath<TValues> | Name = Name>({ form, name, label, validate, mode, className, children }: FormItemProps<TValues, P>): import("react").JSX.Element;
|
|
81
|
+
export default function FormItem<TValues extends Record<string, any> = any, P extends FieldPath<TValues> | Name = Name>({ form, name, label, validate, mode, validateDebounce, delayError, rules, className, children }: FormItemProps<TValues, P>): import("react").JSX.Element;
|