guestbell-forms 3.0.84 → 3.0.86

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 (31) hide show
  1. package/build/components/button/Button.js +22 -11
  2. package/build/components/button/Button.js.map +1 -1
  3. package/build/components/form/Form.d.ts +4 -2
  4. package/build/components/form/Form.js +36 -27
  5. package/build/components/form/Form.js.map +1 -1
  6. package/build/components/form/FormContext.d.ts +1 -14
  7. package/build/components/form/FormContext.js.map +1 -1
  8. package/build/components/form/FormValidationContext.d.ts +27 -0
  9. package/build/components/form/FormValidationContext.js +15 -0
  10. package/build/components/form/FormValidationContext.js.map +1 -0
  11. package/build/components/form/FormValidationSummary.d.ts +3 -3
  12. package/build/components/form/FormValidationSummary.js +3 -3
  13. package/build/components/form/FormValidationSummary.js.map +1 -1
  14. package/build/components/form/withFormContext.d.ts +1 -1
  15. package/build/components/form/withFormContext.js.map +1 -1
  16. package/build/components/form/withFormValidationContext.d.ts +3 -0
  17. package/build/components/form/withFormValidationContext.js +25 -0
  18. package/build/components/form/withFormValidationContext.js.map +1 -0
  19. package/build/components/submit/Submit.d.ts +3 -2
  20. package/build/components/submit/Submit.js +5 -5
  21. package/build/components/submit/Submit.js.map +1 -1
  22. package/build/dist/report.html +1 -1
  23. package/package.json +1 -1
  24. package/src/lib/components/button/Button.tsx +17 -13
  25. package/src/lib/components/form/Form.tsx +48 -32
  26. package/src/lib/components/form/FormContext.ts +4 -18
  27. package/src/lib/components/form/FormValidationContext.ts +40 -0
  28. package/src/lib/components/form/FormValidationSummary.tsx +12 -7
  29. package/src/lib/components/form/withFormContext.tsx +14 -11
  30. package/src/lib/components/form/withFormValidationContext.tsx +29 -0
  31. package/src/lib/components/submit/Submit.tsx +9 -7
@@ -1 +1 @@
1
- {"version":3,"file":"FormValidationSummary.js","names":["React","_interopRequireWildcard","require","_Guid","_interopRequireDefault","_withFormContext","_Button","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ArrowIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","DefaultComponent","Fragment","componentsWithErrors","map","component","index","className","validation","name","errors","err","errIndex","style","flex","componentApi","focus","scrollTo","Button","icon","circular","type","small","blank","onClick","exports","FormValidationSummaryRaw","PureComponent","constructor","arguments","componentId","guid","render","formContext","keys","components","filter","isValid","console","warn","containerClassName","classNames","headerClassName","footerClassName","length","title","Component","footer","FormValidationSummary","withFormContext"],"sources":["../../../src/lib/components/form/FormValidationSummary.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport guid from '../utils/Guid';\r\nimport { withFormContext } from './withFormContext';\r\nimport { FormContextProps, FormComponentContextState } from './FormContext';\r\nimport { Button } from './../button/Button';\r\nimport classNames from 'classnames';\r\n\r\nimport * as ArrowIcon from 'material-design-icons/maps/svg/production/ic_my_location_24px.svg';\r\n\r\nexport interface FormValidationSummaryComponentProps {\r\n componentsWithErrors: FormComponentContextState[];\r\n}\r\n\r\nexport type FormValidationSummaryProps = {\r\n containerClassName?: string;\r\n headerClassName?: string;\r\n footerClassName?: string;\r\n title?: string | JSX.Element;\r\n footer?: string | JSX.Element;\r\n Component?:\r\n | React.ComponentType<FormValidationSummaryComponentProps>\r\n | React.FC<FormValidationSummaryComponentProps>;\r\n} & FormContextProps;\r\n\r\nexport interface FormValidationSummaryState {}\r\n\r\nexport const DefaultComponent: React.FC<FormValidationSummaryComponentProps> = (\r\n props\r\n) => (\r\n <React.Fragment>\r\n {props.componentsWithErrors.map((component, index) => {\r\n return (\r\n <div key={index} className=\"formValidationSummary__item\">\r\n <div className=\"formValidationSummary__item__header\">\r\n {component.validation.name ? component.validation.name : 'unknown'}\r\n </div>\r\n <div className=\"formValidationSummary__item__errors\">\r\n {component.validation.errors &&\r\n component.validation.errors.map((err, errIndex) => (\r\n <span\r\n className=\"formValidationSummary__item__error\"\r\n key={errIndex}\r\n >\r\n {err}\r\n </span>\r\n ))}\r\n </div>\r\n <div style={{ flex: 'auto' }} />\r\n {component.componentApi &&\r\n component.componentApi.focus &&\r\n component.componentApi.scrollTo && (\r\n <Button\r\n icon={true}\r\n className=\"formValidationSummary__item__locate-button\"\r\n circular={true}\r\n type=\"error\"\r\n small={true}\r\n blank={true}\r\n onClick={() => {\r\n component.componentApi.scrollTo();\r\n component.componentApi.focus();\r\n }}\r\n >\r\n <ArrowIcon />\r\n </Button>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </React.Fragment>\r\n);\r\n\r\nexport class FormValidationSummaryRaw extends React.PureComponent<\r\n FormValidationSummaryProps,\r\n FormValidationSummaryState\r\n> {\r\n public static defaultProps = {\r\n title: 'Hang on',\r\n footer: '... needs fixing',\r\n Component: DefaultComponent,\r\n containerClassName: 'formValidationSummary',\r\n headerClassName: 'formValidationSummary__header',\r\n footerClassName: 'formValidationSummary__footer',\r\n };\r\n\r\n public componentId = guid();\r\n\r\n public render() {\r\n const componentsWithErrors = this.props.formContext\r\n ? Object.keys(this.props.formContext.components)\r\n .map((key) => this.props.formContext.components[key])\r\n .filter((component) => {\r\n if (!component.validation.isValid && !component.validation.name) {\r\n console.warn(\r\n component,\r\n 'Has validation error. FormValidationSummary is present but the component has no validation name'\r\n );\r\n }\r\n return !component.validation.isValid;\r\n })\r\n : [];\r\n const containerClassName = classNames(this.props.containerClassName);\r\n const headerClassName = classNames(this.props.headerClassName);\r\n const footerClassName = classNames(this.props.footerClassName);\r\n return (\r\n componentsWithErrors.length > 0 && (\r\n <div className={containerClassName}>\r\n {this.props.title && (\r\n <div className={headerClassName}>{this.props.title}</div>\r\n )}\r\n <this.props.Component componentsWithErrors={componentsWithErrors} />\r\n {this.props.footer && (\r\n <div className={footerClassName}>{this.props.footer}</div>\r\n )}\r\n </div>\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport const FormValidationSummary =\r\n withFormContext<FormValidationSummaryProps>(FormValidationSummaryRaw);\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormValidationSummary.js","names":["React","_interopRequireWildcard","require","_Guid","_interopRequireDefault","_Button","_classnames","_withFormValidationContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ArrowIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","DefaultComponent","Fragment","componentsWithErrors","map","component","index","className","validation","name","errors","err","errIndex","style","flex","componentApi","focus","scrollTo","Button","icon","circular","type","small","blank","onClick","exports","FormValidationSummaryRaw","PureComponent","constructor","arguments","componentId","guid","render","formValidationContext","keys","components","filter","isValid","console","warn","containerClassName","classNames","headerClassName","footerClassName","length","title","Component","footer","FormValidationSummary","withFormValidationContext"],"sources":["../../../src/lib/components/form/FormValidationSummary.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport guid from '../utils/Guid';\r\nimport {\r\n FormValidationContextProps,\r\n FormComponentContextState,\r\n} from './FormValidationContext';\r\nimport { Button } from './../button/Button';\r\nimport classNames from 'classnames';\r\n\r\nimport * as ArrowIcon from 'material-design-icons/maps/svg/production/ic_my_location_24px.svg';\r\nimport { withFormValidationContext } from './withFormValidationContext';\r\n\r\nexport interface FormValidationSummaryComponentProps {\r\n componentsWithErrors: FormComponentContextState[];\r\n}\r\n\r\nexport type FormValidationSummaryProps = {\r\n containerClassName?: string;\r\n headerClassName?: string;\r\n footerClassName?: string;\r\n title?: string | JSX.Element;\r\n footer?: string | JSX.Element;\r\n Component?:\r\n | React.ComponentType<FormValidationSummaryComponentProps>\r\n | React.FC<FormValidationSummaryComponentProps>;\r\n} & FormValidationContextProps;\r\n\r\nexport interface FormValidationSummaryState {}\r\n\r\nexport const DefaultComponent: React.FC<FormValidationSummaryComponentProps> = (\r\n props\r\n) => (\r\n <React.Fragment>\r\n {props.componentsWithErrors.map((component, index) => {\r\n return (\r\n <div key={index} className=\"formValidationSummary__item\">\r\n <div className=\"formValidationSummary__item__header\">\r\n {component.validation.name ? component.validation.name : 'unknown'}\r\n </div>\r\n <div className=\"formValidationSummary__item__errors\">\r\n {component.validation.errors &&\r\n component.validation.errors.map((err, errIndex) => (\r\n <span\r\n className=\"formValidationSummary__item__error\"\r\n key={errIndex}\r\n >\r\n {err}\r\n </span>\r\n ))}\r\n </div>\r\n <div style={{ flex: 'auto' }} />\r\n {component.componentApi &&\r\n component.componentApi.focus &&\r\n component.componentApi.scrollTo && (\r\n <Button\r\n icon={true}\r\n className=\"formValidationSummary__item__locate-button\"\r\n circular={true}\r\n type=\"error\"\r\n small={true}\r\n blank={true}\r\n onClick={() => {\r\n component.componentApi.scrollTo();\r\n component.componentApi.focus();\r\n }}\r\n >\r\n <ArrowIcon />\r\n </Button>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </React.Fragment>\r\n);\r\n\r\nexport class FormValidationSummaryRaw extends React.PureComponent<\r\n FormValidationSummaryProps,\r\n FormValidationSummaryState\r\n> {\r\n public static defaultProps = {\r\n title: 'Hang on',\r\n footer: '... needs fixing',\r\n Component: DefaultComponent,\r\n containerClassName: 'formValidationSummary',\r\n headerClassName: 'formValidationSummary__header',\r\n footerClassName: 'formValidationSummary__footer',\r\n };\r\n\r\n public componentId = guid();\r\n\r\n public render() {\r\n const componentsWithErrors = this.props.formValidationContext\r\n ? Object.keys(this.props.formValidationContext.components)\r\n .map((key) => this.props.formValidationContext.components[key])\r\n .filter((component) => {\r\n if (!component.validation.isValid && !component.validation.name) {\r\n console.warn(\r\n component,\r\n 'Has validation error. FormValidationSummary is present but the component has no validation name'\r\n );\r\n }\r\n return !component.validation.isValid;\r\n })\r\n : [];\r\n const containerClassName = classNames(this.props.containerClassName);\r\n const headerClassName = classNames(this.props.headerClassName);\r\n const footerClassName = classNames(this.props.footerClassName);\r\n return (\r\n componentsWithErrors.length > 0 && (\r\n <div className={containerClassName}>\r\n {this.props.title && (\r\n <div className={headerClassName}>{this.props.title}</div>\r\n )}\r\n <this.props.Component componentsWithErrors={componentsWithErrors} />\r\n {this.props.footer && (\r\n <div className={footerClassName}>{this.props.footer}</div>\r\n )}\r\n </div>\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport const FormValidationSummary =\r\n withFormValidationContext<FormValidationSummaryProps>(\r\n FormValidationSummaryRaw\r\n );\r\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
2
  import { FormContextProps } from './FormContext';
3
- export declare function withFormContext<P extends FormContextProps>(Component: React.ComponentClass<P>): React.ForwardRefExoticComponent<React.RefAttributes<InstanceType<typeof Component>> & React.PropsWithoutRef<React.PropsWithChildren<P>>>;
3
+ export declare function withFormContext<P extends FormContextProps>(Component: React.ComponentClass<P> | React.ForwardRefExoticComponent<P>): React.ForwardRefExoticComponent<React.RefAttributes<React.ComponentClass<P> | React.ForwardRefExoticComponent<P>> & React.PropsWithoutRef<React.PropsWithChildren<P>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"withFormContext.js","names":["React","_interopRequireWildcard","require","_FormContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","withFormContext","Component","WithFormContext","forwardRef","props","ref","createElement","FormContextConsumer","value","formContext"],"sources":["../../../src/lib/components/form/withFormContext.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { FormContextConsumer, FormContextProps } from './FormContext';\r\n\r\nexport function withFormContext<P extends FormContextProps>(\r\n Component: React.ComponentClass<P>\r\n): React.ForwardRefExoticComponent<\r\n React.RefAttributes<InstanceType<typeof Component>> &\r\n React.PropsWithoutRef<React.PropsWithChildren<P>>\r\n> {\r\n const WithFormContext = React.forwardRef<InstanceType<typeof Component>, P>(\r\n (props, ref) => {\r\n return (\r\n <FormContextConsumer>\r\n {value => <Component ref={ref} {...props} formContext={value} />}\r\n </FormContextConsumer>\r\n );\r\n }\r\n );\r\n return WithFormContext;\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAsE,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAE/D,SAASI,eAAeA,CAC7BC,SAAkC,EAIlC;EACA,MAAMC,eAAe,gBAAGrC,KAAK,CAACsC,UAAU,CACtC,CAACC,KAAK,EAAEC,GAAG,KAAK;IACd,oBACExC,KAAA,CAAAyC,aAAA,CAACtC,YAAA,CAAAuC,mBAAmB,QACjBC,KAAK,iBAAI3C,KAAA,CAAAyC,aAAA,CAACL,SAAS,EAAAV,QAAA;MAACc,GAAG,EAAEA;IAAI,GAAKD,KAAK;MAAEK,WAAW,EAAED;IAAM,EAAE,CAC5C,CAAC;EAE1B,CACF,CAAC;EACD,OAAON,eAAe;AACxB"}
1
+ {"version":3,"file":"withFormContext.js","names":["React","_interopRequireWildcard","require","_FormContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","withFormContext","Component","WithFormContext","forwardRef","props","ref","createElement","FormContextConsumer","value","formContext"],"sources":["../../../src/lib/components/form/withFormContext.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { FormContextConsumer, FormContextProps } from './FormContext';\r\n\r\nexport function withFormContext<P extends FormContextProps>(\r\n Component: React.ComponentClass<P> | React.ForwardRefExoticComponent<P>\r\n): React.ForwardRefExoticComponent<\r\n React.RefAttributes<\r\n React.ComponentClass<P> | React.ForwardRefExoticComponent<P>\r\n > &\r\n React.PropsWithoutRef<React.PropsWithChildren<P>>\r\n> {\r\n const WithFormContext = React.forwardRef<\r\n React.ComponentClass<P> | React.ForwardRefExoticComponent<P>,\r\n P\r\n >((props, ref) => {\r\n return (\r\n <FormContextConsumer>\r\n {(value) => <Component ref={ref} {...props} formContext={value} />}\r\n </FormContextConsumer>\r\n );\r\n });\r\n return WithFormContext;\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAsE,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAE/D,SAASI,eAAeA,CAC7BC,SAAuE,EAMvE;EACA,MAAMC,eAAe,gBAAGrC,KAAK,CAACsC,UAAU,CAGtC,CAACC,KAAK,EAAEC,GAAG,KAAK;IAChB,oBACExC,KAAA,CAAAyC,aAAA,CAACtC,YAAA,CAAAuC,mBAAmB,QAChBC,KAAK,iBAAK3C,KAAA,CAAAyC,aAAA,CAACL,SAAS,EAAAV,QAAA;MAACc,GAAG,EAAEA;IAAI,GAAKD,KAAK;MAAEK,WAAW,EAAED;IAAM,EAAE,CAC9C,CAAC;EAE1B,CAAC,CAAC;EACF,OAAON,eAAe;AACxB"}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { FormValidationContextProps } from './FormValidationContext';
3
+ export declare function withFormValidationContext<P extends FormValidationContextProps>(Component: React.ComponentClass<P>): React.ForwardRefExoticComponent<React.RefAttributes<InstanceType<typeof Component>> & React.PropsWithoutRef<React.PropsWithChildren<P>>>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withFormValidationContext = withFormValidationContext;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _FormValidationContext = require("./FormValidationContext");
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
+ function withFormValidationContext(Component) {
13
+ const WithFormValidationContext = /*#__PURE__*/React.forwardRef((props, ref) => {
14
+ return /*#__PURE__*/React.createElement(_FormValidationContext.FormValidationContextConsumer, null, value => {
15
+ console.log('value', value);
16
+ return /*#__PURE__*/React.createElement(Component, _extends({
17
+ ref: ref
18
+ }, props, {
19
+ formValidationContext: value
20
+ }));
21
+ });
22
+ });
23
+ return WithFormValidationContext;
24
+ }
25
+ //# sourceMappingURL=withFormValidationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withFormValidationContext.js","names":["React","_interopRequireWildcard","require","_FormValidationContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","withFormValidationContext","Component","WithFormValidationContext","forwardRef","props","ref","createElement","FormValidationContextConsumer","value","console","log","formValidationContext"],"sources":["../../../src/lib/components/form/withFormValidationContext.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {\r\n FormValidationContextConsumer,\r\n FormValidationContextProps,\r\n} from './FormValidationContext';\r\n\r\nexport function withFormValidationContext<P extends FormValidationContextProps>(\r\n Component: React.ComponentClass<P>\r\n): React.ForwardRefExoticComponent<\r\n React.RefAttributes<InstanceType<typeof Component>> &\r\n React.PropsWithoutRef<React.PropsWithChildren<P>>\r\n> {\r\n const WithFormValidationContext = React.forwardRef<\r\n InstanceType<typeof Component>,\r\n P\r\n >((props, ref) => {\r\n return (\r\n <FormValidationContextConsumer>\r\n {(value) => {\r\n console.log('value', value);\r\n return (\r\n <Component ref={ref} {...props} formValidationContext={value} />\r\n );\r\n }}\r\n </FormValidationContextConsumer>\r\n );\r\n });\r\n return WithFormValidationContext;\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAGiC,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAE1B,SAASI,yBAAyBA,CACvCC,SAAkC,EAIlC;EACA,MAAMC,yBAAyB,gBAAGrC,KAAK,CAACsC,UAAU,CAGhD,CAACC,KAAK,EAAEC,GAAG,KAAK;IAChB,oBACExC,KAAA,CAAAyC,aAAA,CAACtC,sBAAA,CAAAuC,6BAA6B,QAC1BC,KAAK,IAAK;MACVC,OAAO,CAACC,GAAG,CAAC,OAAO,EAAEF,KAAK,CAAC;MAC3B,oBACE3C,KAAA,CAAAyC,aAAA,CAACL,SAAS,EAAAV,QAAA;QAACc,GAAG,EAAEA;MAAI,GAAKD,KAAK;QAAEO,qBAAqB,EAAEH;MAAM,EAAE,CAAC;IAEpE,CAC6B,CAAC;EAEpC,CAAC,CAAC;EACF,OAAON,yBAAyB;AAClC"}
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { BaseInputProps, BaseInputState, BaseInput } from '../base/input/BaseInput';
3
3
  import { ButtonProps } from '../button/Button';
4
+ import { FormValidationContextProps } from '../form/FormValidationContext';
4
5
  export declare const defaultSubmitTranslations: {
5
6
  hangOn: string;
6
7
  needsFixing: string;
@@ -12,7 +13,7 @@ export type SubmitProps = BaseInputProps<never, SubmitTranslations> & ButtonProp
12
13
  validateForm?: boolean;
13
14
  disabledTitle?: string;
14
15
  showValidationSummaryTooltip?: boolean;
15
- };
16
+ } & FormValidationContextProps;
16
17
  export interface SubmitState extends BaseInputState {
17
18
  }
18
19
  export declare class SubmitRaw extends BaseInput<SubmitProps, SubmitState, never, SubmitTranslations> {
@@ -133,5 +134,5 @@ export declare const Submit: React.ForwardRefExoticComponent<{
133
134
  validateForm?: boolean;
134
135
  disabledTitle?: string;
135
136
  showValidationSummaryTooltip?: boolean;
136
- } & React.RefAttributes<SubmitRaw>>;
137
+ } & FormValidationContextProps & React.RefAttributes<SubmitRaw>>;
137
138
  export default Submit;
@@ -7,10 +7,10 @@ exports.defaultSubmitTranslations = exports.default = exports.SubmitRaw = export
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _BaseInput = require("../base/input/BaseInput");
9
9
  var _Button = require("../button/Button");
10
- var _withFormContext = require("../form/withFormContext");
11
10
  var _FormValidationSummary = require("./../form/FormValidationSummary");
12
11
  var _SubmitValidationSummary = _interopRequireDefault(require("./subComponents/SubmitValidationSummary"));
13
12
  var _withThemeContext = require("../themeProvider/withThemeContext");
13
+ var _withFormValidationContext = require("../form/withFormValidationContext");
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -42,14 +42,14 @@ class SubmitRaw extends _BaseInput.BaseInput {
42
42
  type: 'submit',
43
43
  title: disabled ? this.props.disabledTitle : this.props.buttonProps && this.props.buttonProps.title
44
44
  }),
45
- tooltip: this.props.tooltip ? this.props.tooltip : this.props.showValidationSummaryTooltip && !this.props.formContext.isFormValid && /*#__PURE__*/React.createElement(_FormValidationSummary.FormValidationSummaryRaw, {
45
+ tooltip: this.props.tooltip ? this.props.tooltip : this.props.showValidationSummaryTooltip && this.props.formValidationContext && !this.props.formValidationContext.isFormValid && /*#__PURE__*/React.createElement(_FormValidationSummary.FormValidationSummaryRaw, {
46
46
  title: translations.hangOn,
47
47
  footer: translations.needsFixing,
48
48
  containerClassName: "",
49
49
  headerClassName: "submitValidationSummary__header",
50
50
  footerClassName: "submitValidationSummary__footer",
51
51
  Component: _SubmitValidationSummary.default,
52
- formContext: this.props.formContext
52
+ formValidationContext: this.props.formValidationContext
53
53
  }),
54
54
  tooltipProps: _objectSpread({
55
55
  theme: 'validation'
@@ -64,7 +64,7 @@ class SubmitRaw extends _BaseInput.BaseInput {
64
64
  }
65
65
  isDisabled() {
66
66
  const disabled = this.getDisabled();
67
- return disabled ? disabled : this.props.validateForm && this.props.formContext ? !this.props.formContext.isFormValid : false;
67
+ return disabled ? disabled : this.props.validateForm && this.props.formValidationContext ? !this.props.formValidationContext.isFormValid : false;
68
68
  }
69
69
  }
70
70
  exports.SubmitRaw = SubmitRaw;
@@ -75,7 +75,7 @@ SubmitRaw.defaultProps = Object.assign({}, _BaseInput.BaseInput.defaultProps, {
75
75
  showValidationSummaryTooltip: true,
76
76
  preventsDefault: true
77
77
  });
78
- const Submit = (0, _withThemeContext.withThemeContext)((0, _withFormContext.withFormContext)(SubmitRaw), 'submit');
78
+ const Submit = (0, _withThemeContext.withThemeContext)((0, _withFormValidationContext.withFormValidationContext)(SubmitRaw), 'submit');
79
79
  exports.Submit = Submit;
80
80
  var _default = Submit;
81
81
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Submit.js","names":["React","_interopRequireWildcard","require","_BaseInput","_Button","_withFormContext","_FormValidationSummary","_SubmitValidationSummary","_interopRequireDefault","_withThemeContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultSubmitTranslations","defaultBaseTranslations","hangOn","needsFixing","exports","SubmitRaw","BaseInput","constructor","props","handleClick","render","disabled","isDisabled","translations","getTranslations","createElement","Button","className","onClick","buttonProps","type","title","disabledTitle","tooltip","showValidationSummaryTooltip","formContext","isFormValid","FormValidationSummaryRaw","footer","containerClassName","headerClassName","footerClassName","Component","SubmitValidationSummary","tooltipProps","theme","children","e","preventsDefault","preventDefault","getDisabled","validateForm","defaultProps","ignoreContext","reRendersWhenContextChanges","Submit","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/submit/Submit.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nimport { Button, ButtonProps } from '../button/Button';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { FormValidationSummaryRaw } from './../form/FormValidationSummary';\r\nimport SubmitValidationSummary from './subComponents/SubmitValidationSummary';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\n\r\n// Misc\r\nexport const defaultSubmitTranslations = {\r\n ...defaultBaseTranslations,\r\n hangOn: 'Hang on',\r\n needsFixing: '... needs fixing',\r\n};\r\n\r\nexport type SubmitTranslations = Partial<typeof defaultSubmitTranslations>;\r\n\r\nexport type SubmitProps = BaseInputProps<never, SubmitTranslations> &\r\n ButtonProps & {\r\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n validateForm?: boolean;\r\n disabledTitle?: string;\r\n showValidationSummaryTooltip?: boolean;\r\n };\r\n\r\nexport interface SubmitState extends BaseInputState {}\r\n\r\nexport class SubmitRaw extends BaseInput<\r\n SubmitProps,\r\n SubmitState,\r\n never,\r\n SubmitTranslations\r\n> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n validateForm: true,\r\n ignoreContext: true,\r\n reRendersWhenContextChanges: true,\r\n showValidationSummaryTooltip: true,\r\n preventsDefault: true,\r\n });\r\n\r\n constructor(props: SubmitProps) {\r\n super(props);\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n public render() {\r\n const disabled = this.isDisabled();\r\n const translations = this.getTranslations(defaultSubmitTranslations);\r\n return (\r\n <Button\r\n {...this.props}\r\n className={`${this.props.className ? this.props.className : ''}`}\r\n onClick={this.handleClick}\r\n disabled={disabled}\r\n buttonProps={{\r\n ...this.props.buttonProps,\r\n type: 'submit',\r\n title: disabled\r\n ? this.props.disabledTitle\r\n : this.props.buttonProps && this.props.buttonProps.title,\r\n }}\r\n tooltip={\r\n this.props.tooltip\r\n ? this.props.tooltip\r\n : this.props.showValidationSummaryTooltip &&\r\n !this.props.formContext.isFormValid && (\r\n <FormValidationSummaryRaw\r\n title={translations.hangOn}\r\n footer={translations.needsFixing}\r\n containerClassName=\"\"\r\n headerClassName=\"submitValidationSummary__header\"\r\n footerClassName=\"submitValidationSummary__footer\"\r\n Component={SubmitValidationSummary}\r\n formContext={this.props.formContext}\r\n />\r\n )\r\n }\r\n tooltipProps={{\r\n theme: 'validation',\r\n ...this.props.tooltipProps,\r\n }}\r\n >\r\n {this.props.children}\r\n </Button>\r\n );\r\n }\r\n\r\n private handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (this.props.preventsDefault) {\r\n e.preventDefault();\r\n }\r\n this.props.onClick && this.props.onClick(e);\r\n }\r\n\r\n private isDisabled() {\r\n const disabled = this.getDisabled();\r\n return disabled\r\n ? disabled\r\n : this.props.validateForm && this.props.formContext\r\n ? !this.props.formContext.isFormValid\r\n : false;\r\n }\r\n}\r\n\r\nexport const Submit = withThemeContext<\r\n SubmitProps,\r\n InstanceType<typeof SubmitRaw>\r\n>(withFormContext<SubmitProps>(SubmitRaw), 'submit');\r\n\r\nexport default Submit;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Submit.js","names":["React","_interopRequireWildcard","require","_BaseInput","_Button","_FormValidationSummary","_SubmitValidationSummary","_interopRequireDefault","_withThemeContext","_withFormValidationContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultSubmitTranslations","defaultBaseTranslations","hangOn","needsFixing","exports","SubmitRaw","BaseInput","constructor","props","handleClick","render","disabled","isDisabled","translations","getTranslations","createElement","Button","className","onClick","buttonProps","type","title","disabledTitle","tooltip","showValidationSummaryTooltip","formValidationContext","isFormValid","FormValidationSummaryRaw","footer","containerClassName","headerClassName","footerClassName","Component","SubmitValidationSummary","tooltipProps","theme","children","e","preventsDefault","preventDefault","getDisabled","validateForm","defaultProps","ignoreContext","reRendersWhenContextChanges","Submit","withThemeContext","withFormValidationContext","_default"],"sources":["../../../src/lib/components/submit/Submit.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nimport { Button, ButtonProps } from '../button/Button';\r\nimport { FormValidationSummaryRaw } from './../form/FormValidationSummary';\r\nimport SubmitValidationSummary from './subComponents/SubmitValidationSummary';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { withFormValidationContext } from '../form/withFormValidationContext';\r\nimport { FormValidationContextProps } from '../form/FormValidationContext';\r\n\r\n// Misc\r\nexport const defaultSubmitTranslations = {\r\n ...defaultBaseTranslations,\r\n hangOn: 'Hang on',\r\n needsFixing: '... needs fixing',\r\n};\r\n\r\nexport type SubmitTranslations = Partial<typeof defaultSubmitTranslations>;\r\n\r\nexport type SubmitProps = BaseInputProps<never, SubmitTranslations> &\r\n ButtonProps & {\r\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n validateForm?: boolean;\r\n disabledTitle?: string;\r\n showValidationSummaryTooltip?: boolean;\r\n } & FormValidationContextProps;\r\n\r\nexport interface SubmitState extends BaseInputState {}\r\n\r\nexport class SubmitRaw extends BaseInput<\r\n SubmitProps,\r\n SubmitState,\r\n never,\r\n SubmitTranslations\r\n> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n validateForm: true,\r\n ignoreContext: true,\r\n reRendersWhenContextChanges: true,\r\n showValidationSummaryTooltip: true,\r\n preventsDefault: true,\r\n });\r\n\r\n constructor(props: SubmitProps) {\r\n super(props);\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n public render() {\r\n const disabled = this.isDisabled();\r\n const translations = this.getTranslations(defaultSubmitTranslations);\r\n return (\r\n <Button\r\n {...this.props}\r\n className={`${this.props.className ? this.props.className : ''}`}\r\n onClick={this.handleClick}\r\n disabled={disabled}\r\n buttonProps={{\r\n ...this.props.buttonProps,\r\n type: 'submit',\r\n title: disabled\r\n ? this.props.disabledTitle\r\n : this.props.buttonProps && this.props.buttonProps.title,\r\n }}\r\n tooltip={\r\n this.props.tooltip\r\n ? this.props.tooltip\r\n : this.props.showValidationSummaryTooltip &&\r\n this.props.formValidationContext &&\r\n !this.props.formValidationContext.isFormValid && (\r\n <FormValidationSummaryRaw\r\n title={translations.hangOn}\r\n footer={translations.needsFixing}\r\n containerClassName=\"\"\r\n headerClassName=\"submitValidationSummary__header\"\r\n footerClassName=\"submitValidationSummary__footer\"\r\n Component={SubmitValidationSummary}\r\n formValidationContext={this.props.formValidationContext}\r\n />\r\n )\r\n }\r\n tooltipProps={{\r\n theme: 'validation',\r\n ...this.props.tooltipProps,\r\n }}\r\n >\r\n {this.props.children}\r\n </Button>\r\n );\r\n }\r\n\r\n private handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (this.props.preventsDefault) {\r\n e.preventDefault();\r\n }\r\n this.props.onClick && this.props.onClick(e);\r\n }\r\n\r\n private isDisabled() {\r\n const disabled = this.getDisabled();\r\n return disabled\r\n ? disabled\r\n : this.props.validateForm && this.props.formValidationContext\r\n ? !this.props.formValidationContext.isFormValid\r\n : false;\r\n }\r\n}\r\n\r\nexport const Submit = withThemeContext<\r\n SubmitProps,\r\n InstanceType<typeof SubmitRaw>\r\n>(withFormValidationContext<SubmitProps>(SubmitRaw), 'submit');\r\n\r\nexport default Submit;\r\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,0BAAA,GAAAP,OAAA;AAA8E,SAAAK,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAS,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAArB,MAAA,CAAAqB,IAAA,CAAAF,MAAA,OAAAnB,MAAA,CAAAsB,qBAAA,QAAAC,OAAA,GAAAvB,MAAA,CAAAsB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAzB,MAAA,CAAAE,wBAAA,CAAAiB,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAV,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAO,cAAAhB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAK,OAAA,CAAAlB,MAAA,CAAAgB,MAAA,OAAAa,OAAA,WAAA1B,GAAA,IAAA2B,eAAA,CAAAlB,MAAA,EAAAT,GAAA,EAAAa,MAAA,CAAAb,GAAA,SAAAH,MAAA,CAAA+B,yBAAA,GAAA/B,MAAA,CAAAgC,gBAAA,CAAApB,MAAA,EAAAZ,MAAA,CAAA+B,yBAAA,CAAAf,MAAA,KAAAE,OAAA,CAAAlB,MAAA,CAAAgB,MAAA,GAAAa,OAAA,WAAA1B,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAW,MAAA,EAAAT,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAc,MAAA,EAAAb,GAAA,iBAAAS,MAAA;AAAA,SAAAkB,gBAAA3C,GAAA,EAAAgB,GAAA,EAAA8B,KAAA,IAAA9B,GAAA,GAAA+B,cAAA,CAAA/B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA8B,KAAA,EAAAA,KAAA,EAAAP,UAAA,QAAAS,YAAA,QAAAC,QAAA,oBAAAjD,GAAA,CAAAgB,GAAA,IAAA8B,KAAA,WAAA9C,GAAA;AAAA,SAAA+C,eAAAG,GAAA,QAAAlC,GAAA,GAAAmC,YAAA,CAAAD,GAAA,2BAAAlC,GAAA,gBAAAA,GAAA,GAAAoC,MAAA,CAAApC,GAAA;AAAA,SAAAmC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAApC,IAAA,CAAAkC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA,KAZ7E;AAeD;AACO,MAAMS,yBAAyB,GAAArB,aAAA,CAAAA,aAAA,KACjCsB,kCAAuB;EAC1BC,MAAM,EAAE,SAAS;EACjBC,WAAW,EAAE;AAAkB,EAChC;AAACC,OAAA,CAAAJ,yBAAA,GAAAA,yBAAA;AAcK,MAAMK,SAAS,SAASC,oBAAS,CAKtC;EASAC,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAAC/C,IAAI,CAAC,IAAI,CAAC;EAChD;EAEOgD,MAAMA,CAAA,EAAG;IACd,MAAMC,QAAQ,GAAG,IAAI,CAACC,UAAU,CAAC,CAAC;IAClC,MAAMC,YAAY,GAAG,IAAI,CAACC,eAAe,CAACd,yBAAyB,CAAC;IACpE,oBACExE,KAAA,CAAAuF,aAAA,CAACnF,OAAA,CAAAoF,MAAM,EAAAxD,QAAA,KACD,IAAI,CAACgD,KAAK;MACdS,SAAS,EAAG,GAAE,IAAI,CAACT,KAAK,CAACS,SAAS,GAAG,IAAI,CAACT,KAAK,CAACS,SAAS,GAAG,EAAG,EAAE;MACjEC,OAAO,EAAE,IAAI,CAACT,WAAY;MAC1BE,QAAQ,EAAEA,QAAS;MACnBQ,WAAW,EAAAxC,aAAA,CAAAA,aAAA,KACN,IAAI,CAAC6B,KAAK,CAACW,WAAW;QACzBC,IAAI,EAAE,QAAQ;QACdC,KAAK,EAAEV,QAAQ,GACX,IAAI,CAACH,KAAK,CAACc,aAAa,GACxB,IAAI,CAACd,KAAK,CAACW,WAAW,IAAI,IAAI,CAACX,KAAK,CAACW,WAAW,CAACE;MAAK,EAC1D;MACFE,OAAO,EACL,IAAI,CAACf,KAAK,CAACe,OAAO,GACd,IAAI,CAACf,KAAK,CAACe,OAAO,GAClB,IAAI,CAACf,KAAK,CAACgB,4BAA4B,IACvC,IAAI,CAAChB,KAAK,CAACiB,qBAAqB,IAChC,CAAC,IAAI,CAACjB,KAAK,CAACiB,qBAAqB,CAACC,WAAW,iBAC3ClG,KAAA,CAAAuF,aAAA,CAAClF,sBAAA,CAAA8F,wBAAwB;QACvBN,KAAK,EAAER,YAAY,CAACX,MAAO;QAC3B0B,MAAM,EAAEf,YAAY,CAACV,WAAY;QACjC0B,kBAAkB,EAAC,EAAE;QACrBC,eAAe,EAAC,iCAAiC;QACjDC,eAAe,EAAC,iCAAiC;QACjDC,SAAS,EAAEC,gCAAwB;QACnCR,qBAAqB,EAAE,IAAI,CAACjB,KAAK,CAACiB;MAAsB,CACzD,CAER;MACDS,YAAY,EAAAvD,aAAA;QACVwD,KAAK,EAAE;MAAY,GAChB,IAAI,CAAC3B,KAAK,CAAC0B,YAAY;IAC1B,IAED,IAAI,CAAC1B,KAAK,CAAC4B,QACN,CAAC;EAEb;EAEQ3B,WAAWA,CAAC4B,CAAsC,EAAE;IAC1D,IAAI,IAAI,CAAC7B,KAAK,CAAC8B,eAAe,EAAE;MAC9BD,CAAC,CAACE,cAAc,CAAC,CAAC;IACpB;IACA,IAAI,CAAC/B,KAAK,CAACU,OAAO,IAAI,IAAI,CAACV,KAAK,CAACU,OAAO,CAACmB,CAAC,CAAC;EAC7C;EAEQzB,UAAUA,CAAA,EAAG;IACnB,MAAMD,QAAQ,GAAG,IAAI,CAAC6B,WAAW,CAAC,CAAC;IACnC,OAAO7B,QAAQ,GACXA,QAAQ,GACR,IAAI,CAACH,KAAK,CAACiC,YAAY,IAAI,IAAI,CAACjC,KAAK,CAACiB,qBAAqB,GAC3D,CAAC,IAAI,CAACjB,KAAK,CAACiB,qBAAqB,CAACC,WAAW,GAC7C,KAAK;EACX;AACF;AAACtB,OAAA,CAAAC,SAAA,GAAAA,SAAA;AA7EYA,SAAS,CAMNqC,YAAY,GAAG3F,MAAM,CAACU,MAAM,CAAC,CAAC,CAAC,EAAE6C,oBAAS,CAACoC,YAAY,EAAE;EACrED,YAAY,EAAE,IAAI;EAClBE,aAAa,EAAE,IAAI;EACnBC,2BAA2B,EAAE,IAAI;EACjCpB,4BAA4B,EAAE,IAAI;EAClCc,eAAe,EAAE;AACnB,CAAC,CAAC;AAmEG,MAAMO,MAAM,GAAG,IAAAC,kCAAgB,EAGpC,IAAAC,oDAAyB,EAAc1C,SAAS,CAAC,EAAE,QAAQ,CAAC;AAACD,OAAA,CAAAyC,MAAA,GAAAA,MAAA;AAAA,IAAAG,QAAA,GAEhDH,MAAM;AAAAzC,OAAA,CAAAhE,OAAA,GAAA4G,QAAA"}
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>guestbell-forms [24 Oct 2024 at 16:20]</title>
6
+ <title>guestbell-forms [24 Oct 2024 at 18:23]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.84",
2
+ "version": "3.0.86",
3
3
  "description": "React forms with validation as used in GuestBell",
4
4
  "keywords": [
5
5
  "react",
@@ -63,19 +63,22 @@ export interface ButtonState {
63
63
  }
64
64
 
65
65
  const DefaultButtonComponent: React.FC<ButtonComponentProps> = React.forwardRef(
66
- (props, ref) => (
67
- <button
68
- ref={ref}
69
- // tslint:disable-next-line:no-any
70
- {...((props.buttonProps ? props.buttonProps : {}) as any)}
71
- {...(props.id && { id: props.id })}
72
- className={props.className}
73
- onClick={props.onClick}
74
- style={props.style}
75
- >
76
- {props.children}
77
- </button>
78
- )
66
+ (props, ref) => {
67
+ const { disabled, ...rest } = props.buttonProps ?? {};
68
+ return (
69
+ <button
70
+ ref={ref}
71
+ // tslint:disable-next-line:no-any
72
+ {...(rest as any)}
73
+ {...(props.id && { id: props.id })}
74
+ className={props.className}
75
+ onClick={props.onClick}
76
+ style={props.style}
77
+ >
78
+ {props.children}
79
+ </button>
80
+ );
81
+ }
79
82
  );
80
83
 
81
84
  export class Button extends React.PureComponent<ButtonProps, ButtonState> {
@@ -134,6 +137,7 @@ export class Button extends React.PureComponent<ButtonProps, ButtonState> {
134
137
  onClick={this.handleClick}
135
138
  buttonProps={{
136
139
  ...this.props.buttonProps,
140
+ disabled: this.props.disabled,
137
141
  tabIndex: !disabled ? this.props.buttonProps?.tabIndex : -1,
138
142
  }}
139
143
  className={btnClassName}
@@ -4,13 +4,17 @@ import * as React from 'react';
4
4
  // Misc
5
5
  import {
6
6
  FormContextState,
7
- FormComponentContextState,
8
7
  FormContextProvider,
9
8
  ComponentsDict,
10
- FormComponentValidationContextStateBase,
11
9
  } from './FormContext';
12
10
  import { withThemeContext } from '../themeProvider/withThemeContext';
13
11
  import { ThemeContextProps } from '../themeProvider/ThemeContext';
12
+ import {
13
+ FormComponentContextState,
14
+ FormComponentValidationContextStateBase,
15
+ FormValidationContextProvider,
16
+ FormValidationContextState,
17
+ } from './FormValidationContext';
14
18
 
15
19
  export type FormProps = React.PropsWithChildren<
16
20
  ThemeContextProps & {
@@ -28,7 +32,8 @@ export type FormProps = React.PropsWithChildren<
28
32
  >;
29
33
 
30
34
  export interface FormState {
31
- contextState: FormContextState;
35
+ formContext: FormContextState;
36
+ formValidationContext: FormValidationContextState;
32
37
  }
33
38
 
34
39
  export class Form extends React.PureComponent<FormProps, FormState> {
@@ -46,13 +51,15 @@ export class Form extends React.PureComponent<FormProps, FormState> {
46
51
  this.disableComponents = this.disableComponents.bind(this);
47
52
  this.enableComponents = this.enableComponents.bind(this);
48
53
  this.state = {
49
- contextState: {
54
+ formContext: {
50
55
  subscribe: this.subscribe,
51
56
  unSubscribe: this.unSubscribe,
52
- isFormValid: true,
53
57
  updateCallback: this.updateCallback,
54
58
  disableComponents: this.disableComponents,
55
59
  enableComponents: this.enableComponents,
60
+ },
61
+ formValidationContext: {
62
+ isFormValid: true,
56
63
  components: {},
57
64
  },
58
65
  };
@@ -64,12 +71,12 @@ export class Form extends React.PureComponent<FormProps, FormState> {
64
71
  snapshot?: any
65
72
  ): void {
66
73
  if (
67
- this.state.contextState?.isFormValid !==
68
- prevState?.contextState?.isFormValid
74
+ this.state.formValidationContext?.isFormValid !==
75
+ prevState?.formValidationContext?.isFormValid
69
76
  ) {
70
- const componentsWithErrors = this.state.contextState
71
- ? Object.keys(this.state.contextState.components)
72
- .map((key) => this.state.contextState.components[key])
77
+ const componentsWithErrors = this.state.formContext
78
+ ? Object.keys(this.state.formValidationContext.components)
79
+ .map((key) => this.state.formValidationContext.components[key])
73
80
  .filter((component) => {
74
81
  if (!component.validation.isValid && !component.validation.name) {
75
82
  console.warn(
@@ -81,7 +88,7 @@ export class Form extends React.PureComponent<FormProps, FormState> {
81
88
  })
82
89
  : [];
83
90
  this.props.onValidChanged?.(
84
- this.state.contextState?.isFormValid,
91
+ this.state.formValidationContext?.isFormValid,
85
92
  componentsWithErrors
86
93
  );
87
94
  }
@@ -89,7 +96,7 @@ export class Form extends React.PureComponent<FormProps, FormState> {
89
96
 
90
97
  public disableComponents() {
91
98
  const components = {
92
- ...this.state.contextState.components,
99
+ ...this.state.formValidationContext.components,
93
100
  ...this.props.extraComponents,
94
101
  };
95
102
  Object.keys(components).forEach((key) => {
@@ -103,7 +110,7 @@ export class Form extends React.PureComponent<FormProps, FormState> {
103
110
 
104
111
  public enableComponents() {
105
112
  const components = {
106
- ...this.state.contextState.components,
113
+ ...this.state.formValidationContext.components,
107
114
  ...this.props.extraComponents,
108
115
  };
109
116
  Object.keys(components).forEach((key) => {
@@ -117,7 +124,7 @@ export class Form extends React.PureComponent<FormProps, FormState> {
117
124
 
118
125
  public touchAll() {
119
126
  const components = {
120
- ...this.state.contextState.components,
127
+ ...this.state.formValidationContext.components,
121
128
  ...this.props.extraComponents,
122
129
  };
123
130
  Object.keys(components).forEach((key) => {
@@ -131,7 +138,7 @@ export class Form extends React.PureComponent<FormProps, FormState> {
131
138
 
132
139
  public unTouchAll() {
133
140
  const components = {
134
- ...this.state.contextState.components,
141
+ ...this.state.formValidationContext.components,
135
142
  ...this.props.extraComponents,
136
143
  };
137
144
  Object.keys(components).forEach((key) => {
@@ -144,6 +151,7 @@ export class Form extends React.PureComponent<FormProps, FormState> {
144
151
  }
145
152
 
146
153
  public render() {
154
+ const validationContext = this.mergeContext();
147
155
  return (
148
156
  <this.props.component
149
157
  {...(this.props.id && { id: this.props.id })}
@@ -154,24 +162,26 @@ export class Form extends React.PureComponent<FormProps, FormState> {
154
162
  }`}
155
163
  onSubmit={this.onSubmit}
156
164
  >
157
- <FormContextProvider value={this.mergeContext()}>
158
- {this.props.children}
165
+ <FormContextProvider value={this.state.formContext}>
166
+ <FormValidationContextProvider value={validationContext}>
167
+ {this.props.children}
168
+ </FormValidationContextProvider>
159
169
  </FormContextProvider>
160
170
  </this.props.component>
161
171
  );
162
172
  }
163
173
 
164
- private mergeContext(): FormContextState {
174
+ private mergeContext(): FormValidationContextState {
165
175
  if (!this.props.extraComponents) {
166
- return this.state.contextState;
176
+ return this.state.formValidationContext;
167
177
  }
168
178
  const isFormValid =
169
- this.state.contextState.isFormValid &&
179
+ this.state.formValidationContext.isFormValid &&
170
180
  this.getIsFormValid(this.props.extraComponents);
171
181
  return {
172
- ...this.state.contextState,
182
+ ...this.state.formValidationContext,
173
183
  components: {
174
- ...this.state.contextState.components,
184
+ ...this.state.formValidationContext.components,
175
185
  ...this.props.extraComponents,
176
186
  },
177
187
  isFormValid,
@@ -191,18 +201,19 @@ export class Form extends React.PureComponent<FormProps, FormState> {
191
201
  this.setState((previousState) => {
192
202
  let components = Object.assign(
193
203
  {},
194
- previousState.contextState.components
204
+ previousState.formValidationContext.components
195
205
  );
196
206
  if (componentState) {
197
207
  components[componentId] = componentState;
198
208
  }
199
209
  let isFormValid = this.getIsFormValid(components);
200
210
  return {
201
- contextState: {
202
- ...previousState.contextState,
211
+ formValidationContext: {
212
+ ...previousState.formValidationContext,
203
213
  components,
204
214
  isFormValid,
205
215
  },
216
+ formContext: previousState.formContext,
206
217
  };
207
218
  });
208
219
  }
@@ -213,13 +224,14 @@ export class Form extends React.PureComponent<FormProps, FormState> {
213
224
  this.setState((previousState) => {
214
225
  let components = Object.assign(
215
226
  {},
216
- previousState.contextState.components
227
+ previousState.formValidationContext.components
217
228
  );
218
229
  delete components[componentId];
219
230
  let isFormValid = this.getIsFormValid(components);
220
231
  return {
221
- contextState: {
222
- ...previousState.contextState,
232
+ formContext: previousState.formContext,
233
+ formValidationContext: {
234
+ ...previousState.formValidationContext,
223
235
  components,
224
236
  isFormValid,
225
237
  },
@@ -229,7 +241,7 @@ export class Form extends React.PureComponent<FormProps, FormState> {
229
241
  }
230
242
 
231
243
  private getIsFormValid(
232
- components: ComponentsDict = this.state.contextState.components,
244
+ components: ComponentsDict = this.state.formValidationContext.components,
233
245
  initialValid: boolean = true
234
246
  ): boolean {
235
247
  let isFormValid = initialValid;
@@ -247,7 +259,10 @@ export class Form extends React.PureComponent<FormProps, FormState> {
247
259
  componentState: FormComponentValidationContextStateBase
248
260
  ) {
249
261
  this.setState((previousState) => {
250
- let components = Object.assign({}, previousState.contextState.components);
262
+ let components = Object.assign(
263
+ {},
264
+ previousState.formValidationContext.components
265
+ );
251
266
  const previousComponent = components[componentId];
252
267
  if (
253
268
  previousComponent &&
@@ -272,11 +287,12 @@ export class Form extends React.PureComponent<FormProps, FormState> {
272
287
  }
273
288
  let isFormValid = this.getIsFormValid(components);
274
289
  return {
275
- contextState: {
276
- ...this.state.contextState,
290
+ formValidationContext: {
291
+ ...this.state.formValidationContext,
277
292
  components,
278
293
  isFormValid,
279
294
  },
295
+ formContext: previousState.formContext,
280
296
  };
281
297
  });
282
298
  }
@@ -1,27 +1,15 @@
1
1
  import * as React from 'react';
2
- import { ValidationError, ComponentApi } from '../base/input';
3
2
  import { PartialBy } from '../utils/Typescript';
3
+ import {
4
+ FormComponentContextState,
5
+ FormComponentValidationContextStateBase,
6
+ } from './FormValidationContext';
4
7
 
5
8
  export type OmitFormContext<P extends FormContextProps> = PartialBy<
6
9
  P,
7
10
  'formContext'
8
11
  >;
9
12
 
10
- export interface FormComponentValidationContextStateBase {
11
- isValid: boolean;
12
- errors: ValidationError[];
13
- }
14
-
15
- export interface FormComponentValidationContextState
16
- extends FormComponentValidationContextStateBase {
17
- name: JSX.Element | string;
18
- }
19
-
20
- export interface FormComponentContextState {
21
- validation: FormComponentValidationContextState;
22
- componentApi: ComponentApi;
23
- }
24
-
25
13
  export interface FormContextProps {
26
14
  formContext?: FormContextState;
27
15
  }
@@ -36,14 +24,12 @@ export interface FormContextState {
36
24
  componentState: FormComponentContextState
37
25
  ) => void;
38
26
  unSubscribe: (componentId: string) => void;
39
- isFormValid: boolean;
40
27
  updateCallback: (
41
28
  componentId: string,
42
29
  newComponentState: FormComponentValidationContextStateBase
43
30
  ) => void;
44
31
  disableComponents: () => void;
45
32
  enableComponents: () => void;
46
- components: ComponentsDict;
47
33
  }
48
34
 
49
35
  const FormContext = React.createContext<FormContextState | undefined>(