@douglasneuroinformatics/libui 4.7.0 → 4.8.1
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/{chunk-LUBCG4SG.js → chunk-D3AIKQQK.js} +2 -2
- package/dist/{chunk-QD5QDCYF.js → chunk-JRAEWBJS.js} +2 -2
- package/dist/{chunk-GT5NL2RJ.js → chunk-MCINJHF5.js} +4 -2
- package/dist/chunk-MCINJHF5.js.map +1 -0
- package/dist/components.d.ts +6 -2
- package/dist/components.js +10 -3
- package/dist/components.js.map +1 -1
- package/dist/hooks.js +2 -2
- package/dist/i18n.js +1 -1
- package/dist/providers.js +3 -3
- package/package.json +1 -1
- package/src/components/Form/Form.stories.tsx +82 -2
- package/src/components/Form/Form.tsx +16 -0
- package/src/i18n/__tests__/translator.test.ts +23 -0
- package/src/i18n/translator.ts +3 -1
- package/dist/chunk-GT5NL2RJ.js.map +0 -1
- /package/dist/{chunk-LUBCG4SG.js.map → chunk-D3AIKQQK.js.map} +0 -0
- /package/dist/{chunk-QD5QDCYF.js.map → chunk-JRAEWBJS.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
import {
|
|
3
3
|
i18n
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MCINJHF5.js";
|
|
5
5
|
import {
|
|
6
6
|
isBrowser
|
|
7
7
|
} from "./chunk-HCQE34RL.js";
|
|
@@ -411,4 +411,4 @@ export {
|
|
|
411
411
|
useTranslation,
|
|
412
412
|
useWindowSize
|
|
413
413
|
};
|
|
414
|
-
//# sourceMappingURL=chunk-
|
|
414
|
+
//# sourceMappingURL=chunk-D3AIKQQK.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
useNotificationsStore,
|
|
4
4
|
useTranslation
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-D3AIKQQK.js";
|
|
6
6
|
import {
|
|
7
7
|
cn
|
|
8
8
|
} from "./chunk-HCQE34RL.js";
|
|
@@ -322,4 +322,4 @@ export {
|
|
|
322
322
|
Dialog,
|
|
323
323
|
NotificationHub
|
|
324
324
|
};
|
|
325
|
-
//# sourceMappingURL=chunk-
|
|
325
|
+
//# sourceMappingURL=chunk-JRAEWBJS.js.map
|
|
@@ -235,7 +235,9 @@ var Translator = class {
|
|
|
235
235
|
}
|
|
236
236
|
changeLanguage(language) {
|
|
237
237
|
__privateSet(this, _resolvedLanguage, language);
|
|
238
|
-
document
|
|
238
|
+
if (typeof document !== "undefined") {
|
|
239
|
+
document.documentElement.lang = language;
|
|
240
|
+
}
|
|
239
241
|
this.emitEvent("languageChange", [language]);
|
|
240
242
|
}
|
|
241
243
|
init({ defaultLanguage, translations }) {
|
|
@@ -303,4 +305,4 @@ var i18n = new Translator();
|
|
|
303
305
|
export {
|
|
304
306
|
i18n
|
|
305
307
|
};
|
|
306
|
-
//# sourceMappingURL=chunk-
|
|
308
|
+
//# sourceMappingURL=chunk-MCINJHF5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/i18n/translator.ts","../src/i18n/translations/libui.json","../src/i18n/index.ts"],"sourcesContent":["import { format } from '@douglasneuroinformatics/libjs';\nimport { get } from 'lodash-es';\nimport type { SetOptional } from 'type-fest';\n\nimport libui from './translations/libui.json';\n\nimport type {\n Language,\n TranslateFormatArgs,\n TranslateOptions,\n TranslationKey,\n Translations,\n TranslatorType\n} from './types';\n\ntype TranslatorEventMap = {\n languageChange: (...args: [language: Language]) => void;\n};\n\ntype TranslatorConfig = {\n defaultLanguage?: Language;\n translations: SetOptional<Translations, 'libui'>;\n};\n\nfunction InitializedOnly<T extends Translator, TArgs extends any[], TReturn>(\n target: (this: T, ...args: TArgs) => TReturn,\n context: ClassGetterDecoratorContext<T> | ClassMethodDecoratorContext<T> | ClassSetterDecoratorContext<T>\n) {\n const name = context.name.toString();\n function replacementMethod(this: T, ...args: TArgs): TReturn {\n if (!this.isInitialized) {\n throw new Error(`Cannot access ${context.kind} '${name}' of Translator instance before initialization`);\n }\n return target.call(this, ...args);\n }\n return replacementMethod;\n}\n\nexport class Translator implements TranslatorType<TranslationKey> {\n #config: Required<TranslatorConfig>;\n #eventHandlers: {\n [K in keyof TranslatorEventMap]: Set<TranslatorEventMap[K]>;\n };\n #resolvedLanguage: Language;\n\n constructor() {\n // in the implementation, these should only be accessed in methods decorated with @InitializedOnly\n this.#config = null!;\n this.#eventHandlers = {\n languageChange: new Set()\n };\n this.#resolvedLanguage = null!;\n }\n\n get isInitialized() {\n return this.#config !== null;\n }\n\n @InitializedOnly\n get resolvedLanguage() {\n return this.#resolvedLanguage;\n }\n\n addEventListener<TKey extends keyof TranslatorEventMap>(key: TKey, handler: TranslatorEventMap[TKey]) {\n this.#eventHandlers[key].add(handler);\n }\n\n @InitializedOnly\n changeLanguage(language: Language) {\n this.#resolvedLanguage = language;\n if (typeof document !== 'undefined') {\n document.documentElement.lang = language;\n }\n this.emitEvent('languageChange', [language]);\n }\n\n init({ defaultLanguage, translations }: TranslatorConfig) {\n if (this.isInitialized) {\n throw new Error('Cannot reinitialize Translator');\n }\n this.#config = {\n defaultLanguage: defaultLanguage ?? 'en',\n translations: {\n libui,\n ...translations\n }\n };\n this.changeLanguage(this.#config.defaultLanguage);\n }\n\n removeEventListener<TKey extends keyof TranslatorEventMap>(key: TKey, handler: TranslatorEventMap[TKey]) {\n return this.#eventHandlers[key].delete(handler);\n }\n\n @InitializedOnly\n t(target: TranslationKey | { [L in Language]?: string }, { args }: TranslateOptions = {}): string {\n let obj: { [key: string]: string };\n if (typeof target === 'string') {\n obj = (get(this.#config.translations, target) ?? {}) as { [key: string]: string };\n } else {\n obj = target;\n }\n const value = obj[this.#resolvedLanguage] ?? obj[this.#config.defaultLanguage];\n if (!value) {\n console.error(`Failed to extract translation from object '${JSON.stringify(obj)}'`);\n return '';\n }\n if (!args) {\n return value;\n }\n return format(value, ...this.getFormatArgs(args));\n }\n\n private emitEvent<TKey extends keyof TranslatorEventMap>(key: TKey, payload: Parameters<TranslatorEventMap[TKey]>) {\n this.#eventHandlers[key].forEach((fn: (...args: any[]) => any) => {\n fn(...payload);\n });\n }\n\n private getFormatArgs(args: TranslateFormatArgs) {\n if (Array.isArray(args)) {\n return args;\n }\n const result = args[this.#resolvedLanguage] ?? args[this.#config.defaultLanguage];\n if (!result) {\n console.error(`Failed to extract args from object '${JSON.stringify(args)}'`);\n return [];\n }\n return result;\n }\n}\n","{\n \"days\": {\n \"friday\": {\n \"en\": \"Friday\",\n \"fr\": \"Vendredi\"\n },\n \"monday\": {\n \"en\": \"Monday\",\n \"fr\": \"Lundi\"\n },\n \"saturday\": {\n \"en\": \"Saturday\",\n \"fr\": \"Samedi\"\n },\n \"sunday\": {\n \"en\": \"Sunday\",\n \"fr\": \"Dimanche\"\n },\n \"thursday\": {\n \"en\": \"Thursday\",\n \"fr\": \"Jeudi\"\n },\n \"tuesday\": {\n \"en\": \"Tuesday\",\n \"fr\": \"Mardi\"\n },\n \"wednesday\": {\n \"en\": \"Wednesday\",\n \"fr\": \"Mercredi\"\n }\n },\n \"form\": {\n \"append\": {\n \"en\": \"Append\",\n \"fr\": \"Ajouter\"\n },\n \"radioLabels\": {\n \"false\": {\n \"en\": \"False\",\n \"fr\": \"Faux\"\n },\n \"true\": {\n \"en\": \"True\",\n \"fr\": \"Vrai\"\n }\n },\n \"remove\": {\n \"en\": \"Remove\",\n \"fr\": \"Supprimer\"\n },\n \"required\": {\n \"en\": \"This field is required\",\n \"fr\": \"Ce champ est obligatoire\"\n },\n \"reset\": {\n \"en\": \"Reset\",\n \"fr\": \"Réinitialiser\"\n },\n \"submit\": {\n \"en\": \"Submit\",\n \"fr\": \"Soumettre\"\n }\n },\n \"months\": {\n \"april\": {\n \"en\": \"April\",\n \"fr\": \"Avril\"\n },\n \"august\": {\n \"en\": \"August\",\n \"fr\": \"Août\"\n },\n \"december\": {\n \"en\": \"December\",\n \"fr\": \"Décembre\"\n },\n \"february\": {\n \"en\": \"February\",\n \"fr\": \"Février\"\n },\n \"january\": {\n \"en\": \"January\",\n \"fr\": \"Janvier\"\n },\n \"july\": {\n \"en\": \"July\",\n \"fr\": \"Juillet\"\n },\n \"june\": {\n \"en\": \"June\",\n \"fr\": \"Juin\"\n },\n \"march\": {\n \"en\": \"March\",\n \"fr\": \"Mars\"\n },\n \"may\": {\n \"en\": \"May\",\n \"fr\": \"Mai\"\n },\n \"november\": {\n \"en\": \"November\",\n \"fr\": \"Novembre\"\n },\n \"october\": {\n \"en\": \"October\",\n \"fr\": \"Octobre\"\n },\n \"september\": {\n \"en\": \"September\",\n \"fr\": \"Septembre\"\n }\n },\n \"notifications\": {\n \"types\": {\n \"error\": {\n \"en\": \"Error\",\n \"fr\": \"Erreur\"\n },\n \"info\": {\n \"en\": \"Info\",\n \"fr\": \"Attention\"\n },\n \"success\": {\n \"en\": \"Success\",\n \"fr\": \"Succès\"\n },\n \"warning\": {\n \"en\": \"Warning\",\n \"fr\": \"Avertissement\"\n }\n }\n },\n \"oneTimePasswordInput\": {\n \"invalidCodeFormat\": {\n \"en\": \"Invalid code format\",\n \"fr\": \"Format de code invalide\"\n }\n },\n \"pagination\": {\n \"firstPage\": {\n \"en\": \"<< First\",\n \"fr\": \"<< Première\"\n },\n \"first\": {\n \"en\": \"First\",\n \"fr\": \"Première\"\n },\n \"info\": {\n \"en\": \"Showing {{first}} to {{last}} of {{total}} results\",\n \"fr\": \"Affichage de {{first}} à {{last}} sur {{total}} résultats\"\n },\n \"lastPage\": {\n \"en\": \"Last >>\",\n \"fr\": \"Dernière >>\"\n },\n \"last\": {\n \"en\": \"Last\",\n \"fr\": \"Dernière\"\n },\n \"next\": {\n \"en\": \"Next\",\n \"fr\": \"Suivant\"\n },\n \"previous\": {\n \"en\": \"Previous\",\n \"fr\": \"Précédent\"\n }\n },\n \"searchBar\": {\n \"placeholder\": {\n \"en\": \"Search...\",\n \"fr\": \"Rechercher...\"\n }\n },\n \"yes\": {\n \"en\": \"Yes\",\n \"fr\": \"Oui\"\n },\n \"no\": {\n \"en\": \"No\",\n \"fr\": \"Non\"\n }\n}\n","import { Translator } from './translator.ts';\n\nexport const i18n = new Translator();\n\nexport * from './types.ts';\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,cAAc;AACvB,SAAS,WAAW;;;ACDpB;AAAA,EACE,MAAQ;AAAA,IACN,QAAU;AAAA,MACR,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,QAAU;AAAA,MACR,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,UAAY;AAAA,MACV,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,QAAU;AAAA,MACR,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,UAAY;AAAA,MACV,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,SAAW;AAAA,MACT,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,WAAa;AAAA,MACX,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,MAAQ;AAAA,IACN,QAAU;AAAA,MACR,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,aAAe;AAAA,MACb,OAAS;AAAA,QACP,IAAM;AAAA,QACN,IAAM;AAAA,MACR;AAAA,MACA,MAAQ;AAAA,QACN,IAAM;AAAA,QACN,IAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,QAAU;AAAA,MACR,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,UAAY;AAAA,MACV,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,QAAU;AAAA,MACR,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,QAAU;AAAA,IACR,OAAS;AAAA,MACP,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,QAAU;AAAA,MACR,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,UAAY;AAAA,MACV,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,UAAY;AAAA,MACV,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,SAAW;AAAA,MACT,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,MAAQ;AAAA,MACN,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,MAAQ;AAAA,MACN,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,KAAO;AAAA,MACL,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,UAAY;AAAA,MACV,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,SAAW;AAAA,MACT,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,WAAa;AAAA,MACX,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,eAAiB;AAAA,IACf,OAAS;AAAA,MACP,OAAS;AAAA,QACP,IAAM;AAAA,QACN,IAAM;AAAA,MACR;AAAA,MACA,MAAQ;AAAA,QACN,IAAM;AAAA,QACN,IAAM;AAAA,MACR;AAAA,MACA,SAAW;AAAA,QACT,IAAM;AAAA,QACN,IAAM;AAAA,MACR;AAAA,MACA,SAAW;AAAA,QACT,IAAM;AAAA,QACN,IAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA,sBAAwB;AAAA,IACtB,mBAAqB;AAAA,MACnB,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,YAAc;AAAA,IACZ,WAAa;AAAA,MACX,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,MAAQ;AAAA,MACN,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,UAAY;AAAA,MACV,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,MAAQ;AAAA,MACN,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,MAAQ;AAAA,MACN,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,IACA,UAAY;AAAA,MACV,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,WAAa;AAAA,IACX,aAAe;AAAA,MACb,IAAM;AAAA,MACN,IAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,KAAO;AAAA,IACL,IAAM;AAAA,IACN,IAAM;AAAA,EACR;AAAA,EACA,IAAM;AAAA,IACJ,IAAM;AAAA,IACN,IAAM;AAAA,EACR;AACF;;;AD/JA,SAAS,gBACP,QACA,SACA;AACA,QAAM,OAAO,QAAQ,KAAK,SAAS;AACnC,WAAS,qBAA8B,MAAsB;AAC3D,QAAI,CAAC,KAAK,eAAe;AACvB,YAAM,IAAI,MAAM,iBAAiB,QAAQ,IAAI,KAAK,IAAI,gDAAgD;AAAA,IACxG;AACA,WAAO,OAAO,KAAK,MAAM,GAAG,IAAI;AAAA,EAClC;AACA,SAAO;AACT;AApCA;AA0DE,yBAAC,kBASD,uBAAC,kBA2BD,UAAC;AAxDI,IAAM,aAAN,MAA2D;AAAA,EAOhE,cAAc;AAPT;AACL;AACA;AAGA;AAIE,uBAAK,SAAU;AACf,uBAAK,gBAAiB;AAAA,MACpB,gBAAgB,oBAAI,IAAI;AAAA,IAC1B;AACA,uBAAK,mBAAoB;AAAA,EAC3B;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,mBAAK,aAAY;AAAA,EAC1B;AAAA,EAGA,IAAI,mBAAmB;AACrB,WAAO,mBAAK;AAAA,EACd;AAAA,EAEA,iBAAwD,KAAW,SAAmC;AACpG,uBAAK,gBAAe,GAAG,EAAE,IAAI,OAAO;AAAA,EACtC;AAAA,EAGA,eAAe,UAAoB;AACjC,uBAAK,mBAAoB;AACzB,QAAI,OAAO,aAAa,aAAa;AACnC,eAAS,gBAAgB,OAAO;AAAA,IAClC;AACA,SAAK,UAAU,kBAAkB,CAAC,QAAQ,CAAC;AAAA,EAC7C;AAAA,EAEA,KAAK,EAAE,iBAAiB,aAAa,GAAqB;AACxD,QAAI,KAAK,eAAe;AACtB,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AACA,uBAAK,SAAU;AAAA,MACb,iBAAiB,mBAAmB;AAAA,MACpC,cAAc;AAAA,QACZ;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACF;AACA,SAAK,eAAe,mBAAK,SAAQ,eAAe;AAAA,EAClD;AAAA,EAEA,oBAA2D,KAAW,SAAmC;AACvG,WAAO,mBAAK,gBAAe,GAAG,EAAE,OAAO,OAAO;AAAA,EAChD;AAAA,EAGA,EAAE,QAAuD,EAAE,KAAK,IAAsB,CAAC,GAAW;AAChG,QAAI;AACJ,QAAI,OAAO,WAAW,UAAU;AAC9B,YAAO,IAAI,mBAAK,SAAQ,cAAc,MAAM,KAAK,CAAC;AAAA,IACpD,OAAO;AACL,YAAM;AAAA,IACR;AACA,UAAM,QAAQ,IAAI,mBAAK,kBAAiB,KAAK,IAAI,mBAAK,SAAQ,eAAe;AAC7E,QAAI,CAAC,OAAO;AACV,cAAQ,MAAM,8CAA8C,KAAK,UAAU,GAAG,CAAC,GAAG;AAClF,aAAO;AAAA,IACT;AACA,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AACA,WAAO,OAAO,OAAO,GAAG,KAAK,cAAc,IAAI,CAAC;AAAA,EAClD;AAAA,EAEQ,UAAiD,KAAW,SAA+C;AACjH,uBAAK,gBAAe,GAAG,EAAE,QAAQ,CAAC,OAAgC;AAChE,SAAG,GAAG,OAAO;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EAEQ,cAAc,MAA2B;AAC/C,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,aAAO;AAAA,IACT;AACA,UAAM,SAAS,KAAK,mBAAK,kBAAiB,KAAK,KAAK,mBAAK,SAAQ,eAAe;AAChF,QAAI,CAAC,QAAQ;AACX,cAAQ,MAAM,uCAAuC,KAAK,UAAU,IAAI,CAAC,GAAG;AAC5E,aAAO,CAAC;AAAA,IACV;AACA,WAAO;AAAA,EACT;AACF;AA5FO;AACL;AACA;AAGA;AAgBA,4BAAI,oBADJ,uBApBW;AA8BX,8CADA,qBA7BW;AAyDX,iCADA,QAxDW;AAAN,2BAAM;;;AEpCN,IAAM,OAAO,IAAI,WAAW;","names":[]}
|
package/dist/components.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ import * as _radix_ui_react_context_menu from '@radix-ui/react-context-menu';
|
|
|
22
22
|
import * as _radix_ui_react_dialog from '@radix-ui/react-dialog';
|
|
23
23
|
import { Drawer as Drawer$1 } from 'vaul';
|
|
24
24
|
import { ZodTypeLike, ZodErrorLike } from '@douglasneuroinformatics/libjs';
|
|
25
|
-
import { FormDataType, FormContent, PartialNullableFormDataType } from '@douglasneuroinformatics/libui-form-types';
|
|
25
|
+
import { FormDataType, FormContent, PartialNullableFormDataType, PartialFormDataType } from '@douglasneuroinformatics/libui-form-types';
|
|
26
26
|
import * as _radix_ui_react_hover_card from '@radix-ui/react-hover-card';
|
|
27
27
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
28
28
|
import { L as Language } from './types-CwW4nA_v.js';
|
|
@@ -1348,10 +1348,14 @@ type FormProps<TSchema extends ZodTypeLike<FormDataType>, TData extends TSchema[
|
|
|
1348
1348
|
resetBtn?: boolean;
|
|
1349
1349
|
revalidateOnBlur?: boolean;
|
|
1350
1350
|
submitBtnLabel?: string;
|
|
1351
|
+
subscribe?: {
|
|
1352
|
+
onChange: (values: PartialFormDataType<TData>, setValues: React.Dispatch<React.SetStateAction<PartialFormDataType<TData>>>) => Promisable<void>;
|
|
1353
|
+
selector: (values: PartialFormDataType<TData>) => unknown;
|
|
1354
|
+
};
|
|
1351
1355
|
suspendWhileSubmitting?: boolean;
|
|
1352
1356
|
validationSchema: ZodTypeLike<TData>;
|
|
1353
1357
|
};
|
|
1354
|
-
declare const Form: <TSchema extends ZodTypeLike<FormDataType>, TData extends TSchema["_output"] = TSchema["_output"]>({ additionalButtons, className, content, customStyles, fieldsFooter, id, initialValues, onBeforeSubmit, onError, onSubmit, preventResetValuesOnReset, readOnly, resetBtn, revalidateOnBlur, submitBtnLabel, suspendWhileSubmitting, validationSchema, ...props }: FormProps<TSchema, TData>) => react_jsx_runtime.JSX.Element;
|
|
1358
|
+
declare const Form: <TSchema extends ZodTypeLike<FormDataType>, TData extends TSchema["_output"] = TSchema["_output"]>({ additionalButtons, className, content, customStyles, fieldsFooter, id, initialValues, onBeforeSubmit, onError, onSubmit, preventResetValuesOnReset, readOnly, resetBtn, revalidateOnBlur, submitBtnLabel, subscribe, suspendWhileSubmitting, validationSchema, ...props }: FormProps<TSchema, TData>) => react_jsx_runtime.JSX.Element;
|
|
1355
1359
|
|
|
1356
1360
|
type HeadingProps = {
|
|
1357
1361
|
children: string;
|
package/dist/components.js
CHANGED
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
Dialog,
|
|
7
7
|
NotificationHub,
|
|
8
8
|
buttonVariants
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-JRAEWBJS.js";
|
|
10
10
|
import {
|
|
11
11
|
ChartContext,
|
|
12
12
|
useChart,
|
|
13
13
|
useNotificationsStore,
|
|
14
14
|
useTheme,
|
|
15
15
|
useTranslation
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-D3AIKQQK.js";
|
|
17
|
+
import "./chunk-MCINJHF5.js";
|
|
18
18
|
import {
|
|
19
19
|
cn
|
|
20
20
|
} from "./chunk-HCQE34RL.js";
|
|
@@ -3680,6 +3680,7 @@ var Form = ({
|
|
|
3680
3680
|
resetBtn,
|
|
3681
3681
|
revalidateOnBlur,
|
|
3682
3682
|
submitBtnLabel,
|
|
3683
|
+
subscribe,
|
|
3683
3684
|
suspendWhileSubmitting,
|
|
3684
3685
|
validationSchema,
|
|
3685
3686
|
...props
|
|
@@ -3712,6 +3713,12 @@ var Form = ({
|
|
|
3712
3713
|
onError(error);
|
|
3713
3714
|
}
|
|
3714
3715
|
};
|
|
3716
|
+
useEffect11(() => {
|
|
3717
|
+
if (!subscribe) {
|
|
3718
|
+
return;
|
|
3719
|
+
}
|
|
3720
|
+
subscribe.onChange(values, setValues);
|
|
3721
|
+
}, [subscribe?.selector(values)]);
|
|
3715
3722
|
const reset = () => {
|
|
3716
3723
|
setRootErrors([]);
|
|
3717
3724
|
setErrors({});
|