@phygitallabs/tapquest-core 6.6.0 → 6.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bun.lock CHANGED
@@ -6,7 +6,7 @@
6
6
  "dependencies": {
7
7
  "@openreplay/tracker": "^16.4.10",
8
8
  "@phygitallabs/achievement": "latest",
9
- "@phygitallabs/api-core": "latest",
9
+ "@phygitallabs/api-core": "^6.3.0",
10
10
  "@phygitallabs/authentication": "latest",
11
11
  "@phygitallabs/generate-certificate": "latest",
12
12
  "@phygitallabs/helpers": "latest",
@@ -255,7 +255,7 @@
255
255
 
256
256
  "@phygitallabs/achievement": ["@phygitallabs/achievement@6.2.0", "", { "dependencies": { "@hookform/resolvers": "^3.3.1", "@phygitallabs/form-ui-kit": "latest", "@tanstack/react-query": "^5.66.8", "@tanstack/react-query-devtools": "^5.74.7", "axios": "^1.8.4", "react-hook-form": "^7.54.2", "typescript": "latest" }, "peerDependencies": { "@ant-design/v5-patch-for-react-19": "^1.0.3", "@phosphor-icons/react": "^2.1.7", "antd": "^5.24.1", "dayjs": "^1.11.7", "next": "15.1.7", "react": ">=18.2", "yup": "^1.6.1" } }, "sha512-J+hqzhB0YF+kT7E1gDo4kvRTf4gjUhPv9x+z2SZEebdLqclA7qtu4jd4vNWaNUIzIAo1Pt+CqfIuPqr9MzDpPA=="],
257
257
 
258
- "@phygitallabs/api-core": ["@phygitallabs/api-core@6.2.0", "", { "dependencies": { "@tanstack/react-query": "^5.66.8", "axios": "^1.8.4" }, "peerDependencies": { "@tanstack/react-query-devtools": "^5.74.7" }, "optionalPeers": ["@tanstack/react-query-devtools"] }, "sha512-0WqyWBOQV958GUOjhjR4uQ+2fkygPpzFQ/BdosgJ5VXfr9oEQ+IJiKSKaaNRsf/kaxepNQ2LO+l1pvrxx6IBbQ=="],
258
+ "@phygitallabs/api-core": ["@phygitallabs/api-core@6.3.0", "", { "dependencies": { "@tanstack/react-query": "^5.66.8", "axios": "^1.8.4" }, "peerDependencies": { "@tanstack/react-query-devtools": "^5.74.7" }, "optionalPeers": ["@tanstack/react-query-devtools"] }, "sha512-zM5xg+T43quq35HiIlFNae8JQCVUv5MhhxAZIj/86TEuvHYuD3HRmmP+5z8rjJtQa9GWpeRFgjiz/pvrI5f8/w=="],
259
259
 
260
260
  "@phygitallabs/authentication": ["@phygitallabs/authentication@6.7.0", "", { "dependencies": { "@tanstack/react-query": "^5.66.8", "axios": "^1.8.4", "immer": "^11.0.0", "jwt-decode": "^4.0.0", "zustand": "^5.0.8" } }, "sha512-VhbxdvXMLx2B8rV0XvwOmxl48U8PibCBEAbaEzEicTEJeuxWarUmPV+NqHvT+YEgFYF5jDOw0UxUuRvjxDrGoQ=="],
261
261
 
@@ -703,7 +703,7 @@
703
703
 
704
704
  "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="],
705
705
 
706
- "nanoid": ["nanoid@5.1.6", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg=="],
706
+ "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
707
707
 
708
708
  "next": ["next@15.1.7", "", { "dependencies": { "@next/env": "15.1.7", "@swc/counter": "0.1.3", "@swc/helpers": "0.5.15", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "15.1.7", "@next/swc-darwin-x64": "15.1.7", "@next/swc-linux-arm64-gnu": "15.1.7", "@next/swc-linux-arm64-musl": "15.1.7", "@next/swc-linux-x64-gnu": "15.1.7", "@next/swc-linux-x64-musl": "15.1.7", "@next/swc-win32-arm64-msvc": "15.1.7", "@next/swc-win32-x64-msvc": "15.1.7", "sharp": "^0.33.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.41.2", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg=="],
709
709
 
@@ -1061,8 +1061,12 @@
1061
1061
 
1062
1062
  "zustand": ["zustand@5.0.9", "", { "peerDependencies": { "@types/react": ">=18.0.0", "immer": ">=9.0.6", "react": ">=18.0.0", "use-sync-external-store": ">=1.2.0" }, "optionalPeers": ["@types/react", "immer", "react", "use-sync-external-store"] }, "sha512-ALBtUj0AfjJt3uNRQoL1tL2tMvj6Gp/6e39dnfT6uzpelGru8v1tPOGBzayOWbPJvujM8JojDk3E1LxeFisBNg=="],
1063
1063
 
1064
+ "@phygitallabs/core-ui/@phygitallabs/api-core": ["@phygitallabs/api-core@6.2.0", "", { "dependencies": { "@tanstack/react-query": "^5.66.8", "axios": "^1.8.4" }, "peerDependencies": { "@tanstack/react-query-devtools": "^5.74.7" }, "optionalPeers": ["@tanstack/react-query-devtools"] }, "sha512-0WqyWBOQV958GUOjhjR4uQ+2fkygPpzFQ/BdosgJ5VXfr9oEQ+IJiKSKaaNRsf/kaxepNQ2LO+l1pvrxx6IBbQ=="],
1065
+
1064
1066
  "@phygitallabs/core-ui/html-react-parser": ["html-react-parser@5.2.10", "", { "dependencies": { "domhandler": "5.0.3", "html-dom-parser": "5.1.2", "react-property": "2.0.2", "style-to-js": "1.1.21" }, "peerDependencies": { "@types/react": "0.14 || 15 || 16 || 17 || 18 || 19", "react": "0.14 || 15 || 16 || 17 || 18 || 19" }, "optionalPeers": ["@types/react"] }, "sha512-DjOLloguuDA+Ed7Q7PKhvMQmCl2+Yk/pfvvca68fvn15QFBbL4uHGxXwoXQ4sqS0UyuRH2lJb0S8yZCL3lvehQ=="],
1065
1067
 
1068
+ "@phygitallabs/reward/@phygitallabs/api-core": ["@phygitallabs/api-core@6.2.0", "", { "dependencies": { "@tanstack/react-query": "^5.66.8", "axios": "^1.8.4" }, "peerDependencies": { "@tanstack/react-query-devtools": "^5.74.7" }, "optionalPeers": ["@tanstack/react-query-devtools"] }, "sha512-0WqyWBOQV958GUOjhjR4uQ+2fkygPpzFQ/BdosgJ5VXfr9oEQ+IJiKSKaaNRsf/kaxepNQ2LO+l1pvrxx6IBbQ=="],
1069
+
1066
1070
  "@phygitallabs/reward/immer": ["immer@10.2.0", "", {}, "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw=="],
1067
1071
 
1068
1072
  "@phygitallabs/reward/uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="],
@@ -1093,8 +1097,6 @@
1093
1097
 
1094
1098
  "pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="],
1095
1099
 
1096
- "postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
1097
-
1098
1100
  "posthog-js/fflate": ["fflate@0.4.8", "", {}, "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA=="],
1099
1101
 
1100
1102
  "styled-components/@emotion/unitless": ["@emotion/unitless@0.8.1", "", {}, "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="],
@@ -1107,6 +1109,8 @@
1107
1109
 
1108
1110
  "styled-components/tslib": ["tslib@2.6.2", "", {}, "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="],
1109
1111
 
1112
+ "swagger-typescript-api/nanoid": ["nanoid@5.1.6", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg=="],
1113
+
1110
1114
  "swagger2openapi/yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="],
1111
1115
 
1112
1116
  "tailwindcss/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="],
@@ -1119,14 +1123,10 @@
1119
1123
 
1120
1124
  "@phygitallabs/core-ui/html-react-parser/style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="],
1121
1125
 
1122
- "styled-components/postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
1123
-
1124
1126
  "tailwindcss/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
1125
1127
 
1126
1128
  "tailwindcss/chokidar/readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="],
1127
1129
 
1128
- "tailwindcss/postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
1129
-
1130
1130
  "@phygitallabs/core-ui/html-react-parser/html-dom-parser/htmlparser2": ["htmlparser2@10.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.1", "entities": "^6.0.0" } }, "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g=="],
1131
1131
 
1132
1132
  "@phygitallabs/core-ui/html-react-parser/style-to-js/style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="],
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var apiCore=require('@phygitallabs/api-core'),achievement=require('@phygitallabs/achievement'),reactQuery=require('@tanstack/react-query'),react=require('react'),reward=require('@phygitallabs/reward'),Kt=require('@phygitallabs/notification-api'),jsxRuntime=require('react/jsx-runtime'),authentication=require('@phygitallabs/authentication'),zustand=require('zustand'),immer=require('zustand/middleware/immer'),middleware=require('zustand/middleware'),jwtDecode=require('jwt-decode'),generateCertificate=require('@phygitallabs/generate-certificate'),uuid=require('uuid'),Ie=require('posthog-js'),helpers=require('@phygitallabs/helpers'),ct=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Kt__namespace=/*#__PURE__*/_interopNamespace(Kt);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var ct__default=/*#__PURE__*/_interopDefault(ct);var Xe=Object.defineProperty;var uo=Object.getOwnPropertyDescriptor;var lo=Object.getOwnPropertyNames;var po=Object.prototype.hasOwnProperty;var Ue=(e,s)=>{for(var o in s)Xe(e,o,{get:s[o],enumerable:true});},Ye=(e,s,o,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of lo(s))!po.call(e,n)&&n!==o&&Xe(e,n,{get:()=>s[n],enumerable:!(r=uo(s,n))||r.enumerable});return e},c=(e,s,o)=>(Ye(e,s,"default"),o);var Ee={};Ue(Ee,{ALLOWED_ORIGINS:()=>ce,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementType:()=>Le,AuthProvider:()=>W,CALLBACK_URL:()=>ae,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,NotificationProvider:()=>se,RewardClaimStatus:()=>Me,SessionReplayProvider:()=>V,TapquestCoreProvider:()=>oo,TaskType:()=>qe,TrackerContext:()=>F,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>ge,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>ue,deviceUIDKey:()=>O,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>je,generateDeviceId:()=>Ke,getAccessToken:()=>Tr,getActionsFromAchievementRule:()=>er,getChipAuthToken:()=>kr,getDeviceUid:()=>$,getLocationIdsFromAchievementRule:()=>Ze,getRefreshToken:()=>xr,getRetryAttemptsRefreshToken:()=>Sr,getSessionUserId:()=>Xr,getUserInfo:()=>Mr,httpMaxRetries:()=>ie,isAchievementCompleted:()=>B,isBrowser:()=>Se,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>D,removeAccessToken:()=>Ur,removeChipAuthToken:()=>wr,removeDeviceUid:()=>Pr,removeRefreshToken:()=>Lr,removeUserInfo:()=>Dr,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>w,setAccessToken:()=>Er,setChipAuthToken:()=>he,setDeviceUid:()=>We,setRefreshToken:()=>_r,setRetryAttemptsRefreshToken:()=>Ir,setUserInfo:()=>br,sortLocationsByIndex:()=>He,transformProtoUserData:()=>de,useAchievementProgress:()=>achievement.useAchievementProgress,useAchivementPlusRewardModel:()=>Te,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>I,useAuthStore:()=>p,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearAchievementProgressCache:()=>xe,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>Zr,useDefaultServiceGetPollStats:()=>Kt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Kt.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>fe,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>cr,useManyAchievementProgressCore:()=>achievement.useManyAchievementProgress,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsByLocation:()=>achievement.useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>Kt.useNotificationRewardHandler,useNotificationStore:()=>Kt.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>Kt.usePageVisibility,useScanChip:()=>Kr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>q,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>Kt.useTCVNotificationRewardHandler,useTokenRefresher:()=>N,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>Kt.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});var u={};Ue(u,{ALLOWED_ORIGINS:()=>ce,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementType:()=>Le,AuthProvider:()=>W,CALLBACK_URL:()=>ae,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,NotificationProvider:()=>se,RewardClaimStatus:()=>Me,SessionReplayProvider:()=>V,TapquestCoreProvider:()=>oo,TaskType:()=>qe,TrackerContext:()=>F,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>ge,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>ue,deviceUIDKey:()=>O,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>je,generateDeviceId:()=>Ke,getAccessToken:()=>Tr,getActionsFromAchievementRule:()=>er,getChipAuthToken:()=>kr,getDeviceUid:()=>$,getLocationIdsFromAchievementRule:()=>Ze,getRefreshToken:()=>xr,getRetryAttemptsRefreshToken:()=>Sr,getSessionUserId:()=>Xr,getUserInfo:()=>Mr,httpMaxRetries:()=>ie,isAchievementCompleted:()=>B,isBrowser:()=>Se,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>D,removeAccessToken:()=>Ur,removeChipAuthToken:()=>wr,removeDeviceUid:()=>Pr,removeRefreshToken:()=>Lr,removeUserInfo:()=>Dr,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>w,setAccessToken:()=>Er,setChipAuthToken:()=>he,setDeviceUid:()=>We,setRefreshToken:()=>_r,setRetryAttemptsRefreshToken:()=>Ir,setUserInfo:()=>br,sortLocationsByIndex:()=>He,transformProtoUserData:()=>de,useAchievementProgress:()=>achievement.useAchievementProgress,useAchivementPlusRewardModel:()=>Te,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>I,useAuthStore:()=>p,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearAchievementProgressCache:()=>xe,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>Zr,useDefaultServiceGetPollStats:()=>Kt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Kt.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>fe,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>cr,useManyAchievementProgressCore:()=>achievement.useManyAchievementProgress,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsByLocation:()=>achievement.useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>Kt.useNotificationRewardHandler,useNotificationStore:()=>Kt.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>Kt.usePageVisibility,useScanChip:()=>Kr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>q,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>Kt.useTCVNotificationRewardHandler,useTokenRefresher:()=>N,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>Kt.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});function xe(){let e=reactQuery.useQueryClient();return {clearCache:react.useCallback(o=>{let{refetchActive:r=true,refetchInactive:n=false}=o||{};[["deviceUidAchievementProgressMany"],["achievementProgressMany"]].forEach(i=>{e.invalidateQueries({queryKey:i,refetchType:r?n?"all":"active":"none"});}),console.log("\u{1F504} Achievement progress cache cleared");},[e])}}var Ze=e=>{if(!e.rule)return [];let s=[];return Object.values(e.rule).forEach(o=>{o.rules&&o.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(n=>{n.filters&&n.filters.forEach(t=>{t.label==="location_id"&&t.value&&(Array.isArray(t.value)?s.push(...t.value):s.push(t.value));});});});}),Array.from(new Set(s))},er=e=>{if(!e.rule)return [];let s=[];return Object.values(e.rule).forEach(o=>{o.rules&&o.rules.forEach(r=>{r.action&&s.push(r.action);});}),Array.from(new Set(s))},B=e=>e.isCompleted||e.overallPercentage===100;function L(e){if(e==null)return e;if(Array.isArray(e))return e.map(s=>L(s));if(typeof e=="object"&&e.constructor===Object){let s={};for(let o in e)if(e.hasOwnProperty(o)){let r=o.replace(/_([a-z])/g,(n,t)=>t.toUpperCase());s[r]=L(e[o]);}return s}return e}var cr=(e,s)=>{let o=!!e.userId,r=o?{achievementIds:e.achievementIds,userId:e.userId,applicationId:e.applicationId}:{achievement_ids:e.achievementIds,device_uid:e.deviceUid,applicationId:e.applicationId};return o?achievement.useManyAchievementProgress(r,{...s,select:n=>n.map(t=>({...t,isCompleted:B(t)}))}):apiCore.useManyAchievementProgressByDevice(r,{...s,select:n=>L(n).map(i=>({...i,isCompleted:B(i)}))})};var Le=(t=>(t.DEFAULT="default",t.MULTIPLE_CHECK_INS="multiple_check_ins",t.RANDOM_CHECK_INS="random_check_ins",t.GROUP_MISSION="group_mission",t.SURVEY="survey",t))(Le||{});var Me=(n=>(n.NOT_CLAIMED="not_claimed",n.CLAIMED="claimed",n.IN_PROGRESS="in_progress",n.FAILED="failed",n))(Me||{});var d={};Ue(d,{NotificationProvider:()=>se,useDefaultServiceGetPollStats:()=>Kt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Kt.useDefaultServicePostPoll,useNotificationRewardHandler:()=>Kt.useNotificationRewardHandler,useNotificationStore:()=>Kt.useNotificationStore,usePageVisibility:()=>Kt.usePageVisibility,useTCVNotificationRewardHandler:()=>Kt.useTCVNotificationRewardHandler,useWebSocket:()=>Kt.useWebSocket});c(d,Kt__namespace);var ho={dev:{API_BASE_URL:"https://backend-dev.nomion.io",API_BASE_CORE_URL:"https://backend-dev.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend-dev.nomion.io/achievement",API_REWARD_URL:"https://backend-dev.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc-dev.nomion.io/api",API_NOTIFICATION_SOCKET_URL:"https://backend-dev.nomion.io/notification-ws/ws"},staging:{API_BASE_URL:"https://backend-staging.nomion.io",API_BASE_CORE_URL:"https://backend-staging.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend-staging.nomion.io/achievement",API_REWARD_URL:"https://backend-staging.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc-staging.nomion.io/api",API_NOTIFICATION_SOCKET_URL:"https://backend-staging.nomion.io/notification-ws/ws"},production:{API_BASE_URL:"https://backend.nomion.io",API_BASE_CORE_URL:"https://backend.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend.nomion.io/achievement",API_REWARD_URL:"https://backend.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc.nomion.io/api",API_NOTIFICATION_SOCKET_URL:"https://backend.nomion.io/notification-ws/ws"}},P=ho;var se=({children:e,autoConnect:s=true,environment:o="dev",user:r,onWebSocketOpen:n,onWebSocketClose:t,onWebSocketMessage:i})=>{let a=P[o]?.API_NOTIFICATION_SOCKET_URL;return jsxRuntime.jsx(Kt.NotificationProvider,{userUid:r?.id,accessToken:r?.accessToken??null,webSocketUrl:a,autoConnect:s,onWebSocketOpen:n,onWebSocketClose:t,onWebSocketMessage:i,children:e})};c(u,d);var M="phygital-user-info",b="accessToken",D="refreshToken",ie=3,w="retryAttemptsRefreshToken",O="Device-UID",G="chip-auth-token",ae="https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html",ce=["https://s3-sgn10.fptcloud.com","https://accounts.google.com/"];var So={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},p=zustand.create()(middleware.devtools(middleware.persist(middleware.subscribeWithSelector(immer.immer((e,s)=>({...So,actions:{setIsLoading:o=>e(r=>{r.isLoading=o;}),setCleanupFunctions:o=>e(r=>{r.cleanupFunctions={...r.cleanupFunctions,...o};}),addEventCallbacks:o=>(e(r=>{r.eventCallbacks={...r.eventCallbacks,...o};}),()=>{e(r=>{r.eventCallbacks={...r.eventCallbacks,...o};});}),signInWithEmail:async(o,r)=>{let{eventCallbacks:n}=s();e(t=>{t.isLoading=true,t.error=null;});try{let t=await authentication.authService.signIn({email:o,password:r});return t?.data?.idToken&&t?.data?.refreshToken&&(authentication.tokenStorage.setTokens({idToken:t.data.idToken,refreshToken:t.data.refreshToken}),e(i=>{i.isSignedIn=!0;}),n.onLoginSuccess?.(t.data.idToken)),t}catch(t){let i=t instanceof Error?t.message:"Login failed";throw e(a=>{a.error=i;}),n.onLoginError?.(new Error(i)),t}finally{e(t=>{t.isLoading=false;});}},signInWithGoogle:async()=>{let{eventCallbacks:o}=s();try{let r=ae;return await authentication.authService.getOAuthSignInUrl(r)}catch(r){let n=r instanceof Error?r.message:"Google sign in failed";throw e(t=>{t.error=n;}),o.onLoginError?.(new Error(n)),r}},signUpWithEmail:async(o,r)=>{let{eventCallbacks:n}=s();e(t=>{t.isLoading=true,t.error=null;});try{let t=await authentication.authService.signUp({email:o,password:r});return t.data&&n.onSignupSuccess?.(),t}catch(t){let i=t instanceof Error?t.message:"Signup failed";throw e(a=>{a.error=i;}),n.onSignupError?.(new Error(i)),t}finally{e(t=>{t.isLoading=false,t.user=null,t.isSignedIn=false;});}},signOut:async()=>{let{eventCallbacks:o,cleanupFunctions:r}=s();e(n=>{n.isLoading=true,n.error=null;});try{e(i=>{i.user=null,i.isSignedIn=!1,i.error=null;});let n=authentication.tokenStorage.getRefreshToken();if(authentication.tokenStorage.isTokenExpired()||!n){authentication.tokenStorage.clearTokens();return}await authentication.authService.logout({refreshToken:n}),authentication.tokenStorage.clearTokens();try{r.clearQueryCache?.(),r.clearOrganization?.(),r.clearCustomData?.(),r.clearHeaders?.();}catch(i){console.warn("Error during logout cleanup:",i);}o.onLogoutSuccess?.();}catch(n){console.log(n);let t=n instanceof Error?n.message:"Logout failed";throw e(i=>{i.error=t;}),o.onLogoutError?.(new Error(t)),n}finally{e(n=>{n.isLoading=false;});}},sendPasswordResetEmail:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{await authentication.verifyCodeService.forgotPassword({email:o});}catch(r){let n=r instanceof Error?r.message:"Failed to send reset email";throw e(t=>{t.error=n;}),r}finally{e(r=>{r.isLoading=false;});}},resetPassword:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.resetPassword(o)}catch(r){let n=r instanceof Error?r.message:"Failed to reset password";throw e(t=>{t.error=n;}),r}finally{e(r=>{r.isLoading=false;});}},changePassword:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.changePassword(o)}catch(r){throw r}finally{e(r=>{r.isLoading=false;});}},verifyEmailCode:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.verifyEmail(o)}catch(r){let n=r instanceof Error?r.message:"Failed to send reset email";throw e(t=>{t.error=n;}),r}finally{e(r=>{r.isLoading=false;});}},sendVerifyCode:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.sendVerifyCode(o)}catch(r){let n=r instanceof Error?r.message:"Failed to send verify code";throw e(t=>{t.error=n;}),r}finally{e(r=>{r.isLoading=false;});}},refreshToken:async o=>{let r=await authentication.authService.refreshToken({refreshToken:o??authentication.tokenStorage.getRefreshToken()??""});return r.data?.idToken&&r.data?.refreshToken&&authentication.tokenStorage.setTokens({idToken:r.data?.idToken,refreshToken:r.data?.refreshToken}),r},clearError:()=>e(o=>{o.error=null;}),setUser:o=>e(r=>{r.user=o;}),setIsSignedIn:o=>e(r=>{r.isSignedIn=o;}),setIsInitialized:o=>e(r=>{r.isInitialized=o;}),patchUser:o=>e(r=>{r.user?r.user={...r.user,...o}:r.user=o;}),initialize:()=>{e(o=>{let r=authentication.tokenStorage.getAuthToken();o.isSignedIn=!!r,o.isInitialized=true;});},syncAuthState:()=>{e(o=>{let r=authentication.tokenStorage.getAuthToken(),n=o.isSignedIn;o.isSignedIn=!!r,n!==o.isSignedIn&&(o.isSignedIn?o.eventCallbacks?.onAuthStateChange?.(o.user,true):o.eventCallbacks?.onAuthStateChange?.(null,false));});}}}))),{version:1,name:"auth-store",storage:middleware.createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),I=()=>{let e=p(i=>i.user),s=p(i=>i.isSignedIn),o=p(i=>i.isInitialized),r=p(i=>i.isLoading),n=p(i=>i.error),t=p(i=>i.actions);return {user:e,isSignedIn:s,isInitialized:o,isLoading:r,error:n,...t}};var de=(e,s)=>{let o={...e},r={};try{r=jwtDecode.jwtDecode(s);}catch(n){console.warn("Failed to decode token in transformUserData:",n);}return o.exp=r.exp||0,o.accessToken=s||"",o.roles=r?.roles||["USER"],o.account_type=r?.account_type||0,o.picture=e.picture||"",o},ue=e=>{try{return jwtDecode.jwtDecode(e)}catch(s){return console.warn("Failed to decode token in decodeJWTToken:",s),null}};function N(){let{refreshToken:e,signOut:s}=I(),o=async()=>{try{if(!authentication.tokenStorage.isTokenExpired())return;await e();}catch(r){console.error("Failed to refresh token:",r),s();}};reactQuery.useQuery({queryKey:["refresh-token"],queryFn:()=>o(),refetchInterval:1800*1e3,refetchIntervalInBackground:false,refetchOnWindowFocus:true,retry:false,enabled:!!authentication.tokenStorage.getAuthToken()});}var Do=()=>{let{updateHeaders:e}=authentication.useAuthenticationHeaders(),{updateHeaders:s,coreApi:o}=apiCore.usePGLCoreService(),{updateHeaders:r}=achievement.useAchievementService(),{updateHeaders:n}=reward.useRewardService(),{updateHeaders:t}=generateCertificate.useGenerateCertificateService();return react.useEffect(()=>{p.getState().actions.initialize();let i=authentication.tokenStorage.getAuthToken();if(i){e({Authorization:`Bearer ${i}`}),s({Authorization:`Bearer ${i}`}),r({Authorization:`Bearer ${i}`}),n({Authorization:`Bearer ${i}`}),t({Authorization:`Bearer ${i}`});let{user:m}=p.getState();m&&m.accessToken!==i&&p.getState().actions.setUser({...m,accessToken:i});}let a=p.getState().isSignedIn,l=p.subscribe(m=>[m.isSignedIn,m.user],async([m])=>{if(m!==a)if(a=m,m){let g=authentication.tokenStorage.getAuthToken();if(g){e({Authorization:`Bearer ${g}`}),s({Authorization:`Bearer ${g}`}),r({Authorization:`Bearer ${g}`}),n({Authorization:`Bearer ${g}`}),t({Authorization:`Bearer ${g}`});try{let f=await apiCore.userService(o).getMyProfile(),k=de(f,g);p.getState().actions.setUser(k);}catch{p.getState().actions.signOut();}}let{eventCallbacks:h,user:T}=p.getState();h?.onAuthStateChange?.(T,true);}else {e({}),s({}),r({Authorization:""}),n({Authorization:""}),t({Authorization:""});let{eventCallbacks:g}=p.getState();g?.onAuthStateChange?.(null,false);}}),_=authentication.tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:m,user:g}=p.getState();if(m){let h=authentication.tokenStorage.getAuthToken();h?(e({Authorization:`Bearer ${h}`}),s({Authorization:`Bearer ${h}`}),r({Authorization:`Bearer ${h}`}),n({Authorization:`Bearer ${h}`}),t({Authorization:`Bearer ${h}`}),g&&g.accessToken!==h&&p.getState().actions.setUser({...g,accessToken:h})):(p.getState().actions.signOut(),e({}),s({}),r({Authorization:""}),n({Authorization:""}),t({Authorization:""}));}});return ()=>{l(),_();}},[e,s,r,n,t,o]),null},Oo=()=>(N(),null),W=({children:e,baseURL:s,queryClient:o})=>jsxRuntime.jsxs(authentication.AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:s,queryClient:o,children:[jsxRuntime.jsx(Do,{}),jsxRuntime.jsx(Oo,{}),e]});function fe(e={}){let{onSuccess:s,onError:o,onPopupBlocked:r,onPopupClosed:n}=e,{signInWithGoogle:t,refreshToken:i,setIsSignedIn:a,setIsLoading:l,isLoading:_}=I(),[m,g]=react.useState(null),h=react.useRef(null),T=react.useRef(false),C=react.useRef(null),f=react.useRef(null),k=react.useCallback(async y=>{if(y)try{let v=await i(y);if(v.data?.idToken&&v.data?.refreshToken){authentication.tokenStorage.setTokens({idToken:v.data.idToken,refreshToken:v.data.refreshToken});let R=ue(v.data.idToken);a(!0),l(!1),s?.(R);}}catch(v){let R=v instanceof Error?v.message:"Token refresh failed";f.current=R,o?.(R),l(false);}},[i,a,l,s,o]),E=react.useCallback(()=>{C.current&&(clearInterval(C.current),C.current=null),T.current=false;},[]),U=react.useCallback(y=>{let v=ce.concat(window?.location?.origin);if(y.origin!=="*"&&!v.includes(y.origin)){console.warn("Rejected message from untrusted origin:",y.origin);return}if(!y.data||typeof y.data!="object"){console.warn("Invalid message data received");return}if(y.data.type==="LOGIN_SUCCESS"){let{refreshToken:R}=y.data;R&&k(R),T.current=true,E();}else if(y.data.type==="LOGIN_ERROR"){let R=y.data.error||"Login failed";f.current=R,o?.(R),l(false),T.current=true,E();}},[k,l,E,o]);react.useEffect(()=>{(async()=>{try{let v=await t();g(v.statusMessage||"");}catch(v){console.error("error",v),g("");}})();},[]);let x=react.useCallback(()=>{let R=window.screenX+(window.outerWidth-500)/2,co=window.screenY+(window.outerHeight-600)/2;try{if(m===null)return;if(m===""){let A="Google sign in failed. Please try again later.";f.current=A,o?.(A);return}if(f.current=null,l(!0),h.current=window.open(m,"oauthPopup",`width=500,height=600,left=${R},top=${co},resizable,scrollbars`),!h.current){l(!1);let A="Popup blocked. Please allow popups for this site.";f.current=A,r?.(),o?.(A);return}C.current=setInterval(()=>{if(h.current&&h.current.closed&&(C.current&&(clearInterval(C.current),C.current=null),!T.current)){let A="Authentication popup was closed";f.current=A,n?.(),o?.(A),l(!1);}},500);}catch(A){let Je=A instanceof Error?A.message:"Google sign in failed";f.current=Je,o?.(Je),l(false);}},[t,l,U,o,r,n,m]);return react.useEffect(()=>(window.addEventListener("message",U),()=>{window.removeEventListener("message",U);}),[U]),react.useEffect(()=>()=>{E();},[E]),{signIn:x,isLoading:_,error:f.current}}var Ke=async()=>{try{return await zo()}catch(e){return console.error("Error generating device fingerprint:",e),uuid.v4()}},zo=async()=>{let e=new Date().toISOString(),s=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.platform,navigator.hardwareConcurrency,e].join("::"),r=new TextEncoder().encode(s),n=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(n)).map(a=>a.toString(16).padStart(2,"0")).join("")};var $=()=>typeof window>"u"?null:localStorage.getItem(O),We=e=>{typeof window>"u"||localStorage.setItem(O,e);},Pr=()=>{typeof window>"u"||localStorage.removeItem(O);},ge=async()=>{let e=$();return e||(e=await Ke(),We(e)),e},kr=()=>typeof window>"u"?null:localStorage.getItem(G),he=e=>{typeof window>"u"||localStorage.setItem(G,e);},wr=()=>{typeof window>"u"||localStorage.removeItem(G);},Sr=()=>typeof window>"u"?null:localStorage.getItem(w),Ir=e=>{typeof window>"u"||localStorage.setItem(w,e);},Tr=()=>typeof window>"u"?null:localStorage.getItem(b),Er=e=>{typeof window>"u"||localStorage.setItem(b,e);},Ur=()=>{typeof window>"u"||localStorage.removeItem(b);},xr=()=>typeof window>"u"?null:localStorage.getItem(D),_r=e=>{typeof window>"u"||localStorage.setItem(D,e);},Lr=()=>{typeof window>"u"||localStorage.removeItem(D);},Mr=()=>{if(typeof window>"u")return null;let e=localStorage.getItem(M);if(!e)return null;try{return JSON.parse(e)}catch(s){return console.error("Failed to parse stored user data:",s),null}},br=e=>{typeof window>"u"||localStorage.setItem(M,JSON.stringify(e));},Dr=()=>{typeof window>"u"||localStorage.removeItem(M);};function Kr({token:e,id:s,onScanChipError:o}){let{updateHeaders:r}=apiCore.usePGLCoreService();react.useEffect(()=>{if(e){let l={"Chip-Authorization":e};he(e),r(l);}},[e,r]);let{data:n,isLoading:t,isError:i,isSuccess:a}=apiCore.useChipScanStory({token:e,id:s});return react.useEffect(()=>{i&&o?.();},[i,o]),n?{data:{externalUrl:n?.external_url,campaignDetail:n?.project,locationDetail:n?.location,scanCounter:n?.scan_counter,campaignId:n?.campaign_id,chipModelId:n?.chip_model_id,organizationId:n?.organization_id,projectId:n?.project_id,locationId:n?.location_id,chipUid:n?.uid},isLoading:t,isError:i,isSuccess:a}:{data:null,isLoading:t,isError:i,isSuccess:a}}var qe=(n=>(n.CHECK_IN="check_in",n.CREATE_MEMORY="create_memory",n.FILL_FORM="fill_form",n.SHARE="share",n))(qe||{});var He=e=>[...e].sort((s,o)=>(s.index??0)-(o.index??0)),je=(e,s,o)=>e.filter(r=>r[s]===o);var Xr=e=>e||$(),Se=()=>typeof window<"u";var F=react.createContext(null);function qo(){return uuid.v4()}async function Ho(e){try{let s=(await import('@openreplay/tracker')).default,o=e?.userIdEnabled&&e?.getUserId?e.getUserId:qo,r={projectKey:e?.projectKey||process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY,ingestPoint:e?.ingestPoint,captureExceptions:e.captureExceptions??!0,capturePerformance:e.capturePerformance??!0,network:e.network||{capturePayload:!0,sanitizer:t=>t},console:e.console||{levels:["error","warn","log"]},obscureTextEmails:e.obscureTextEmails??!0,obscureTextNumbers:e.obscureTextNumbers??!1,obscureInputEmails:e.obscureInputEmails??!0,__DISABLE_SECURE_MODE:e.__DISABLE_SECURE_MODE??(typeof process<"u"&&process.env?.NODE_ENV==="development")},n=new s(r);if(e?.userIdEnabled){let t=o();n.setUserID(t),console.log("User ID set:",t);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",r.projectKey),console.log("Ingest Point:",r.ingestPoint),n}catch(s){throw console.error("Failed to create tracker:",s),s}}function jo(e,s){let{debug:o=false}=e.config;switch(s.type){case "init":return !e.tracker&&Se()?!e.config.projectKey&&!process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY?(console.warn(o,"Project key not found. Skipping session replay initialization."),e):{...e,tracker:Ho(e.config)}:e;case "start":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.start(),console.log(o,"Session replay tracker started");}).catch(r=>{console.error("Failed to start tracker:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;case "setUserId":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.setUserID(s.payload),console.log(o,"User ID updated:",s.payload);}).catch(r=>{console.error("Failed to set user ID:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;case "setMetadata":return e.tracker?Promise.resolve(e.tracker).then(r=>{Object.entries(s.payload||{})?.forEach(([n,t])=>{r.setMetadata(n,t);}),console.log(o,"Metadata updated:",s.payload.metadata);}).catch(r=>{console.error("Failed to set metadata:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;default:return e}}var V=({children:e,config:s={}})=>{let[,o]=react.useReducer(jo,{tracker:null,config:s}),r=()=>o({type:"init"}),n=()=>o({type:"start"}),t=a=>o({type:"setUserId",payload:a}),i=a=>o({type:"setMetadata",payload:a});return react.useEffect(()=>{r(),n();},[]),jsxRuntime.jsx(F.Provider,{value:{initTracker:r,startTracking:n,setUserId:t,setMetadata:i},children:e})};function q(){let e=react.useContext(F);if(!e)throw new Error("useSessionReplay must be used within a SessionReplayProvider. Make sure your component is wrapped with <SessionReplayProvider>.");return e}var Yo=(e,s)=>{try{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...s});}catch(o){console.error(o);}},Xo=(e,s)=>{if(typeof gtag!="function"){console.error("gtag is not a function");return}gtag("event",e,s);},Zo=(e,s)=>{Ie__default.default.capture(e,s);};function Zr(){let{setUserId:e,setMetadata:s}=q();return {trackEvent:(t,i,a)=>{console.log("trackEvent ",t,i),a=a||["gtm"],a.includes("gtm")&&typeof window<"u"&&Yo(t,i),a.includes("ga")&&typeof gtag=="function"&&Xo(t,i),a.includes("posthog")&&typeof Ie__default.default=="function"&&Zo(t,i);},trackUserIdentify:t=>{Ie__default.default.identify(t.email,{email:t.email,name:t.name,avatar:t.avatar,uid:t.uid}),e(t.id),s({user_email:t.email});},trackLogoutEvent:()=>{Ie__default.default.capture("user_signed_out");}}}var ro=({children:e,queryClient:s,apiConfig:o={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:n}=I(),{environment:t,version:i}=o,[a,l]=react.useState(null);return react.useEffect(()=>{(async()=>{try{let m=await ge();l({queryClient:s,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":m}},responseInterceptors:{onFulfilled:f=>f,onRejected:async f=>{let k=f.config,E=authentication.tokenStorage.getAuthToken();if(f.response?.status===401&&!k._retry){let U=parseInt(helpers.getFromLS(w)||"0",10);if(U>=3)return await r(),helpers.setToLS(w,0),Promise.reject(f);if(helpers.setToLS(w,`${U+1}`),k._retry=!0,E)try{let x=await n();if(x?.data?.idToken)return k.headers.Authorization=`Bearer ${x?.data?.idToken}`,ct__default.default(k)}catch(x){return console.error("Failed to refresh token:",x),await r(),Promise.reject(x)}}}},requestInterceptors:{onFulfilled:f=>f,onRejected:f=>Promise.reject(f)},useDevTool:!0});}catch(m){console.error(m);}})();},[s]),a?jsxRuntime.jsx(apiCore.PGLCoreServiceProvider,{...a,baseURL:`${P[t].API_BASE_URL}/${i}`,baseCoreURL:`${P[t].API_BASE_CORE_URL}/${i}`,children:jsxRuntime.jsx(reward.RewardServiceProvider,{...a,baseURL:`${P[t].API_REWARD_URL}/v1`,children:jsxRuntime.jsx(achievement.AchievementServiceProvider,{...a,baseURL:`${P[t].API_ACHIEVEMENT_URL}/${i}`,children:jsxRuntime.jsx(generateCertificate.GenerateCertificateServiceProvider,{...a,baseURL:`${P[t].API_GENERATE_CERTIFICATE_URL}/v1`,children:e})})})}):jsxRuntime.jsx(jsxRuntime.Fragment,{})};var oo=({children:e,queryClient:s,apiConfig:o})=>{let{environment:r}=o,n=react.useMemo(()=>{let t=process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY;if(t)return {projectKey:t,ingestPoint:process.env.NEXT_PUBLIC_OPENREPLAY_INGEST_POINT,debug:process.env.NODE_ENV==="development",captureExceptions:true,capturePerformance:true,obscureTextEmails:true,obscureInputEmails:true}},[]);return jsxRuntime.jsx(V,{config:n,children:jsxRuntime.jsx(ro,{queryClient:s,apiConfig:o,children:jsxRuntime.jsx(W,{baseURL:`${P[r].API_BASE_URL}`,queryClient:s,children:e})})})};function ft(e,s){if(!s?.reward_models)return [];let o=s.reward_models;return e.map((r,n)=>{let t=o[n]?.[0]||null,i=r.subAchievementIds?.map((a,l)=>{let _=o[n*(r.subAchievementIds?.length||0)+l+1]?.[0]||null;return {id:a,reward_model:_}})||[];return {id:r.id,name:r.name,reward_model:t,subAchievements:i}})}var gt=({campaignId:e})=>{let{data:s,isLoading:o}=achievement.useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=react.useMemo(()=>s?.data?s.data.map(l=>l.groupRewardId).filter(l=>l!==void 0):[],[s?.data]),{mutate:n,data:t,isPending:i}=reward.useCreateModelGroupReward();return react.useEffect(()=>{r.length>0&&n({group_reward_ids:r});},[r,n]),{mappedAchievements:react.useMemo(()=>!t?.data||!s?.data?[]:ft(s.data,t.data),[t,s?.data]),isLoading:o||i}},Te=gt;c(Ee,u);
2
- Object.defineProperty(exports,"CampaignState",{enumerable:true,get:function(){return apiCore.CampaignState}});Object.defineProperty(exports,"UserSourceType",{enumerable:true,get:function(){return apiCore.UserSourceType}});Object.defineProperty(exports,"locationQueryKeys",{enumerable:true,get:function(){return apiCore.locationQueryKeys}});Object.defineProperty(exports,"memoriesKey",{enumerable:true,get:function(){return apiCore.memoriesKey}});Object.defineProperty(exports,"resetMemoriesQuery",{enumerable:true,get:function(){return apiCore.resetMemoriesQuery}});Object.defineProperty(exports,"useCampaignDetail",{enumerable:true,get:function(){return apiCore.useOneCampaign}});Object.defineProperty(exports,"useCancelUserRewardsRequest",{enumerable:true,get:function(){return apiCore.useCancelUserRewardsRequest}});Object.defineProperty(exports,"useChipScanStory",{enumerable:true,get:function(){return apiCore.useChipScanStory}});Object.defineProperty(exports,"useCreateMemory",{enumerable:true,get:function(){return apiCore.useCreateMemory}});Object.defineProperty(exports,"useInfiniteMemories",{enumerable:true,get:function(){return apiCore.useInfiniteMemories}});Object.defineProperty(exports,"useLocationDetail",{enumerable:true,get:function(){return apiCore.useOneLocation}});Object.defineProperty(exports,"useLocationProgress",{enumerable:true,get:function(){return apiCore.useUserCampaignsCompletedLocation}});Object.defineProperty(exports,"useLocationsList",{enumerable:true,get:function(){return apiCore.useManyLocations}});Object.defineProperty(exports,"useManyMemory",{enumerable:true,get:function(){return apiCore.useManyMemory}});Object.defineProperty(exports,"useManyUserActionLocations",{enumerable:true,get:function(){return apiCore.useManyUserActionLocations}});Object.defineProperty(exports,"useMyProfile",{enumerable:true,get:function(){return apiCore.useMyProfile}});Object.defineProperty(exports,"useOneMemory",{enumerable:true,get:function(){return apiCore.useOneMemory}});Object.defineProperty(exports,"useOneUserCampaign",{enumerable:true,get:function(){return apiCore.useOneUserCampaign}});Object.defineProperty(exports,"usePGLCoreService",{enumerable:true,get:function(){return apiCore.usePGLCoreService}});Object.defineProperty(exports,"useSendEmail",{enumerable:true,get:function(){return apiCore.useSendEmail}});Object.defineProperty(exports,"useSyncCheckin",{enumerable:true,get:function(){return apiCore.useSyncCheckin}});Object.defineProperty(exports,"useUpdateMyProfile",{enumerable:true,get:function(){return apiCore.useUpdateMyProfile}});Object.defineProperty(exports,"useUploadMedia",{enumerable:true,get:function(){return apiCore.useUploadMedia}});Object.defineProperty(exports,"useUserCampaignAction",{enumerable:true,get:function(){return apiCore.useUserCampaignAction}});Object.defineProperty(exports,"AchievementRuleActionType",{enumerable:true,get:function(){return achievement.AchievementRuleActionType}});Object.defineProperty(exports,"AchievementServiceProvider",{enumerable:true,get:function(){return achievement.AchievementServiceProvider}});Object.defineProperty(exports,"useAchievementProgress",{enumerable:true,get:function(){return achievement.useAchievementProgress}});Object.defineProperty(exports,"useManyAchievementProgressCore",{enumerable:true,get:function(){return achievement.useManyAchievementProgress}});Object.defineProperty(exports,"useManyAchievements",{enumerable:true,get:function(){return achievement.useManyAchievements}});Object.defineProperty(exports,"useManyAchievementsByLocation",{enumerable:true,get:function(){return achievement.useManyAchievementsByLocation}});Object.defineProperty(exports,"useManyAchievementsRewardModels",{enumerable:true,get:function(){return achievement.useManyAchievementsRewardModels}});Object.defineProperty(exports,"useManyChildrenAchievements",{enumerable:true,get:function(){return achievement.useManyChildrenAchievements}});Object.defineProperty(exports,"useOneAchievement",{enumerable:true,get:function(){return achievement.useOneAchievement}});Object.defineProperty(exports,"useUserAchievementAction",{enumerable:true,get:function(){return achievement.useUserAchievementAction}});Object.defineProperty(exports,"CmentityRewardType",{enumerable:true,get:function(){return reward.CmentityRewardType}});Object.defineProperty(exports,"useClaimUserReward",{enumerable:true,get:function(){return reward.useClaimUserReward}});Object.defineProperty(exports,"useClearUserRewardCache",{enumerable:true,get:function(){return reward.useClearUserRewardCache}});Object.defineProperty(exports,"useCreateModelGroupReward",{enumerable:true,get:function(){return reward.useCreateModelGroupReward}});Object.defineProperty(exports,"useCreateRewardModel",{enumerable:true,get:function(){return reward.useCreateRewardModel}});Object.defineProperty(exports,"useDeleteRewardModel",{enumerable:true,get:function(){return reward.useDeleteRewardModel}});Object.defineProperty(exports,"useGetRewardModel",{enumerable:true,get:function(){return reward.useGetRewardModel}});Object.defineProperty(exports,"useGetUserRewards",{enumerable:true,get:function(){return reward.useGetUserRewards}});Object.defineProperty(exports,"useListRewardModels",{enumerable:true,get:function(){return reward.useListRewardModels}});Object.defineProperty(exports,"useManyUserRewards",{enumerable:true,get:function(){return reward.useManyUserRewards}});Object.defineProperty(exports,"useUpdateRewardModel",{enumerable:true,get:function(){return reward.useUpdateRewardModel}});Object.defineProperty(exports,"useV1ListRewards",{enumerable:true,get:function(){return reward.useV1ListRewards}});Object.defineProperty(exports,"useDefaultServiceGetPollStats",{enumerable:true,get:function(){return Kt.useDefaultServiceGetPollStats}});Object.defineProperty(exports,"useDefaultServicePostPoll",{enumerable:true,get:function(){return Kt.useDefaultServicePostPoll}});Object.defineProperty(exports,"useNotificationRewardHandler",{enumerable:true,get:function(){return Kt.useNotificationRewardHandler}});Object.defineProperty(exports,"useNotificationStore",{enumerable:true,get:function(){return Kt.useNotificationStore}});Object.defineProperty(exports,"usePageVisibility",{enumerable:true,get:function(){return Kt.usePageVisibility}});Object.defineProperty(exports,"useTCVNotificationRewardHandler",{enumerable:true,get:function(){return Kt.useTCVNotificationRewardHandler}});Object.defineProperty(exports,"useWebSocket",{enumerable:true,get:function(){return Kt.useWebSocket}});Object.defineProperty(exports,"useAddFrame",{enumerable:true,get:function(){return generateCertificate.useAddFrame}});Object.defineProperty(exports,"useCreateCertificate",{enumerable:true,get:function(){return generateCertificate.useCreateCertificate}});Object.defineProperty(exports,"useCreateCertificateAnonymous",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateAnonymous}});Object.defineProperty(exports,"useCreateCertificateWithMask",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateWithMask}});Object.defineProperty(exports,"useGenerateFansipanCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateFansipanCertificate}});Object.defineProperty(exports,"useGenerateTemplateCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateTemplateCertificate}});Object.defineProperty(exports,"useGenerateThaocamvienCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateThaocamvienCertificate}});Object.defineProperty(exports,"wrapTextWithFont",{enumerable:true,get:function(){return generateCertificate.wrapTextWithFont}});Object.defineProperty(exports,"cn",{enumerable:true,get:function(){return helpers.cn}});Object.defineProperty(exports,"fileToBase64",{enumerable:true,get:function(){return helpers.fileToBase64}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return helpers.parse}});exports.ALLOWED_ORIGINS=ce;exports.AchievementType=Le;exports.AuthProvider=W;exports.CALLBACK_URL=ae;exports.NotificationProvider=se;exports.RewardClaimStatus=Me;exports.SessionReplayProvider=V;exports.TapquestCoreProvider=oo;exports.TaskType=qe;exports.TrackerContext=F;exports.accessTokenKey=b;exports.checkDeviceUid=ge;exports.chipAuthTokenKey=G;exports.convertSnakeToCamel=L;exports.decodeJWTToken=ue;exports.deviceUIDKey=O;exports.filterLocationsByProperty=je;exports.generateDeviceId=Ke;exports.getAccessToken=Tr;exports.getActionsFromAchievementRule=er;exports.getChipAuthToken=kr;exports.getDeviceUid=$;exports.getLocationIdsFromAchievementRule=Ze;exports.getRefreshToken=xr;exports.getRetryAttemptsRefreshToken=Sr;exports.getSessionUserId=Xr;exports.getUserInfo=Mr;exports.httpMaxRetries=ie;exports.isAchievementCompleted=B;exports.isBrowser=Se;exports.refreshTokenKey=D;exports.removeAccessToken=Ur;exports.removeChipAuthToken=wr;exports.removeDeviceUid=Pr;exports.removeRefreshToken=Lr;exports.removeUserInfo=Dr;exports.retryAttemptsRefreshToken=w;exports.setAccessToken=Er;exports.setChipAuthToken=he;exports.setDeviceUid=We;exports.setRefreshToken=_r;exports.setRetryAttemptsRefreshToken=Ir;exports.setUserInfo=br;exports.sortLocationsByIndex=He;exports.transformProtoUserData=de;exports.useAchivementPlusRewardModel=Te;exports.useAuth=I;exports.useAuthStore=p;exports.useClearAchievementProgressCache=xe;exports.useDataTracking=Zr;exports.useGoogleLogin=fe;exports.useManyAchievementProgress=cr;exports.useScanChip=Kr;exports.useSessionReplay=q;exports.useTokenRefresher=N;exports.userInfoKey=M;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var apiCore=require('@phygitallabs/api-core'),achievement=require('@phygitallabs/achievement'),reactQuery=require('@tanstack/react-query'),react=require('react'),ne=require('posthog-js'),uuid=require('uuid'),jsxRuntime=require('react/jsx-runtime'),fn=require('@phygitallabs/notification-api'),reward=require('@phygitallabs/reward'),authentication=require('@phygitallabs/authentication'),zustand=require('zustand'),immer=require('zustand/middleware/immer'),middleware=require('zustand/middleware'),jwtDecode=require('jwt-decode'),generateCertificate=require('@phygitallabs/generate-certificate'),helpers=require('@phygitallabs/helpers'),Ro=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var ne__default=/*#__PURE__*/_interopDefault(ne);var fn__namespace=/*#__PURE__*/_interopNamespace(fn);var Ro__default=/*#__PURE__*/_interopDefault(Ro);var or=Object.defineProperty;var gt=Object.getOwnPropertyDescriptor;var ht=Object.getOwnPropertyNames;var yt=Object.prototype.hasOwnProperty;var be=(e,n)=>{for(var t in n)or(e,t,{get:n[t],enumerable:true});},tr=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of ht(n))!yt.call(e,o)&&o!==t&&or(e,o,{get:()=>n[o],enumerable:!(r=gt(n,o))||r.enumerable});return e},f=(e,n,t)=>(tr(e,n,"default"),t);var Me={};be(Me,{ALLOWED_ORIGINS:()=>ee,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementTrackingProvider:()=>qe,AchievementType:()=>Y,AuthProvider:()=>j,CALLBACK_URL:()=>Z,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,NotificationProvider:()=>se,RewardClaimStatus:()=>He,SessionReplayProvider:()=>W,TapquestCoreProvider:()=>ct,TaskType:()=>Ye,TrackerContext:()=>N,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>re,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>Ae,deviceUIDKey:()=>D,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>Ze,generateDeviceId:()=>Ge,getAccessToken:()=>Pr,getActionsFromAchievementRule:()=>z,getChipAuthToken:()=>yr,getDeviceUid:()=>K,getLocationIdsFromAchievementRule:()=>nr,getRefreshToken:()=>kr,getRetryAttemptsRefreshToken:()=>Ar,getSessionUserId:()=>_r,getSurveyIdsFromAchievementRule:()=>ir,getUserInfo:()=>Ir,httpMaxRetries:()=>X,isAchievementCompleted:()=>B,isBrowser:()=>oe,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>O,removeAccessToken:()=>wr,removeChipAuthToken:()=>vr,removeDeviceUid:()=>hr,removeRefreshToken:()=>Tr,removeUserInfo:()=>xr,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>Cr,setChipAuthToken:()=>te,setDeviceUid:()=>Ne,setRefreshToken:()=>Sr,setRetryAttemptsRefreshToken:()=>Rr,setUserInfo:()=>Er,sortLocationsByIndex:()=>Xe,transformProtoUserData:()=>ve,useAchievementProgress:()=>achievement.useAchievementProgress,useAchievementTracking:()=>Ve,useAchivementPlusRewardModel:()=>Le,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>U,useAuthStore:()=>v,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearAchievementProgressCache:()=>Oe,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>apiCore.useCreateClickButtonActionLog,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>ie,useDefaultServiceGetPollStats:()=>fn.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>fn.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>we,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>mr,useManyAchievementProgressCore:()=>achievement.useManyAchievementProgress,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsByLocation:()=>achievement.useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>fn.useNotificationRewardHandler,useNotificationStore:()=>fn.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>fn.usePageVisibility,useScanChip:()=>Jr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>$,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>fn.useTCVNotificationRewardHandler,useTokenRefresher:()=>F,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>fn.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});var y={};be(y,{ALLOWED_ORIGINS:()=>ee,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementTrackingProvider:()=>qe,AchievementType:()=>Y,AuthProvider:()=>j,CALLBACK_URL:()=>Z,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,NotificationProvider:()=>se,RewardClaimStatus:()=>He,SessionReplayProvider:()=>W,TapquestCoreProvider:()=>ct,TaskType:()=>Ye,TrackerContext:()=>N,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>re,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>Ae,deviceUIDKey:()=>D,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>Ze,generateDeviceId:()=>Ge,getAccessToken:()=>Pr,getActionsFromAchievementRule:()=>z,getChipAuthToken:()=>yr,getDeviceUid:()=>K,getLocationIdsFromAchievementRule:()=>nr,getRefreshToken:()=>kr,getRetryAttemptsRefreshToken:()=>Ar,getSessionUserId:()=>_r,getSurveyIdsFromAchievementRule:()=>ir,getUserInfo:()=>Ir,httpMaxRetries:()=>X,isAchievementCompleted:()=>B,isBrowser:()=>oe,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>O,removeAccessToken:()=>wr,removeChipAuthToken:()=>vr,removeDeviceUid:()=>hr,removeRefreshToken:()=>Tr,removeUserInfo:()=>xr,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>Cr,setChipAuthToken:()=>te,setDeviceUid:()=>Ne,setRefreshToken:()=>Sr,setRetryAttemptsRefreshToken:()=>Rr,setUserInfo:()=>Er,sortLocationsByIndex:()=>Xe,transformProtoUserData:()=>ve,useAchievementProgress:()=>achievement.useAchievementProgress,useAchievementTracking:()=>Ve,useAchivementPlusRewardModel:()=>Le,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>U,useAuthStore:()=>v,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearAchievementProgressCache:()=>Oe,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>apiCore.useCreateClickButtonActionLog,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>ie,useDefaultServiceGetPollStats:()=>fn.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>fn.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>we,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>mr,useManyAchievementProgressCore:()=>achievement.useManyAchievementProgress,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsByLocation:()=>achievement.useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>fn.useNotificationRewardHandler,useNotificationStore:()=>fn.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>fn.usePageVisibility,useScanChip:()=>Jr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>$,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>fn.useTCVNotificationRewardHandler,useTokenRefresher:()=>F,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>fn.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});function Oe(){let e=reactQuery.useQueryClient();return {clearCache:react.useCallback(t=>{let{refetchActive:r=true,refetchInactive:o=false}=t||{};e.invalidateQueries({predicate:i=>{let s=i.queryKey;return s.includes("achievementProgressMany")||s.includes("achievementProgress")||s.includes("deviceUidAchievementProgressMany")},refetchType:r?o?"all":"active":"none"}),console.log("\u{1F504} Achievement progress cache cleared");},[e])}}var nr=e=>{if(!e.rule)return [];let n=[];return Object.values(e.rule).forEach(t=>{t.rules&&t.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(o=>{o.filters&&o.filters.forEach(i=>{i.label==="location_id"&&i.value&&(Array.isArray(i.value)?n.push(...i.value):n.push(i.value));});});});}),Array.from(new Set(n))},ir=e=>{if(!e.rule)return [];let n=[];return Object.values(e.rule).forEach(t=>{t.rules&&t.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(o=>{o.filters&&o.filters.forEach(i=>{i.label==="survey_id"&&i.value&&(Array.isArray(i.value)?n.push(...i.value):n.push(i.value));});});});}),Array.from(new Set(n))},z=e=>{if(!(e!=null&&e.rule))return [];let n=[];return Object.values((e==null?void 0:e.rule)||{}).forEach(t=>{var r;t!=null&&t.rules&&((r=t==null?void 0:t.rules)==null||r.forEach(o=>{o!=null&&o.action&&n.push(o==null?void 0:o.action);}));}),Array.from(new Set(n))},B=e=>e.isCompleted||e.overallPercentage===100;function L(e){if(e==null)return e;if(Array.isArray(e))return e.map(n=>L(n));if(typeof e=="object"&&e.constructor===Object){let n={};for(let t in e)if(e.hasOwnProperty(t)){let r=t.replace(/_([a-z])/g,(o,i)=>i.toUpperCase());n[r]=L(e[t]);}return n}return e}var mr=(e,n)=>{let t=!!e.userId,r=t?{achievementIds:e.achievementIds,userId:e.userId,applicationId:e.applicationId}:{achievement_ids:e.achievementIds,device_uid:e.deviceUid,applicationId:e.applicationId};return t?achievement.useManyAchievementProgress(r,{...n,select:o=>o.map(i=>({...i,isCompleted:B(i)}))}):apiCore.useManyAchievementProgressByDevice(r,{...n,select:o=>L(o).map(s=>({...s,isCompleted:B(s)}))})};var Y=(i=>(i.DEFAULT="default",i.MULTIPLE_CHECK_INS="multiple_check_ins",i.RANDOM_CHECK_INS="random_check_ins",i.GROUP_MISSION="group_mission",i.SURVEY="survey",i))(Y||{});var M="phygital-user-info",b="accessToken",O="refreshToken",X=3,x="retryAttemptsRefreshToken",D="Device-UID",G="chip-auth-token",Z="https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html",ee=["https://s3-sgn10.fptcloud.com","https://accounts.google.com/"];var Ge=async()=>{try{return await Ct()}catch(e){return console.error("Error generating device fingerprint:",e),uuid.v4()}},Ct=async()=>{let e=new Date().toISOString(),n=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.platform,navigator.hardwareConcurrency,e].join("::"),r=new TextEncoder().encode(n),o=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(o)).map(a=>a.toString(16).padStart(2,"0")).join("")};var K=()=>typeof window=="undefined"?null:localStorage.getItem(D),Ne=e=>{typeof window!="undefined"&&localStorage.setItem(D,e);},hr=()=>{typeof window!="undefined"&&localStorage.removeItem(D);},re=async()=>{let e=K();return e||(e=await Ge(),Ne(e)),e},yr=()=>typeof window=="undefined"?null:localStorage.getItem(G),te=e=>{typeof window!="undefined"&&localStorage.setItem(G,e);},vr=()=>{typeof window!="undefined"&&localStorage.removeItem(G);},Ar=()=>typeof window=="undefined"?null:localStorage.getItem(x),Rr=e=>{typeof window!="undefined"&&localStorage.setItem(x,e);},Pr=()=>typeof window=="undefined"?null:localStorage.getItem(b),Cr=e=>{typeof window!="undefined"&&localStorage.setItem(b,e);},wr=()=>{typeof window!="undefined"&&localStorage.removeItem(b);},kr=()=>typeof window=="undefined"?null:localStorage.getItem(O),Sr=e=>{typeof window!="undefined"&&localStorage.setItem(O,e);},Tr=()=>{typeof window!="undefined"&&localStorage.removeItem(O);},Ir=()=>{if(typeof window=="undefined")return null;let e=localStorage.getItem(M);if(!e)return null;try{return JSON.parse(e)}catch(n){return console.error("Failed to parse stored user data:",n),null}},Er=e=>{typeof window!="undefined"&&localStorage.setItem(M,JSON.stringify(e));},xr=()=>{typeof window!="undefined"&&localStorage.removeItem(M);};var _r=e=>e||K(),oe=()=>typeof window!="undefined";var N=react.createContext(null);function It(){return uuid.v4()}async function Et(e){var n,t,r,o,i,s,a;try{let d=(await import('@openreplay/tracker')).default,l=e!=null&&e.userIdEnabled&&(e!=null&&e.getUserId)?e.getUserId:It,c={projectKey:(e==null?void 0:e.projectKey)||process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY,ingestPoint:e==null?void 0:e.ingestPoint,captureExceptions:(n=e.captureExceptions)!=null?n:!0,capturePerformance:(t=e.capturePerformance)!=null?t:!0,network:e.network||{capturePayload:!0,sanitizer:u=>u},console:e.console||{levels:["error","warn","log"]},obscureTextEmails:(r=e.obscureTextEmails)!=null?r:!0,obscureTextNumbers:(o=e.obscureTextNumbers)!=null?o:!1,obscureInputEmails:(i=e.obscureInputEmails)!=null?i:!0,__DISABLE_SECURE_MODE:(a=e.__DISABLE_SECURE_MODE)!=null?a:typeof process!="undefined"&&((s=process.env)==null?void 0:s.NODE_ENV)==="development"},p=new d(c);if(e!=null&&e.userIdEnabled){let u=l();p.setUserID(u),console.log("User ID set:",u);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",c.projectKey),console.log("Ingest Point:",c.ingestPoint),p}catch(d){throw console.error("Failed to create tracker:",d),d}}function xt(e,n){let{debug:t=false}=e.config;switch(n.type){case "init":return !e.tracker&&oe()?!e.config.projectKey&&!process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY?(console.warn(t,"Project key not found. Skipping session replay initialization."),e):{...e,tracker:Et(e.config)}:e;case "start":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.start(),console.log(t,"Session replay tracker started");}).catch(r=>{console.error("Failed to start tracker:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setUserId":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.setUserID(n.payload),console.log(t,"User ID updated:",n.payload);}).catch(r=>{console.error("Failed to set user ID:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setMetadata":return e.tracker?Promise.resolve(e.tracker).then(r=>{var o;(o=Object.entries(n.payload||{}))==null||o.forEach(([i,s])=>{r.setMetadata(i,s);}),console.log(t,"Metadata updated:",n.payload.metadata);}).catch(r=>{console.error("Failed to set metadata:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;default:return e}}var W=({children:e,config:n={}})=>{let[,t]=react.useReducer(xt,{tracker:null,config:n}),r=()=>t({type:"init"}),o=()=>t({type:"start"}),i=a=>t({type:"setUserId",payload:a}),s=a=>t({type:"setMetadata",payload:a});return react.useEffect(()=>{r(),o();},[]),jsxRuntime.jsx(N.Provider,{value:{initTracker:r,startTracking:o,setUserId:i,setMetadata:s},children:e})};function $(){let e=react.useContext(N);if(!e)throw new Error("useSessionReplay must be used within a SessionReplayProvider. Make sure your component is wrapped with <SessionReplayProvider>.");return e}var Lt=(e,n)=>{try{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...n});}catch(t){console.error(t);}},Mt=(e,n)=>{if(typeof gtag!="function"){console.error("gtag is not a function");return}gtag("event",e,n);},bt=(e,n)=>{ne__default.default.capture(e,n);};function ie(){let{setUserId:e,setMetadata:n}=$();return {trackEvent:(i,s,a)=>{console.log("trackEvent ",i,s),a=a||["gtm"],a.includes("gtm")&&typeof window!="undefined"&&Lt(i,s),a.includes("ga")&&typeof gtag=="function"&&Mt(i,s),a.includes("posthog")&&typeof ne__default.default=="function"&&bt(i,s);},trackUserIdentify:i=>{ne__default.default.identify(i.email,{email:i.email,name:i.name,avatar:i.avatar,uid:i.uid}),e(i.id),n({user_email:i.email});},trackLogoutEvent:()=>{ne__default.default.capture("user_signed_out");}}}var g={};be(g,{NotificationProvider:()=>se,useDefaultServiceGetPollStats:()=>fn.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>fn.useDefaultServicePostPoll,useNotificationRewardHandler:()=>fn.useNotificationRewardHandler,useNotificationStore:()=>fn.useNotificationStore,usePageVisibility:()=>fn.usePageVisibility,useTCVNotificationRewardHandler:()=>fn.useTCVNotificationRewardHandler,useWebSocket:()=>fn.useWebSocket});f(g,fn__namespace);var Ot={dev:{API_BASE_URL:"https://backend-dev.nomion.io",API_BASE_CORE_URL:"https://backend-dev.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend-dev.nomion.io/achievement",API_REWARD_URL:"https://backend-dev.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc-dev.nomion.io/api",API_NOTIFICATION_SOCKET_URL:"https://backend-dev.nomion.io/notification-ws/ws"},staging:{API_BASE_URL:"https://backend-staging.nomion.io",API_BASE_CORE_URL:"https://backend-staging.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend-staging.nomion.io/achievement",API_REWARD_URL:"https://backend-staging.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc-staging.nomion.io/api",API_NOTIFICATION_SOCKET_URL:"https://backend-staging.nomion.io/notification-ws/ws"},production:{API_BASE_URL:"https://backend.nomion.io",API_BASE_CORE_URL:"https://backend.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend.nomion.io/achievement",API_REWARD_URL:"https://backend.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc.nomion.io/api",API_NOTIFICATION_SOCKET_URL:"https://backend.nomion.io/notification-ws/ws"}},E=Ot;var se=({children:e,autoConnect:n=true,environment:t="dev",user:r,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s})=>{var d,l;let a=(d=E[t])==null?void 0:d.API_NOTIFICATION_SOCKET_URL;return jsxRuntime.jsx(fn.NotificationProvider,{userUid:r==null?void 0:r.id,accessToken:(l=r==null?void 0:r.accessToken)!=null?l:null,webSocketUrl:a,autoConnect:n,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s,children:e})};var Lr=react.createContext(void 0);function qe({children:e,achievements:n}){let{trackEvent:t}=ie(),r=react.useRef(new Set),{challenges:o,quests:i}=react.useMemo(()=>{let c=[],p=[];return n.forEach(u=>{u.type==="group_mission"?p.push(u):c.push(u);}),{challenges:c,quests:p}},[n]);react.useEffect(()=>{let c=fn.useNotificationStore.subscribe(p=>{var k;let u=p.notifications;if(u.length===0)return;let m=u[u.length-1];if(!((k=m==null?void 0:m.data)!=null&&k.achievement))return;let A=`${m.data.achievement.id}_${Date.now()}`;if(r.current.has(A))return;r.current.add(A);let h=m.data.achievement;if(h.type==="group_mission")t("quest_complete",{quest_id:h.id,quest_name:h.name});else {let T=z(h)[0]||"unknown";t("challenge_complete",{challenge_id:h.id,challenge_name:h.name,challenge_type:T});}});return ()=>{c();}},[t]);let s=react.useCallback(c=>{let p=o.filter(u=>z(u).includes(c));if(p.length===0){console.error(`[AchievementTracking] No achievement found for action: ${c}`);return}p.forEach(u=>{t("challenge_start",{challenge_id:u.id,challenge_name:u.name,challenge_type:c});});},[o,t]),a=react.useCallback(()=>{if(i.length===0){console.error("[AchievementTracking] No quests found");return}i.forEach(c=>{t("quest_start",{quest_id:c.id,quest_name:c.name});});},[i,t]),d=n.length>0,l={trackChallengeStart:s,trackQuestStart:a,isReady:d};return jsxRuntime.jsx(Lr.Provider,{value:l,children:e})}function Ve(){let e=react.useContext(Lr);if(!e)throw new Error("useAchievementTracking must be used within AchievementTrackingProvider");return e}var He=(o=>(o.NOT_CLAIMED="not_claimed",o.CLAIMED="claimed",o.IN_PROGRESS="in_progress",o.FAILED="failed",o))(He||{});f(y,g);var Jt={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},v=zustand.create()(middleware.devtools(middleware.persist(middleware.subscribeWithSelector(immer.immer((e,n)=>({...Jt,actions:{setIsLoading:t=>e(r=>{r.isLoading=t;}),setCleanupFunctions:t=>e(r=>{r.cleanupFunctions={...r.cleanupFunctions,...t};}),addEventCallbacks:t=>(e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};}),()=>{e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};});}),signInWithEmail:async(t,r)=>{var i,s,a,d;let{eventCallbacks:o}=n();e(l=>{l.isLoading=true,l.error=null;});try{let l=await authentication.authService.signIn({email:t,password:r});return (i=l==null?void 0:l.data)!=null&&i.idToken&&((s=l==null?void 0:l.data)!=null&&s.refreshToken)&&(authentication.tokenStorage.setTokens({idToken:l.data.idToken,refreshToken:l.data.refreshToken}),e(c=>{c.isSignedIn=!0;}),(a=o.onLoginSuccess)==null||a.call(o,l.data.idToken)),l}catch(l){let c=l instanceof Error?l.message:"Login failed";throw e(p=>{p.error=c;}),(d=o.onLoginError)==null||d.call(o,new Error(c)),l}finally{e(l=>{l.isLoading=false;});}},signInWithGoogle:async()=>{var r;let{eventCallbacks:t}=n();try{let o=Z;return await authentication.authService.getOAuthSignInUrl(o)}catch(o){let i=o instanceof Error?o.message:"Google sign in failed";throw e(s=>{s.error=i;}),(r=t.onLoginError)==null||r.call(t,new Error(i)),o}},signUpWithEmail:async(t,r)=>{var i,s;let{eventCallbacks:o}=n();e(a=>{a.isLoading=true,a.error=null;});try{let a=await authentication.authService.signUp({email:t,password:r});return a.data&&((i=o.onSignupSuccess)==null||i.call(o)),a}catch(a){let d=a instanceof Error?a.message:"Signup failed";throw e(l=>{l.error=d;}),(s=o.onSignupError)==null||s.call(o,new Error(d)),a}finally{e(a=>{a.isLoading=false,a.user=null,a.isSignedIn=false;});}},signOut:async()=>{var o,i,s,a,d,l;let{eventCallbacks:t,cleanupFunctions:r}=n();e(c=>{c.isLoading=true,c.error=null;});try{e(u=>{u.user=null,u.isSignedIn=!1,u.error=null;});let c=authentication.tokenStorage.getRefreshToken();if(authentication.tokenStorage.isTokenExpired()||!c){authentication.tokenStorage.clearTokens();return}await authentication.authService.logout({refreshToken:c}),authentication.tokenStorage.clearTokens();try{(o=r.clearQueryCache)==null||o.call(r),(i=r.clearOrganization)==null||i.call(r),(s=r.clearCustomData)==null||s.call(r),(a=r.clearHeaders)==null||a.call(r);}catch(u){console.warn("Error during logout cleanup:",u);}(d=t.onLogoutSuccess)==null||d.call(t);}catch(c){console.log(c);let p=c instanceof Error?c.message:"Logout failed";throw e(u=>{u.error=p;}),(l=t.onLogoutError)==null||l.call(t,new Error(p)),c}finally{e(c=>{c.isLoading=false;});}},sendPasswordResetEmail:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{await authentication.verifyCodeService.forgotPassword({email:t});}catch(r){let o=r instanceof Error?r.message:"Failed to send reset email";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},resetPassword:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.resetPassword(t)}catch(r){let o=r instanceof Error?r.message:"Failed to reset password";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},changePassword:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.changePassword(t)}catch(r){throw r}finally{e(r=>{r.isLoading=false;});}},verifyEmailCode:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.verifyEmail(t)}catch(r){let o=r instanceof Error?r.message:"Failed to send reset email";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},sendVerifyCode:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.sendVerifyCode(t)}catch(r){let o=r instanceof Error?r.message:"Failed to send verify code";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},refreshToken:async t=>{var o,i,s,a,d;let r=await authentication.authService.refreshToken({refreshToken:(o=t!=null?t:authentication.tokenStorage.getRefreshToken())!=null?o:""});return (i=r.data)!=null&&i.idToken&&((s=r.data)!=null&&s.refreshToken)&&authentication.tokenStorage.setTokens({idToken:(a=r.data)==null?void 0:a.idToken,refreshToken:(d=r.data)==null?void 0:d.refreshToken}),r},clearError:()=>e(t=>{t.error=null;}),setUser:t=>e(r=>{r.user=t;}),setIsSignedIn:t=>e(r=>{r.isSignedIn=t;}),setIsInitialized:t=>e(r=>{r.isInitialized=t;}),patchUser:t=>e(r=>{r.user?r.user={...r.user,...t}:r.user=t;}),initialize:()=>{e(t=>{let r=authentication.tokenStorage.getAuthToken();t.isSignedIn=!!r,t.isInitialized=true;});},syncAuthState:()=>{e(t=>{var i,s,a,d;let r=authentication.tokenStorage.getAuthToken(),o=t.isSignedIn;t.isSignedIn=!!r,o!==t.isSignedIn&&(t.isSignedIn?(s=(i=t.eventCallbacks)==null?void 0:i.onAuthStateChange)==null||s.call(i,t.user,true):(d=(a=t.eventCallbacks)==null?void 0:a.onAuthStateChange)==null||d.call(a,null,false));});}}}))),{version:1,name:"auth-store",storage:middleware.createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),U=()=>{let e=v(s=>s.user),n=v(s=>s.isSignedIn),t=v(s=>s.isInitialized),r=v(s=>s.isLoading),o=v(s=>s.error),i=v(s=>s.actions);return {user:e,isSignedIn:n,isInitialized:t,isLoading:r,error:o,...i}};var ve=(e,n)=>{let t={...e},r={};try{r=jwtDecode.jwtDecode(n);}catch(o){console.warn("Failed to decode token in transformUserData:",o);}return t.exp=r.exp||0,t.accessToken=n||"",t.roles=(r==null?void 0:r.roles)||["USER"],t.account_type=(r==null?void 0:r.account_type)||0,t.picture=e.picture||"",t},Ae=e=>{try{return jwtDecode.jwtDecode(e)}catch(n){return console.warn("Failed to decode token in decodeJWTToken:",n),null}};function F(){let{refreshToken:e,signOut:n}=U(),t=async()=>{try{if(!authentication.tokenStorage.isTokenExpired())return;await e();}catch(r){console.error("Failed to refresh token:",r),n();}};reactQuery.useQuery({queryKey:["refresh-token"],queryFn:()=>t(),refetchInterval:1800*1e3,refetchIntervalInBackground:false,refetchOnWindowFocus:true,retry:false,enabled:!!authentication.tokenStorage.getAuthToken()});}var so=()=>{let{updateHeaders:e}=authentication.useAuthenticationHeaders(),{updateHeaders:n,coreApi:t}=apiCore.usePGLCoreService(),{updateHeaders:r}=achievement.useAchievementService(),{updateHeaders:o}=reward.useRewardService(),{updateHeaders:i}=generateCertificate.useGenerateCertificateService();return react.useEffect(()=>{v.getState().actions.initialize();let s=authentication.tokenStorage.getAuthToken();if(s){e({Authorization:`Bearer ${s}`}),n({Authorization:`Bearer ${s}`}),r({Authorization:`Bearer ${s}`}),o({Authorization:`Bearer ${s}`}),i({Authorization:`Bearer ${s}`});let{user:c}=v.getState();c&&c.accessToken!==s&&v.getState().actions.setUser({...c,accessToken:s});}let a=v.getState().isSignedIn,d=v.subscribe(c=>[c.isSignedIn,c.user],async([c])=>{var p,u;if(c!==a)if(a=c,c){let m=authentication.tokenStorage.getAuthToken();if(m){e({Authorization:`Bearer ${m}`}),n({Authorization:`Bearer ${m}`}),r({Authorization:`Bearer ${m}`}),o({Authorization:`Bearer ${m}`}),i({Authorization:`Bearer ${m}`});try{let I=await apiCore.userService(t).getMyProfile(),T=ve(I,m);v.getState().actions.setUser(T);}catch{v.getState().actions.signOut();}}let{eventCallbacks:A,user:h}=v.getState();(p=A==null?void 0:A.onAuthStateChange)==null||p.call(A,h,true);}else {e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""});let{eventCallbacks:m}=v.getState();(u=m==null?void 0:m.onAuthStateChange)==null||u.call(m,null,false);}}),l=authentication.tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:c,user:p}=v.getState();if(c){let u=authentication.tokenStorage.getAuthToken();u?(e({Authorization:`Bearer ${u}`}),n({Authorization:`Bearer ${u}`}),r({Authorization:`Bearer ${u}`}),o({Authorization:`Bearer ${u}`}),i({Authorization:`Bearer ${u}`}),p&&p.accessToken!==u&&v.getState().actions.setUser({...p,accessToken:u})):(v.getState().actions.signOut(),e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""}));}});return ()=>{d(),l();}},[e,n,r,o,i,t]),null},ao=()=>(F(),null),j=({children:e,baseURL:n,queryClient:t})=>jsxRuntime.jsxs(authentication.AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:n,queryClient:t,children:[jsxRuntime.jsx(so,{}),jsxRuntime.jsx(ao,{}),e]});function we(e={}){let{onSuccess:n,onError:t,onPopupBlocked:r,onPopupClosed:o}=e,{signInWithGoogle:i,refreshToken:s,setIsSignedIn:a,setIsLoading:d,isLoading:l}=U(),[c,p]=react.useState(null),u=react.useRef(null),m=react.useRef(false),A=react.useRef(null),h=react.useRef(null),k=react.useCallback(async R=>{var S,P;if(R)try{let C=await s(R);if((S=C.data)!=null&&S.idToken&&((P=C.data)!=null&&P.refreshToken)){authentication.tokenStorage.setTokens({idToken:C.data.idToken,refreshToken:C.data.refreshToken});let w=Ae(C.data.idToken);a(!0),d(!1),n==null||n(w);}}catch(C){let w=C instanceof Error?C.message:"Token refresh failed";h.current=w,t==null||t(w),d(false);}},[s,a,d,n,t]),I=react.useCallback(()=>{A.current&&(clearInterval(A.current),A.current=null),m.current=false;},[]),T=react.useCallback(R=>{var P;let S=ee.concat((P=window==null?void 0:window.location)==null?void 0:P.origin);if(R.origin!=="*"&&!S.includes(R.origin)){console.warn("Rejected message from untrusted origin:",R.origin);return}if(!R.data||typeof R.data!="object"){console.warn("Invalid message data received");return}if(R.data.type==="LOGIN_SUCCESS"){let{refreshToken:C}=R.data;C&&k(C),m.current=true,I();}else if(R.data.type==="LOGIN_ERROR"){let C=R.data.error||"Login failed";h.current=C,t==null||t(C),d(false),m.current=true,I();}},[k,d,I,t]);react.useEffect(()=>{(async()=>{try{let S=await i();p(S.statusMessage||"");}catch(S){console.error("error",S),p("");}})();},[]);let J=react.useCallback(()=>{let P=window.screenX+(window.outerWidth-500)/2,C=window.screenY+(window.outerHeight-600)/2;try{if(c===null)return;if(c===""){let w="Google sign in failed. Please try again later.";h.current=w,t==null||t(w);return}if(h.current=null,d(!0),u.current=window.open(c,"oauthPopup",`width=500,height=600,left=${P},top=${C},resizable,scrollbars`),!u.current){d(!1);let w="Popup blocked. Please allow popups for this site.";h.current=w,r==null||r(),t==null||t(w);return}A.current=setInterval(()=>{if(u.current&&u.current.closed&&(A.current&&(clearInterval(A.current),A.current=null),!m.current)){let w="Authentication popup was closed";h.current=w,o==null||o(),t==null||t(w),d(!1);}},500);}catch(w){let rr=w instanceof Error?w.message:"Google sign in failed";h.current=rr,t==null||t(rr),d(false);}},[i,d,T,t,r,o,c]);return react.useEffect(()=>(window.addEventListener("message",T),()=>{window.removeEventListener("message",T);}),[T]),react.useEffect(()=>()=>{I();},[I]),{signIn:J,isLoading:l,error:h.current}}function Jr({token:e,id:n,onScanChipError:t}){let{updateHeaders:r}=apiCore.usePGLCoreService();react.useEffect(()=>{if(e){let d={"Chip-Authorization":e};te(e),r(d);}},[e,r]);let{data:o,isLoading:i,isError:s,isSuccess:a}=apiCore.useChipScanStory({token:e,id:n});return react.useEffect(()=>{s&&(t==null||t());},[s,t]),o?{data:{externalUrl:o==null?void 0:o.external_url,campaignDetail:o==null?void 0:o.project,locationDetail:o==null?void 0:o.location,scanCounter:o==null?void 0:o.scan_counter,campaignId:o==null?void 0:o.campaign_id,chipModelId:o==null?void 0:o.chip_model_id,organizationId:o==null?void 0:o.organization_id,projectId:o==null?void 0:o.project_id,locationId:o==null?void 0:o.location_id,chipUid:o==null?void 0:o.uid},isLoading:i,isError:s,isSuccess:a}:{data:null,isLoading:i,isError:s,isSuccess:a}}var Ye=(o=>(o.CHECK_IN="check_in",o.CREATE_MEMORY="create_memory",o.FILL_FORM="fill_form",o.SHARE="share",o))(Ye||{});var Xe=e=>[...e].sort((n,t)=>{var r,o;return ((r=n.index)!=null?r:0)-((o=t.index)!=null?o:0)}),Ze=(e,n,t)=>e.filter(r=>r[n]===t);var at=({children:e,queryClient:n,apiConfig:t={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:o}=U(),{environment:i,version:s}=t,[a,d]=react.useState(null);return react.useEffect(()=>{(async()=>{try{let c=await re();d({queryClient:n,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":c}},responseInterceptors:{onFulfilled:h=>h,onRejected:async h=>{var T,J,R;let k=h.config,I=authentication.tokenStorage.getAuthToken();if(((T=h.response)==null?void 0:T.status)===401&&!k._retry){let S=parseInt(helpers.getFromLS(x)||"0",10);if(S>=3)return await r(),helpers.setToLS(x,0),Promise.reject(h);if(helpers.setToLS(x,`${S+1}`),k._retry=!0,I)try{let P=await o();if((J=P==null?void 0:P.data)!=null&&J.idToken)return k.headers.Authorization=`Bearer ${(R=P==null?void 0:P.data)==null?void 0:R.idToken}`,Ro__default.default(k)}catch(P){return console.error("Failed to refresh token:",P),await r(),Promise.reject(P)}}}},requestInterceptors:{onFulfilled:h=>h,onRejected:h=>Promise.reject(h)},useDevTool:!0});}catch(c){console.error(c);}})();},[n]),a?jsxRuntime.jsx(apiCore.PGLCoreServiceProvider,{...a,baseURL:`${E[i].API_BASE_URL}/${s}`,baseCoreURL:`${E[i].API_BASE_CORE_URL}/${s}`,children:jsxRuntime.jsx(reward.RewardServiceProvider,{...a,baseURL:`${E[i].API_REWARD_URL}/v1`,children:jsxRuntime.jsx(achievement.AchievementServiceProvider,{...a,baseURL:`${E[i].API_ACHIEVEMENT_URL}/${s}`,children:jsxRuntime.jsx(generateCertificate.GenerateCertificateServiceProvider,{...a,baseURL:`${E[i].API_GENERATE_CERTIFICATE_URL}/v1`,children:e})})})}):jsxRuntime.jsx(jsxRuntime.Fragment,{})};var ct=({children:e,queryClient:n,apiConfig:t})=>{let{environment:r}=t,o=react.useMemo(()=>{let i=process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY;if(i)return {projectKey:i,ingestPoint:process.env.NEXT_PUBLIC_OPENREPLAY_INGEST_POINT,debug:process.env.NODE_ENV==="development",captureExceptions:true,capturePerformance:true,obscureTextEmails:true,obscureInputEmails:true}},[]);return jsxRuntime.jsx(W,{config:o,children:jsxRuntime.jsx(at,{queryClient:n,apiConfig:t,children:jsxRuntime.jsx(j,{baseURL:`${E[r].API_BASE_URL}`,queryClient:n,children:e})})})};function To(e,n){if(!(n!=null&&n.reward_models))return [];let t=n.reward_models;return e.map((r,o)=>{var a,d;let i=((a=t[o])==null?void 0:a[0])||null,s=((d=r.subAchievementIds)==null?void 0:d.map((l,c)=>{var u,m;let p=((m=t[o*(((u=r.subAchievementIds)==null?void 0:u.length)||0)+c+1])==null?void 0:m[0])||null;return {id:l,reward_model:p}}))||[];return {id:r.id,name:r.name,reward_model:i,subAchievements:s}})}var Io=({campaignId:e})=>{let{data:n,isLoading:t}=achievement.useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=react.useMemo(()=>n!=null&&n.data?n.data.map(d=>d.groupRewardId).filter(d=>d!==void 0):[],[n==null?void 0:n.data]),{mutate:o,data:i,isPending:s}=reward.useCreateModelGroupReward();return react.useEffect(()=>{r.length>0&&o({group_reward_ids:r});},[r,o]),{mappedAchievements:react.useMemo(()=>!(i!=null&&i.data)||!(n!=null&&n.data)?[]:To(n.data,i.data),[i,n==null?void 0:n.data]),isLoading:t||s}},Le=Io;f(Me,y);
2
+ Object.defineProperty(exports,"CampaignState",{enumerable:true,get:function(){return apiCore.CampaignState}});Object.defineProperty(exports,"UserSourceType",{enumerable:true,get:function(){return apiCore.UserSourceType}});Object.defineProperty(exports,"locationQueryKeys",{enumerable:true,get:function(){return apiCore.locationQueryKeys}});Object.defineProperty(exports,"memoriesKey",{enumerable:true,get:function(){return apiCore.memoriesKey}});Object.defineProperty(exports,"resetMemoriesQuery",{enumerable:true,get:function(){return apiCore.resetMemoriesQuery}});Object.defineProperty(exports,"useCampaignDetail",{enumerable:true,get:function(){return apiCore.useOneCampaign}});Object.defineProperty(exports,"useCancelUserRewardsRequest",{enumerable:true,get:function(){return apiCore.useCancelUserRewardsRequest}});Object.defineProperty(exports,"useChipScanStory",{enumerable:true,get:function(){return apiCore.useChipScanStory}});Object.defineProperty(exports,"useCreateClickButtonActionLog",{enumerable:true,get:function(){return apiCore.useCreateClickButtonActionLog}});Object.defineProperty(exports,"useCreateMemory",{enumerable:true,get:function(){return apiCore.useCreateMemory}});Object.defineProperty(exports,"useInfiniteMemories",{enumerable:true,get:function(){return apiCore.useInfiniteMemories}});Object.defineProperty(exports,"useLocationDetail",{enumerable:true,get:function(){return apiCore.useOneLocation}});Object.defineProperty(exports,"useLocationProgress",{enumerable:true,get:function(){return apiCore.useUserCampaignsCompletedLocation}});Object.defineProperty(exports,"useLocationsList",{enumerable:true,get:function(){return apiCore.useManyLocations}});Object.defineProperty(exports,"useManyMemory",{enumerable:true,get:function(){return apiCore.useManyMemory}});Object.defineProperty(exports,"useManyUserActionLocations",{enumerable:true,get:function(){return apiCore.useManyUserActionLocations}});Object.defineProperty(exports,"useMyProfile",{enumerable:true,get:function(){return apiCore.useMyProfile}});Object.defineProperty(exports,"useOneMemory",{enumerable:true,get:function(){return apiCore.useOneMemory}});Object.defineProperty(exports,"useOneUserCampaign",{enumerable:true,get:function(){return apiCore.useOneUserCampaign}});Object.defineProperty(exports,"usePGLCoreService",{enumerable:true,get:function(){return apiCore.usePGLCoreService}});Object.defineProperty(exports,"useSendEmail",{enumerable:true,get:function(){return apiCore.useSendEmail}});Object.defineProperty(exports,"useSyncCheckin",{enumerable:true,get:function(){return apiCore.useSyncCheckin}});Object.defineProperty(exports,"useUpdateMyProfile",{enumerable:true,get:function(){return apiCore.useUpdateMyProfile}});Object.defineProperty(exports,"useUploadMedia",{enumerable:true,get:function(){return apiCore.useUploadMedia}});Object.defineProperty(exports,"useUserCampaignAction",{enumerable:true,get:function(){return apiCore.useUserCampaignAction}});Object.defineProperty(exports,"AchievementRuleActionType",{enumerable:true,get:function(){return achievement.AchievementRuleActionType}});Object.defineProperty(exports,"AchievementServiceProvider",{enumerable:true,get:function(){return achievement.AchievementServiceProvider}});Object.defineProperty(exports,"useAchievementProgress",{enumerable:true,get:function(){return achievement.useAchievementProgress}});Object.defineProperty(exports,"useManyAchievementProgressCore",{enumerable:true,get:function(){return achievement.useManyAchievementProgress}});Object.defineProperty(exports,"useManyAchievements",{enumerable:true,get:function(){return achievement.useManyAchievements}});Object.defineProperty(exports,"useManyAchievementsByLocation",{enumerable:true,get:function(){return achievement.useManyAchievementsByLocation}});Object.defineProperty(exports,"useManyAchievementsRewardModels",{enumerable:true,get:function(){return achievement.useManyAchievementsRewardModels}});Object.defineProperty(exports,"useManyChildrenAchievements",{enumerable:true,get:function(){return achievement.useManyChildrenAchievements}});Object.defineProperty(exports,"useOneAchievement",{enumerable:true,get:function(){return achievement.useOneAchievement}});Object.defineProperty(exports,"useUserAchievementAction",{enumerable:true,get:function(){return achievement.useUserAchievementAction}});Object.defineProperty(exports,"useDefaultServiceGetPollStats",{enumerable:true,get:function(){return fn.useDefaultServiceGetPollStats}});Object.defineProperty(exports,"useDefaultServicePostPoll",{enumerable:true,get:function(){return fn.useDefaultServicePostPoll}});Object.defineProperty(exports,"useNotificationRewardHandler",{enumerable:true,get:function(){return fn.useNotificationRewardHandler}});Object.defineProperty(exports,"useNotificationStore",{enumerable:true,get:function(){return fn.useNotificationStore}});Object.defineProperty(exports,"usePageVisibility",{enumerable:true,get:function(){return fn.usePageVisibility}});Object.defineProperty(exports,"useTCVNotificationRewardHandler",{enumerable:true,get:function(){return fn.useTCVNotificationRewardHandler}});Object.defineProperty(exports,"useWebSocket",{enumerable:true,get:function(){return fn.useWebSocket}});Object.defineProperty(exports,"CmentityRewardType",{enumerable:true,get:function(){return reward.CmentityRewardType}});Object.defineProperty(exports,"useClaimUserReward",{enumerable:true,get:function(){return reward.useClaimUserReward}});Object.defineProperty(exports,"useClearUserRewardCache",{enumerable:true,get:function(){return reward.useClearUserRewardCache}});Object.defineProperty(exports,"useCreateModelGroupReward",{enumerable:true,get:function(){return reward.useCreateModelGroupReward}});Object.defineProperty(exports,"useCreateRewardModel",{enumerable:true,get:function(){return reward.useCreateRewardModel}});Object.defineProperty(exports,"useDeleteRewardModel",{enumerable:true,get:function(){return reward.useDeleteRewardModel}});Object.defineProperty(exports,"useGetRewardModel",{enumerable:true,get:function(){return reward.useGetRewardModel}});Object.defineProperty(exports,"useGetUserRewards",{enumerable:true,get:function(){return reward.useGetUserRewards}});Object.defineProperty(exports,"useListRewardModels",{enumerable:true,get:function(){return reward.useListRewardModels}});Object.defineProperty(exports,"useManyUserRewards",{enumerable:true,get:function(){return reward.useManyUserRewards}});Object.defineProperty(exports,"useUpdateRewardModel",{enumerable:true,get:function(){return reward.useUpdateRewardModel}});Object.defineProperty(exports,"useV1ListRewards",{enumerable:true,get:function(){return reward.useV1ListRewards}});Object.defineProperty(exports,"useAddFrame",{enumerable:true,get:function(){return generateCertificate.useAddFrame}});Object.defineProperty(exports,"useCreateCertificate",{enumerable:true,get:function(){return generateCertificate.useCreateCertificate}});Object.defineProperty(exports,"useCreateCertificateAnonymous",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateAnonymous}});Object.defineProperty(exports,"useCreateCertificateWithMask",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateWithMask}});Object.defineProperty(exports,"useGenerateFansipanCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateFansipanCertificate}});Object.defineProperty(exports,"useGenerateTemplateCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateTemplateCertificate}});Object.defineProperty(exports,"useGenerateThaocamvienCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateThaocamvienCertificate}});Object.defineProperty(exports,"wrapTextWithFont",{enumerable:true,get:function(){return generateCertificate.wrapTextWithFont}});Object.defineProperty(exports,"cn",{enumerable:true,get:function(){return helpers.cn}});Object.defineProperty(exports,"fileToBase64",{enumerable:true,get:function(){return helpers.fileToBase64}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return helpers.parse}});exports.ALLOWED_ORIGINS=ee;exports.AchievementTrackingProvider=qe;exports.AchievementType=Y;exports.AuthProvider=j;exports.CALLBACK_URL=Z;exports.NotificationProvider=se;exports.RewardClaimStatus=He;exports.SessionReplayProvider=W;exports.TapquestCoreProvider=ct;exports.TaskType=Ye;exports.TrackerContext=N;exports.accessTokenKey=b;exports.checkDeviceUid=re;exports.chipAuthTokenKey=G;exports.convertSnakeToCamel=L;exports.decodeJWTToken=Ae;exports.deviceUIDKey=D;exports.filterLocationsByProperty=Ze;exports.generateDeviceId=Ge;exports.getAccessToken=Pr;exports.getActionsFromAchievementRule=z;exports.getChipAuthToken=yr;exports.getDeviceUid=K;exports.getLocationIdsFromAchievementRule=nr;exports.getRefreshToken=kr;exports.getRetryAttemptsRefreshToken=Ar;exports.getSessionUserId=_r;exports.getSurveyIdsFromAchievementRule=ir;exports.getUserInfo=Ir;exports.httpMaxRetries=X;exports.isAchievementCompleted=B;exports.isBrowser=oe;exports.refreshTokenKey=O;exports.removeAccessToken=wr;exports.removeChipAuthToken=vr;exports.removeDeviceUid=hr;exports.removeRefreshToken=Tr;exports.removeUserInfo=xr;exports.retryAttemptsRefreshToken=x;exports.setAccessToken=Cr;exports.setChipAuthToken=te;exports.setDeviceUid=Ne;exports.setRefreshToken=Sr;exports.setRetryAttemptsRefreshToken=Rr;exports.setUserInfo=Er;exports.sortLocationsByIndex=Xe;exports.transformProtoUserData=ve;exports.useAchievementTracking=Ve;exports.useAchivementPlusRewardModel=Le;exports.useAuth=U;exports.useAuthStore=v;exports.useClearAchievementProgressCache=Oe;exports.useDataTracking=ie;exports.useGoogleLogin=we;exports.useManyAchievementProgress=mr;exports.useScanChip=Jr;exports.useSessionReplay=$;exports.useTokenRefresher=F;exports.userInfoKey=M;//# sourceMappingURL=index.cjs.map
3
3
  //# sourceMappingURL=index.cjs.map