@oneblink/apps-react 4.4.0-beta.1 → 4.5.0-beta.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.
Files changed (105) hide show
  1. package/dist/OneBlinkAutoSaveForm.js +2 -2
  2. package/dist/OneBlinkAutoSaveForm.js.map +1 -1
  3. package/dist/OneBlinkForm.js +2 -2
  4. package/dist/OneBlinkForm.js.map +1 -1
  5. package/dist/OneBlinkFormBase.d.ts +3 -2
  6. package/dist/OneBlinkFormBase.js +36 -23
  7. package/dist/OneBlinkFormBase.js.map +1 -1
  8. package/dist/OneBlinkReadOnlyForm.js +2 -2
  9. package/dist/OneBlinkReadOnlyForm.js.map +1 -1
  10. package/dist/components/renderer/LookupNotification.js +23 -12
  11. package/dist/components/renderer/LookupNotification.js.map +1 -1
  12. package/dist/components/renderer/OneBlinkFormElements.d.ts +2 -2
  13. package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
  14. package/dist/components/renderer/PageFormElements.d.ts +2 -2
  15. package/dist/components/renderer/PageFormElements.js +3 -1
  16. package/dist/components/renderer/PageFormElements.js.map +1 -1
  17. package/dist/components/renderer/ToggleAllCheckbox.js +6 -2
  18. package/dist/components/renderer/ToggleAllCheckbox.js.map +1 -1
  19. package/dist/form-elements/FormElementABN.js +6 -2
  20. package/dist/form-elements/FormElementABN.js.map +1 -1
  21. package/dist/form-elements/FormElementAutocomplete.js +3 -1
  22. package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
  23. package/dist/form-elements/FormElementBSB.js +12 -4
  24. package/dist/form-elements/FormElementBSB.js.map +1 -1
  25. package/dist/form-elements/FormElementBarcodeScanner.js +6 -2
  26. package/dist/form-elements/FormElementBarcodeScanner.js.map +1 -1
  27. package/dist/form-elements/FormElementBoolean.js +3 -1
  28. package/dist/form-elements/FormElementBoolean.js.map +1 -1
  29. package/dist/form-elements/FormElementCalculation.js +6 -2
  30. package/dist/form-elements/FormElementCalculation.js.map +1 -1
  31. package/dist/form-elements/FormElementCamera.js +25 -11
  32. package/dist/form-elements/FormElementCamera.js.map +1 -1
  33. package/dist/form-elements/FormElementCaptcha.js +3 -1
  34. package/dist/form-elements/FormElementCaptcha.js.map +1 -1
  35. package/dist/form-elements/FormElementCheckBoxes.js +14 -12
  36. package/dist/form-elements/FormElementCheckBoxes.js.map +1 -1
  37. package/dist/form-elements/FormElementCivicaStreetName.js +3 -1
  38. package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
  39. package/dist/form-elements/FormElementCompliance.js +57 -49
  40. package/dist/form-elements/FormElementCompliance.js.map +1 -1
  41. package/dist/form-elements/FormElementDate.js +3 -1
  42. package/dist/form-elements/FormElementDate.js.map +1 -1
  43. package/dist/form-elements/FormElementDateTime.js +3 -1
  44. package/dist/form-elements/FormElementDateTime.js.map +1 -1
  45. package/dist/form-elements/FormElementEmail.js +3 -1
  46. package/dist/form-elements/FormElementEmail.js.map +1 -1
  47. package/dist/form-elements/FormElementForm.d.ts +2 -2
  48. package/dist/form-elements/FormElementForm.js +30 -8
  49. package/dist/form-elements/FormElementForm.js.map +1 -1
  50. package/dist/form-elements/FormElementGeoscapeAddress.js +6 -2
  51. package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
  52. package/dist/form-elements/FormElementLocation.js +6 -2
  53. package/dist/form-elements/FormElementLocation.js.map +1 -1
  54. package/dist/form-elements/FormElementNumber.js +3 -1
  55. package/dist/form-elements/FormElementNumber.js.map +1 -1
  56. package/dist/form-elements/FormElementPointAddress.js +2 -2
  57. package/dist/form-elements/FormElementPointAddress.js.map +1 -1
  58. package/dist/form-elements/FormElementRadio.js +6 -2
  59. package/dist/form-elements/FormElementRadio.js.map +1 -1
  60. package/dist/form-elements/FormElementRepeatableSet.d.ts +2 -2
  61. package/dist/form-elements/FormElementRepeatableSet.js +95 -28
  62. package/dist/form-elements/FormElementRepeatableSet.js.map +1 -1
  63. package/dist/form-elements/FormElementSection.js +5 -1
  64. package/dist/form-elements/FormElementSection.js.map +1 -1
  65. package/dist/form-elements/FormElementSelect.js +6 -2
  66. package/dist/form-elements/FormElementSelect.js.map +1 -1
  67. package/dist/form-elements/FormElementSignature.js +16 -8
  68. package/dist/form-elements/FormElementSignature.js.map +1 -1
  69. package/dist/form-elements/FormElementSummary.js +6 -2
  70. package/dist/form-elements/FormElementSummary.js.map +1 -1
  71. package/dist/form-elements/FormElementTelephone.js +3 -1
  72. package/dist/form-elements/FormElementTelephone.js.map +1 -1
  73. package/dist/form-elements/FormElementText.js +3 -1
  74. package/dist/form-elements/FormElementText.js.map +1 -1
  75. package/dist/form-elements/FormElementTextarea.js +3 -1
  76. package/dist/form-elements/FormElementTextarea.js.map +1 -1
  77. package/dist/form-elements/FormElementTime.js +3 -1
  78. package/dist/form-elements/FormElementTime.js.map +1 -1
  79. package/dist/hooks/attachments/useAttachments.js +30 -24
  80. package/dist/hooks/attachments/useAttachments.js.map +1 -1
  81. package/dist/hooks/useFormElementOptions.js +6 -2
  82. package/dist/hooks/useFormElementOptions.js.map +1 -1
  83. package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +2 -0
  84. package/dist/hooks/useFormSubmissionAutoSaveState.js +2 -1
  85. package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
  86. package/dist/hooks/useFormSubmissionState.d.ts +5 -6
  87. package/dist/hooks/useFormSubmissionState.js +1 -0
  88. package/dist/hooks/useFormSubmissionState.js.map +1 -1
  89. package/dist/hooks/useFormValidation.d.ts +2 -4
  90. package/dist/hooks/useFormValidation.js +4 -20
  91. package/dist/hooks/useFormValidation.js.map +1 -1
  92. package/dist/hooks/useLookups.js +1 -0
  93. package/dist/hooks/useLookups.js.map +1 -1
  94. package/dist/hooks/useToggleComplianceChildren.d.ts +3 -1
  95. package/dist/hooks/useToggleComplianceChildren.js +1 -1
  96. package/dist/hooks/useToggleComplianceChildren.js.map +1 -1
  97. package/dist/services/form-validation.d.ts +3 -3
  98. package/dist/services/form-validation.js +54 -27
  99. package/dist/services/form-validation.js.map +1 -1
  100. package/dist/types/form.d.ts +15 -1
  101. package/dist/types/form.js.map +1 -1
  102. package/package.json +2 -2
  103. package/dist/hooks/useExecutedLookupCallback.d.ts +0 -12
  104. package/dist/hooks/useExecutedLookupCallback.js +0 -16
  105. package/dist/hooks/useExecutedLookupCallback.js.map +0 -1
@@ -12,20 +12,34 @@ export type FormElementValidation = undefined | string | {
12
12
  set: string | undefined;
13
13
  entries: Record<RepeatableSetEntryIndex, FormElementsValidation | undefined>;
14
14
  };
15
- export type FormElementValueChangeHandler<T = unknown> = (element: FormTypes.FormElement, value?: T | ((existingValue?: T) => T | undefined)) => void;
15
+ export type ExecutedLookups = {
16
+ [elementName: string]: boolean | ExecutedLookups | ExecutedLookups[] | undefined;
17
+ } | undefined;
18
+ export type ExecutedLookupValue = NonNullable<ExecutedLookups>[string];
19
+ type ValueChangeHandler<U extends Record<string, unknown>> = (element: FormTypes.FormElement, opts: U) => void;
20
+ export type FormElementValueChangeHandler<T = unknown> = ValueChangeHandler<{
21
+ value?: T | ((existingValue?: T) => T | undefined);
22
+ }>;
23
+ export type NestedFormElementValueChangeHandler<T = unknown> = ValueChangeHandler<{
24
+ value?: T | ((existingValue?: T) => T | undefined);
25
+ executedLookups: ExecutedLookupValue | ((currentExecutedLookups: ExecutedLookupValue) => ExecutedLookupValue);
26
+ }>;
16
27
  export type FormElementLookupHandler = (setter: (data: {
17
28
  submission: SubmissionTypes.S3SubmissionData['submission'];
18
29
  elements: FormTypes.FormElement[];
19
30
  lastElementUpdated: FormTypes.FormElement | undefined;
31
+ executedLookups: ExecutedLookups;
20
32
  }) => {
21
33
  submission: SubmissionTypes.S3SubmissionData['submission'];
22
34
  elements: FormTypes.FormElement[];
35
+ executedLookups: ExecutedLookups;
23
36
  }) => void;
24
37
  export type UpdateFormElementsHandler = (setter: (element: FormTypes.FormElement[]) => FormTypes.FormElement[]) => void;
25
38
  export type SetFormSubmission = React.Dispatch<React.SetStateAction<{
26
39
  definition: FormTypes.Form;
27
40
  submission: SubmissionTypes.S3SubmissionData['submission'];
28
41
  lastElementUpdated: FormTypes.FormElement | undefined;
42
+ executedLookups: ExecutedLookups;
29
43
  }>>;
30
44
  export type IsDirtyProps = {
31
45
  isDirty: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"","sourcesContent":["import { FormTypes, SubmissionTypes } from '@oneblink/types'\n\nexport {\n FormElementConditionallyShownElement,\n FormElementConditionallyShown,\n FormElementsConditionallyShown,\n} from '@oneblink/sdk-core/dist/conditionalLogicService'\n\nexport type FormElementKey = string\nexport type RepeatableSetEntryIndex = string\n\nexport type FormElementsValidation = Record<\n FormElementKey,\n FormElementValidation\n>\n\nexport type FormElementValidation =\n | undefined\n | string\n | {\n type: 'formElements'\n formElements: FormElementsValidation | undefined\n }\n | {\n type: 'repeatableSet'\n set: string | undefined\n entries: Record<\n RepeatableSetEntryIndex,\n FormElementsValidation | undefined\n >\n }\n\nexport type FormElementValueChangeHandler<T = unknown> = (\n element: FormTypes.FormElement,\n value?: T | ((existingValue?: T) => T | undefined),\n) => void\n\nexport type FormElementLookupHandler = (\n setter: (data: {\n submission: SubmissionTypes.S3SubmissionData['submission']\n elements: FormTypes.FormElement[]\n lastElementUpdated: FormTypes.FormElement | undefined\n }) => {\n submission: SubmissionTypes.S3SubmissionData['submission']\n elements: FormTypes.FormElement[]\n },\n) => void\nexport type UpdateFormElementsHandler = (\n setter: (element: FormTypes.FormElement[]) => FormTypes.FormElement[],\n) => void\n\nexport type SetFormSubmission = React.Dispatch<\n React.SetStateAction<{\n definition: FormTypes.Form\n submission: SubmissionTypes.S3SubmissionData['submission']\n lastElementUpdated: FormTypes.FormElement | undefined\n }>\n>\n\nexport type IsDirtyProps = {\n isDirty: boolean\n setIsDirty: () => void\n}\n"]}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"","sourcesContent":["import { FormTypes, SubmissionTypes } from '@oneblink/types'\n\nexport {\n FormElementConditionallyShownElement,\n FormElementConditionallyShown,\n FormElementsConditionallyShown,\n} from '@oneblink/sdk-core/dist/conditionalLogicService'\n\nexport type FormElementKey = string\nexport type RepeatableSetEntryIndex = string\n\nexport type FormElementsValidation = Record<\n FormElementKey,\n FormElementValidation\n>\n\nexport type FormElementValidation =\n | undefined\n | string\n | {\n type: 'formElements'\n formElements: FormElementsValidation | undefined\n }\n | {\n type: 'repeatableSet'\n set: string | undefined\n entries: Record<\n RepeatableSetEntryIndex,\n FormElementsValidation | undefined\n >\n }\n\nexport type ExecutedLookups =\n | {\n [elementName: string]:\n | boolean\n | ExecutedLookups\n | ExecutedLookups[]\n | undefined\n }\n | undefined\n\nexport type ExecutedLookupValue = NonNullable<ExecutedLookups>[string]\n\ntype ValueChangeHandler<U extends Record<string, unknown>> = (\n element: FormTypes.FormElement,\n opts: U,\n) => void\n\nexport type FormElementValueChangeHandler<T = unknown> = ValueChangeHandler<{\n value?: T | ((existingValue?: T) => T | undefined)\n}>\n\nexport type NestedFormElementValueChangeHandler<T = unknown> =\n ValueChangeHandler<{\n value?: T | ((existingValue?: T) => T | undefined)\n executedLookups:\n | ExecutedLookupValue\n | ((currentExecutedLookups: ExecutedLookupValue) => ExecutedLookupValue)\n }>\n\nexport type FormElementLookupHandler = (\n setter: (data: {\n submission: SubmissionTypes.S3SubmissionData['submission']\n elements: FormTypes.FormElement[]\n lastElementUpdated: FormTypes.FormElement | undefined\n executedLookups: ExecutedLookups\n }) => {\n submission: SubmissionTypes.S3SubmissionData['submission']\n elements: FormTypes.FormElement[]\n executedLookups: ExecutedLookups\n },\n) => void\nexport type UpdateFormElementsHandler = (\n setter: (element: FormTypes.FormElement[]) => FormTypes.FormElement[],\n) => void\n\nexport type SetFormSubmission = React.Dispatch<\n React.SetStateAction<{\n definition: FormTypes.Form\n submission: SubmissionTypes.S3SubmissionData['submission']\n lastElementUpdated: FormTypes.FormElement | undefined\n executedLookups: ExecutedLookups\n }>\n>\n\nexport type IsDirtyProps = {\n isDirty: boolean\n setIsDirty: () => void\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@oneblink/apps-react",
3
3
  "description": "Helper functions for OneBlink apps in ReactJS.",
4
- "version": "4.4.0-beta.1",
4
+ "version": "4.5.0-beta.1",
5
5
  "author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
6
6
  "bugs": {
7
7
  "url": "https://github.com/oneblink/apps-react/issues"
@@ -47,7 +47,7 @@
47
47
  "@mui/lab": "^5.0.0-alpha.135",
48
48
  "@mui/material": "^5.10.1",
49
49
  "@mui/x-date-pickers": "^6.9.1",
50
- "@oneblink/apps": "^6.1.0-beta.1",
50
+ "@oneblink/apps": "^6.2.0-beta.2",
51
51
  "@oneblink/release-cli": "^2.0.2",
52
52
  "@oneblink/types": "github:oneblink/types",
53
53
  "@types/blueimp-load-image": "^5.16.0",
@@ -1,12 +0,0 @@
1
- import { FormTypes } from '@oneblink/types';
2
- import * as React from 'react';
3
- type ExecutedLookupContextValue = {
4
- executedLookup: (lookupFormElement: FormTypes.LookupFormElement) => void;
5
- executeLookupFailed: (lookupFormElement: FormTypes.LookupFormElement) => void;
6
- };
7
- type Props = ExecutedLookupContextValue & {
8
- children: React.ReactNode;
9
- };
10
- export declare const ExecutedLookupProvider: React.NamedExoticComponent<Props>;
11
- export default function useExecutedLookupCallback(): ExecutedLookupContextValue;
12
- export {};
@@ -1,16 +0,0 @@
1
- import * as React from 'react';
2
- const ExecutedLookupContext = React.createContext({
3
- executedLookup: () => { },
4
- executeLookupFailed: () => { },
5
- });
6
- export const ExecutedLookupProvider = React.memo(function ExecutedLookupProvider({ executedLookup, executeLookupFailed, children, }) {
7
- const value = React.useMemo(() => ({
8
- executedLookup,
9
- executeLookupFailed,
10
- }), [executeLookupFailed, executedLookup]);
11
- return (React.createElement(ExecutedLookupContext.Provider, { value: value }, children));
12
- });
13
- export default function useExecutedLookupCallback() {
14
- return React.useContext(ExecutedLookupContext);
15
- }
16
- //# sourceMappingURL=useExecutedLookupCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useExecutedLookupCallback.js","sourceRoot":"","sources":["../../src/hooks/useExecutedLookupCallback.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,MAAM,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAA6B;IAC5E,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;IACxB,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;CAC9B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAC9C,SAAS,sBAAsB,CAAC,EAC9B,cAAc,EACd,mBAAmB,EACnB,QAAQ,GACF;IACN,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC;QACL,cAAc;QACd,mBAAmB;KACpB,CAAC,EACF,CAAC,mBAAmB,EAAE,cAAc,CAAC,CACtC,CAAA;IACD,OAAO,CACL,oBAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACzC,QAAQ,CACsB,CAClC,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB;IAC/C,OAAO,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAChD,CAAC","sourcesContent":["import { FormTypes } from '@oneblink/types'\nimport * as React from 'react'\n\ntype ExecutedLookupContextValue = {\n executedLookup: (lookupFormElement: FormTypes.LookupFormElement) => void\n executeLookupFailed: (lookupFormElement: FormTypes.LookupFormElement) => void\n}\n\ntype Props = ExecutedLookupContextValue & {\n children: React.ReactNode\n}\n\nconst ExecutedLookupContext = React.createContext<ExecutedLookupContextValue>({\n executedLookup: () => {},\n executeLookupFailed: () => {},\n})\n\nexport const ExecutedLookupProvider = React.memo<Props>(\n function ExecutedLookupProvider({\n executedLookup,\n executeLookupFailed,\n children,\n }: Props) {\n const value = React.useMemo(\n () => ({\n executedLookup,\n executeLookupFailed,\n }),\n [executeLookupFailed, executedLookup],\n )\n return (\n <ExecutedLookupContext.Provider value={value}>\n {children}\n </ExecutedLookupContext.Provider>\n )\n },\n)\n\nexport default function useExecutedLookupCallback() {\n return React.useContext(ExecutedLookupContext)\n}\n"]}