{"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,mBAAmB,kBAAkB,IAAI;AAE/D,QAAO,gBAAgB,KAAK,MAAM,KAAK,cAAc,CAAC,GAAG;;AAW3D,MAAa,oBAAoB,EAC/B,KACA,YAAY,SACZ,cAAc,IACd,eACA,iBAAiB,SACsB;CAGvC,MAAM,iBAAiB;EACrB,MAAM,YAAY,QAHC,+BAGqB,GAAG,IAAI;EAC/C;EACA;EACA;EACD;CAED,MAAM,wBAAwB,UAAU,KAAK,UAAU,eAAe,CAAC;CAEvE,MAAM,gBAAgB,IAAI,IAAI,IAAI;CAClC,MAAM,eAAe,cAAc;AAEnC,cAAa,IAAI,mBAAmB,sBAAsB;AAE1D,eAAc,SAAS,aAAa,UAAU;AAE9C,QAAO,cAAc,UAAU"}