@tsed/react-formio 3.0.0-rc.1 → 3.0.0-rc.3

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 (54) hide show
  1. package/dist/all.js +3 -3
  2. package/dist/chunks/_baseClone.js +1268 -0
  3. package/dist/chunks/_baseClone.js.map +1 -0
  4. package/dist/chunks/_baseSlice.js +70 -0
  5. package/dist/chunks/_baseSlice.js.map +1 -0
  6. package/dist/chunks/_stringToArray.js +57 -0
  7. package/dist/chunks/_stringToArray.js.map +1 -0
  8. package/dist/chunks/camelCase.js +343 -0
  9. package/dist/chunks/camelCase.js.map +1 -0
  10. package/dist/chunks/cloneDeep.js +18 -0
  11. package/dist/chunks/cloneDeep.js.map +1 -0
  12. package/dist/chunks/index2.js +24415 -21294
  13. package/dist/chunks/index2.js.map +1 -1
  14. package/dist/chunks/isEqual.js +8 -0
  15. package/dist/chunks/isEqual.js.map +1 -0
  16. package/dist/chunks/isEqual2.js +251 -0
  17. package/dist/chunks/isEqual2.js.map +1 -0
  18. package/dist/chunks/lodash.js +3678 -0
  19. package/dist/chunks/lodash.js.map +1 -0
  20. package/dist/chunks/noop.js +15 -0
  21. package/dist/chunks/noop.js.map +1 -0
  22. package/dist/chunks/omit.js +325 -0
  23. package/dist/chunks/omit.js.map +1 -0
  24. package/dist/interfaces/JSONRecord.d.ts +4 -0
  25. package/dist/interfaces/JSONRecord.js +2 -0
  26. package/dist/interfaces/JSONRecord.js.map +1 -0
  27. package/dist/interfaces/Operation.d.ts +3 -11
  28. package/dist/interfaces/SubmissionType.d.ts +3 -13
  29. package/dist/molecules/forms/form-control/FormControl.js +21 -18
  30. package/dist/molecules/forms/form-control/FormControl.js.map +1 -1
  31. package/dist/molecules/modal/Modal.js +27 -24
  32. package/dist/molecules/modal/Modal.js.map +1 -1
  33. package/dist/molecules/table/utils/mapFormToColumns.js +21 -20
  34. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  35. package/dist/organisms/form/access/FormAccess.utils.js +3 -3
  36. package/dist/organisms/form/actions/FormAction.js +5 -5
  37. package/dist/organisms/form/builder/FormEdit.reducer.js +3 -3
  38. package/dist/organisms/form/builder/useFormBuilder.js +1 -1
  39. package/dist/organisms/form/builder/useFormEdit.js +9 -9
  40. package/dist/organisms/form/settings/FormSettings.js +12 -12
  41. package/dist/organisms/form/settings/FormSettings.utils.js +1 -1
  42. package/dist/organisms/form/types.d.ts +2 -6
  43. package/dist/organisms/form/useForm.d.ts +3 -11
  44. package/dist/organisms/form/useForm.js.map +1 -1
  45. package/dist/organisms/table/actions/ActionsTable.js +6 -6
  46. package/dist/organisms/table/forms/components/FormsCell.js +13 -13
  47. package/package.json +3 -3
  48. package/readme.md +13 -5
  49. package/src/interfaces/JSONRecord.ts +2 -0
  50. package/src/interfaces/Operation.ts +3 -3
  51. package/src/interfaces/SubmissionType.ts +3 -7
  52. package/src/organisms/form/types.ts +2 -2
  53. package/src/organisms/form/useForm.ts +5 -5
  54. package/vite.config.mts +13 -6
@@ -1,16 +1,12 @@
1
1
  import type { Component, Submission } from "@formio/core";
2
2
 
3
- export type JSON = unknown | string | number | boolean | null | undefined | JSON[] | { [key: string]: JSON };
3
+ import type { JSONRecord } from "./JSONRecord.js";
4
4
 
5
- export type SubmissionType<Data extends { [key: string]: JSON } = { [key: string]: JSON }> = Omit<Partial<Submission>, "data"> & {
5
+ export type SubmissionType<Data extends JSONRecord = JSONRecord> = Omit<Partial<Submission>, "data"> & {
6
6
  data: Data;
7
7
  };
8
8
 
9
- export interface ChangedSubmission<
10
- Data extends { [key: string]: JSON } = {
11
- [key: string]: JSON;
12
- }
13
- > extends SubmissionType<Data> {
9
+ export interface ChangedSubmission<Data extends JSONRecord = JSONRecord> extends SubmissionType<Data> {
14
10
  data: Data;
15
11
  changed?: {
16
12
  component: Component;
@@ -1,6 +1,6 @@
1
- import { ComponentType, JSON, SubmissionType } from "../../interfaces";
1
+ import { ComponentType, type JSONRecord, SubmissionType } from "../../interfaces";
2
2
 
3
- export interface FormPageChangeProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }> {
3
+ export interface FormPageChangeProps<Data extends JSONRecord = JSONRecord> {
4
4
  page: number;
5
5
  submission: SubmissionType<Data>;
6
6
  }
@@ -2,13 +2,13 @@ import { Form } from "@formio/js";
2
2
  import { EventEmitter2 } from "eventemitter2";
3
3
  import { type MutableRefObject, useEffect, useRef, useState } from "react";
4
4
 
5
- import type { ChangedSubmission, ComponentType, FormOptions, FormType, JSON, SubmissionType } from "../../interfaces";
5
+ import type { ChangedSubmission, ComponentType, FormOptions, FormType, JSON, JSONRecord, SubmissionType } from "../../interfaces";
6
6
  import { FormCustomEvent } from "./types";
7
7
 
8
8
  type Webform = any;
9
9
  type EventError = string | Error | Error[] | { message: string } | { message: string }[];
10
10
 
11
- export interface UseFormProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }> {
11
+ export interface UseFormProps<Data extends JSONRecord = JSONRecord> {
12
12
  src?: string;
13
13
  url?: string;
14
14
  form?: FormType;
@@ -54,7 +54,7 @@ const getDefaultEmitter = () => {
54
54
  });
55
55
  };
56
56
 
57
- function onAnyEvent<Data extends { [key: string]: JSON } = { [key: string]: JSON }>(
57
+ function onAnyEvent<Data extends JSONRecord = JSONRecord>(
58
58
  handlers: Omit<UseFormProps<Data>, "src" | "url" | "form" | "submission" | "options" | "formReady" | "formioform" | "Formio">,
59
59
  ...args: [string, ...any[]]
60
60
  ) {
@@ -95,7 +95,7 @@ const createWebformInstance = async (
95
95
  };
96
96
 
97
97
  // Define effective props (aka I want to rename these props but also maintain backwards compatibility)
98
- function getEffectiveProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }>(props: UseFormProps<Data>) {
98
+ function getEffectiveProps<Data extends JSONRecord = JSONRecord>(props: UseFormProps<Data>) {
99
99
  const { FormClass = Form, form, src, url, options, submission, onFormReady, onAsyncSubmit, ...handlers } = props;
100
100
 
101
101
  return {
@@ -126,7 +126,7 @@ function createCustomValidation(customAction: any, ref: MutableRefObject<Webform
126
126
  };
127
127
  }
128
128
 
129
- export function useForm<Data extends { [key: string]: JSON } = { [key: string]: JSON }>(props: UseFormProps<Data>) {
129
+ export function useForm<Data extends JSONRecord = JSONRecord>(props: UseFormProps<Data>) {
130
130
  const webformRef = useRef<Webform | null>(null);
131
131
  const renderElement = useRef<HTMLDivElement | null>(null);
132
132
  const { formSource, FormClass, options, url, submission, handlers, onFormReady, onAsyncSubmit } = getEffectiveProps(props);
package/vite.config.mts CHANGED
@@ -6,9 +6,7 @@ import {extname, relative} from "path";
6
6
  import preserveDirectives from "rollup-preserve-directives";
7
7
  import {defineConfig} from "vite";
8
8
  import dts from "vite-plugin-dts";
9
-
10
- import pkg from "./package.json" with {type: "json"};
11
- import {resolve} from "node:path";
9
+ import { resolve } from "node:path";
12
10
 
13
11
  // https://vitejs.dev/config/
14
12
  export default defineConfig({
@@ -21,6 +19,9 @@ export default defineConfig({
21
19
  exclude: ["**/*.spec.{ts,tsx}", "**/*.stories.{ts,tsx}", "**/__*__/**"]
22
20
  })
23
21
  ],
22
+ optimizeDeps: {
23
+ include: ["lodash"]
24
+ },
24
25
  resolve: {
25
26
  alias: {}
26
27
  },
@@ -33,13 +34,19 @@ export default defineConfig({
33
34
  copyPublicDir: false,
34
35
  rollupOptions: {
35
36
  external: [
36
- ...Object.keys(pkg.peerDependencies || {}),
37
+ "@formio/choices.js",
38
+ "@tanstack/react-table",
39
+ "formiojs",
37
40
  "react",
38
41
  "react-dom",
39
42
  "react/jsx-runtime",
40
- /lodash\/.*/,
43
+ "react-select",
44
+ "react-dnd",
45
+ "react-dnd-html5-backend",
46
+ "react-table",
41
47
  /formiojs\/.*/,
42
- /@tsed\/.*/
48
+ /@tsed\/.*/,
49
+ "tooltip.js"
43
50
  ],
44
51
  plugins: [preserveDirectives() as any],
45
52
  input: Object.fromEntries(