{"version":3,"sources":["webpack:///./src/framework/compatibility/proxy-form-events-to-jquery.ts"],"names":["CognitoJQueryEvent","fireJQueryEvent","jQuery","event","payload","customEvent","Event","document","trigger","proxyEventsToJQuery","form","eventsArePreventable","on","e","type","FormEvents","BeforeSubmit","jqEvent","data","isDefaultPrevented","preventDefault","AfterSubmit","BeforeNavigate","AfterNavigate","UploadFile"],"mappings":"+FAEA,8CAIKA,EAAkB,SAAlBA,GAAkB,OAAlBA,EAAkB,oCAAlBA,EAAkB,kCAAlBA,EAAkB,wCAAlBA,EAAkB,sCAAlBA,EAAkB,gCAAlBA,EAAkB,CAAlBA,GAAkB,IAcvB,SAASC,EAAgBC,EAAsBC,EAA2BC,GACzE,IAAMC,EAAc,IAAIH,EAAOI,MAAMH,GAErC,OADAD,EAAOK,UAAUC,QAAQH,EAAoB,CAACD,IACvCC,EAQD,SAASI,EAAoBC,EAAkBR,EAAsBS,GAC3ED,EAAKE,GAAG,KAAK,SAACC,GAEb,GAA4B,mBAAjBX,EAAOI,MACjB,GAAIO,EAAEC,OAASC,IAAWC,aAAc,CACvC,IAAMC,EAAUhB,EAAgBC,EAAQF,EAAmBgB,aAAcH,EAAEK,MACvEP,GAAwBM,EAAQE,sBACnCN,EAAEO,sBAGC,GAAIP,EAAEC,OAASC,IAAWM,YAC9BpB,EAAgBC,EAAQF,EAAmBqB,YAAaR,EAAEK,WAEtD,GAAIL,EAAEC,OAASC,IAAWO,eAAgB,CAC9C,IAAML,EAAUhB,EAAgBC,EAAQF,EAAmBsB,eAAgBT,EAAEK,MACzEP,GAAwBM,EAAQE,sBACnCN,EAAEO,sBAGKP,EAAEC,OAASC,IAAWQ,cAC9BtB,EAAgBC,EAAQF,EAAmBuB,cAAeV,EAAEK,MAEpDL,EAAEC,OAASC,IAAWS,YAC9BvB,EAAgBC,EAAQF,EAAmBwB,WAAYX,EAAEK","file":"59.9c901b8f7cc11a9e3e65.js","sourcesContent":["import type { FormHandle } from '../public/form-handle';\r\nimport type { BeforeSubmitEvent, AfterSubmitEvent, BeforeNavigateEvent, AfterNavigateEvent, UploadFileEvent } from '../public/events';\r\nimport { FormEvents } from '../public/events';\r\n\r\n// Event names for form events that will be proxied as jQuery events\r\n\r\nenum CognitoJQueryEvent {\r\n\tBeforeSubmit = 'beforeSubmit.cognito',\r\n\tAfterSubmit = 'afterSubmit.cognito',\r\n\tBeforeNavigate = 'beforeNavigate.cognito',\r\n\tAfterNavigate = 'afterNavigate.cognito',\r\n\tUploadFile = 'uploadFile.cognito'\r\n}\r\n\r\n/**\r\n * Triggers a custom jQuery event and returns the event object so that it can be inspected\r\n * @param jQuery The jQuery global/static object\r\n * @param event The name of the event\r\n * @param payload The data to send with the event\r\n */\r\nfunction fireJQueryEvent(jQuery: JQueryStatic, event: CognitoJQueryEvent, payload: object): JQueryEventObject {\r\n\tconst customEvent = new jQuery.Event(event);\r\n\tjQuery(document).trigger(customEvent as any, [payload]);\r\n\treturn customEvent;\r\n}\r\n\r\n/**\r\n * Proxy supported form handle events to the given jQuery global object\r\n * @param form The form handle from which to proxy events\r\n * @param jQuery The jQuery global static object to proxy events to\r\n */\r\nexport function proxyEventsToJQuery(form: FormHandle, jQuery: JQueryStatic, eventsArePreventable: boolean): void {\r\n\tform.on('*', (e: BeforeSubmitEvent | AfterSubmitEvent | BeforeNavigateEvent | AfterNavigateEvent | UploadFileEvent) => {\r\n\t\t// Old versions of jQuery do not support creating custom events\r\n\t\tif (typeof jQuery.Event === 'function') {\r\n\t\t\tif (e.type === FormEvents.BeforeSubmit) {\r\n\t\t\t\tconst jqEvent = fireJQueryEvent(jQuery, CognitoJQueryEvent.BeforeSubmit, e.data);\r\n\t\t\t\tif (eventsArePreventable && jqEvent.isDefaultPrevented()) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (e.type === FormEvents.AfterSubmit) {\r\n\t\t\t\tfireJQueryEvent(jQuery, CognitoJQueryEvent.AfterSubmit, e.data);\r\n\t\t\t}\r\n\t\t\telse if (e.type === FormEvents.BeforeNavigate) {\r\n\t\t\t\tconst jqEvent = fireJQueryEvent(jQuery, CognitoJQueryEvent.BeforeNavigate, e.data);\r\n\t\t\t\tif (eventsArePreventable && jqEvent.isDefaultPrevented()) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (e.type === FormEvents.AfterNavigate) {\r\n\t\t\t\tfireJQueryEvent(jQuery, CognitoJQueryEvent.AfterNavigate, e.data);\r\n\t\t\t}\r\n\t\t\telse if (e.type === FormEvents.UploadFile) {\r\n\t\t\t\tfireJQueryEvent(jQuery, CognitoJQueryEvent.UploadFile, e.data);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n"],"sourceRoot":""}