@tanstack/solid-form 0.26.2 → 0.26.4

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 (37) hide show
  1. package/dist/cjs/createField.cjs +34 -0
  2. package/dist/cjs/createField.cjs.map +1 -0
  3. package/dist/cjs/createField.d.cts +19 -0
  4. package/dist/cjs/createForm.cjs +28 -0
  5. package/dist/cjs/createForm.cjs.map +1 -0
  6. package/dist/cjs/createForm.d.cts +16 -0
  7. package/dist/cjs/index.cjs +15 -0
  8. package/dist/cjs/index.cjs.map +1 -0
  9. package/dist/cjs/index.d.cts +4 -0
  10. package/dist/cjs/types.d.cts +5 -0
  11. package/dist/esm/createField.d.ts +19 -0
  12. package/dist/esm/createField.js +34 -0
  13. package/dist/esm/createField.js.map +1 -0
  14. package/dist/esm/createForm.d.ts +16 -0
  15. package/dist/esm/createForm.js +28 -0
  16. package/dist/esm/createForm.js.map +1 -0
  17. package/dist/esm/index.d.ts +4 -0
  18. package/dist/esm/index.js +9 -0
  19. package/dist/esm/index.js.map +1 -0
  20. package/dist/esm/types.d.ts +5 -0
  21. package/dist/source/createField.jsx.map +1 -0
  22. package/dist/source/createForm.jsx.map +1 -0
  23. package/dist/source/index.jsx.map +1 -0
  24. package/dist/source/types.js.map +1 -0
  25. package/package.json +17 -13
  26. package/dist/createField.jsx.map +0 -1
  27. package/dist/createForm.jsx.map +0 -1
  28. package/dist/index.jsx.map +0 -1
  29. package/dist/types.js.map +0 -1
  30. /package/dist/{createField.d.ts → source/createField.d.ts} +0 -0
  31. /package/dist/{createField.jsx → source/createField.jsx} +0 -0
  32. /package/dist/{createForm.d.ts → source/createForm.d.ts} +0 -0
  33. /package/dist/{createForm.jsx → source/createForm.jsx} +0 -0
  34. /package/dist/{index.d.ts → source/index.d.ts} +0 -0
  35. /package/dist/{index.jsx → source/index.jsx} +0 -0
  36. /package/dist/{types.d.ts → source/types.d.ts} +0 -0
  37. /package/dist/{types.js → source/types.js} +0 -0
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const web = require("solid-js/web");
4
+ const formCore = require("@tanstack/form-core");
5
+ const solidJs = require("solid-js");
6
+ function makeFieldReactive(fieldApi) {
7
+ const [flag, setFlag] = solidJs.createSignal(false);
8
+ const fieldApiMemo = solidJs.createMemo(() => [flag(), fieldApi]);
9
+ const unsubscribeStore = fieldApi.store.subscribe(() => setFlag((f) => !f));
10
+ solidJs.onCleanup(unsubscribeStore);
11
+ return () => fieldApiMemo()[1];
12
+ }
13
+ function createField(opts) {
14
+ const options = opts();
15
+ const api = new formCore.FieldApi(options);
16
+ const extendedApi = api;
17
+ extendedApi.Field = Field;
18
+ solidJs.createComputed(() => api.update(opts()));
19
+ solidJs.onMount(() => solidJs.onCleanup(api.mount()));
20
+ return makeFieldReactive(extendedApi);
21
+ }
22
+ function Field(props) {
23
+ const fieldApi = createField(() => {
24
+ const {
25
+ children,
26
+ ...fieldOptions
27
+ } = props;
28
+ return fieldOptions;
29
+ });
30
+ return web.memo(() => solidJs.createComponent(() => props.children(fieldApi), {}));
31
+ }
32
+ exports.Field = Field;
33
+ exports.createField = createField;
34
+ //# sourceMappingURL=createField.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createField.cjs","sources":["../../src/createField.tsx"],"sourcesContent":["import { FieldApi } from '@tanstack/form-core'\nimport {\n createComponent,\n createComputed,\n createMemo,\n createSignal,\n onCleanup,\n onMount,\n} from 'solid-js'\n\nimport type {\n DeepKeys,\n DeepValue,\n Narrow,\n Validator,\n} from '@tanstack/form-core'\nimport type { JSXElement } from 'solid-js'\nimport type { CreateFieldOptions } from './types'\n\ninterface SolidFieldApi<\n TParentData,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n> {\n Field: FieldComponent<TParentData, TFormValidator>\n}\n\nexport type CreateField<\n TParentData,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n> = <\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n>(\n opts: () => { name: Narrow<TName> } & Omit<\n CreateFieldOptions<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n 'form'\n >,\n) => () => FieldApi<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n> &\n SolidFieldApi<TParentData, TFormValidator>\n\n// ugly way to trick solid into triggering updates for changes on the fieldApi\nfunction makeFieldReactive<\n TParentData,\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n FieldApiT extends FieldApi<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n > = FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData> &\n SolidFieldApi<TParentData, TFormValidator>,\n>(fieldApi: FieldApiT): () => FieldApiT {\n const [flag, setFlag] = createSignal(false)\n const fieldApiMemo = createMemo(() => [flag(), fieldApi] as const)\n const unsubscribeStore = fieldApi.store.subscribe(() => setFlag((f) => !f))\n onCleanup(unsubscribeStore)\n return () => fieldApiMemo()[1]\n}\n\nexport function createField<\n TParentData,\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n>(\n opts: () => CreateFieldOptions<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n) {\n const options = opts()\n\n const api = new FieldApi(options)\n\n const extendedApi: typeof api & SolidFieldApi<TParentData, TFormValidator> =\n api as never\n\n extendedApi.Field = Field as never\n\n /**\n * fieldApi.update should not have any side effects. Think of it like a `useRef`\n * that we need to keep updated every render with the most up-to-date information.\n *\n * createComputed to make sure this effect runs before render effects\n */\n createComputed(() => api.update(opts()))\n\n // Instantiates field meta and removes it when unrendered\n onMount(() => onCleanup(api.mount()))\n\n return makeFieldReactive(extendedApi as never)\n}\n\ntype FieldComponentProps<\n TParentData,\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n> = {\n children: (\n fieldApi: () => FieldApi<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n ) => JSXElement\n} & Omit<\n CreateFieldOptions<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n 'form'\n>\n\nexport type FieldComponent<\n TParentData,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n> = <\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n>({\n children,\n ...fieldOptions\n}: Omit<\n FieldComponentProps<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n 'form'\n>) => JSXElement\n\nexport function Field<\n TParentData,\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n>(\n props: {\n children: (\n fieldApi: () => FieldApi<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n ) => JSXElement\n } & CreateFieldOptions<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n) {\n const fieldApi = createField<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >(() => {\n const { children, ...fieldOptions } = props\n return fieldOptions\n })\n\n return <>{createComponent(() => props.children(fieldApi), {})}</>\n}\n"],"names":["makeFieldReactive","fieldApi","flag","setFlag","createSignal","fieldApiMemo","createMemo","unsubscribeStore","store","subscribe","f","onCleanup","createField","opts","options","api","FieldApi","extendedApi","Field","createComputed","update","onMount","mount","props","children","fieldOptions","_$memo","createComponent"],"mappings":";;;;;AA4DA,SAASA,kBAkBPC,UAAsC;AACtC,QAAM,CAACC,MAAMC,OAAO,IAAIC,qBAAa,KAAK;AAC1C,QAAMC,eAAeC,QAAAA,WAAW,MAAM,CAACJ,KAAK,GAAGD,QAAQ,CAAW;AAC5DM,QAAAA,mBAAmBN,SAASO,MAAMC,UAAU,MAAMN,QAASO,CAAAA,MAAM,CAACA,CAAC,CAAC;AAC1EC,UAAAA,UAAUJ,gBAAgB;AACnB,SAAA,MAAMF,eAAe,CAAC;AAC/B;AAEO,SAASO,YAWdC,MAOA;AACA,QAAMC,UAAUD;AAEVE,QAAAA,MAAM,IAAIC,kBAASF,OAAO;AAEhC,QAAMG,cACJF;AAEFE,cAAYC,QAAQA;AAQpBC,UAAAA,eAAe,MAAMJ,IAAIK,OAAOP,KAAAA,CAAM,CAAC;AAGvCQ,UAAAA,QAAQ,MAAMV,QAAAA,UAAUI,IAAIO,MAAAA,CAAO,CAAC;AAEpC,SAAOtB,kBAAkBiB,WAAqB;AAChD;AA0DO,SAASC,MAWdK,OAiBA;AACMtB,QAAAA,WAAWW,YAMf,MAAM;AACA,UAAA;AAAA,MAAEY;AAAAA,MAAU,GAAGC;AAAAA,IAAiBF,IAAAA;AAC/BE,WAAAA;AAAAA,EAAAA,CACR;AAEDC,SAAAA,IAAAA,KAAA,MAAUC,QAAAA,gBAAgB,MAAMJ,MAAMC,SAASvB,QAAQ,GAAG,CAAE,CAAA,CAAC;AAC/D;;;"}
@@ -0,0 +1,19 @@
1
+ import { FieldApi, DeepKeys, DeepValue, Narrow, Validator } from '@tanstack/form-core';
2
+ import { JSXElement } from 'solid-js';
3
+ import { CreateFieldOptions } from './types.cjs';
4
+
5
+ interface SolidFieldApi<TParentData, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined> {
6
+ Field: FieldComponent<TParentData, TFormValidator>;
7
+ }
8
+ export type CreateField<TParentData, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined> = <TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>(opts: () => {
9
+ name: Narrow<TName>;
10
+ } & Omit<CreateFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>, 'form'>) => () => FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData> & SolidFieldApi<TParentData, TFormValidator>;
11
+ export declare function createField<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>(opts: () => CreateFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>): () => never;
12
+ type FieldComponentProps<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = {
13
+ children: (fieldApi: () => FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData>) => JSXElement;
14
+ } & Omit<CreateFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>, 'form'>;
15
+ export type FieldComponent<TParentData, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined> = <TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>({ children, ...fieldOptions }: Omit<FieldComponentProps<TParentData, TName, TFieldValidator, TFormValidator, TData>, 'form'>) => JSXElement;
16
+ export declare function Field<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>(props: {
17
+ children: (fieldApi: () => FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData>) => JSXElement;
18
+ } & CreateFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>): import("solid-js").JSX.Element;
19
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const web = require("solid-js/web");
4
+ const formCore = require("@tanstack/form-core");
5
+ const solidJs = require("solid-js");
6
+ const solidStore = require("@tanstack/solid-store");
7
+ const createField = require("./createField.cjs");
8
+ function createForm(opts) {
9
+ const options = opts == null ? void 0 : opts();
10
+ const api = new formCore.FormApi(options);
11
+ const extendedApi = api;
12
+ extendedApi.Field = (props) => web.createComponent(createField.Field, web.mergeProps(props, {
13
+ form: api
14
+ }));
15
+ extendedApi.createField = (props) => createField.createField(() => {
16
+ return {
17
+ ...props(),
18
+ form: api
19
+ };
20
+ });
21
+ extendedApi.useStore = (selector) => solidStore.useStore(api.store, selector);
22
+ extendedApi.Subscribe = (props) => formCore.functionalUpdate(props.children, solidStore.useStore(api.store, props.selector));
23
+ solidJs.onMount(api.mount);
24
+ solidJs.createComputed(() => api.update(opts == null ? void 0 : opts()));
25
+ return extendedApi;
26
+ }
27
+ exports.createForm = createForm;
28
+ //# sourceMappingURL=createForm.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createForm.cjs","sources":["../../src/createForm.tsx"],"sourcesContent":["import { FormApi, functionalUpdate } from '@tanstack/form-core'\nimport { type JSXElement, createComputed, onMount } from 'solid-js'\nimport { useStore } from '@tanstack/solid-store'\nimport {\n type CreateField,\n Field,\n type FieldComponent,\n createField,\n} from './createField'\nimport type { FormOptions, FormState, Validator } from '@tanstack/form-core'\n\ntype NoInfer<T> = [T][T extends any ? 0 : never]\n\ninterface SolidFormApi<\n TFormData,\n TFormValidator extends Validator<TFormData, unknown> | undefined = undefined,\n> {\n Field: FieldComponent<TFormData, TFormValidator>\n createField: CreateField<TFormData, TFormValidator>\n useStore: <TSelected = NoInfer<FormState<TFormData>>>(\n selector?: (state: NoInfer<FormState<TFormData>>) => TSelected,\n ) => () => TSelected\n Subscribe: <TSelected = NoInfer<FormState<TFormData>>>(props: {\n selector?: (state: NoInfer<FormState<TFormData>>) => TSelected\n children: ((state: () => NoInfer<TSelected>) => JSXElement) | JSXElement\n }) => JSXElement\n}\n\nexport function createForm<\n TParentData,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n>(opts?: () => FormOptions<TParentData, TFormValidator>) {\n const options = opts?.()\n const api = new FormApi<TParentData, TFormValidator>(options)\n const extendedApi: typeof api & SolidFormApi<TParentData, TFormValidator> =\n api as never\n\n extendedApi.Field = (props) => <Field {...props} form={api} />\n extendedApi.createField = (props) =>\n createField(() => {\n return { ...props(), form: api }\n })\n extendedApi.useStore = (selector) => useStore(api.store, selector)\n extendedApi.Subscribe = (props) =>\n functionalUpdate(props.children, useStore(api.store, props.selector))\n\n onMount(api.mount)\n\n /**\n * formApi.update should not have any side effects. Think of it like a `useRef`\n * that we need to keep updated every render with the most up-to-date information.\n */\n createComputed(() => api.update(opts?.()))\n\n return extendedApi\n}\n"],"names":["createForm","opts","options","api","FormApi","extendedApi","Field","props","_$createComponent","_$mergeProps","form","createField","useStore","selector","store","Subscribe","functionalUpdate","children","onMount","mount","createComputed","update"],"mappings":";;;;;;;AA4BO,SAASA,WAKdC,MAAuD;AACvD,QAAMC,UAAUD;AACVE,QAAAA,MAAM,IAAIC,iBAAqCF,OAAO;AAC5D,QAAMG,cACJF;AAEFE,cAAYC,QAASC,CAAAA,UAAKC,IAAMF,gBAAAA,YAAAA,OAAKG,eAAKF,OAAK;AAAA,IAAEG,MAAMP;AAAAA,EAAO,CAAA,CAAA;AAClDQ,cAAAA,cAAeJ,CACzBI,UAAAA,YAAAA,YAAY,MAAM;AACT,WAAA;AAAA,MAAE,GAAGJ,MAAM;AAAA,MAAGG,MAAMP;AAAAA,IAAAA;AAAAA,EAAI,CAChC;AACHE,cAAYO,WAAYC,CAAAA,aAAaD,WAAST,SAAAA,IAAIW,OAAOD,QAAQ;AACrDE,cAAAA,YAAaR,CACvBS,UAAAA,SAAAA,iBAAiBT,MAAMU,UAAUL,oBAAST,IAAIW,OAAOP,MAAMM,QAAQ,CAAC;AAEtEK,kBAAQf,IAAIgB,KAAK;AAMjBC,UAAAA,eAAe,MAAMjB,IAAIkB,OAAOpB,8BAAQ,CAAC;AAElCI,SAAAA;AACT;;"}
@@ -0,0 +1,16 @@
1
+ import { FormApi, FormOptions, FormState, Validator } from '@tanstack/form-core';
2
+ import { JSXElement } from 'solid-js';
3
+ import { CreateField, FieldComponent } from './createField.cjs';
4
+
5
+ type NoInfer<T> = [T][T extends any ? 0 : never];
6
+ interface SolidFormApi<TFormData, TFormValidator extends Validator<TFormData, unknown> | undefined = undefined> {
7
+ Field: FieldComponent<TFormData, TFormValidator>;
8
+ createField: CreateField<TFormData, TFormValidator>;
9
+ useStore: <TSelected = NoInfer<FormState<TFormData>>>(selector?: (state: NoInfer<FormState<TFormData>>) => TSelected) => () => TSelected;
10
+ Subscribe: <TSelected = NoInfer<FormState<TFormData>>>(props: {
11
+ selector?: (state: NoInfer<FormState<TFormData>>) => TSelected;
12
+ children: ((state: () => NoInfer<TSelected>) => JSXElement) | JSXElement;
13
+ }) => JSXElement;
14
+ }
15
+ export declare function createForm<TParentData, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined>(opts?: () => FormOptions<TParentData, TFormValidator>): FormApi<TParentData, TFormValidator> & SolidFormApi<TParentData, TFormValidator>;
16
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const formCore = require("@tanstack/form-core");
4
+ const createForm = require("./createForm.cjs");
5
+ const createField = require("./createField.cjs");
6
+ exports.createForm = createForm.createForm;
7
+ exports.Field = createField.Field;
8
+ exports.createField = createField.createField;
9
+ Object.keys(formCore).forEach((k) => {
10
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
11
+ enumerable: true,
12
+ get: () => formCore[k]
13
+ });
14
+ });
15
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ export * from '@tanstack/form-core';
2
+ export { createForm } from './createForm.cjs';
3
+ export type { CreateField, FieldComponent } from './createField.cjs';
4
+ export { createField, Field } from './createField.cjs';
@@ -0,0 +1,5 @@
1
+ import { DeepKeys, DeepValue, FieldApiOptions, Validator } from '@tanstack/form-core';
2
+
3
+ export type CreateFieldOptions<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FieldApiOptions<TParentData, TName, TFieldValidator, TFormValidator, TData> & {
4
+ mode?: 'value' | 'array';
5
+ };
@@ -0,0 +1,19 @@
1
+ import { FieldApi, DeepKeys, DeepValue, Narrow, Validator } from '@tanstack/form-core';
2
+ import { JSXElement } from 'solid-js';
3
+ import { CreateFieldOptions } from './types.js';
4
+
5
+ interface SolidFieldApi<TParentData, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined> {
6
+ Field: FieldComponent<TParentData, TFormValidator>;
7
+ }
8
+ export type CreateField<TParentData, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined> = <TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>(opts: () => {
9
+ name: Narrow<TName>;
10
+ } & Omit<CreateFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>, 'form'>) => () => FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData> & SolidFieldApi<TParentData, TFormValidator>;
11
+ export declare function createField<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>(opts: () => CreateFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>): () => never;
12
+ type FieldComponentProps<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = {
13
+ children: (fieldApi: () => FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData>) => JSXElement;
14
+ } & Omit<CreateFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>, 'form'>;
15
+ export type FieldComponent<TParentData, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined> = <TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>({ children, ...fieldOptions }: Omit<FieldComponentProps<TParentData, TName, TFieldValidator, TFormValidator, TData>, 'form'>) => JSXElement;
16
+ export declare function Field<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>>(props: {
17
+ children: (fieldApi: () => FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData>) => JSXElement;
18
+ } & CreateFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>): import("solid-js").JSX.Element;
19
+ export {};
@@ -0,0 +1,34 @@
1
+ import { memo } from "solid-js/web";
2
+ import { FieldApi } from "@tanstack/form-core";
3
+ import { createComputed, onMount, onCleanup, createComponent, createSignal, createMemo } from "solid-js";
4
+ function makeFieldReactive(fieldApi) {
5
+ const [flag, setFlag] = createSignal(false);
6
+ const fieldApiMemo = createMemo(() => [flag(), fieldApi]);
7
+ const unsubscribeStore = fieldApi.store.subscribe(() => setFlag((f) => !f));
8
+ onCleanup(unsubscribeStore);
9
+ return () => fieldApiMemo()[1];
10
+ }
11
+ function createField(opts) {
12
+ const options = opts();
13
+ const api = new FieldApi(options);
14
+ const extendedApi = api;
15
+ extendedApi.Field = Field;
16
+ createComputed(() => api.update(opts()));
17
+ onMount(() => onCleanup(api.mount()));
18
+ return makeFieldReactive(extendedApi);
19
+ }
20
+ function Field(props) {
21
+ const fieldApi = createField(() => {
22
+ const {
23
+ children,
24
+ ...fieldOptions
25
+ } = props;
26
+ return fieldOptions;
27
+ });
28
+ return memo(() => createComponent(() => props.children(fieldApi), {}));
29
+ }
30
+ export {
31
+ Field,
32
+ createField
33
+ };
34
+ //# sourceMappingURL=createField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createField.js","sources":["../../src/createField.tsx"],"sourcesContent":["import { FieldApi } from '@tanstack/form-core'\nimport {\n createComponent,\n createComputed,\n createMemo,\n createSignal,\n onCleanup,\n onMount,\n} from 'solid-js'\n\nimport type {\n DeepKeys,\n DeepValue,\n Narrow,\n Validator,\n} from '@tanstack/form-core'\nimport type { JSXElement } from 'solid-js'\nimport type { CreateFieldOptions } from './types'\n\ninterface SolidFieldApi<\n TParentData,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n> {\n Field: FieldComponent<TParentData, TFormValidator>\n}\n\nexport type CreateField<\n TParentData,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n> = <\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n>(\n opts: () => { name: Narrow<TName> } & Omit<\n CreateFieldOptions<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n 'form'\n >,\n) => () => FieldApi<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n> &\n SolidFieldApi<TParentData, TFormValidator>\n\n// ugly way to trick solid into triggering updates for changes on the fieldApi\nfunction makeFieldReactive<\n TParentData,\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n FieldApiT extends FieldApi<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n > = FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData> &\n SolidFieldApi<TParentData, TFormValidator>,\n>(fieldApi: FieldApiT): () => FieldApiT {\n const [flag, setFlag] = createSignal(false)\n const fieldApiMemo = createMemo(() => [flag(), fieldApi] as const)\n const unsubscribeStore = fieldApi.store.subscribe(() => setFlag((f) => !f))\n onCleanup(unsubscribeStore)\n return () => fieldApiMemo()[1]\n}\n\nexport function createField<\n TParentData,\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n>(\n opts: () => CreateFieldOptions<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n) {\n const options = opts()\n\n const api = new FieldApi(options)\n\n const extendedApi: typeof api & SolidFieldApi<TParentData, TFormValidator> =\n api as never\n\n extendedApi.Field = Field as never\n\n /**\n * fieldApi.update should not have any side effects. Think of it like a `useRef`\n * that we need to keep updated every render with the most up-to-date information.\n *\n * createComputed to make sure this effect runs before render effects\n */\n createComputed(() => api.update(opts()))\n\n // Instantiates field meta and removes it when unrendered\n onMount(() => onCleanup(api.mount()))\n\n return makeFieldReactive(extendedApi as never)\n}\n\ntype FieldComponentProps<\n TParentData,\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n> = {\n children: (\n fieldApi: () => FieldApi<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n ) => JSXElement\n} & Omit<\n CreateFieldOptions<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n 'form'\n>\n\nexport type FieldComponent<\n TParentData,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n> = <\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n>({\n children,\n ...fieldOptions\n}: Omit<\n FieldComponentProps<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n 'form'\n>) => JSXElement\n\nexport function Field<\n TParentData,\n TName extends DeepKeys<TParentData>,\n TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n>(\n props: {\n children: (\n fieldApi: () => FieldApi<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n ) => JSXElement\n } & CreateFieldOptions<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >,\n) {\n const fieldApi = createField<\n TParentData,\n TName,\n TFieldValidator,\n TFormValidator,\n TData\n >(() => {\n const { children, ...fieldOptions } = props\n return fieldOptions\n })\n\n return <>{createComponent(() => props.children(fieldApi), {})}</>\n}\n"],"names":["makeFieldReactive","fieldApi","flag","setFlag","createSignal","fieldApiMemo","createMemo","unsubscribeStore","store","subscribe","f","onCleanup","createField","opts","options","api","FieldApi","extendedApi","Field","createComputed","update","onMount","mount","props","children","fieldOptions","_$memo","createComponent"],"mappings":";;;AA4DA,SAASA,kBAkBPC,UAAsC;AACtC,QAAM,CAACC,MAAMC,OAAO,IAAIC,aAAa,KAAK;AAC1C,QAAMC,eAAeC,WAAW,MAAM,CAACJ,KAAK,GAAGD,QAAQ,CAAW;AAC5DM,QAAAA,mBAAmBN,SAASO,MAAMC,UAAU,MAAMN,QAASO,CAAAA,MAAM,CAACA,CAAC,CAAC;AAC1EC,YAAUJ,gBAAgB;AACnB,SAAA,MAAMF,eAAe,CAAC;AAC/B;AAEO,SAASO,YAWdC,MAOA;AACA,QAAMC,UAAUD;AAEVE,QAAAA,MAAM,IAAIC,SAASF,OAAO;AAEhC,QAAMG,cACJF;AAEFE,cAAYC,QAAQA;AAQpBC,iBAAe,MAAMJ,IAAIK,OAAOP,KAAAA,CAAM,CAAC;AAGvCQ,UAAQ,MAAMV,UAAUI,IAAIO,MAAAA,CAAO,CAAC;AAEpC,SAAOtB,kBAAkBiB,WAAqB;AAChD;AA0DO,SAASC,MAWdK,OAiBA;AACMtB,QAAAA,WAAWW,YAMf,MAAM;AACA,UAAA;AAAA,MAAEY;AAAAA,MAAU,GAAGC;AAAAA,IAAiBF,IAAAA;AAC/BE,WAAAA;AAAAA,EAAAA,CACR;AAEDC,SAAAA,KAAA,MAAUC,gBAAgB,MAAMJ,MAAMC,SAASvB,QAAQ,GAAG,CAAE,CAAA,CAAC;AAC/D;"}
@@ -0,0 +1,16 @@
1
+ import { FormApi, FormOptions, FormState, Validator } from '@tanstack/form-core';
2
+ import { JSXElement } from 'solid-js';
3
+ import { CreateField, FieldComponent } from './createField.js';
4
+
5
+ type NoInfer<T> = [T][T extends any ? 0 : never];
6
+ interface SolidFormApi<TFormData, TFormValidator extends Validator<TFormData, unknown> | undefined = undefined> {
7
+ Field: FieldComponent<TFormData, TFormValidator>;
8
+ createField: CreateField<TFormData, TFormValidator>;
9
+ useStore: <TSelected = NoInfer<FormState<TFormData>>>(selector?: (state: NoInfer<FormState<TFormData>>) => TSelected) => () => TSelected;
10
+ Subscribe: <TSelected = NoInfer<FormState<TFormData>>>(props: {
11
+ selector?: (state: NoInfer<FormState<TFormData>>) => TSelected;
12
+ children: ((state: () => NoInfer<TSelected>) => JSXElement) | JSXElement;
13
+ }) => JSXElement;
14
+ }
15
+ export declare function createForm<TParentData, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined>(opts?: () => FormOptions<TParentData, TFormValidator>): FormApi<TParentData, TFormValidator> & SolidFormApi<TParentData, TFormValidator>;
16
+ export {};
@@ -0,0 +1,28 @@
1
+ import { createComponent, mergeProps } from "solid-js/web";
2
+ import { FormApi, functionalUpdate } from "@tanstack/form-core";
3
+ import { onMount, createComputed } from "solid-js";
4
+ import { useStore } from "@tanstack/solid-store";
5
+ import { Field, createField } from "./createField.js";
6
+ function createForm(opts) {
7
+ const options = opts == null ? void 0 : opts();
8
+ const api = new FormApi(options);
9
+ const extendedApi = api;
10
+ extendedApi.Field = (props) => createComponent(Field, mergeProps(props, {
11
+ form: api
12
+ }));
13
+ extendedApi.createField = (props) => createField(() => {
14
+ return {
15
+ ...props(),
16
+ form: api
17
+ };
18
+ });
19
+ extendedApi.useStore = (selector) => useStore(api.store, selector);
20
+ extendedApi.Subscribe = (props) => functionalUpdate(props.children, useStore(api.store, props.selector));
21
+ onMount(api.mount);
22
+ createComputed(() => api.update(opts == null ? void 0 : opts()));
23
+ return extendedApi;
24
+ }
25
+ export {
26
+ createForm
27
+ };
28
+ //# sourceMappingURL=createForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createForm.js","sources":["../../src/createForm.tsx"],"sourcesContent":["import { FormApi, functionalUpdate } from '@tanstack/form-core'\nimport { type JSXElement, createComputed, onMount } from 'solid-js'\nimport { useStore } from '@tanstack/solid-store'\nimport {\n type CreateField,\n Field,\n type FieldComponent,\n createField,\n} from './createField'\nimport type { FormOptions, FormState, Validator } from '@tanstack/form-core'\n\ntype NoInfer<T> = [T][T extends any ? 0 : never]\n\ninterface SolidFormApi<\n TFormData,\n TFormValidator extends Validator<TFormData, unknown> | undefined = undefined,\n> {\n Field: FieldComponent<TFormData, TFormValidator>\n createField: CreateField<TFormData, TFormValidator>\n useStore: <TSelected = NoInfer<FormState<TFormData>>>(\n selector?: (state: NoInfer<FormState<TFormData>>) => TSelected,\n ) => () => TSelected\n Subscribe: <TSelected = NoInfer<FormState<TFormData>>>(props: {\n selector?: (state: NoInfer<FormState<TFormData>>) => TSelected\n children: ((state: () => NoInfer<TSelected>) => JSXElement) | JSXElement\n }) => JSXElement\n}\n\nexport function createForm<\n TParentData,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n>(opts?: () => FormOptions<TParentData, TFormValidator>) {\n const options = opts?.()\n const api = new FormApi<TParentData, TFormValidator>(options)\n const extendedApi: typeof api & SolidFormApi<TParentData, TFormValidator> =\n api as never\n\n extendedApi.Field = (props) => <Field {...props} form={api} />\n extendedApi.createField = (props) =>\n createField(() => {\n return { ...props(), form: api }\n })\n extendedApi.useStore = (selector) => useStore(api.store, selector)\n extendedApi.Subscribe = (props) =>\n functionalUpdate(props.children, useStore(api.store, props.selector))\n\n onMount(api.mount)\n\n /**\n * formApi.update should not have any side effects. Think of it like a `useRef`\n * that we need to keep updated every render with the most up-to-date information.\n */\n createComputed(() => api.update(opts?.()))\n\n return extendedApi\n}\n"],"names":["createForm","opts","options","api","FormApi","extendedApi","Field","props","_$createComponent","_$mergeProps","form","createField","useStore","selector","store","Subscribe","functionalUpdate","children","onMount","mount","createComputed","update"],"mappings":";;;;;AA4BO,SAASA,WAKdC,MAAuD;AACvD,QAAMC,UAAUD;AACVE,QAAAA,MAAM,IAAIC,QAAqCF,OAAO;AAC5D,QAAMG,cACJF;AAEFE,cAAYC,QAASC,CAAAA,UAAKC,gBAAMF,OAAKG,WAAKF,OAAK;AAAA,IAAEG,MAAMP;AAAAA,EAAO,CAAA,CAAA;AAClDQ,cAAAA,cAAeJ,CACzBI,UAAAA,YAAY,MAAM;AACT,WAAA;AAAA,MAAE,GAAGJ,MAAM;AAAA,MAAGG,MAAMP;AAAAA,IAAAA;AAAAA,EAAI,CAChC;AACHE,cAAYO,WAAYC,CAAAA,aAAaD,SAAST,IAAIW,OAAOD,QAAQ;AACrDE,cAAAA,YAAaR,CACvBS,UAAAA,iBAAiBT,MAAMU,UAAUL,SAAST,IAAIW,OAAOP,MAAMM,QAAQ,CAAC;AAEtEK,UAAQf,IAAIgB,KAAK;AAMjBC,iBAAe,MAAMjB,IAAIkB,OAAOpB,8BAAQ,CAAC;AAElCI,SAAAA;AACT;"}
@@ -0,0 +1,4 @@
1
+ export * from '@tanstack/form-core';
2
+ export { createForm } from './createForm.js';
3
+ export type { CreateField, FieldComponent } from './createField.js';
4
+ export { createField, Field } from './createField.js';
@@ -0,0 +1,9 @@
1
+ export * from "@tanstack/form-core";
2
+ import { createForm } from "./createForm.js";
3
+ import { Field, createField } from "./createField.js";
4
+ export {
5
+ Field,
6
+ createField,
7
+ createForm
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,5 @@
1
+ import { DeepKeys, DeepValue, FieldApiOptions, Validator } from '@tanstack/form-core';
2
+
3
+ export type CreateFieldOptions<TParentData, TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FieldApiOptions<TParentData, TName, TFieldValidator, TFormValidator, TData> & {
4
+ mode?: 'value' | 'array';
5
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createField.jsx","sourceRoot":"","sources":["../../src/createField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,UAAU,CAAA;AAmDjB,8EAA8E;AAC9E,SAAS,iBAAiB,CAkBxB,QAAmB;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAU,CAAC,CAAA;IAClE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3E,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAC3B,OAAO,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAWzB,IAMC;IAED,MAAM,OAAO,GAAG,IAAI,EAAE,CAAA;IAEtB,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjC,MAAM,WAAW,GACf,GAAY,CAAA;IAEd,WAAW,CAAC,KAAK,GAAG,KAAc,CAAA;IAElC;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAExC,yDAAyD;IACzD,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAErC,OAAO,iBAAiB,CAAC,WAAoB,CAAC,CAAA;AAChD,CAAC;AA0DD,MAAM,UAAU,KAAK,CAWnB,KAgBC;IAED,MAAM,QAAQ,GAAG,WAAW,CAM1B,GAAG,EAAE;QACL,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAA;QAC3C,OAAO,YAAY,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAA;AACnE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createForm.jsx","sourceRoot":"","sources":["../../src/createForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAmB,cAAc,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAEL,KAAK,EAEL,WAAW,GACZ,MAAM,eAAe,CAAA;AAoBtB,MAAM,UAAU,UAAU,CAKxB,IAAqD;IACrD,MAAM,OAAO,GAAG,IAAI,EAAE,EAAE,CAAA;IACxB,MAAM,GAAG,GAAG,IAAI,OAAO,CAA8B,OAAO,CAAC,CAAA;IAC7D,MAAM,WAAW,GACf,GAAY,CAAA;IAEd,WAAW,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAG,CAAA;IAC9D,WAAW,CAAC,WAAW,GAAG,CAAC,KAAK,EAAE,EAAE,CAClC,WAAW,CAAC,GAAG,EAAE;QACf,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IAClC,CAAC,CAAC,CAAA;IACJ,WAAW,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAClE,WAAW,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,CAChC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAElB;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IAE1C,OAAO,WAAW,CAAA;AACpB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/solid-form",
3
- "version": "0.26.2",
3
+ "version": "0.26.4",
4
4
  "description": "Powerful, type-safe forms for Solid.",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -15,18 +15,22 @@
15
15
  "url": "https://github.com/sponsors/tannerlinsley"
16
16
  },
17
17
  "type": "module",
18
- "types": "dist/index.d.ts",
19
- "main": "dist/index.jsx",
20
- "module": "dist/index.jsx",
18
+ "types": "dist/esm/index.d.ts",
19
+ "main": "dist/cjs/index.cjs",
20
+ "module": "dist/esm/index.js",
21
21
  "exports": {
22
22
  ".": {
23
23
  "solid": {
24
- "types": "./dist/index.d.ts",
25
- "default": "./dist/index.jsx"
24
+ "types": "./dist/source/index.d.ts",
25
+ "default": "./dist/source/index.jsx"
26
26
  },
27
27
  "import": {
28
- "types": "./dist/index.d.ts",
29
- "default": "./dist/index.jsx"
28
+ "types": "./dist/esm/index.d.ts",
29
+ "default": "./dist/esm/index.js"
30
+ },
31
+ "require": {
32
+ "types": "./dist/cjs/index.d.cts",
33
+ "default": "./dist/cjs/index.cjs"
30
34
  }
31
35
  },
32
36
  "./package.json": "./package.json"
@@ -37,13 +41,13 @@
37
41
  "src"
38
42
  ],
39
43
  "dependencies": {
40
- "@tanstack/solid-store": "^0.5.0",
41
- "@tanstack/form-core": "0.25.3"
44
+ "@tanstack/solid-store": "^0.5.4",
45
+ "@tanstack/form-core": "0.26.4"
42
46
  },
43
47
  "devDependencies": {
44
- "solid-js": "^1.7.8",
45
- "vite": "^5.1.4",
46
- "vite-plugin-solid": "^2.10.1"
48
+ "solid-js": "^1.8.18",
49
+ "vite": "^5.3.3",
50
+ "vite-plugin-solid": "^2.10.2"
47
51
  },
48
52
  "peerDependencies": {
49
53
  "solid-js": "^1.6.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"createField.jsx","sourceRoot":"","sources":["../src/createField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,UAAU,CAAA;AAmDjB,8EAA8E;AAC9E,SAAS,iBAAiB,CAkBxB,QAAmB;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAU,CAAC,CAAA;IAClE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3E,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAC3B,OAAO,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAWzB,IAMC;IAED,MAAM,OAAO,GAAG,IAAI,EAAE,CAAA;IAEtB,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjC,MAAM,WAAW,GACf,GAAY,CAAA;IAEd,WAAW,CAAC,KAAK,GAAG,KAAc,CAAA;IAElC;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAExC,yDAAyD;IACzD,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAErC,OAAO,iBAAiB,CAAC,WAAoB,CAAC,CAAA;AAChD,CAAC;AA0DD,MAAM,UAAU,KAAK,CAWnB,KAgBC;IAED,MAAM,QAAQ,GAAG,WAAW,CAM1B,GAAG,EAAE;QACL,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAA;QAC3C,OAAO,YAAY,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAA;AACnE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createForm.jsx","sourceRoot":"","sources":["../src/createForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAmB,cAAc,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAEL,KAAK,EAEL,WAAW,GACZ,MAAM,eAAe,CAAA;AAoBtB,MAAM,UAAU,UAAU,CAKxB,IAAqD;IACrD,MAAM,OAAO,GAAG,IAAI,EAAE,EAAE,CAAA;IACxB,MAAM,GAAG,GAAG,IAAI,OAAO,CAA8B,OAAO,CAAC,CAAA;IAC7D,MAAM,WAAW,GACf,GAAY,CAAA;IAEd,WAAW,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAG,CAAA;IAC9D,WAAW,CAAC,WAAW,GAAG,CAAC,KAAK,EAAE,EAAE,CAClC,WAAW,CAAC,GAAG,EAAE;QACf,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IAClC,CAAC,CAAC,CAAA;IACJ,WAAW,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAClE,WAAW,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,CAChC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAElB;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IAE1C,OAAO,WAAW,CAAA;AACpB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA"}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
File without changes
File without changes
File without changes
File without changes
File without changes