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.
Files changed (166) hide show
  1. package/dist/components/blocks/badges/category-badge.d.ts +11 -0
  2. package/dist/components/blocks/badges/category-badge.js +34 -0
  3. package/dist/components/blocks/badges/category-badge.js.map +1 -0
  4. package/dist/components/blocks/cards/blogpost-card.d.ts +3 -1
  5. package/dist/components/blocks/cards/blogpost-card.js +10 -5
  6. package/dist/components/blocks/cards/blogpost-card.js.map +1 -1
  7. package/dist/components/blocks/directory/author-card.d.ts +10 -0
  8. package/dist/components/blocks/directory/author-card.js +50 -0
  9. package/dist/components/blocks/directory/author-card.js.map +1 -0
  10. package/dist/components/blocks/directory/category-card.d.ts +10 -0
  11. package/dist/components/blocks/directory/category-card.js +27 -0
  12. package/dist/components/blocks/directory/category-card.js.map +1 -0
  13. package/dist/components/blocks/extras/extras-hub-card.d.ts +16 -0
  14. package/dist/components/blocks/extras/extras-hub-card.js +22 -0
  15. package/dist/components/blocks/extras/extras-hub-card.js.map +1 -0
  16. package/dist/components/blocks/gallery/image-gallery.d.ts +14 -0
  17. package/dist/components/blocks/gallery/image-gallery.js +211 -0
  18. package/dist/components/blocks/gallery/image-gallery.js.map +1 -0
  19. package/dist/components/blocks/index.d.ts +11 -0
  20. package/dist/components/blocks/index.js +10 -0
  21. package/dist/components/blocks/index.js.map +1 -1
  22. package/dist/components/blocks/loading/loading-skeletons.d.ts +15 -0
  23. package/dist/components/blocks/loading/loading-skeletons.js +78 -0
  24. package/dist/components/blocks/loading/loading-skeletons.js.map +1 -0
  25. package/dist/components/blocks/login/login.js +76 -47
  26. package/dist/components/blocks/login/login.js.map +1 -1
  27. package/dist/components/blocks/marketing/page-hero.d.ts +13 -0
  28. package/dist/components/blocks/marketing/page-hero.js +37 -0
  29. package/dist/components/blocks/marketing/page-hero.js.map +1 -0
  30. package/dist/components/blocks/marketing/stats-grid.d.ts +16 -0
  31. package/dist/components/blocks/marketing/stats-grid.js +30 -0
  32. package/dist/components/blocks/marketing/stats-grid.js.map +1 -0
  33. package/dist/components/blocks/marketing/timeline.d.ts +17 -0
  34. package/dist/components/blocks/marketing/timeline.js +46 -0
  35. package/dist/components/blocks/marketing/timeline.js.map +1 -0
  36. package/dist/components/blocks/marketing/values-grid.d.ts +16 -0
  37. package/dist/components/blocks/marketing/values-grid.js +29 -0
  38. package/dist/components/blocks/marketing/values-grid.js.map +1 -0
  39. package/dist/components/blocks/post-list/post-list-with-filters.js +4 -4
  40. package/dist/components/blocks/post-list/post-list-with-filters.js.map +1 -1
  41. package/dist/components/index.d.ts +28 -1
  42. package/dist/components/pages/about/about-page.d.ts +5 -0
  43. package/dist/components/pages/about/about-page.js +161 -0
  44. package/dist/components/pages/about/about-page.js.map +1 -0
  45. package/dist/components/pages/admin/admin-page.js +160 -103
  46. package/dist/components/pages/admin/admin-page.js.map +1 -1
  47. package/dist/components/pages/author/author-page.d.ts +8 -0
  48. package/dist/components/pages/author/author-page.js +107 -0
  49. package/dist/components/pages/author/author-page.js.map +1 -0
  50. package/dist/components/pages/authors/authors-page.d.ts +5 -0
  51. package/dist/components/pages/authors/authors-page.js +25 -0
  52. package/dist/components/pages/authors/authors-page.js.map +1 -0
  53. package/dist/components/pages/blogpost/blogpost.d.ts +4 -1
  54. package/dist/components/pages/blogpost/blogpost.js +110 -62
  55. package/dist/components/pages/blogpost/blogpost.js.map +1 -1
  56. package/dist/components/pages/categories/categories-page.d.ts +5 -0
  57. package/dist/components/pages/categories/categories-page.js +33 -0
  58. package/dist/components/pages/categories/categories-page.js.map +1 -0
  59. package/dist/components/pages/category/category-page.js +4 -2
  60. package/dist/components/pages/category/category-page.js.map +1 -1
  61. package/dist/components/pages/chat/chat-page.js +4 -4
  62. package/dist/components/pages/chat/chat-page.js.map +1 -1
  63. package/dist/components/pages/contact/contact-page.d.ts +5 -0
  64. package/dist/components/pages/contact/contact-page.js +180 -0
  65. package/dist/components/pages/contact/contact-page.js.map +1 -0
  66. package/dist/components/pages/content-blocks/content-blocks-page.d.ts +5 -0
  67. package/dist/components/pages/content-blocks/content-blocks-page.js +87 -0
  68. package/dist/components/pages/content-blocks/content-blocks-page.js.map +1 -0
  69. package/dist/components/pages/extras/extras-hub-page.d.ts +10 -0
  70. package/dist/components/pages/extras/extras-hub-page.js +110 -0
  71. package/dist/components/pages/extras/extras-hub-page.js.map +1 -0
  72. package/dist/components/pages/index.d.ts +14 -0
  73. package/dist/components/pages/index.js +12 -0
  74. package/dist/components/pages/index.js.map +1 -1
  75. package/dist/components/pages/maintenance/maintenance-page.js +1 -1
  76. package/dist/components/pages/maintenance/maintenance-page.js.map +1 -1
  77. package/dist/components/pages/membership/membership-page.d.ts +5 -0
  78. package/dist/components/pages/membership/membership-page.js +131 -0
  79. package/dist/components/pages/membership/membership-page.js.map +1 -0
  80. package/dist/components/pages/mosaic/mosaic-page.d.ts +5 -0
  81. package/dist/components/pages/mosaic/mosaic-page.js +81 -0
  82. package/dist/components/pages/mosaic/mosaic-page.js.map +1 -0
  83. package/dist/components/pages/newsletter/newsletter-page.d.ts +5 -0
  84. package/dist/components/pages/newsletter/newsletter-page.js +165 -0
  85. package/dist/components/pages/newsletter/newsletter-page.js.map +1 -0
  86. package/dist/components/pages/not-found/not-found.js +2 -2
  87. package/dist/components/pages/not-found/not-found.js.map +1 -1
  88. package/dist/components/pages/privacy/privacy-page.js +2 -2
  89. package/dist/components/pages/privacy/privacy-page.js.map +1 -1
  90. package/dist/components/pages/resources/resources-page.d.ts +5 -0
  91. package/dist/components/pages/resources/resources-page.js +24 -0
  92. package/dist/components/pages/resources/resources-page.js.map +1 -0
  93. package/dist/components/pages/startpage/startpage.js +6 -4
  94. package/dist/components/pages/startpage/startpage.js.map +1 -1
  95. package/dist/components/pages/terms/terms-page.js +2 -2
  96. package/dist/components/pages/terms/terms-page.js.map +1 -1
  97. package/dist/components/primitives/accordion/accordion.js +14 -16
  98. package/dist/components/primitives/accordion/accordion.js.map +1 -1
  99. package/dist/components/primitives/badge/badge.js +1 -1
  100. package/dist/components/primitives/badge/badge.js.map +1 -1
  101. package/dist/components/primitives/buttons/button.d.ts +2 -2
  102. package/dist/components/primitives/buttons/icon-button.d.ts +1 -1
  103. package/dist/components/primitives/collapsible/collapsible.js +4 -1
  104. package/dist/components/primitives/collapsible/collapsible.js.map +1 -1
  105. package/dist/components/primitives/dropdown-menu/dropdown-menu.js +6 -1
  106. package/dist/components/primitives/dropdown-menu/dropdown-menu.js.map +1 -1
  107. package/dist/components/primitives/forms/checkbox.js +1 -1
  108. package/dist/components/primitives/forms/checkbox.js.map +1 -1
  109. package/dist/components/primitives/forms/field.d.ts +4 -2
  110. package/dist/components/primitives/forms/field.js +4 -2
  111. package/dist/components/primitives/forms/field.js.map +1 -1
  112. package/dist/components/primitives/forms/form-control.d.ts +28 -0
  113. package/dist/components/primitives/forms/form-control.js +40 -0
  114. package/dist/components/primitives/forms/form-control.js.map +1 -0
  115. package/dist/components/primitives/forms/form.d.ts +12 -0
  116. package/dist/components/primitives/forms/form.js +30 -0
  117. package/dist/components/primitives/forms/form.js.map +1 -0
  118. package/dist/components/primitives/forms/select.js +12 -12
  119. package/dist/components/primitives/forms/select.js.map +1 -1
  120. package/dist/components/primitives/icon/icon.d.ts +3 -2
  121. package/dist/components/primitives/icon/icon.js +2 -1
  122. package/dist/components/primitives/icon/icon.js.map +1 -1
  123. package/dist/components/primitives/index.d.ts +4 -0
  124. package/dist/components/primitives/index.js +3 -0
  125. package/dist/components/primitives/index.js.map +1 -1
  126. package/dist/components/primitives/layout/layout.d.ts +1 -1
  127. package/dist/components/primitives/link/link.d.ts +2 -2
  128. package/dist/components/primitives/sheet/sheet.js +1 -1
  129. package/dist/components/primitives/sheet/sheet.js.map +1 -1
  130. package/dist/components/primitives/stack/stack.d.ts +2 -2
  131. package/dist/components/primitives/text/internal/text-element.d.ts +8 -2
  132. package/dist/components/primitives/text/internal/text-element.js +3 -0
  133. package/dist/components/primitives/text/internal/text-element.js.map +1 -1
  134. package/dist/components/primitives/text/text-code.d.ts +1 -1
  135. package/dist/components/templates/form/form.d.ts +2 -2
  136. package/dist/components/templates/form/form.js +133 -87
  137. package/dist/components/templates/form/form.js.map +1 -1
  138. package/dist/components/templates/hero/hero.js +1 -0
  139. package/dist/components/templates/hero/hero.js.map +1 -1
  140. package/dist/components/templates/index.d.ts +1 -0
  141. package/dist/components/templates/index.js +1 -0
  142. package/dist/components/templates/index.js.map +1 -1
  143. package/dist/components/templates/loading-screen/loading-screen.d.ts +10 -0
  144. package/dist/components/templates/loading-screen/loading-screen.js +39 -0
  145. package/dist/components/templates/loading-screen/loading-screen.js.map +1 -0
  146. package/dist/css/variables.css +6 -3
  147. package/dist/css/variables.css.map +1 -1
  148. package/dist/data/posts.d.ts +5 -0
  149. package/dist/data/posts.js +41 -8
  150. package/dist/data/posts.js.map +1 -1
  151. package/dist/index.d.ts +28 -1
  152. package/dist/lib/forms/field-props.d.ts +60 -0
  153. package/dist/lib/forms/field-props.js +60 -0
  154. package/dist/lib/forms/field-props.js.map +1 -0
  155. package/dist/lib/forms/index.d.ts +11 -0
  156. package/dist/lib/forms/index.js +3 -0
  157. package/dist/lib/forms/index.js.map +1 -0
  158. package/dist/lib/forms/tanstack-field.d.ts +71 -0
  159. package/dist/lib/forms/tanstack-field.js +121 -0
  160. package/dist/lib/forms/tanstack-field.js.map +1 -0
  161. package/dist/lib/index.d.ts +11 -0
  162. package/dist/lib/index.js +1 -0
  163. package/dist/lib/index.js.map +1 -1
  164. package/dist/main.css +393 -90
  165. package/dist/main.css.map +1 -1
  166. 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"]}
@@ -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
@@ -1,3 +1,4 @@
1
1
  export * from "./helpers/index.js";
2
+ export * from "./forms/index.js";
2
3
  export * from "./hooks/useIsClient.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -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":[]}