singularity-components 0.1.195 → 0.1.197
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/blocks/badges/category-badge.d.ts +11 -0
- package/dist/components/blocks/badges/category-badge.js +34 -0
- package/dist/components/blocks/badges/category-badge.js.map +1 -0
- package/dist/components/blocks/cards/blogpost-card.d.ts +3 -1
- package/dist/components/blocks/cards/blogpost-card.js +10 -5
- package/dist/components/blocks/cards/blogpost-card.js.map +1 -1
- package/dist/components/blocks/directory/author-card.d.ts +10 -0
- package/dist/components/blocks/directory/author-card.js +50 -0
- package/dist/components/blocks/directory/author-card.js.map +1 -0
- package/dist/components/blocks/directory/category-card.d.ts +10 -0
- package/dist/components/blocks/directory/category-card.js +27 -0
- package/dist/components/blocks/directory/category-card.js.map +1 -0
- package/dist/components/blocks/extras/extras-hub-card.d.ts +16 -0
- package/dist/components/blocks/extras/extras-hub-card.js +22 -0
- package/dist/components/blocks/extras/extras-hub-card.js.map +1 -0
- package/dist/components/blocks/gallery/image-gallery.d.ts +14 -0
- package/dist/components/blocks/gallery/image-gallery.js +211 -0
- package/dist/components/blocks/gallery/image-gallery.js.map +1 -0
- package/dist/components/blocks/index.d.ts +11 -0
- package/dist/components/blocks/index.js +10 -0
- package/dist/components/blocks/index.js.map +1 -1
- package/dist/components/blocks/loading/loading-skeletons.d.ts +15 -0
- package/dist/components/blocks/loading/loading-skeletons.js +78 -0
- package/dist/components/blocks/loading/loading-skeletons.js.map +1 -0
- package/dist/components/blocks/login/login.js +76 -47
- package/dist/components/blocks/login/login.js.map +1 -1
- package/dist/components/blocks/marketing/page-hero.d.ts +13 -0
- package/dist/components/blocks/marketing/page-hero.js +37 -0
- package/dist/components/blocks/marketing/page-hero.js.map +1 -0
- package/dist/components/blocks/marketing/stats-grid.d.ts +16 -0
- package/dist/components/blocks/marketing/stats-grid.js +30 -0
- package/dist/components/blocks/marketing/stats-grid.js.map +1 -0
- package/dist/components/blocks/marketing/timeline.d.ts +17 -0
- package/dist/components/blocks/marketing/timeline.js +46 -0
- package/dist/components/blocks/marketing/timeline.js.map +1 -0
- package/dist/components/blocks/marketing/values-grid.d.ts +16 -0
- package/dist/components/blocks/marketing/values-grid.js +29 -0
- package/dist/components/blocks/marketing/values-grid.js.map +1 -0
- package/dist/components/blocks/post-list/post-list-with-filters.js +4 -4
- package/dist/components/blocks/post-list/post-list-with-filters.js.map +1 -1
- package/dist/components/index.d.ts +28 -1
- package/dist/components/pages/about/about-page.d.ts +5 -0
- package/dist/components/pages/about/about-page.js +161 -0
- package/dist/components/pages/about/about-page.js.map +1 -0
- package/dist/components/pages/admin/admin-page.js +160 -103
- package/dist/components/pages/admin/admin-page.js.map +1 -1
- package/dist/components/pages/author/author-page.d.ts +8 -0
- package/dist/components/pages/author/author-page.js +107 -0
- package/dist/components/pages/author/author-page.js.map +1 -0
- package/dist/components/pages/authors/authors-page.d.ts +5 -0
- package/dist/components/pages/authors/authors-page.js +25 -0
- package/dist/components/pages/authors/authors-page.js.map +1 -0
- package/dist/components/pages/blogpost/blogpost.d.ts +4 -1
- package/dist/components/pages/blogpost/blogpost.js +110 -62
- package/dist/components/pages/blogpost/blogpost.js.map +1 -1
- package/dist/components/pages/categories/categories-page.d.ts +5 -0
- package/dist/components/pages/categories/categories-page.js +33 -0
- package/dist/components/pages/categories/categories-page.js.map +1 -0
- package/dist/components/pages/category/category-page.js +4 -2
- package/dist/components/pages/category/category-page.js.map +1 -1
- package/dist/components/pages/chat/chat-page.js +4 -4
- package/dist/components/pages/chat/chat-page.js.map +1 -1
- package/dist/components/pages/contact/contact-page.d.ts +5 -0
- package/dist/components/pages/contact/contact-page.js +180 -0
- package/dist/components/pages/contact/contact-page.js.map +1 -0
- package/dist/components/pages/content-blocks/content-blocks-page.d.ts +5 -0
- package/dist/components/pages/content-blocks/content-blocks-page.js +87 -0
- package/dist/components/pages/content-blocks/content-blocks-page.js.map +1 -0
- package/dist/components/pages/extras/extras-hub-page.d.ts +10 -0
- package/dist/components/pages/extras/extras-hub-page.js +110 -0
- package/dist/components/pages/extras/extras-hub-page.js.map +1 -0
- package/dist/components/pages/index.d.ts +14 -0
- package/dist/components/pages/index.js +12 -0
- package/dist/components/pages/index.js.map +1 -1
- package/dist/components/pages/maintenance/maintenance-page.js +1 -1
- package/dist/components/pages/maintenance/maintenance-page.js.map +1 -1
- package/dist/components/pages/membership/membership-page.d.ts +5 -0
- package/dist/components/pages/membership/membership-page.js +131 -0
- package/dist/components/pages/membership/membership-page.js.map +1 -0
- package/dist/components/pages/mosaic/mosaic-page.d.ts +5 -0
- package/dist/components/pages/mosaic/mosaic-page.js +81 -0
- package/dist/components/pages/mosaic/mosaic-page.js.map +1 -0
- package/dist/components/pages/newsletter/newsletter-page.d.ts +5 -0
- package/dist/components/pages/newsletter/newsletter-page.js +165 -0
- package/dist/components/pages/newsletter/newsletter-page.js.map +1 -0
- package/dist/components/pages/not-found/not-found.js +2 -2
- package/dist/components/pages/not-found/not-found.js.map +1 -1
- package/dist/components/pages/privacy/privacy-page.js +2 -2
- package/dist/components/pages/privacy/privacy-page.js.map +1 -1
- package/dist/components/pages/resources/resources-page.d.ts +5 -0
- package/dist/components/pages/resources/resources-page.js +24 -0
- package/dist/components/pages/resources/resources-page.js.map +1 -0
- package/dist/components/pages/startpage/startpage.js +6 -4
- package/dist/components/pages/startpage/startpage.js.map +1 -1
- package/dist/components/pages/terms/terms-page.js +2 -2
- package/dist/components/pages/terms/terms-page.js.map +1 -1
- package/dist/components/primitives/accordion/accordion.js +14 -16
- package/dist/components/primitives/accordion/accordion.js.map +1 -1
- package/dist/components/primitives/badge/badge.js +1 -1
- package/dist/components/primitives/badge/badge.js.map +1 -1
- package/dist/components/primitives/buttons/button.d.ts +2 -2
- package/dist/components/primitives/buttons/icon-button.d.ts +1 -1
- package/dist/components/primitives/collapsible/collapsible.js +4 -1
- package/dist/components/primitives/collapsible/collapsible.js.map +1 -1
- package/dist/components/primitives/dropdown-menu/dropdown-menu.js +6 -1
- package/dist/components/primitives/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/primitives/forms/checkbox.js +1 -1
- package/dist/components/primitives/forms/checkbox.js.map +1 -1
- package/dist/components/primitives/forms/field.d.ts +4 -2
- package/dist/components/primitives/forms/field.js +4 -2
- package/dist/components/primitives/forms/field.js.map +1 -1
- package/dist/components/primitives/forms/form-control.d.ts +28 -0
- package/dist/components/primitives/forms/form-control.js +40 -0
- package/dist/components/primitives/forms/form-control.js.map +1 -0
- package/dist/components/primitives/forms/form.d.ts +12 -0
- package/dist/components/primitives/forms/form.js +30 -0
- package/dist/components/primitives/forms/form.js.map +1 -0
- package/dist/components/primitives/forms/select.js +12 -12
- package/dist/components/primitives/forms/select.js.map +1 -1
- package/dist/components/primitives/icon/icon.d.ts +3 -2
- package/dist/components/primitives/icon/icon.js +2 -1
- package/dist/components/primitives/icon/icon.js.map +1 -1
- package/dist/components/primitives/index.d.ts +4 -0
- package/dist/components/primitives/index.js +3 -0
- package/dist/components/primitives/index.js.map +1 -1
- package/dist/components/primitives/layout/layout.d.ts +1 -1
- package/dist/components/primitives/link/link.d.ts +2 -2
- package/dist/components/primitives/sheet/sheet.js +1 -1
- package/dist/components/primitives/sheet/sheet.js.map +1 -1
- package/dist/components/primitives/stack/stack.d.ts +2 -2
- package/dist/components/primitives/text/internal/text-element.d.ts +8 -2
- package/dist/components/primitives/text/internal/text-element.js +3 -0
- package/dist/components/primitives/text/internal/text-element.js.map +1 -1
- package/dist/components/primitives/text/text-code.d.ts +1 -1
- package/dist/components/templates/form/form.d.ts +2 -2
- package/dist/components/templates/form/form.js +133 -87
- package/dist/components/templates/form/form.js.map +1 -1
- package/dist/components/templates/hero/hero.js +1 -0
- package/dist/components/templates/hero/hero.js.map +1 -1
- package/dist/components/templates/index.d.ts +1 -0
- package/dist/components/templates/index.js +1 -0
- package/dist/components/templates/index.js.map +1 -1
- package/dist/components/templates/loading-screen/loading-screen.d.ts +10 -0
- package/dist/components/templates/loading-screen/loading-screen.js +39 -0
- package/dist/components/templates/loading-screen/loading-screen.js.map +1 -0
- package/dist/css/variables.css +6 -3
- package/dist/css/variables.css.map +1 -1
- package/dist/data/posts.d.ts +5 -0
- package/dist/data/posts.js +41 -8
- package/dist/data/posts.js.map +1 -1
- package/dist/index.d.ts +28 -1
- package/dist/lib/forms/field-props.d.ts +60 -0
- package/dist/lib/forms/field-props.js +60 -0
- package/dist/lib/forms/field-props.js.map +1 -0
- package/dist/lib/forms/index.d.ts +11 -0
- package/dist/lib/forms/index.js +3 -0
- package/dist/lib/forms/index.js.map +1 -0
- package/dist/lib/forms/tanstack-field.d.ts +71 -0
- package/dist/lib/forms/tanstack-field.js +121 -0
- package/dist/lib/forms/tanstack-field.js.map +1 -0
- package/dist/lib/index.d.ts +11 -0
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/main.css +393 -90
- package/dist/main.css.map +1 -1
- package/package.json +30 -23
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { FormControl } from "../../components/primitives/forms/form-control.js";
|
|
4
|
+
import { Checkbox } from "../../components/primitives/forms/checkbox.js";
|
|
5
|
+
import { Input } from "../../components/primitives/forms/input.js";
|
|
6
|
+
import { Textarea } from "../../components/primitives/forms/textarea.js";
|
|
7
|
+
import {
|
|
8
|
+
Field,
|
|
9
|
+
FieldContent,
|
|
10
|
+
FieldDescription,
|
|
11
|
+
FieldError,
|
|
12
|
+
FieldLabel
|
|
13
|
+
} from "../../components/primitives/forms/field.js";
|
|
14
|
+
import {
|
|
15
|
+
getCheckboxFieldProps,
|
|
16
|
+
getInputFieldProps,
|
|
17
|
+
getSelectFieldProps,
|
|
18
|
+
isFieldInvalid,
|
|
19
|
+
normalizeFieldErrors
|
|
20
|
+
} from "./field-props.js";
|
|
21
|
+
function TanStackField({
|
|
22
|
+
formApi,
|
|
23
|
+
name,
|
|
24
|
+
label,
|
|
25
|
+
description,
|
|
26
|
+
orientation,
|
|
27
|
+
labelClassName,
|
|
28
|
+
className,
|
|
29
|
+
validators,
|
|
30
|
+
children,
|
|
31
|
+
mapControlProps = getInputFieldProps
|
|
32
|
+
}) {
|
|
33
|
+
const boundForm = formApi;
|
|
34
|
+
const FieldComponent = boundForm.Field;
|
|
35
|
+
return /* @__PURE__ */ jsx(FieldComponent, { name, validators, children: (field) => {
|
|
36
|
+
const invalid = isFieldInvalid(field);
|
|
37
|
+
const controlId = String(field.name);
|
|
38
|
+
return /* @__PURE__ */ jsx(
|
|
39
|
+
FormControl,
|
|
40
|
+
{
|
|
41
|
+
id: controlId,
|
|
42
|
+
label,
|
|
43
|
+
description,
|
|
44
|
+
orientation,
|
|
45
|
+
labelClassName,
|
|
46
|
+
className,
|
|
47
|
+
invalid,
|
|
48
|
+
errors: normalizeFieldErrors(
|
|
49
|
+
field.state.meta.errors
|
|
50
|
+
),
|
|
51
|
+
children: (resolvedControlId) => children(
|
|
52
|
+
field,
|
|
53
|
+
mapControlProps(field, resolvedControlId),
|
|
54
|
+
resolvedControlId
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
} });
|
|
59
|
+
}
|
|
60
|
+
function TanStackInputField({ type = "text", ...props }) {
|
|
61
|
+
return /* @__PURE__ */ jsx(TanStackField, { ...props, children: (_field, controlProps) => /* @__PURE__ */ jsx(Input, { ...controlProps, type }) });
|
|
62
|
+
}
|
|
63
|
+
function TanStackTextareaField(props) {
|
|
64
|
+
return /* @__PURE__ */ jsx(TanStackField, { ...props, children: (_field, controlProps) => /* @__PURE__ */ jsx(Textarea, { ...controlProps }) });
|
|
65
|
+
}
|
|
66
|
+
function TanStackCheckboxField({
|
|
67
|
+
formApi,
|
|
68
|
+
name,
|
|
69
|
+
validators,
|
|
70
|
+
checkboxClassName,
|
|
71
|
+
labelClassName,
|
|
72
|
+
label,
|
|
73
|
+
description,
|
|
74
|
+
orientation = "horizontal",
|
|
75
|
+
className
|
|
76
|
+
}) {
|
|
77
|
+
const boundForm = formApi;
|
|
78
|
+
const FieldComponent = boundForm.Field;
|
|
79
|
+
return /* @__PURE__ */ jsx(FieldComponent, { name, validators, children: (field) => {
|
|
80
|
+
const invalid = isFieldInvalid(field);
|
|
81
|
+
const controlProps = getCheckboxFieldProps(field);
|
|
82
|
+
return /* @__PURE__ */ jsxs(Field, { orientation, invalid, className, children: [
|
|
83
|
+
/* @__PURE__ */ jsx(Checkbox, { ...controlProps, className: checkboxClassName }),
|
|
84
|
+
/* @__PURE__ */ jsx(FieldLabel, { htmlFor: controlProps.id, className: labelClassName, children: label }),
|
|
85
|
+
(description || invalid) && /* @__PURE__ */ jsxs(FieldContent, { className: "sg:basis-full", children: [
|
|
86
|
+
description && /* @__PURE__ */ jsx(FieldDescription, { children: description }),
|
|
87
|
+
/* @__PURE__ */ jsx(
|
|
88
|
+
FieldError,
|
|
89
|
+
{
|
|
90
|
+
errors: normalizeFieldErrors(
|
|
91
|
+
field.state.meta.errors
|
|
92
|
+
)
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
] })
|
|
96
|
+
] });
|
|
97
|
+
} });
|
|
98
|
+
}
|
|
99
|
+
function TanStackSelectField({ children, ...props }) {
|
|
100
|
+
return /* @__PURE__ */ jsx(TanStackField, { ...props, mapControlProps: getSelectFieldProps, children: (_field, controlProps, controlId) => children(controlProps, controlId) });
|
|
101
|
+
}
|
|
102
|
+
import {
|
|
103
|
+
getCheckboxFieldProps as getCheckboxFieldProps2,
|
|
104
|
+
getInputFieldProps as getInputFieldProps2,
|
|
105
|
+
getSelectFieldProps as getSelectFieldProps2,
|
|
106
|
+
isFieldInvalid as isFieldInvalid2,
|
|
107
|
+
normalizeFieldErrors as normalizeFieldErrors2
|
|
108
|
+
} from "./field-props.js";
|
|
109
|
+
export {
|
|
110
|
+
TanStackCheckboxField,
|
|
111
|
+
TanStackField,
|
|
112
|
+
TanStackInputField,
|
|
113
|
+
TanStackSelectField,
|
|
114
|
+
TanStackTextareaField,
|
|
115
|
+
getCheckboxFieldProps2 as getCheckboxFieldProps,
|
|
116
|
+
getInputFieldProps2 as getInputFieldProps,
|
|
117
|
+
getSelectFieldProps2 as getSelectFieldProps,
|
|
118
|
+
isFieldInvalid2 as isFieldInvalid,
|
|
119
|
+
normalizeFieldErrors2 as normalizeFieldErrors
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=tanstack-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/forms/tanstack-field.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport type { DeepKeys } from \"@tanstack/react-form\";\r\nimport { FormControl } from \"../../components/primitives/forms/form-control\";\r\nimport { Checkbox } from \"../../components/primitives/forms/checkbox\";\r\nimport { Input } from \"../../components/primitives/forms/input\";\r\nimport { Textarea } from \"../../components/primitives/forms/textarea\";\r\nimport {\r\n Field,\r\n FieldContent,\r\n FieldDescription,\r\n FieldError,\r\n FieldLabel,\r\n} from \"../../components/primitives/forms/field\";\r\nimport {\r\n getCheckboxFieldProps,\r\n getInputFieldProps,\r\n getSelectFieldProps,\r\n isFieldInvalid,\r\n normalizeFieldErrors,\r\n type TanStackFieldLike,\r\n} from \"./field-props\";\r\n\r\ntype TanStackFormFieldComponent<TFormData> = (props: {\r\n name: DeepKeys<TFormData>;\r\n validators?: Record<string, unknown>;\r\n children: (field: TanStackFieldLike) => React.ReactNode;\r\n}) => React.ReactNode;\r\n\r\n/** Form instance returned by `useForm()` — accepts any TanStack Form API shape. */\r\nexport type TanStackFormLike<TFormData> = {\r\n Field: TanStackFormFieldComponent<TFormData>;\r\n Subscribe: (props: {\r\n selector?: (state: unknown) => unknown;\r\n children: ((state: unknown) => React.ReactNode) | React.ReactNode;\r\n }) => React.ReactNode;\r\n handleSubmit: () => void | Promise<void>;\r\n reset: (values?: Partial<TFormData>) => void;\r\n};\r\n\r\ntype TanStackFieldProps<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n> = {\r\n formApi: unknown;\r\n name: TName;\r\n label?: React.ReactNode;\r\n description?: React.ReactNode;\r\n orientation?: React.ComponentProps<typeof FormControl>[\"orientation\"];\r\n labelClassName?: string;\r\n className?: string;\r\n validators?: Record<string, unknown>;\r\n children: (\r\n field: TanStackFieldLike,\r\n controlProps: Record<string, unknown>,\r\n controlId: string,\r\n ) => React.ReactNode;\r\n mapControlProps?: (\r\n field: TanStackFieldLike,\r\n controlId: string,\r\n ) => Record<string, unknown>;\r\n};\r\n\r\n/**\r\n * Connects a TanStack Form field to Singularity {@link FormControl} layout primitives.\r\n */\r\nfunction TanStackField<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n>({\r\n formApi,\r\n name,\r\n label,\r\n description,\r\n orientation,\r\n labelClassName,\r\n className,\r\n validators,\r\n children,\r\n mapControlProps = getInputFieldProps,\r\n}: TanStackFieldProps<TFormData, TName>) {\r\n const boundForm = formApi as TanStackFormLike<TFormData>;\r\n const FieldComponent = boundForm.Field;\r\n\r\n return (\r\n <FieldComponent name={name} validators={validators}>\r\n {(field: TanStackFieldLike) => {\r\n const invalid = isFieldInvalid(field);\r\n const controlId = String(field.name);\r\n\r\n return (\r\n <FormControl\r\n id={controlId}\r\n label={label}\r\n description={description}\r\n orientation={orientation}\r\n labelClassName={labelClassName}\r\n className={className}\r\n invalid={invalid}\r\n errors={normalizeFieldErrors(\r\n field.state.meta.errors as Array<string | { message?: string }>,\r\n )}\r\n >\r\n {(resolvedControlId) =>\r\n children(\r\n field,\r\n mapControlProps(field, resolvedControlId),\r\n resolvedControlId,\r\n )\r\n }\r\n </FormControl>\r\n );\r\n }}\r\n </FieldComponent>\r\n );\r\n}\r\n\r\ntype TanStackInputFieldProps<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n> = Omit<TanStackFieldProps<TFormData, TName>, \"children\" | \"mapControlProps\"> &\r\n Omit<\r\n React.ComponentProps<typeof Input>,\r\n \"id\" | \"name\" | \"value\" | \"onChange\" | \"onBlur\" | \"form\"\r\n >;\r\n\r\n/**\r\n * TanStack Form field wired to {@link Input}.\r\n */\r\nfunction TanStackInputField<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n>({ type = \"text\", ...props }: TanStackInputFieldProps<TFormData, TName>) {\r\n return (\r\n <TanStackField {...props}>\r\n {(_field, controlProps) => <Input {...controlProps} type={type} />}\r\n </TanStackField>\r\n );\r\n}\r\n\r\ntype TanStackTextareaFieldProps<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n> = Omit<TanStackFieldProps<TFormData, TName>, \"children\" | \"mapControlProps\"> &\r\n Omit<\r\n React.ComponentProps<typeof Textarea>,\r\n \"id\" | \"name\" | \"value\" | \"onChange\" | \"onBlur\"\r\n >;\r\n\r\n/**\r\n * TanStack Form field wired to {@link Textarea}.\r\n */\r\nfunction TanStackTextareaField<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n>(props: TanStackTextareaFieldProps<TFormData, TName>) {\r\n return (\r\n <TanStackField {...props}>\r\n {(_field, controlProps) => <Textarea {...controlProps} />}\r\n </TanStackField>\r\n );\r\n}\r\n\r\ntype TanStackCheckboxFieldProps<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n> = Omit<TanStackFieldProps<TFormData, TName>, \"children\" | \"mapControlProps\" | \"label\"> & {\r\n label: React.ReactNode;\r\n checkboxClassName?: string;\r\n labelClassName?: string;\r\n};\r\n\r\n/**\r\n * TanStack Form field wired to {@link Checkbox} with a horizontal layout by default.\r\n */\r\nfunction TanStackCheckboxField<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n>({\r\n formApi,\r\n name,\r\n validators,\r\n checkboxClassName,\r\n labelClassName,\r\n label,\r\n description,\r\n orientation = \"horizontal\",\r\n className,\r\n}: TanStackCheckboxFieldProps<TFormData, TName>) {\r\n const boundForm = formApi as TanStackFormLike<TFormData>;\r\n const FieldComponent = boundForm.Field;\r\n\r\n return (\r\n <FieldComponent name={name} validators={validators}>\r\n {(field: TanStackFieldLike) => {\r\n const invalid = isFieldInvalid(field);\r\n const controlProps = getCheckboxFieldProps(field);\r\n\r\n return (\r\n <Field orientation={orientation} invalid={invalid} className={className}>\r\n <Checkbox {...controlProps} className={checkboxClassName} />\r\n <FieldLabel htmlFor={controlProps.id} className={labelClassName}>\r\n {label}\r\n </FieldLabel>\r\n {(description || invalid) && (\r\n <FieldContent className=\"sg:basis-full\">\r\n {description && <FieldDescription>{description}</FieldDescription>}\r\n <FieldError\r\n errors={normalizeFieldErrors(\r\n field.state.meta.errors as Array<\r\n string | { message?: string }\r\n >,\r\n )}\r\n />\r\n </FieldContent>\r\n )}\r\n </Field>\r\n );\r\n }}\r\n </FieldComponent>\r\n );\r\n}\r\n\r\ntype TanStackSelectFieldProps<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n> = Omit<TanStackFieldProps<TFormData, TName>, \"children\" | \"mapControlProps\"> & {\r\n children: (\r\n controlProps: ReturnType<typeof getSelectFieldProps>,\r\n controlId: string,\r\n ) => React.ReactNode;\r\n};\r\n\r\n/**\r\n * TanStack Form field wired to {@link Select} via a render prop.\r\n */\r\nfunction TanStackSelectField<\r\n TFormData,\r\n TName extends DeepKeys<TFormData>,\r\n>({ children, ...props }: TanStackSelectFieldProps<TFormData, TName>) {\r\n return (\r\n <TanStackField {...props} mapControlProps={getSelectFieldProps}>\r\n {(_field, controlProps, controlId) =>\r\n children(controlProps as ReturnType<typeof getSelectFieldProps>, controlId)\r\n }\r\n </TanStackField>\r\n );\r\n}\r\n\r\nexport {\r\n TanStackCheckboxField,\r\n TanStackField,\r\n TanStackInputField,\r\n TanStackSelectField,\r\n TanStackTextareaField,\r\n};\r\n\r\nexport {\r\n getCheckboxFieldProps,\r\n getInputFieldProps,\r\n getSelectFieldProps,\r\n isFieldInvalid,\r\n normalizeFieldErrors,\r\n type FieldErrorLike,\r\n type TanStackFieldLike,\r\n} from \"./field-props\";\r\n"],"mappings":";AA2FU,cAkHI,YAlHJ;AAxFV,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,SAAS,gBAAgB;AACzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AA6CP,SAAS,cAGP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAyC;AACvC,QAAM,YAAY;AAClB,QAAM,iBAAiB,UAAU;AAEjC,SACE,oBAAC,kBAAe,MAAY,YACzB,WAAC,UAA6B;AAC7B,UAAM,UAAU,eAAe,KAAK;AACpC,UAAM,YAAY,OAAO,MAAM,IAAI;AAEnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,UACN,MAAM,MAAM,KAAK;AAAA,QACnB;AAAA,QAEC,WAAC,sBACA;AAAA,UACE;AAAA,UACA,gBAAgB,OAAO,iBAAiB;AAAA,UACxC;AAAA,QACF;AAAA;AAAA,IAEJ;AAAA,EAEJ,GACF;AAEJ;AAcA,SAAS,mBAGP,EAAE,OAAO,QAAQ,GAAG,MAAM,GAA8C;AACxE,SACE,oBAAC,iBAAe,GAAG,OAChB,WAAC,QAAQ,iBAAiB,oBAAC,SAAO,GAAG,cAAc,MAAY,GAClE;AAEJ;AAcA,SAAS,sBAGP,OAAqD;AACrD,SACE,oBAAC,iBAAe,GAAG,OAChB,WAAC,QAAQ,iBAAiB,oBAAC,YAAU,GAAG,cAAc,GACzD;AAEJ;AAcA,SAAS,sBAGP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AACF,GAAiD;AAC/C,QAAM,YAAY;AAClB,QAAM,iBAAiB,UAAU;AAEjC,SACE,oBAAC,kBAAe,MAAY,YACzB,WAAC,UAA6B;AAC7B,UAAM,UAAU,eAAe,KAAK;AACpC,UAAM,eAAe,sBAAsB,KAAK;AAEhD,WACE,qBAAC,SAAM,aAA0B,SAAkB,WACjD;AAAA,0BAAC,YAAU,GAAG,cAAc,WAAW,mBAAmB;AAAA,MAC1D,oBAAC,cAAW,SAAS,aAAa,IAAI,WAAW,gBAC9C,iBACH;AAAA,OACE,eAAe,YACf,qBAAC,gBAAa,WAAU,iBACrB;AAAA,uBAAe,oBAAC,oBAAkB,uBAAY;AAAA,QAC/C;AAAA,UAAC;AAAA;AAAA,YACC,QAAQ;AAAA,cACN,MAAM,MAAM,KAAK;AAAA,YAGnB;AAAA;AAAA,QACF;AAAA,SACF;AAAA,OAEJ;AAAA,EAEJ,GACF;AAEJ;AAeA,SAAS,oBAGP,EAAE,UAAU,GAAG,MAAM,GAA+C;AACpE,SACE,oBAAC,iBAAe,GAAG,OAAO,iBAAiB,qBACxC,WAAC,QAAQ,cAAc,cACtB,SAAS,cAAwD,SAAS,GAE9E;AAEJ;AAUA;AAAA,EACE,yBAAAA;AAAA,EACA,sBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,wBAAAC;AAAA,OAGK;","names":["getCheckboxFieldProps","getInputFieldProps","getSelectFieldProps","isFieldInvalid","normalizeFieldErrors"]}
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
1
1
|
export { formatDate } from './helpers/date.js';
|
|
2
|
+
export { FieldErrorLike, TanStackFieldLike, getCheckboxFieldProps, getInputFieldProps, getSelectFieldProps, isFieldInvalid, normalizeFieldErrors } from './forms/field-props.js';
|
|
3
|
+
export { TanStackCheckboxField, TanStackField, TanStackFormLike, TanStackInputField, TanStackSelectField, TanStackTextareaField } from './forms/tanstack-field.js';
|
|
2
4
|
export { useIsClient } from './hooks/useIsClient.js';
|
|
5
|
+
import 'react';
|
|
6
|
+
import '@tanstack/react-form';
|
|
7
|
+
import '../components/primitives/forms/form-control.js';
|
|
8
|
+
import '../components/primitives/forms/field.js';
|
|
9
|
+
import 'class-variance-authority/types';
|
|
10
|
+
import 'class-variance-authority';
|
|
11
|
+
import '../components/primitives/label/label.js';
|
|
12
|
+
import '../components/primitives/forms/input.js';
|
|
13
|
+
import '../components/primitives/forms/textarea.js';
|
package/dist/lib/index.js
CHANGED
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/index.ts"],"sourcesContent":["/**\n * Library index\n *\n * Please keep exports sorted alphabetically by path!\n */\n\nexport * from \"./helpers/index\";\nexport * from \"./hooks/useIsClient\";\n"],"mappings":"AAMA,cAAc;AACd,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/index.ts"],"sourcesContent":["/**\n * Library index\n *\n * Please keep exports sorted alphabetically by path!\n */\n\nexport * from \"./helpers/index\";\nexport * from \"./forms/index\";\nexport * from \"./hooks/useIsClient\";\n"],"mappings":"AAMA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|