{"version":3,"sources":["../src/transak.ts","../src/Constants/events.ts","../src/Utils/generate-global-transak-url.ts","../package.json","../src/Utils/validate-url.ts","../src/Utils/create-iframe.ts","../src/Components/custom-container/generate-custom-container-css.ts","../src/Components/custom-container/insert-custom-container-style-to-html-head.ts","../src/Components/custom-container/render-iframe-in-custom-container.ts","../src/Assets/svg/close-icon.ts","/var/lib/jenkins/workspace/npm-publish/npm-publish-by-repo/lib/index.cjs","../src/Components/modal/generate-modal-css.ts","../src/Components/modal/insert-modal-style-to-html-head.ts","../src/Components/modal/render-iframe-in-modal.ts"],"names":["Events","package_default","isValidURL","url","validateURL","generateGlobalTransakUrl","configData","sdkName","sdkVersion","referrer","widgetUrl","urlString","qs","createIframe","src","iframe","generateCustomContainerCss","insertCustomContainerStyleToHtmlHead","style","renderIframeInCustomContainer","config","styleElement","iframeElement","containerIdElement","closeIcon","generateModalCss","themeColor","width","height","insertModalStyleToHtmlHead","widgetWidth","widgetHeight","renderIframeInModal","closeRequest","rootElement","modal","eventEmitter","events","Transak","#config","#styleElement","#rootElement","#iframeElement","#isInitialized","transakConfig","type","cb","#renderIframe","#removeEventListener","#handleMessage","#closeRequest","event"],"mappings":"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","file":"/var/lib/jenkins/workspace/npm-publish/npm-publish-by-repo/lib/index.cjs","sourcesContent":["import events from 'events';\nimport { Events } from 'Constants/events';\nimport { renderIframeInCustomContainer } from 'Components/custom-container/render-iframe-in-custom-container';\nimport { renderIframeInModal } from 'Components/modal/render-iframe-in-modal';\nimport { TransakConfig } from 'Types/sdk-config.types';\n\nconst eventEmitter = new events.EventEmitter();\n\nclass Transak {\n  readonly #config: TransakConfig;\n\n  #styleElement?: HTMLStyleElement;\n\n  #rootElement?: HTMLDivElement;\n\n  #iframeElement?: HTMLIFrameElement;\n\n  #isInitialized = false;\n\n  static readonly EVENTS = Events;\n\n  constructor(transakConfig: TransakConfig) {\n    if (!transakConfig?.widgetUrl) throw new Error('[Transak SDK] => widgetUrl is required');\n\n    this.#config = transakConfig;\n  }\n\n  static on = (type: keyof typeof Events, cb: (data: unknown) => void) => {\n    if (Events[type]) {\n      eventEmitter.on(type, cb);\n    }\n  };\n\n  init = () => {\n    if (!this.#isInitialized) {\n      this.#renderIframe();\n      this.#isInitialized = true;\n    }\n  };\n\n  cleanup = () => {\n    this.#styleElement?.remove();\n    this.#removeEventListener();\n    this.#iframeElement?.remove();\n    this.#isInitialized = false;\n  };\n\n  close = () => {\n    this.#styleElement?.remove();\n    this.#rootElement?.remove();\n    this.#removeEventListener();\n    this.#iframeElement = undefined;\n    this.#isInitialized = false;\n  };\n\n  #renderIframe = () => {\n    window.addEventListener('message', this.#handleMessage);\n\n    if (this.#config.containerId) {\n      const { styleElement, iframeElement } = renderIframeInCustomContainer(this.#config);\n\n      this.#styleElement = styleElement;\n      this.#iframeElement = iframeElement;\n    } else {\n      const { styleElement, rootElement, iframeElement } = renderIframeInModal(this.#config, this.#closeRequest);\n\n      this.#styleElement = styleElement;\n      this.#rootElement = rootElement;\n      this.#iframeElement = iframeElement;\n    }\n  };\n\n  #closeRequest = () => {\n    this.#iframeElement?.contentWindow?.postMessage({ event_id: Events.TRANSAK_WIDGET_CLOSE_REQUEST }, '*');\n  };\n\n  #removeEventListener = () => {\n    eventEmitter.removeAllListeners();\n    window.removeEventListener('message', this.#handleMessage);\n  };\n\n  #handleMessage = (event: MessageEvent<{ event_id: Events; data: unknown }>) => {\n    if (event?.data?.event_id && this.#isInitialized) {\n      eventEmitter.emit(event.data.event_id, event.data.data);\n    }\n  };\n}\n\nexport { Transak };\n","export enum Events {\n  TRANSAK_WIDGET_INITIALISED = 'TRANSAK_WIDGET_INITIALISED',\n  TRANSAK_ORDER_CREATED = 'TRANSAK_ORDER_CREATED',\n  TRANSAK_ORDER_SUCCESSFUL = 'TRANSAK_ORDER_SUCCESSFUL',\n  TRANSAK_ORDER_CANCELLED = 'TRANSAK_ORDER_CANCELLED',\n  TRANSAK_ORDER_FAILED = 'TRANSAK_ORDER_FAILED',\n  TRANSAK_WALLET_REDIRECTION = 'TRANSAK_WALLET_REDIRECTION',\n  TRANSAK_WIDGET_CLOSE_REQUEST = 'TRANSAK_WIDGET_CLOSE_REQUEST',\n  TRANSAK_WIDGET_CLOSE = 'TRANSAK_WIDGET_CLOSE',\n}\n","import qs from 'query-string';\nimport packageJson from 'package.json';\nimport { validateURL, isValidURL } from 'Utils/validate-url';\nimport { TransakConfig } from 'Types/sdk-config.types';\n\nexport function generateGlobalTransakUrl(configData: TransakConfig) {\n  const { name: sdkName, version: sdkVersion } = packageJson;\n  const { referrer, widgetUrl } = configData || {};\n\n  if (!isValidURL(referrer) || !isValidURL(widgetUrl)) {\n    throw new Error('referrer and widgetUrl are required and must be valid URLs');\n  }\n\n  const urlString = qs.stringifyUrl(\n    {\n      url: widgetUrl,\n      query: { sdkName, sdkVersion },\n    },\n    { arrayFormat: 'comma' },\n  );\n\n  return validateURL(urlString);\n}\n","{\n  \"name\": \"@transak/transak-sdk\",\n  \"version\": \"4.0.2\",\n  \"description\": \"Transak SDK that allows you to easily integrate fiat on/off ramp\",\n  \"type\": \"module\",\n  \"types\": \"lib/index.d.ts\",\n  \"main\": \"lib/index.cjs\",\n  \"exports\": {\n    \".\": {\n      \"import\": {\n        \"types\": \"./lib/index.d.ts\",\n        \"default\": \"./lib/index.js\"\n      },\n      \"require\": {\n        \"types\": \"./lib/index.d.cts\",\n        \"default\": \"./lib/index.cjs\"\n      }\n    }\n  },\n  \"engines\": {\n    \"node\": \">=20.0.0\"\n  },\n  \"packageManager\": \"pnpm@10.16.1+sha512.0e155aa2629db8672b49e8475da6226aa4bdea85fdcdfdc15350874946d4f3c91faaf64cbdc4a5d1ab8002f473d5c3fcedcd197989cf0390f9badd3c04678706\",\n  \"files\": [\n    \"lib/**/*\"\n  ],\n  \"scripts\": {\n    \"eslint\": \"eslint . --ext .ts --fix\",\n    \"build\": \"tsc && tsup\",\n    \"prepack\": \"pnpm build\",\n    \"packDev\": \"pnpm pack\"\n  },\n  \"author\": \"Transak\",\n  \"license\": \"ISC\",\n  \"homepage\": \"https://docs.transak.com/docs/web-integration#transak-sdk-reactvueangularts\",\n  \"dependencies\": {\n    \"events\": \"^3.3.0\",\n    \"query-string\": \"^9.3.0\"\n  },\n  \"devDependencies\": {\n    \"@types/events\": \"^3.0.3\",\n    \"@typescript-eslint/eslint-plugin\": \"^7.18.0\",\n    \"@typescript-eslint/parser\": \"^7.18.0\",\n    \"eslint\": \"~8.57.1\",\n    \"eslint-config-airbnb-base\": \"^15.0.0\",\n    \"eslint-config-airbnb-typescript\": \"^18.0.0\",\n    \"eslint-config-prettier\": \"^10.1.8\",\n    \"eslint-plugin-eslint-comments\": \"^3.2.0\",\n    \"eslint-plugin-import\": \"^2.32.0\",\n    \"eslint-plugin-no-relative-import-paths\": \"^1.6.1\",\n    \"eslint-plugin-prettier\": \"^5.5.4\",\n    \"eslint-plugin-promise\": \"^7.2.1\",\n    \"prettier\": \"^3.6.2\",\n    \"tsup\": \"^8.5.0\",\n    \"typescript\": \"~5.5.4\"\n  },\n  \"keywords\": [\n    \"crypto\",\n    \"cryptocurrency\",\n    \"fiat\",\n    \"on\",\n    \"off\",\n    \"ramp\",\n    \"sdk\",\n    \"ts\",\n    \"js\"\n  ]\n}\n","const isValidURL = (url: string): boolean => {\n  if (!url) {\n    return false;\n  }\n\n  try {\n    const urlObject = new URL(url);\n\n    return Boolean(urlObject);\n  } catch (error) {\n    return false;\n  }\n};\n\nconst validateURL = (url: string) => {\n  if (!isValidURL(url)) {\n    throw new Error('Invalid URL');\n  }\n\n  return url;\n};\n\nexport { validateURL, isValidURL };\n","export function createIframe(src: string) {\n  const iframe = document.createElement('iframe');\n\n  Object.assign(iframe, {\n    id: 'transakIframe',\n    allow: 'camera;microphone;payment',\n    src,\n  });\n\n  return iframe;\n}\n","export function generateCustomContainerCss() {\n  return `\n    #transakIframe{\n      width: 100%;\n      height: 100%;\n      border: none;\n    }\n  `;\n}\n","import { generateCustomContainerCss } from './generate-custom-container-css';\n\nexport function insertCustomContainerStyleToHtmlHead() {\n  const style = document.createElement('style');\n\n  style.innerHTML = generateCustomContainerCss();\n\n  document.getElementsByTagName('head')[0]?.appendChild(style);\n\n  return style;\n}\n","import { generateGlobalTransakUrl } from 'Utils/generate-global-transak-url';\nimport { createIframe } from 'Utils/create-iframe';\nimport { TransakConfig } from 'Types/sdk-config.types';\nimport { insertCustomContainerStyleToHtmlHead } from './insert-custom-container-style-to-html-head';\n\nexport function renderIframeInCustomContainer(config: TransakConfig) {\n  const styleElement = insertCustomContainerStyleToHtmlHead();\n  const iframeElement = createIframe(generateGlobalTransakUrl(config));\n\n  if (config.containerId) {\n    const containerIdElement = document.getElementById(config.containerId);\n\n    if (containerIdElement) {\n      containerIdElement.appendChild(iframeElement);\n    } else {\n      throw new Error('[Transak SDK] => Please enter a valid containerId');\n    }\n  }\n\n  return { styleElement, iframeElement };\n}\n","const closeIcon = `\n  <svg id=\"transakCloseIcon\" viewBox=\"0 0 612 612\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n    <path d=\"M306,0C136.992,0,0,136.992,0,306s136.992,306,306,306c168.988,0,306-137.012,306-306S475.008,0,306,0z M414.19,387.147\n    c7.478,7.478,7.478,19.584,0,27.043c-7.479,7.478-19.584,7.478-27.043,0l-81.032-81.033l-81.588,81.588\n    c-7.535,7.516-19.737,7.516-27.253,0c-7.535-7.535-7.535-19.737,0-27.254l81.587-81.587l-81.033-81.033\n    c-7.478-7.478-7.478-19.584,0-27.042c7.478-7.478,19.584-7.478,27.042,0l81.033,81.033l82.181-82.18\n    c7.535-7.535,19.736-7.535,27.253,0c7.535,7.535,7.535,19.737,0,27.253l-82.181,82.181L414.19,387.147z\" />\n  </svg>\n`;\n\nexport { closeIcon };\n",null,"export function generateModalCss(themeColor: string, width: string, height: string) {\n  const closeIconHeight = 36;\n  const closeIconHeightOnePart = 36 / 3;\n  const closeIconHeightTwoParts = (36 / 3) * 2;\n\n  return `\n    #transakRoot {\n      z-index: 9997;\n      position: fixed;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      left: 0;\n      background: rgba(0, 0, 0, 0.6);\n    }\n\n    #transakModal {\n      z-index: 9998;\n      position: fixed;\n      width: ${width};\n      height: calc(${height} - ${closeIconHeightTwoParts}px);\n      top: 50%;\n      left: 50%;\n      transform: translate(-50%, calc(-50% - ${closeIconHeightOnePart}px));\n      margin-top: ${closeIconHeightTwoParts}px;\n    }\n\n    #transakCloseIcon {\n      z-index: 9999;\n      position: absolute;\n      width: 36px;\n      height: ${closeIconHeight}px;\n      top: -${closeIconHeightTwoParts}px;\n      right: 0;\n      transition: 0.5s;\n      color: #${themeColor};\n      background: white;\n      border-radius: 50%;\n    }\n\n    #transakCloseIcon:hover,\n    #transakCloseIcon:focus {\n      color: white;\n      background: #${themeColor};\n      cursor: pointer;\n    }\n\n    #transakIframe{\n      width: 100%;\n      height: 100%;\n      border: none;\n      border-radius: 10px;\n      background: white;\n    }\n\n    @media screen and (max-width: 600px) {\n      #transakModal {\n        width: 100%;\n        height: calc(100% - ${closeIconHeightTwoParts}px);\n      }\n\n      #transakIframe{\n        border-radius: 10px 10px 0 0;\n      }\n    }\n  `;\n}\n","import { TransakConfig } from 'Types/sdk-config.types';\nimport { generateModalCss } from './generate-modal-css';\n\nexport function insertModalStyleToHtmlHead(config: TransakConfig) {\n  const { themeColor = '1461db', widgetWidth = '480px', widgetHeight = '650px' } = config;\n  const style = document.createElement('style');\n\n  style.innerHTML = generateModalCss(themeColor, widgetWidth, widgetHeight);\n\n  document.getElementsByTagName('head')[0]?.appendChild(style);\n\n  return style;\n}\n","import { closeIcon } from 'Assets/svg/close-icon';\nimport { generateGlobalTransakUrl } from 'Utils/generate-global-transak-url';\nimport { createIframe } from 'Utils/create-iframe';\nimport { TransakConfig } from 'Types/sdk-config.types';\nimport { insertModalStyleToHtmlHead } from './insert-modal-style-to-html-head';\n\nexport function renderIframeInModal(config: TransakConfig, closeRequest: () => void) {\n  const styleElement = insertModalStyleToHtmlHead(config);\n  const rootElement = document.createElement('div');\n  const modal = document.createElement('div');\n  const iframeElement = createIframe(generateGlobalTransakUrl(config));\n\n  Object.assign(modal, {\n    id: 'transakModal',\n    innerHTML: closeIcon,\n  });\n\n  modal.appendChild(iframeElement);\n\n  Object.assign(rootElement, {\n    id: 'transakRoot',\n    onclick: () => closeRequest(),\n  });\n\n  rootElement.appendChild(modal);\n\n  document.getElementsByTagName('body')[0].appendChild(rootElement);\n\n  document.getElementById('transakCloseIcon')?.addEventListener('click', () => closeRequest());\n\n  return { styleElement, rootElement, iframeElement };\n}\n"]}