{ "version": 3, "sources": ["../../node_modules/product-fruits/index.js", "product-fruits.ts"], "sourcesContent": ["if (typeof window == 'undefined') {\r\n throw new Error('product-fruits package can run only in the browser environment. If you use server-side-generation, please update your code to import this package only in the browser.')\r\n}\r\n\r\nlet initialized = false;\r\n\r\nfunction initInternal() {\r\n (function (w, d, u) {\r\n w.$productFruits = w.$productFruits || [];\r\n w.productFruits = w.productFruits || {}; w.productFruits.scrV = '2';\r\n let a = d.getElementsByTagName('head')[0]; let r = d.createElement('script'); r.async = 1; r.src = u; a.appendChild(r);\r\n })(window, document, 'https://app.productfruits.com/static/script.js'); // todo make it env agnostic\r\n}\r\n\r\nfunction apiInit(projectCode, language, userInfo, options) {// todo make it env agnostic\r\n // if (initialized) {\r\n // throw new Error('Do not call init() multiple times');\r\n // }\r\n\r\n initInternal();\r\n\r\n window.$productFruits.push(['init', projectCode, language, userInfo, options]);\r\n\r\n initialized = true;\r\n}\r\n\r\nfunction apiSafeExec(callback) {\r\n if (typeof callback !== 'function') throw new Error('You have to pass a callback to safeExec');\r\n\r\n if (window.productFruitsIsReady) {\r\n callback(window.$productFruits);\r\n } else {\r\n const handler = () => {\r\n callback(window.$productFruits);\r\n }\r\n\r\n window.addEventListener('productfruits_ready', handler, { once: true });\r\n }\r\n}\r\n\r\nexport const productFruits = {\r\n init: apiInit,\r\n //updateUserData: apiUpdateUserData,\r\n safeExec: apiSafeExec\r\n}", "import { UserClaim } from \"@crimsontide/core/client/user-permissions/interfaces\";\nimport { productFruits } from 'product-fruits';\n\nconst initProductFruits = async () => {\n await (window as any).Mpro.UserService.UserPermissionService.ready();\n const permissions: UserClaim[] = await (window as any).Mpro.UserService.UserPermissionService.getUserClaims();\n\n productFruits.init('w99NjyZBfbqUTTSo', permissions.find((p) => p.type === 'locale')?.value?.slice(0,2) || 'en', {\n username: permissions.find((p) => p.type === 'name')?.value || 'anon',\n role: !!permissions.find((p) => p.value === 'User.IsInAdminRole') ? 'admin' : 'user',\n props: {\n claims: permissions\n .filter((p) => !([ 'nonce', 'at_hash', 'sid', 'sub', 'bff:session_state' ].includes(p.type)))\n .map((p: UserClaim) => {\n return p.value;\n }),\n }\n });\n}\nObject.assign(window, {\n UserGuides: {\n initProductFruits,\n }\n});\n"], "mappings": "+EAAA,GAAI,MAAO,QAAU,IACjB,KAAM,IAAI,OAAM,wKAAwK,EAG5L,GAAI,GAAc,GAElB,YAAwB,CACpB,AAAC,UAAU,EAAG,EAAG,EAAG,CAChB,EAAE,eAAiB,EAAE,gBAAkB,CAAC,EACxC,EAAE,cAAgB,EAAE,eAAiB,CAAC,EAAG,EAAE,cAAc,KAAO,IAChE,GAAI,GAAI,EAAE,qBAAqB,MAAM,EAAE,GAAQ,EAAI,EAAE,cAAc,QAAQ,EAAG,EAAE,MAAQ,EAAG,EAAE,IAAM,EAAG,EAAE,YAAY,CAAC,CACzH,GAAG,OAAQ,SAAU,gDAAgD,CACzE,CANS,oBAQT,WAAiB,EAAa,EAAU,EAAU,EAAS,CAKvD,EAAa,EAEb,OAAO,eAAe,KAAK,CAAC,OAAQ,EAAa,EAAU,EAAU,CAAO,CAAC,EAE7E,EAAc,EAClB,CAVS,eAYT,WAAqB,EAAU,CAC3B,GAAI,MAAO,IAAa,WAAY,KAAM,IAAI,OAAM,yCAAyC,EAE7F,GAAI,OAAO,qBACP,EAAS,OAAO,cAAc,MAC3B,CACH,GAAM,GAAU,MAAM,CAClB,EAAS,OAAO,cAAc,CAClC,EAFgB,WAIhB,OAAO,iBAAiB,sBAAuB,EAAS,CAAE,KAAM,EAAK,CAAC,CAC1E,CACJ,CAZS,mBAcF,GAAM,GAAgB,CACzB,KAAM,EAEN,SAAU,CACd,ECzCA,GAAM,GAAoB,WAAY,CAHtC,UAIE,KAAO,QAAe,KAAK,YAAY,sBAAsB,MAAM,EACnE,GAAM,GAA2B,KAAO,QAAe,KAAK,YAAY,sBAAsB,cAAc,EAE5G,EAAc,KAAK,mBAAoB,SAAY,KAAK,AAAC,GAAM,EAAE,OAAS,QAAQ,IAA3C,cAA8C,QAA9C,cAAqD,MAAM,EAAE,KAAM,KAAM,CAC9G,SAAU,MAAY,KAAK,AAAC,GAAM,EAAE,OAAS,MAAM,IAAzC,cAA4C,QAAS,OAC/D,KAAM,AAAE,EAAY,KAAK,AAAC,GAAM,EAAE,QAAU,oBAAoB,EAAI,QAAU,OAC9E,MAAO,CACL,OAAQ,EACL,OAAO,AAAC,GAAM,CAAE,CAAE,QAAS,UAAW,MAAO,MAAO,mBAAoB,EAAE,SAAS,EAAE,IAAI,CAAE,EAC3F,IAAI,AAAC,GACG,EAAE,KACV,CACL,CACF,CAAC,CACH,EAf0B,qBAgB1B,OAAO,OAAO,OAAQ,CACpB,WAAY,CACV,mBACF,CACF,CAAC", "names": [] }