{"version":3,"file":"queryStateParams.mjs","names":[],"sources":["../../../src/internal/clerk-js/queryStateParams.ts"],"sourcesContent":["import { CLERK_MODAL_STATE } from './constants';\nimport { encodeB64 } from './encoders';\nimport { getClerkQueryParam } from './queryParams';\n\nexport const readStateParam = () => {\n  const urlClerkState = getClerkQueryParam(CLERK_MODAL_STATE) ?? '';\n\n  return urlClerkState ? JSON.parse(atob(urlClerkState)) : null;\n};\n\ntype SerializeAndAppendModalStateProps = {\n  url: string;\n  startPath?: string;\n  currentPath?: string;\n  componentName: string;\n  socialProvider?: string;\n};\n\nexport const appendModalState = ({\n  url,\n  startPath = '/user',\n  currentPath = '',\n  componentName,\n  socialProvider = '',\n}: SerializeAndAppendModalStateProps) => {\n  const regexPattern = /CLERK-ROUTER\\/VIRTUAL\\/.*\\//;\n\n  const redirectParams = {\n    path: currentPath.replace(regexPattern, '') || '',\n    componentName,\n    startPath,\n    socialProvider,\n  };\n\n  const encodedRedirectParams = encodeB64(JSON.stringify(redirectParams));\n\n  const urlWithParams = new URL(url);\n  const searchParams = urlWithParams.searchParams;\n\n  searchParams.set(CLERK_MODAL_STATE, encodedRedirectParams);\n\n  urlWithParams.search = searchParams.toString();\n\n  return urlWithParams.toString();\n};\n"],"mappings":";;;;;AAIA,MAAa,uBAAuB;CAClC,MAAM,gBAAgB,wCAAoC,KAAK;CAE/D,OAAO,gBAAgB,KAAK,MAAM,KAAK,aAAa,CAAC,IAAI;AAC3D;AAUA,MAAa,oBAAoB,EAC/B,KACA,YAAY,SACZ,cAAc,IACd,eACA,iBAAiB,SACsB;CAGvC,MAAM,iBAAiB;EACrB,MAAM,YAAY,QAAQ,+BAAc,EAAE,KAAK;EAC/C;EACA;EACA;CACF;CAEA,MAAM,wBAAwB,UAAU,KAAK,UAAU,cAAc,CAAC;CAEtE,MAAM,gBAAgB,IAAI,IAAI,GAAG;CACjC,MAAM,eAAe,cAAc;CAEnC,aAAa,IAAI,mBAAmB,qBAAqB;CAEzD,cAAc,SAAS,aAAa,SAAS;CAE7C,OAAO,cAAc,SAAS;AAChC"}