@apolitical/sdk 9.0.0 → 9.0.1-4583.0

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.
Files changed (2) hide show
  1. package/build/index.js +1 -1
  2. package/package.json +2 -2
package/build/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("socket.io-client"),require("buffer")):"function"==typeof define&&define.amd?define(["@apolitical/content","@apolitical/error-reporting","@apolitical/gtm","axios","http-status-codes","socket.io-client","buffer"],e):"object"==typeof exports?exports.ApoliticalSDK=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("socket.io-client"),require("buffer")):t.ApoliticalSDK=e(t["@apolitical/content"],t["@apolitical/error-reporting"],t["@apolitical/gtm"],t.axios,t["http-status-codes"],t["socket.io-client"],t.buffer)}(this,(function(t,e,r,a,n,s,i){return function(){"use strict";var o={809:function(e){e.exports=t},30:function(t){t.exports=e},36:function(t){t.exports=r},300:function(t){t.exports=a},408:function(t){t.exports=i},25:function(t){t.exports=n},130:function(t){t.exports=s}},c={};function l(t){var e=c[t];if(void 0!==e)return e.exports;var r=c[t]={exports:{}};return o[t](r,r.exports,l),r.exports}l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,{a:e}),e},l.d=function(t,e){for(var r in e)l.o(e,r)&&!l.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var u={};return function(){l.r(u),l.d(u,{assets:function(){return T},auth:function(){return $},buildAnswer:function(){return sa},buildCardCtaClickHandler:function(){return ca},buildCarouselCard:function(){return na},buildQuestion:function(){return jr},carouselCards:function(){return Cr},contentInteraction:function(){return X},decodeBase64:function(){return ga},default:function(){return wa},editorialPages:function(){return Mr},features:function(){return et},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return gt},mgmt:function(){return Nt},payments:function(){return $t},people:function(){return Ke},peopleEngagement:function(){return er},predictPlace:function(){return ha},qaQuestions:function(){return Fr},reportError:function(){return e.reportError},search:function(){return ir},socials:function(){return $r}});var t=l(809),e=l(30),r=l(36),a={APOLITICAL:{WEBSITES:{LIVE:"https://apolitical.co",LOCALHOST:"localhost",STAGING:/https:\/\/([\w|\d|-]+)\.apolitical\.co/i,STAGING_SPLITTER:"-"},ENVIRONMENTS:{PRODUCTION:"live",LOCAL:"local"}},APIS:{ASSETS_API:{BASE_URL:"/api/assets-api",ENDPOINTS:{USERS:"/users",CERTIFICATES:"/certificates"}},AUTH_API:{BASE_URL:"/api/auth-api",ENDPOINTS:{USER_PASSWORD:"/password",USERS:"/users"}},CONTENT_INTERACTION_API:{BASE_URL:"/api/content-interaction-api",ENDPOINTS:{QUESTIONS:"/questions",ANSWERS:"/answers",REPLIES:"/replies",LIKES:"/likes"}},FEATURES_API:{BASE_URL:"/api/features-api",ENDPOINTS:{FLAGS:"/features"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",EVENT_REGISTRATIONS:"/event-registrations",LOGINS:"/logins",LOGIN_PASSWORDLESS:"/passwordless",BULK_ENROLMENTS:"/bulk-enrolments"}},MGMT_API:{BASE_URL:"/api/mgmt-api",ENDPOINTS:{REFERRALS:"/referrals",BULK_REFERRALS:"/bulk-referrals"}},PAYMENTS_API:{BASE_URL:"/api/payments-api",BASE_URL_V2:"/api/payments-api/v2",ENDPOINTS:{PRODUCTS:"/products"}},PEOPLE_API:{BASE_URL:"/api/people-api",BASE_URL_V2:"/api/people-api/v2",ENDPOINTS:{COMMUNITIES:"/user-communities",BULK_ENROLMENTS:"/bulk-enrolments",MY_COMMUNITIES:"/users/me/communities",REGISTRATIONS:"/registrations",USERS:"/users",USER_ANSWERS:"/answers",USER_COURSES:"/courses",USER_EVENTS:"/events",USER_LIKES:"/likes",USER_LESSONS:"/lessons",USER_PRODUCTS:"/products",USER_RATINGS:"/ratings",USER_REFERRALS:"/referrals",USER_SUBSCRIPTIONS:"/subscriptions"}},PEOPLE_ENGAGEMENT_API:{BASE_URL:"/api/people-engagement-api",ENDPOINTS:{ENQUIRY_EMAILS:"/enquiry-emails",USERS:"/users",USER_PROPERTIES:"/properties"}},SEARCH_API:{BASE_URL:"/api/search-api",ENDPOINTS:{SEARCH:"/search"}},SOCIALS_API:{BASE_URL:"/api/socials-api",ENDPOINTS:{COMMUNITIES:"/communities"},PATHS:{ACTIVITIES:"activities",REACTIONS:"reactions"}}},CONTENTFUL:{ARTICLES:{TYPE:"solutionArticle"},CAROUSELS:{CARD_TYPES:{communityPage:{INCLUDE:1,SELECT:"fields.bannerSection,fields.slug,fields.title"},customCard:{INCLUDE:1,SELECT:"fields.icon,fields.label,fields.image,fields.primaryText,fields.secondaryText,fields.authorName,fields.authorImage,fields.link,fields.openInNewTab"},solutionArticle:{INCLUDE:1,SELECT:"fields.authorIds,fields.authorTag,fields.image,fields.publishedDate,fields.readingTime,fields.slug,fields.title"},microcourse:{INCLUDE:2,SELECT:"fields.banner,fields.freeCourse,fields.partnershipDetails,fields.slug,fields.title,fields.courseType"},event:{INCLUDE:1,SELECT:"fields.bannerImage,fields.defaultStartDate,fields.slug,fields.speakers,fields.title,fields.isEventOngoing"},listPage:{INCLUDE:1,SELECT:"fields.hero,fields.slug,fields.title"},qaQuestion:{INCLUDE:0,SELECT:"fields.answers,fields.authorId,fields.slug,fields.title,sys.createdAt,fields.projectNames"},learningHub:{INCLUDE:1,SELECT:"fields.bannerSection,fields.customLabel,fields.slug,fields.title"}}},COMMUNITY:{TYPE:"communityPage"},COURSES:{TYPE:"microcourse"},CUSTOM_CARD:{TYPE:"customCard"},EDITORIAL_PAGES:{INCLUDE:1,SELECT:"fields.carousels,fields.slug,fields.showCarouselCta,fields.header,fields.subHeader",TYPE:"editorialPage"},EVENTS:{TYPE:"event"},LISTS:{TYPE:"listPage"},QUESTIONS:{TYPE:"qaQuestion",INCLUDE:1,LIMIT:10,ORDER:"-sys.createdAt",SELECT:"sys.createdAt,sys.updatedAt,fields.title,fields.slug,fields.authorId,fields.answers,fields.isEdited,fields.projectNames",SKIP:0},ANSWERS:{TYPE:"qaAnswer"},REPLIES:{TYPE:"reply"},LEARNING_HUB:{TYPE:"learningHub"}},GOOGLE:{MAPS:{LIBRARIES:{PLACES:"places"},VERSION:"weekly"}},HUBSPOT:{ENVIRONMENTS_MAPPING:{local:"SANDBOX",beta:"SANDBOX",rc:"SANDBOX",live:"LIVE"},EMAIL_IDS:{SANDBOX:{internalEmailId:49099078634,externalEmailId:55196526554},LIVE:{internalEmailId:55233583049,externalEmailId:55231159239}}},USERS:{MYSELF:"me"},STATUS_CODES:{INVALID_TOKEN:498},ERROR_MESSAGES:{INVALID_TOKEN:"Invalid token error: Logging user out..."}};const{APOLITICAL:{WEBSITES:{LIVE:n,LOCALHOST:s,STAGING:i,STAGING_SPLITTER:o},ENVIRONMENTS:{PRODUCTION:c,LOCAL:E}}}=a,{HUBSPOT:{ENVIRONMENTS_MAPPING:S,EMAIL_IDS:d}}=a;let p={emailIds:{}};const h=()=>p;var I=l(300),g=l.n(I);const w=async t=>{try{const{message:r,response:a,request:n}=t;let s=r;return a?s+=` - The request was made and the server responded with ${JSON.stringify({status:a.status,data:a.data})}`:n&&(s+=" - The request was made but no response was received"),console.warn(s),await(0,e.reportError)(new Error(s)),s}catch(t){return console.warn(`Cannot handle error: ${t.message}`),t.message}},{APIS:{ASSETS_API:{BASE_URL:m,ENDPOINTS:{USERS:y,CERTIFICATES:A}}}}=a;var T={certificates:{create:async(t,e)=>{let r=[];try{const{data:a}=await g().post(`${m}${y}/${t}${A}`,e);a&&(r=a)}catch(t){await w(t)}return r}}};const{APIS:{AUTH_API:{BASE_URL:N,ENDPOINTS:{USER_PASSWORD:f,USERS:R}}},USERS:{MYSELF:P}}=a;var $={userPassword:{update:async t=>{let e=null;try{e=await g().put(`${N}${R}/${P}${f}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await w(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:L,ENDPOINTS:{ANSWERS:O,QUESTIONS:U,LIKES:C}}}}=a,_=`${L}${U}`;var v={create:async({questionSlug:t},e)=>{try{await g().post(`${_}/${encodeURIComponent(t)}${O}`,e)}catch(t){const e=await w(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{await g().delete(`${_}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}`)}catch(t){const e=await w(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e},r)=>{try{return await g().put(`${_}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}`,r)}catch(t){const e=await w(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e},r)=>{try{return await g().post(`${_}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}${C}`,r)}catch(t){const e=await w(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e})=>{try{return await g().delete(`${_}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}${C}`)}catch(t){const e=await w(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:b,ENDPOINTS:{QUESTIONS:D}}}}=a,M=`${b}${D}`;var B={create:async t=>{try{return await g().post(M,t)}catch(t){const e=await w(t);throw new Error(e)}},remove:async({questionSlug:t})=>{try{await g().delete(`${M}/${encodeURIComponent(t)}`)}catch(t){const e=await w(t);throw new Error(e)}},update:async({questionSlug:t},e)=>{try{return await g().put(`${M}/${encodeURIComponent(t)}`,e)}catch(t){const e=await w(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:k,ENDPOINTS:{REPLIES:q,ANSWERS:G,QUESTIONS:x,LIKES:Y}}}}=a,V=`${k}${x}`,F=({questionSlug:t,answerSlug:e,replySlug:r},a=!1)=>{let n=`${V}/${encodeURIComponent(t)}${G}/${encodeURIComponent(e)}${q}`;return r&&(n=`${n}/${encodeURIComponent(r)}`,a&&(n=`${n}${Y}`)),n};var j={create:async({questionSlug:t,answerSlug:e},r)=>{try{return await g().post(F({questionSlug:t,answerSlug:e}),r)}catch(t){const e=await w(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{return await g().put(F({questionSlug:t,answerSlug:e,replySlug:r}),a)}catch(t){const e=await w(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await g().delete(F({questionSlug:t,answerSlug:e,replySlug:r}))}catch(t){const e=await w(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e,replySlug:r,payload:a})=>{try{await g().post(F({questionSlug:t,answerSlug:e,replySlug:r},!0),a)}catch(t){const e=await w(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await g().delete(F({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await w(t);throw new Error(e)}},getReplyUrl:F};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:K,ENDPOINTS:{QUESTIONS:H,ANSWERS:Q,LIKES:W}}}}=a,J=`${K}${H}`;var X={answers:v,questions:B,replies:j,likes:{create:async({questionSlug:t,answerSlug:e})=>{try{return await g().post(`${J}/${encodeURIComponent(t)}${Q}/${encodeURIComponent(e)}${W}`)}catch(t){const e=await w(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{return await g().delete(`${J}/${encodeURIComponent(t)}${Q}/${encodeURIComponent(e)}${W}`)}catch(t){const e=await w(t);throw new Error(e)}}}};const{APIS:{FEATURES_API:{BASE_URL:Z,ENDPOINTS:{FLAGS:z}}}}=a,tt=`${Z}${z}`;var et={flags:{read:async t=>{let e=null;try{const{data:r}=await g().get(`${tt}/${encodeURIComponent(t)}`);r?.name&&r?.featureState&&(e=r)}catch(t){await w(t)}return e}}};const{APIS:{MANAGEMENT_API:{BASE_URL:rt,ENDPOINTS:{ACCOUNTS:at}}}}=a;var nt={create:async t=>{try{await g().post(`${rt}${at}`,t)}catch(t){throw await w(t),t}},read:async t=>{let e=null;try{({data:e}=await g().get(`${rt}${at}/${encodeURIComponent(t)}`))}catch(t){await w(t)}return e},update:async(t,e)=>{try{await g().put(`${rt}${at}/${encodeURIComponent(t)}`,e)}catch(t){throw await w(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:st,ENDPOINTS:{BULK_ENROLMENTS:it}}}}=a;var ot={create:async t=>{try{await g().post(`${st}${it}`,t)}catch(t){throw await w(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ct,ENDPOINTS:{EVENT_REGISTRATIONS:lt}}}}=a;var ut={create:async t=>{try{await g().post(`${ct}${lt}`,t)}catch(t){const e=await w(t);throw new Error(e)}}};const{APIS:{MANAGEMENT_API:{BASE_URL:Et,ENDPOINTS:{LOGINS:St,LOGIN_PASSWORDLESS:dt}}}}=a,pt=`${Et}${St}`;var ht={update:async t=>{try{await g().put(`${pt}/${encodeURIComponent(t)}${dt}`)}catch(t){throw await w(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:It}}}=a;var gt={accounts:nt,bulkEnrolments:ot,eventRegistrations:ut,passwordless:ht,userProducts:{create:async t=>{try{await g().post(`${It}/users/${t.id}/products`,t)}catch(t){const e=await w(t);throw new Error(e)}}}};const{APIS:{MGMT_API:{BASE_URL:wt,ENDPOINTS:{REFERRALS:mt}}}}=a;var yt={create:async t=>{try{await g().post(`${wt}${mt}`,t)}catch(t){throw await w(t),t}}};const{APIS:{MGMT_API:{BASE_URL:At,ENDPOINTS:{BULK_REFERRALS:Tt}}}}=a;var Nt={referrals:yt,bulkReferrals:{create:async t=>{try{await g().post(`${At}${Tt}`,t)}catch(t){throw await w(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:ft,ENDPOINTS:{PRODUCTS:Rt}}}}=a,Pt=`${ft}${Rt}`;var $t={products:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(Pt,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Lt,ENDPOINTS:{BULK_ENROLMENTS:Ot}}}}=a;var Ut={list:async t=>{let e=[];try{const{data:r}=await g().get(`${Lt}${Ot}`,{params:t});r&&r.length&&(e=r)}catch(t){await w(t)}return e}},Ct=l(25);const{OK:_t,MULTIPLE_CHOICES:vt,NOT_FOUND:bt,FORBIDDEN:Dt}=Ct.StatusCodes,Mt=t=>t>=_t&&t<vt||t===Dt||t===bt,{APIS:{PEOPLE_API:{BASE_URL_V2:Bt,ENDPOINTS:{USERS:kt}}},STATUS_CODES:{INVALID_TOKEN:qt},ERROR_MESSAGES:{INVALID_TOKEN:Gt}}=a,xt=async t=>{let e=null;try{const{data:r}=await g().get(`${Bt}${kt}/${encodeURIComponent(t)}`,{validateStatus:Mt});r&&r.id&&(e=r)}catch(t){if(t?.response?.status===qt)throw new Error(Gt);await w(t)}return e},Yt=async t=>{let e=[];try{if(t&&t.length<2)throw new Error("users list method requires at least two ids");const r=t.map((t=>`ids=${encodeURIComponent(t)}`)).join("&"),a=await g().get(`${Bt}${kt}?${r}`,{validateStatus:Mt});a&&a.length&&(e=a)}catch(t){await w(t)}return e};var Vt={read:xt,update:async(t,e)=>{let r=!1;try{const{data:a}=await g().put(`${Bt}${kt}/${encodeURIComponent(t)}`,e);r=!(!a||!a.id)}catch(t){await w(t)}return r},list:Yt};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ft,ENDPOINTS:{USERS:jt,USER_LIKES:Kt}}},USERS:{MYSELF:Ht}}=a,Qt=`${Ft}${jt}/${Ht}${Kt}`,Wt=async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(Qt,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e};var Jt={list:Wt};var Xt={authors:{readQuestionAuthors:async(t,e,r)=>{try{if(t.author=await xt(t.authorId),t.answers&&t.answers.length&&!r.ignoreAnswersAuthors){t.answers.sort(((t,e)=>new Date(e.updatedAt)-new Date(t.updatedAt))),t.totalAnswers=t.answers.length;let n=t.answers;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.answers.slice(e,e+r.limit)}for(let t of n){t.author=t.authorId&&await xt(t.authorId)||{};const[r]=e?await Wt({contentType:a.CONTENTFUL.ANSWERS.TYPE,contentSlug:t.slug}):[null];t.userLiked=!!r}t.answers=n}else t.answers||(t.answers=[]);return t}catch(t){throw await w(t),new Error(`Cannot read authors for question: ${t.message}`)}},readAuthors:async(t=[])=>{let e=[];try{if(!1===Array.isArray(t))throw new Error("authorIds is not an array!");if(t&&1===t.length){const r=await xt(t[0]);r&&e.push(r)}else if(t&&t.length>1){const r=await Yt(t);r&&r.length>0&&(e=r)}}catch(t){throw await w(t),new Error(`Cannot read authors: ${t.message}`)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Zt,ENDPOINTS:{MY_COMMUNITIES:zt}}}}=a,te=`${Zt}${zt}`;function ee(t){const e=t["content-range"].split(" ")[1].split("/"),[r,a,n]=[...e[0].split("-"),e[1]].map((t=>parseInt(t,10)||0));return{start:r,end:a,total:n}}var re={list:async t=>{let e={items:[],start:0,end:0,total:0},r=t?{params:t}:{params:{}};try{const{data:t,headers:a}=await g().get(te,{...r,headers:{"Cache-Control":"no-cache",Pragma:"no-cache",Expires:0}});return t?.length>0&&(e={items:t,...ee(a)}),e}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL:ae,ENDPOINTS:{REGISTRATIONS:ne}}}}=a;var se={list:async t=>{let e=[];try{const{data:r}=await g().get(`${ae}${ne}`,{params:t});r&&r.length&&(e=r)}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ie,ENDPOINTS:{COMMUNITIES:oe}}}}=a,ce=`${ie}${oe}`;function le(t){const e=t["content-range"].split(" ")[1].split("/"),[r,a,n]=[...e[0].split("-"),e[1]].map((t=>parseInt(t,10)||0));return{start:r,end:a,total:n}}var ue={list:async t=>{let e={items:[],start:0,end:0,total:0},r=t?{params:t}:{params:{}};try{const{data:t,headers:a}=await g().get(ce,{...r,headers:{"Cache-Control":"no-cache",Pragma:"no-cache",Expires:0}});return t?.length>0&&(e={items:t,...le(a)}),e}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ee,ENDPOINTS:{USERS:Se,USER_COURSES:de}}},USERS:{MYSELF:pe}}=a,he=`${Ee}${Se}/${pe}${de}`;var Ie={create:async t=>{try{await g().post(he,t)}catch(t){await w(t)}},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(he,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e},update:async(t,e)=>{try{await g().put(`${he}/${t}`,e)}catch(t){await w(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ge,ENDPOINTS:{USERS:we,USER_EVENTS:me}}},USERS:{MYSELF:ye}}=a,Ae=`${ge}${we}/${ye}${me}`;var Te={list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(Ae,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ne,ENDPOINTS:{USERS:fe,USER_LESSONS:Re}}},USERS:{MYSELF:Pe}}=a,$e=`${Ne}${fe}/${Pe}${Re}`;var Le={create:async t=>{let e=null;try{e=await g().post($e,t)}catch(t){await w(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get($e,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Oe,ENDPOINTS:{USERS:Ue,USER_PRODUCTS:Ce}}},USERS:{MYSELF:_e}}=a,ve=`${Oe}${Ue}/${_e}${Ce}`;var be={create:async t=>{let e=null;try{e=await g().post(ve,t)}catch(t){await w(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(ve,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e},update:async(t,e)=>{try{await g().put(`${ve}/${t}`,e)}catch(t){await w(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:De,ENDPOINTS:{USERS:Me,USER_RATINGS:Be}}},USERS:{MYSELF:ke}}=a,qe=`${De}${Me}/${ke}${Be}`;var Ge={create:async t=>{let e=null;try{const{data:r}=await g().post(qe,t);r?.id&&(e=r)}catch(t){await w(t)}return e},update:async(t,e)=>{try{await g().put(`${qe}/${t}`,e)}catch(t){await w(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:xe,ENDPOINTS:{USERS:Ye,USER_REFERRALS:Ve}}},USERS:{MYSELF:Fe}}=a,je=`${xe}${Ye}/${Fe}${Ve}`;var Ke={bulkEnrolments:Ut,handlers:Xt,myCommunities:re,registrations:se,users:Vt,userCommunities:ue,userCourses:Ie,userEvents:Te,userLessons:Le,userLikes:Jt,userProducts:be,userRatings:Ge,userReferrals:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(je,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:He,ENDPOINTS:{ENQUIRY_EMAILS:Qe}}}}=a;var We={create:async t=>{let e=null;try{const{data:r}=await g().post(`${He}${Qe}`,t);r&&(e=r)}catch(t){await w(t)}return e}},Je={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:r}=h();e=await er.emails.create({...r,...t})}catch(t){await w(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:Xe,ENDPOINTS:{USERS:Ze,USER_PROPERTIES:ze}}},USERS:{MYSELF:tr}}=a;var er={emails:We,handlers:Je,userProperties:{update:async(t,e)=>{try{await g().put(`${Xe}${Ze}/${tr}${ze}/${t}`,e)}catch(t){await w(t)}}}},rr=l(130);const{APIS:{SEARCH_API:{BASE_URL:ar,ENDPOINTS:{SEARCH:nr}}}}=a,sr=`${ar}${nr}`;var ir={ask:async t=>{try{let e=null;const{data:r}=await g().get(sr,{params:{question:t}});return r?.answer&&r?.references&&r?.version&&(e=r),e}catch(t){const e=await w(t);throw new Error(e)}},stream:(t,e,r)=>{const a=(0,rr.io)(void 0,{path:"/api/search-api/web-sockets"});function n(){a.emit("search",{question:t})}function s(t){r(t),i(),a.disconnect()}function i(){a.off("connect",n),a.off("update",e),a.off("result",s)}return a.on("connect",n),a.on("update",e),a.on("result",s),i}};const{APIS:{SOCIALS_API:{BASE_URL:or,ENDPOINTS:{COMMUNITIES:cr}}}}=a,lr=`${or}${cr}`;var ur={read:async t=>{let e=null;try{const{data:r}=await g().get(`${lr}/${encodeURIComponent(t)}`);r?.title&&(e=r)}catch(t){await w(t)}return e},join:async(t,e)=>{let r=null;try{const{data:a}=await g().post(`${lr}/${encodeURIComponent(t)}/members`,e);r=a}catch(t){await w(t)}return r},leave:async t=>{let e=null;try{const{data:r}=await g().delete(`${lr}/${encodeURIComponent(t)}/members/me`);e=r}catch(t){await w(t)}return e}};const{APIS:{SOCIALS_API:{BASE_URL:Er,ENDPOINTS:{COMMUNITIES:Sr},PATHS:{ACTIVITIES:dr}}}}=a,pr=`${Er}${Sr}`;var hr={read:async(t,e)=>{let r=null;try{const{data:a}=await g().get(`${pr}/${encodeURIComponent(t)}/${dr}/${e}`);a&&(r=a)}catch(t){await w(t)}return r},list:async(t,e={})=>{let r=null;try{const{data:a}=await g().get(`${pr}/${encodeURIComponent(t)}/${dr}`,{params:e});a&&(r=a)}catch(t){await w(t)}return r},create:async(t,e)=>{let r=null;try{const{data:a}=await g().post(`${pr}/${encodeURIComponent(t)}/${dr}`,e);a?.content&&(r=a)}catch(t){await w(t)}return r},update:async(t,e,r)=>{let a=null;try{const{data:n}=await g().put(`${pr}/${encodeURIComponent(t)}/${dr}/${e}`,r);n?.content&&(a=n)}catch(t){await w(t)}return a},remove:async(t,e)=>{let r=null;try{const{data:a}=await g().delete(`${pr}/${encodeURIComponent(t)}/${dr}/${e}`);r=a}catch(t){await w(t)}return r}};const{APIS:{SOCIALS_API:{BASE_URL:Ir,ENDPOINTS:{COMMUNITIES:gr},PATHS:{ACTIVITIES:wr,REACTIONS:mr}}}}=a,yr=`${Ir}${gr}`;var Ar={create:async(t,e,r,a)=>{let n=null,s=`${yr}/${encodeURIComponent(t)}`;s=e?`${s}/${wr}/${e}/${mr}`:`${s}/${mr}/${r}/${mr}`;try{const{data:t}=await g().post(s,a);n=t}catch(t){await w(t)}return n},list:async(t,{activityId:e,reactionId:r},a={})=>{let n=null,s=`${yr}/${encodeURIComponent(t)}`;s=e?`${s}/${wr}/${e}/${mr}`:`${s}/${mr}/${r}/${mr}`;try{const{data:t}=await g().get(s,{params:a});t&&(n=t)}catch(t){await w(t)}return n},remove:async(t,e)=>{let r=null;try{const{data:a}=await g().delete(`${yr}/${encodeURIComponent(t)}/${mr}/${e}`);r=a}catch(t){await w(t)}return r},update:async(t,e,r,a)=>{let n=null,s=`${yr}/${encodeURIComponent(t)}`;s=e?`${s}/${wr}/${e}`:`${s}/${mr}/${r}`;try{const{data:t}=await g().put(s,a);n=t}catch(t){await w(t)}return n}};const{APIS:{SOCIALS_API:{BASE_URL:Tr,ENDPOINTS:{COMMUNITIES:Nr},PATHS:{ACTIVITIES:fr,REACTIONS:Rr}}}}=a,Pr=`${Tr}${Nr}`;var $r={activities:hr,communities:ur,likes:{create:async({slug:t,activityId:e,reactionId:r})=>{let a=null;const n={kind:"like"};let s=`${Pr}/${encodeURIComponent(t)}`;s=e?`${s}/${fr}/${e}/${Rr}`:`${s}/${Rr}/${r}/${Rr}`;try{const{data:t}=await g().post(s,n);a=t}catch(t){await w(t)}return a},remove:async({slug:t,reactionId:e})=>{let r=null;try{const{data:a}=await g().delete(`${Pr}/${encodeURIComponent(t)}/${Rr}/${e}`);r=a}catch(t){await w(t)}return r}},reactions:Ar};const{CONTENTFUL:Lr}=a,{CARD_TYPES:Or}=Lr.CAROUSELS,Ur={read:async(e,r)=>{try{if(!r||!r.sys||!r.sys.id)throw new Error("Invalid link to card");if(!e||!Or[e])throw new Error("Unsupported card content type");const{INCLUDE:a,SELECT:n}=Or[e];return await(0,t.getEntry)({content_type:e,"sys.id":r.sys.id,include:a,select:n},{assetDetails:!0})}catch(t){throw await w(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var Cr=Ur;const{CONTENTFUL:_r}=a,{INCLUDE:vr,SELECT:br,TYPE:Dr}=_r.EDITORIAL_PAGES;var Mr={read:async e=>{try{return await(0,t.getEntry)({content_type:Dr,"fields.slug":e,include:vr,select:br})}catch(t){throw await w(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:Br}=a,{TYPE:kr,ORDER:qr,SELECT:Gr,SKIP:xr,LIMIT:Yr,INCLUDE:Vr}=Br.QUESTIONS;var Fr={read:async e=>{try{return await(0,t.getEntry)({content_type:kr,"fields.slug":e,include:2,select:Gr})}catch(t){throw await w(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:kr,include:Vr,limit:Yr,order:qr,select:Gr,skip:xr,...e})}catch(t){throw await w(t),new Error(`Cannot list questions: ${t.message}`)}}},jr=async(t,e,r={ignoreAnswersAuthors:!1})=>{try{let a={};return a=await Fr.read(t),a=await Ke.handlers.authors.readQuestionAuthors(a,e,r),a}catch(t){throw await w(t),new Error(`Cannot build question: ${t.message}`)}};const{ARTICLES:{TYPE:Kr},COURSES:{TYPE:Hr},CUSTOM_CARD:{TYPE:Qr},COMMUNITY:{TYPE:Wr},EVENTS:{TYPE:Jr},LISTS:{TYPE:Xr},QUESTIONS:{TYPE:Zr},LEARNING_HUB:{TYPE:zr}}=a.CONTENTFUL,ta=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,ea=t=>t&&t.url?`${t.url}?w=100&h=100&fit=thumb&f=center`:null,ra=t=>t.toLowerCase().split(" ")[0],aa={[Kr]:async t=>{const{authorIds:e,authorTag:r,image:a,publishedDate:n,readingTime:s,slug:i,title:o}=t,c=await Ke.handlers.authors.readAuthors(e),l=c&&c.length?c:r?[ra(r)]:null;return{banner:ta(a),contributors:l,publishedDate:n,readingTime:s,slug:i,title:o}},[Wr]:async t=>{const{title:e,slug:r,bannerSection:a}=t,n=await $r.communities.read(r),s=await Ke.userCommunities.list({communitySlug:r,count:1});return{banner:a?.image?ta(a.image):null,slug:r,title:e,members:{isMember:!!n?.member,memberType:n?.member?.role||null,count:s?.total||0}}},[Hr]:async(t,e)=>{const{banner:r,freeCourse:a,partnershipDetails:n,slug:s,title:i,registered:o,courseType:c}=t,l={banner:ta(r),slug:s,title:i,pill:a?"free":"premium",registered:!!o,courseType:c};if(n){const{partners:t}=n;if(t)if(t.length>1){let e=[];for(let r=0;r<t.length;r++)e.push(t[r].title);l.partner=e}else l.partner=[t[0].title]}if(void 0===o&&e){const[t]=await Ke.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});l.registered=!!t}return l},[Qr]:t=>{const{authorName:e,authorImage:r,icon:a,image:n,label:s,link:i,primaryText:o}=t;return{...t,banner:n?ta(n):null,customIcon:a?a.toLowerCase():null,customLabel:s,contributors:e?[{name:e,image:r?{thumbnail:ea(r)}:null}]:null,slug:i,text:o}},[Jr]:async(t,e)=>{const{bannerImage:r,defaultStartDate:a,isEventOngoing:n,slug:s,speakers:i,title:o,registered:c}=t,l=new Date(a),u=!!l&&l<new Date;if(i&&i.length)for(const t of i)t.image=ea(t.image);const E={banner:ta(r),dateHasPassed:u,title:o,slug:s,isOngoingEvent:n,contributors:i,startDate:l,registered:!!c};if(void 0===c&&e){const[t]=await Ke.userEvents.list({eventSlug:s});E.registered=!!t}return E},[Xr]:async t=>{const{hero:e,slug:r,title:a}=t;return{banner:ta(e),slug:r,title:a}},[Zr]:async t=>{const{answers:e,authorId:r,createdAt:a,slug:n,title:s}=t;let i=null;if(r){const t=await Ke.users.read(r);t&&(i=t)}return{answers:e&&e.length?e.length:0,contributors:i?[i]:[],createdAt:a,slug:n,title:s}},[zr]:t=>{const{bannerSection:e,customLabel:r,slug:a,title:n}=t;return{banner:ta(e.image),slug:a,title:n,customLabel:r}},people:t=>{const{id:e,name:r,jobTitle:a,location:n,image:s,customLink:i}=t;return{profile:s,slug:i?.link||e,title:r,text:a,secondaryText:n,customLinkText:i?.text}}};var na=async({contentType:t,...e}={},r)=>{try{if(!aa[t])throw new Error("Content type not supported");if("function"!=typeof aa[t])throw new Error("No builder function for content type");return"people"!==t&&e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await Cr.read(t,e)),{contentType:t,...await aa[t](e,r)}}catch(t){throw await w(t),new Error(`Cannot build carousel card: ${t.message}`)}},sa=async(t,e,r={})=>{try{if(!t.replies||0===t.replies.length)return t.replies=[],t;t.replies.sort(((t,e)=>new Date(t.createdAt)-new Date(e.createdAt))),t.totalReplies=t.totalReplies||t.replies.length;let n=t.replies;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.replies.slice(e,e+r.limit)}for(const r of n){if(r.authorId===t.authorId){r.author=t.author,r.userLiked=!1;continue}r.author=r.authorId&&await xt(r.authorId)||{};const[n]=e?await Wt({contentType:a.CONTENTFUL.REPLIES.TYPE,contentSlug:r.slug}):[null];r.userLiked=!!n}return t.replies=n,t}catch(t){throw await w(t),new Error(`Cannot build replies for answer: ${t.message}`)}};const ia="success",oa="error";var ca=t=>async e=>{const{contentType:r}=e;switch(r){case"event":try{return await gt.eventRegistrations.create({eventSlug:e.slug,expectation:null,userEmail:t.email,startsAt:new Date(e.startDate).toISOString()}),ia}catch(t){return reportError(new Error(`Error registering for event: ${JSON.stringify(t)}`)),oa}case"microcourse":try{return await gt.userProducts.create({id:t.id,courseSlug:e.slug,email:t.email,courseType:e.courseType}),ia}catch(t){return reportError(new Error(`Error registering for microcourse: ${JSON.stringify(t)}`)),oa}case"communityPage":try{return await $r.communities.join(e.slug,{...t.jobTitle&&{jobTitle:t.jobTitle},...t.organization&&{organization:t.organization},...t.image.thumbnail&&{thumbnail:t.image.thumbnail}}),ia}catch(t){return reportError(new Error(`Error joining community: ${JSON.stringify(t)}`)),oa}default:return oa}};var la=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var a,n,s;if(Array.isArray(e)){if((a=e.length)!=r.length)return!1;for(n=a;0!=n--;)if(!t(e[n],r[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((a=(s=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(n=a;0!=n--;)if(!Object.prototype.hasOwnProperty.call(r,s[n]))return!1;for(n=a;0!=n--;){var i=s[n];if(!t(e[i],r[i]))return!1}return!0}return e!=e&&r!=r};const ua="__googleMapsScriptId";var Ea;!function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"}(Ea||(Ea={}));class Sa{constructor({apiKey:t,authReferrerPolicy:e,channel:r,client:a,id:n=ua,language:s,libraries:i=[],mapIds:o,nonce:c,region:l,retries:u=3,url:E="https://maps.googleapis.com/maps/api/js",version:S}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=t,this.authReferrerPolicy=e,this.channel=r,this.client=a,this.id=n||ua,this.language=s,this.libraries=i,this.mapIds=o,this.nonce=c,this.region=l,this.retries=u,this.url=E,this.version=S,Sa.instance){if(!la(this.options,Sa.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Sa.instance.options)}`);return Sa.instance}Sa.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?Ea.FAILURE:this.done?Ea.SUCCESS:this.loading?Ea.LOADING:Ea.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let t=this.url;return t+="?callback=__googleMapsCallback",this.apiKey&&(t+=`&key=${this.apiKey}`),this.channel&&(t+=`&channel=${this.channel}`),this.client&&(t+=`&client=${this.client}`),this.libraries.length>0&&(t+=`&libraries=${this.libraries.join(",")}`),this.language&&(t+=`&language=${this.language}`),this.region&&(t+=`&region=${this.region}`),this.version&&(t+=`&v=${this.version}`),this.mapIds&&(t+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(t+=`&auth_referrer_policy=${this.authReferrerPolicy}`),t}deleteScript(){const t=document.getElementById(this.id);t&&t.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise(((t,e)=>{this.loadCallback((r=>{r?e(r.error):t(window.google)}))}))}importLibrary(t){return this.execute(),google.maps.importLibrary(t)}loadCallback(t){this.callbacks.push(t),this.execute()}setScript(){var t,e;if(document.getElementById(this.id))return void this.callback();const r={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(r).forEach((t=>!r[t]&&delete r[t])),(null===(e=null===(t=null===window||void 0===window?void 0:window.google)||void 0===t?void 0:t.maps)||void 0===e?void 0:e.importLibrary)||(t=>{let e,r,a,n="The Google Maps JavaScript API",s="google",i="importLibrary",o="__ib__",c=document,l=window;l=l[s]||(l[s]={});const u=l.maps||(l.maps={}),E=new Set,S=new URLSearchParams,d=()=>e||(e=new Promise(((i,l)=>{return d=this,p=void 0,I=function*(){var d;for(a in yield r=c.createElement("script"),r.id=this.id,S.set("libraries",[...E]+""),t)S.set(a.replace(/[A-Z]/g,(t=>"_"+t[0].toLowerCase())),t[a]);S.set("callback",s+".maps."+o),r.src=this.url+"?"+S,u[o]=i,r.onerror=()=>e=l(Error(n+" could not load.")),r.nonce=this.nonce||(null===(d=c.querySelector("script[nonce]"))||void 0===d?void 0:d.nonce)||"",c.head.append(r)},new((h=void 0)||(h=Promise))((function(t,e){function r(t){try{n(I.next(t))}catch(t){e(t)}}function a(t){try{n(I.throw(t))}catch(t){e(t)}}function n(e){var n;e.done?t(e.value):(n=e.value,n instanceof h?n:new h((function(t){t(n)}))).then(r,a)}n((I=I.apply(d,p||[])).next())}));var d,p,h,I})));u[i]?console.warn(n+" only loads once. Ignoring:",t):u[i]=(t,...e)=>E.add(t)&&d().then((()=>u[i](t,...e)))})(r);const a=this.libraries.map((t=>this.importLibrary(t)));a.length||a.push(this.importLibrary("core")),Promise.all(a).then((()=>this.callback()),(t=>{const e=new ErrorEvent("error",{error:t});this.loadErrorCallback(e)}))}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(t){if(this.errors.push(t),this.errors.length<=this.retries){const t=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${t} ms.`),setTimeout((()=>{this.deleteScript(),this.setScript()}),t)}else this.onerrorEvent=t,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach((t=>{t(this.onerrorEvent)})),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version)return console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),void this.callback();this.loading||(this.loading=!0,this.setScript())}}}const{GOOGLE:{MAPS:{LIBRARIES:da,VERSION:pa}}}=a;var ha=function(t){return{city:async function(e){try{const r=await async function(){try{const{AutocompleteService:t}=await async function(t=da.PLACES){const e=h(),r=new Sa({apiKey:e?.googleMaps?.apiKey,version:pa});return await r.importLibrary(t)}();return new t}catch(t){throw new Error("Unable to load google library:",t)}}();return new Promise((a=>{r.getPlacePredictions({...t,input:e,types:["(cities)"]},((t=[],e)=>{a("OK"===e?t:[])}))}))}catch(t){return console.error("Error with Autocomplete Service:",t),[]}}}},Ia=l(408);const ga=t=>t&&Ia.Buffer.from(t,"base64").toString("ascii");function wa({contentContext:a=null,errorsContext:l=null,googleMapsContext:u=null,gtmContext:h=null,origin:I}){try{const g=(t=>{let e=null;t?e=t:"undefined"!=typeof window&&(e=window.origin||window.location.origin),e||new Error("Cannot select environment: Website not defined");let r=null;const a=e.match(i);return a?r=a[1].split(o)[0]:e===n?r=c:e.includes(s)&&(r=E),r||new Error(`Cannot select environment: No rule for website ${e}`),r})(I);return a&&(0,t.setContext)(Object.assign({},a,{environment:g})),l&&(0,e.setContext)(Object.assign({},l,{environment:g})),u&&(({apiKey:t})=>{p.googleMaps={apiKey:t}})(Object.assign({},u,{environment:g})),h&&((0,r.setContext)(Object.assign({},h,{environment:g})),(0,r.setupGTM)()),(({environment:t})=>{const e=(t=>{if(!t)throw new Error("Cannot map environment: Environment not defined");if(!S[t])throw new Error(`Cannot map environment: No mapping found for environment ${t}`);return S[t]})(t);p.emailIds=d[e]})(Object.assign({},{environment:g})),g}catch(t){console.warn(`Cannot load SDK: ${t.message}`)}}}(),u}()}));
2
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("socket.io-client"),require("buffer")):"function"==typeof define&&define.amd?define(["@apolitical/content","@apolitical/error-reporting","@apolitical/gtm","axios","http-status-codes","socket.io-client","buffer"],e):"object"==typeof exports?exports.ApoliticalSDK=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("socket.io-client"),require("buffer")):t.ApoliticalSDK=e(t["@apolitical/content"],t["@apolitical/error-reporting"],t["@apolitical/gtm"],t.axios,t["http-status-codes"],t["socket.io-client"],t.buffer)}(this,(function(t,e,r,a,n,s,i){return function(){"use strict";var o={809:function(e){e.exports=t},30:function(t){t.exports=e},36:function(t){t.exports=r},300:function(t){t.exports=a},408:function(t){t.exports=i},25:function(t){t.exports=n},130:function(t){t.exports=s}},c={};function l(t){var e=c[t];if(void 0!==e)return e.exports;var r=c[t]={exports:{}};return o[t](r,r.exports,l),r.exports}l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,{a:e}),e},l.d=function(t,e){for(var r in e)l.o(e,r)&&!l.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var u={};return function(){l.r(u),l.d(u,{assets:function(){return N},auth:function(){return $},buildAnswer:function(){return ca},buildCardCtaClickHandler:function(){return Ea},buildCarouselCard:function(){return oa},buildQuestion:function(){return Qr},carouselCards:function(){return br},contentInteraction:function(){return X},decodeBase64:function(){return ya},default:function(){return Aa},editorialPages:function(){return qr},features:function(){return et},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return gt},mgmt:function(){return Pt},payments:function(){return Ut},people:function(){return We},peopleEngagement:function(){return nr},predictPlace:function(){return wa},qaQuestions:function(){return Hr},reportError:function(){return e.reportError},search:function(){return lr},socials:function(){return Ur}});var t=l(809),e=l(30),r=l(36),a={APOLITICAL:{WEBSITES:{LIVE:"https://apolitical.co",LOCALHOST:"localhost",STAGING:/https:\/\/([\w|\d|-]+)\.apolitical\.co/i,STAGING_SPLITTER:"-"},ENVIRONMENTS:{PRODUCTION:"live",LOCAL:"local"}},APIS:{ASSETS_API:{BASE_URL:"/api/assets-api",ENDPOINTS:{USERS:"/users",CERTIFICATES:"/certificates"}},AUTH_API:{BASE_URL:"/api/auth-api",ENDPOINTS:{USER_PASSWORD:"/password",USERS:"/users"}},CONTENT_INTERACTION_API:{BASE_URL:"/api/content-interaction-api",ENDPOINTS:{QUESTIONS:"/questions",ANSWERS:"/answers",REPLIES:"/replies",LIKES:"/likes"}},FEATURES_API:{BASE_URL:"/api/features-api",ENDPOINTS:{FLAGS:"/features"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",EVENT_REGISTRATIONS:"/event-registrations",LOGINS:"/logins",LOGIN_PASSWORDLESS:"/passwordless",BULK_ENROLMENTS:"/bulk-enrolments"}},MGMT_API:{BASE_URL:"/api/mgmt-api",ENDPOINTS:{REFERRALS:"/referrals",BULK_REFERRALS:"/bulk-referrals",BULK_ENROLMENTS:"/bulk-enrolments"}},PAYMENTS_API:{BASE_URL:"/api/payments-api",BASE_URL_V2:"/api/payments-api/v2",ENDPOINTS:{PRODUCTS:"/products"}},PEOPLE_API:{BASE_URL:"/api/people-api",BASE_URL_V2:"/api/people-api/v2",ENDPOINTS:{COMMUNITIES:"/user-communities",BULK_ENROLMENTS:"/bulk-enrolments",MY_COMMUNITIES:"/users/me/communities",REGISTRATIONS:"/registrations",USERS:"/users",USER_ANSWERS:"/answers",USER_COURSES:"/courses",USER_EVENTS:"/events",USER_LIKES:"/likes",USER_LESSONS:"/lessons",USER_PRODUCTS:"/products",USER_RATINGS:"/ratings",USER_REFERRALS:"/referrals",USER_SUBSCRIPTIONS:"/subscriptions"}},PEOPLE_ENGAGEMENT_API:{BASE_URL:"/api/people-engagement-api",ENDPOINTS:{ENQUIRY_EMAILS:"/enquiry-emails",USERS:"/users",USER_PROPERTIES:"/properties"}},SEARCH_API:{BASE_URL:"/api/search-api",ENDPOINTS:{SEARCH:"/search"}},SOCIALS_API:{BASE_URL:"/api/socials-api",ENDPOINTS:{COMMUNITIES:"/communities"},PATHS:{ACTIVITIES:"activities",REACTIONS:"reactions"}}},CONTENTFUL:{ARTICLES:{TYPE:"solutionArticle"},CAROUSELS:{CARD_TYPES:{communityPage:{INCLUDE:1,SELECT:"fields.bannerSection,fields.slug,fields.title"},customCard:{INCLUDE:1,SELECT:"fields.icon,fields.label,fields.image,fields.primaryText,fields.secondaryText,fields.authorName,fields.authorImage,fields.link,fields.openInNewTab"},solutionArticle:{INCLUDE:1,SELECT:"fields.authorIds,fields.authorTag,fields.image,fields.publishedDate,fields.readingTime,fields.slug,fields.title"},microcourse:{INCLUDE:2,SELECT:"fields.banner,fields.freeCourse,fields.partnershipDetails,fields.slug,fields.title,fields.courseType"},event:{INCLUDE:1,SELECT:"fields.bannerImage,fields.defaultStartDate,fields.slug,fields.speakers,fields.title,fields.isEventOngoing"},listPage:{INCLUDE:1,SELECT:"fields.hero,fields.slug,fields.title"},qaQuestion:{INCLUDE:0,SELECT:"fields.answers,fields.authorId,fields.slug,fields.title,sys.createdAt,fields.projectNames"},learningHub:{INCLUDE:1,SELECT:"fields.bannerSection,fields.customLabel,fields.slug,fields.title"}}},COMMUNITY:{TYPE:"communityPage"},COURSES:{TYPE:"microcourse"},CUSTOM_CARD:{TYPE:"customCard"},EDITORIAL_PAGES:{INCLUDE:1,SELECT:"fields.carousels,fields.slug,fields.showCarouselCta,fields.header,fields.subHeader",TYPE:"editorialPage"},EVENTS:{TYPE:"event"},LISTS:{TYPE:"listPage"},QUESTIONS:{TYPE:"qaQuestion",INCLUDE:1,LIMIT:10,ORDER:"-sys.createdAt",SELECT:"sys.createdAt,sys.updatedAt,fields.title,fields.slug,fields.authorId,fields.answers,fields.isEdited,fields.projectNames",SKIP:0},ANSWERS:{TYPE:"qaAnswer"},REPLIES:{TYPE:"reply"},LEARNING_HUB:{TYPE:"learningHub"}},GOOGLE:{MAPS:{LIBRARIES:{PLACES:"places"},VERSION:"weekly"}},HUBSPOT:{ENVIRONMENTS_MAPPING:{local:"SANDBOX",beta:"SANDBOX",rc:"SANDBOX",live:"LIVE"},EMAIL_IDS:{SANDBOX:{internalEmailId:49099078634,externalEmailId:55196526554},LIVE:{internalEmailId:55233583049,externalEmailId:55231159239}}},USERS:{MYSELF:"me"},STATUS_CODES:{INVALID_TOKEN:498},ERROR_MESSAGES:{INVALID_TOKEN:"Invalid token error: Logging user out..."}};const{APOLITICAL:{WEBSITES:{LIVE:n,LOCALHOST:s,STAGING:i,STAGING_SPLITTER:o},ENVIRONMENTS:{PRODUCTION:c,LOCAL:E}}}=a,{HUBSPOT:{ENVIRONMENTS_MAPPING:S,EMAIL_IDS:d}}=a;let p={emailIds:{}};const h=()=>p;var I=l(300),g=l.n(I);const w=async t=>{try{const{message:r,response:a,request:n}=t;let s=r;return a?s+=` - The request was made and the server responded with ${JSON.stringify({status:a.status,data:a.data})}`:n&&(s+=" - The request was made but no response was received"),console.warn(s),await(0,e.reportError)(new Error(s)),s}catch(t){return console.warn(`Cannot handle error: ${t.message}`),t.message}},{APIS:{ASSETS_API:{BASE_URL:m,ENDPOINTS:{USERS:y,CERTIFICATES:A}}}}=a;var N={certificates:{create:async(t,e)=>{let r=[];try{const{data:a}=await g().post(`${m}${y}/${t}${A}`,e);a&&(r=a)}catch(t){await w(t)}return r}}};const{APIS:{AUTH_API:{BASE_URL:T,ENDPOINTS:{USER_PASSWORD:f,USERS:R}}},USERS:{MYSELF:P}}=a;var $={userPassword:{update:async t=>{let e=null;try{e=await g().put(`${T}${R}/${P}${f}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await w(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:L,ENDPOINTS:{ANSWERS:O,QUESTIONS:U,LIKES:C}}}}=a,_=`${L}${U}`;var v={create:async({questionSlug:t},e)=>{try{await g().post(`${_}/${encodeURIComponent(t)}${O}`,e)}catch(t){const e=await w(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{await g().delete(`${_}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}`)}catch(t){const e=await w(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e},r)=>{try{return await g().put(`${_}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}`,r)}catch(t){const e=await w(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e},r)=>{try{return await g().post(`${_}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}${C}`,r)}catch(t){const e=await w(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e})=>{try{return await g().delete(`${_}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}${C}`)}catch(t){const e=await w(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:b,ENDPOINTS:{QUESTIONS:D}}}}=a,M=`${b}${D}`;var B={create:async t=>{try{return await g().post(M,t)}catch(t){const e=await w(t);throw new Error(e)}},remove:async({questionSlug:t})=>{try{await g().delete(`${M}/${encodeURIComponent(t)}`)}catch(t){const e=await w(t);throw new Error(e)}},update:async({questionSlug:t},e)=>{try{return await g().put(`${M}/${encodeURIComponent(t)}`,e)}catch(t){const e=await w(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:k,ENDPOINTS:{REPLIES:q,ANSWERS:G,QUESTIONS:x,LIKES:Y}}}}=a,V=`${k}${x}`,F=({questionSlug:t,answerSlug:e,replySlug:r},a=!1)=>{let n=`${V}/${encodeURIComponent(t)}${G}/${encodeURIComponent(e)}${q}`;return r&&(n=`${n}/${encodeURIComponent(r)}`,a&&(n=`${n}${Y}`)),n};var K={create:async({questionSlug:t,answerSlug:e},r)=>{try{return await g().post(F({questionSlug:t,answerSlug:e}),r)}catch(t){const e=await w(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{return await g().put(F({questionSlug:t,answerSlug:e,replySlug:r}),a)}catch(t){const e=await w(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await g().delete(F({questionSlug:t,answerSlug:e,replySlug:r}))}catch(t){const e=await w(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e,replySlug:r,payload:a})=>{try{await g().post(F({questionSlug:t,answerSlug:e,replySlug:r},!0),a)}catch(t){const e=await w(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await g().delete(F({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await w(t);throw new Error(e)}},getReplyUrl:F};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:j,ENDPOINTS:{QUESTIONS:H,ANSWERS:Q,LIKES:W}}}}=a,J=`${j}${H}`;var X={answers:v,questions:B,replies:K,likes:{create:async({questionSlug:t,answerSlug:e})=>{try{return await g().post(`${J}/${encodeURIComponent(t)}${Q}/${encodeURIComponent(e)}${W}`)}catch(t){const e=await w(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{return await g().delete(`${J}/${encodeURIComponent(t)}${Q}/${encodeURIComponent(e)}${W}`)}catch(t){const e=await w(t);throw new Error(e)}}}};const{APIS:{FEATURES_API:{BASE_URL:Z,ENDPOINTS:{FLAGS:z}}}}=a,tt=`${Z}${z}`;var et={flags:{read:async t=>{let e=null;try{const{data:r}=await g().get(`${tt}/${encodeURIComponent(t)}`);r?.name&&r?.featureState&&(e=r)}catch(t){await w(t)}return e}}};const{APIS:{MANAGEMENT_API:{BASE_URL:rt,ENDPOINTS:{ACCOUNTS:at}}}}=a;var nt={create:async t=>{try{await g().post(`${rt}${at}`,t)}catch(t){throw await w(t),t}},read:async t=>{let e=null;try{({data:e}=await g().get(`${rt}${at}/${encodeURIComponent(t)}`))}catch(t){await w(t)}return e},update:async(t,e)=>{try{await g().put(`${rt}${at}/${encodeURIComponent(t)}`,e)}catch(t){throw await w(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:st,ENDPOINTS:{BULK_ENROLMENTS:it}}}}=a;var ot={create:async t=>{try{await g().post(`${st}${it}`,t)}catch(t){throw await w(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ct,ENDPOINTS:{EVENT_REGISTRATIONS:lt}}}}=a;var ut={create:async t=>{try{await g().post(`${ct}${lt}`,t)}catch(t){const e=await w(t);throw new Error(e)}}};const{APIS:{MANAGEMENT_API:{BASE_URL:Et,ENDPOINTS:{LOGINS:St,LOGIN_PASSWORDLESS:dt}}}}=a,pt=`${Et}${St}`;var ht={update:async t=>{try{await g().put(`${pt}/${encodeURIComponent(t)}${dt}`)}catch(t){throw await w(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:It}}}=a;var gt={accounts:nt,bulkEnrolments:ot,eventRegistrations:ut,passwordless:ht,userProducts:{create:async t=>{try{await g().post(`${It}/users/${t.id}/products`,t)}catch(t){const e=await w(t);throw new Error(e)}}}};const{APIS:{MGMT_API:{BASE_URL:wt,ENDPOINTS:{REFERRALS:mt}}}}=a;var yt={create:async t=>{try{await g().post(`${wt}${mt}`,t)}catch(t){throw await w(t),t}}};const{APIS:{MGMT_API:{BASE_URL:At,ENDPOINTS:{BULK_REFERRALS:Nt}}}}=a;var Tt={create:async t=>{try{await g().post(`${At}${Nt}`,t)}catch(t){throw await w(t),t}}};const{APIS:{MGMT_API:{BASE_URL:ft,ENDPOINTS:{BULK_ENROLMENTS:Rt}}}}=a;var Pt={referrals:yt,bulkReferrals:Tt,bulkEnrolments:{create:async t=>{try{await g().post(`${ft}${Rt}`,t)}catch(t){throw await w(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:$t,ENDPOINTS:{PRODUCTS:Lt}}}}=a,Ot=`${$t}${Lt}`;var Ut={products:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(Ot,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ct,ENDPOINTS:{BULK_ENROLMENTS:_t}}}}=a;var vt={list:async t=>{let e=[];try{const{data:r}=await g().get(`${Ct}${_t}`,{params:t});r&&r.length&&(e=r)}catch(t){await w(t)}return e}},bt=l(25);const{OK:Dt,MULTIPLE_CHOICES:Mt,NOT_FOUND:Bt,FORBIDDEN:kt}=bt.StatusCodes,qt=t=>t>=Dt&&t<Mt||t===kt||t===Bt,{APIS:{PEOPLE_API:{BASE_URL_V2:Gt,ENDPOINTS:{USERS:xt}}},STATUS_CODES:{INVALID_TOKEN:Yt},ERROR_MESSAGES:{INVALID_TOKEN:Vt}}=a,Ft=async t=>{let e=null;try{const{data:r}=await g().get(`${Gt}${xt}/${encodeURIComponent(t)}`,{validateStatus:qt});r&&r.id&&(e=r)}catch(t){if(t?.response?.status===Yt)throw new Error(Vt);await w(t)}return e},Kt=async t=>{let e=[];try{if(t&&t.length<2)throw new Error("users list method requires at least two ids");const r=t.map((t=>`ids=${encodeURIComponent(t)}`)).join("&"),a=await g().get(`${Gt}${xt}?${r}`,{validateStatus:qt});a&&a.length&&(e=a)}catch(t){await w(t)}return e};var jt={read:Ft,update:async(t,e)=>{let r=!1;try{const{data:a}=await g().put(`${Gt}${xt}/${encodeURIComponent(t)}`,e);r=!(!a||!a.id)}catch(t){await w(t)}return r},list:Kt};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ht,ENDPOINTS:{USERS:Qt,USER_LIKES:Wt}}},USERS:{MYSELF:Jt}}=a,Xt=`${Ht}${Qt}/${Jt}${Wt}`,Zt=async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(Xt,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e};var zt={list:Zt};var te={authors:{readQuestionAuthors:async(t,e,r)=>{try{if(t.author=await Ft(t.authorId),t.answers&&t.answers.length&&!r.ignoreAnswersAuthors){t.answers.sort(((t,e)=>new Date(e.updatedAt)-new Date(t.updatedAt))),t.totalAnswers=t.answers.length;let n=t.answers;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.answers.slice(e,e+r.limit)}for(let t of n){t.author=t.authorId&&await Ft(t.authorId)||{};const[r]=e?await Zt({contentType:a.CONTENTFUL.ANSWERS.TYPE,contentSlug:t.slug}):[null];t.userLiked=!!r}t.answers=n}else t.answers||(t.answers=[]);return t}catch(t){throw await w(t),new Error(`Cannot read authors for question: ${t.message}`)}},readAuthors:async(t=[])=>{let e=[];try{if(!1===Array.isArray(t))throw new Error("authorIds is not an array!");if(t&&1===t.length){const r=await Ft(t[0]);r&&e.push(r)}else if(t&&t.length>1){const r=await Kt(t);r&&r.length>0&&(e=r)}}catch(t){throw await w(t),new Error(`Cannot read authors: ${t.message}`)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ee,ENDPOINTS:{MY_COMMUNITIES:re}}}}=a,ae=`${ee}${re}`;function ne(t){const e=t["content-range"].split(" ")[1].split("/"),[r,a,n]=[...e[0].split("-"),e[1]].map((t=>parseInt(t,10)||0));return{start:r,end:a,total:n}}var se={list:async t=>{let e={items:[],start:0,end:0,total:0},r=t?{params:t}:{params:{}};try{const{data:t,headers:a}=await g().get(ae,{...r,headers:{"Cache-Control":"no-cache",Pragma:"no-cache",Expires:0}});return t?.length>0&&(e={items:t,...ne(a)}),e}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL:ie,ENDPOINTS:{REGISTRATIONS:oe}}}}=a;var ce={list:async t=>{let e=[];try{const{data:r}=await g().get(`${ie}${oe}`,{params:t});r&&r.length&&(e=r)}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:le,ENDPOINTS:{COMMUNITIES:ue}}}}=a,Ee=`${le}${ue}`;function Se(t){const e=t["content-range"].split(" ")[1].split("/"),[r,a,n]=[...e[0].split("-"),e[1]].map((t=>parseInt(t,10)||0));return{start:r,end:a,total:n}}var de={list:async t=>{let e={items:[],start:0,end:0,total:0},r=t?{params:t}:{params:{}};try{const{data:t,headers:a}=await g().get(Ee,{...r,headers:{"Cache-Control":"no-cache",Pragma:"no-cache",Expires:0}});return t?.length>0&&(e={items:t,...Se(a)}),e}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:pe,ENDPOINTS:{USERS:he,USER_COURSES:Ie}}},USERS:{MYSELF:ge}}=a,we=`${pe}${he}/${ge}${Ie}`;var me={create:async t=>{try{await g().post(we,t)}catch(t){await w(t)}},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(we,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e},update:async(t,e)=>{try{await g().put(`${we}/${t}`,e)}catch(t){await w(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ye,ENDPOINTS:{USERS:Ae,USER_EVENTS:Ne}}},USERS:{MYSELF:Te}}=a,fe=`${ye}${Ae}/${Te}${Ne}`;var Re={list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(fe,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Pe,ENDPOINTS:{USERS:$e,USER_LESSONS:Le}}},USERS:{MYSELF:Oe}}=a,Ue=`${Pe}${$e}/${Oe}${Le}`;var Ce={create:async t=>{let e=null;try{e=await g().post(Ue,t)}catch(t){await w(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(Ue,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:_e,ENDPOINTS:{USERS:ve,USER_PRODUCTS:be}}},USERS:{MYSELF:De}}=a,Me=`${_e}${ve}/${De}${be}`;var Be={create:async t=>{let e=null;try{e=await g().post(Me,t)}catch(t){await w(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(Me,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e},update:async(t,e)=>{try{await g().put(`${Me}/${t}`,e)}catch(t){await w(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ke,ENDPOINTS:{USERS:qe,USER_RATINGS:Ge}}},USERS:{MYSELF:xe}}=a,Ye=`${ke}${qe}/${xe}${Ge}`;var Ve={create:async t=>{let e=null;try{const{data:r}=await g().post(Ye,t);r?.id&&(e=r)}catch(t){await w(t)}return e},update:async(t,e)=>{try{await g().put(`${Ye}/${t}`,e)}catch(t){await w(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Fe,ENDPOINTS:{USERS:Ke,USER_REFERRALS:je}}},USERS:{MYSELF:He}}=a,Qe=`${Fe}${Ke}/${He}${je}`;var We={bulkEnrolments:vt,handlers:te,myCommunities:se,registrations:ce,users:jt,userCommunities:de,userCourses:me,userEvents:Re,userLessons:Ce,userLikes:zt,userProducts:Be,userRatings:Ve,userReferrals:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await g().get(Qe,r);t&&t.length&&(e=t)}catch(t){await w(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:Je,ENDPOINTS:{ENQUIRY_EMAILS:Xe}}}}=a;var Ze={create:async t=>{let e=null;try{const{data:r}=await g().post(`${Je}${Xe}`,t);r&&(e=r)}catch(t){await w(t)}return e}},ze={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:r}=h();e=await nr.emails.create({...r,...t})}catch(t){await w(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:tr,ENDPOINTS:{USERS:er,USER_PROPERTIES:rr}}},USERS:{MYSELF:ar}}=a;var nr={emails:Ze,handlers:ze,userProperties:{update:async(t,e)=>{try{await g().put(`${tr}${er}/${ar}${rr}/${t}`,e)}catch(t){await w(t)}}}},sr=l(130);const{APIS:{SEARCH_API:{BASE_URL:ir,ENDPOINTS:{SEARCH:or}}}}=a,cr=`${ir}${or}`;var lr={ask:async t=>{try{let e=null;const{data:r}=await g().get(cr,{params:{question:t}});return r?.answer&&r?.references&&r?.version&&(e=r),e}catch(t){const e=await w(t);throw new Error(e)}},stream:(t,e,r)=>{const a=(0,sr.io)(void 0,{path:"/api/search-api/web-sockets"});function n(){a.emit("search",{question:t})}function s(t){r(t),i(),a.disconnect()}function i(){a.off("connect",n),a.off("update",e),a.off("result",s)}return a.on("connect",n),a.on("update",e),a.on("result",s),i}};const{APIS:{SOCIALS_API:{BASE_URL:ur,ENDPOINTS:{COMMUNITIES:Er}}}}=a,Sr=`${ur}${Er}`;var dr={read:async t=>{let e=null;try{const{data:r}=await g().get(`${Sr}/${encodeURIComponent(t)}`);r?.title&&(e=r)}catch(t){await w(t)}return e},join:async(t,e)=>{let r=null;try{const{data:a}=await g().post(`${Sr}/${encodeURIComponent(t)}/members`,e);r=a}catch(t){await w(t)}return r},leave:async t=>{let e=null;try{const{data:r}=await g().delete(`${Sr}/${encodeURIComponent(t)}/members/me`);e=r}catch(t){await w(t)}return e}};const{APIS:{SOCIALS_API:{BASE_URL:pr,ENDPOINTS:{COMMUNITIES:hr},PATHS:{ACTIVITIES:Ir}}}}=a,gr=`${pr}${hr}`;var wr={read:async(t,e)=>{let r=null;try{const{data:a}=await g().get(`${gr}/${encodeURIComponent(t)}/${Ir}/${e}`);a&&(r=a)}catch(t){await w(t)}return r},list:async(t,e={})=>{let r=null;try{const{data:a}=await g().get(`${gr}/${encodeURIComponent(t)}/${Ir}`,{params:e});a&&(r=a)}catch(t){await w(t)}return r},create:async(t,e)=>{let r=null;try{const{data:a}=await g().post(`${gr}/${encodeURIComponent(t)}/${Ir}`,e);a?.content&&(r=a)}catch(t){await w(t)}return r},update:async(t,e,r)=>{let a=null;try{const{data:n}=await g().put(`${gr}/${encodeURIComponent(t)}/${Ir}/${e}`,r);n?.content&&(a=n)}catch(t){await w(t)}return a},remove:async(t,e)=>{let r=null;try{const{data:a}=await g().delete(`${gr}/${encodeURIComponent(t)}/${Ir}/${e}`);r=a}catch(t){await w(t)}return r}};const{APIS:{SOCIALS_API:{BASE_URL:mr,ENDPOINTS:{COMMUNITIES:yr},PATHS:{ACTIVITIES:Ar,REACTIONS:Nr}}}}=a,Tr=`${mr}${yr}`;var fr={create:async(t,e,r,a)=>{let n=null,s=`${Tr}/${encodeURIComponent(t)}`;s=e?`${s}/${Ar}/${e}/${Nr}`:`${s}/${Nr}/${r}/${Nr}`;try{const{data:t}=await g().post(s,a);n=t}catch(t){await w(t)}return n},list:async(t,{activityId:e,reactionId:r},a={})=>{let n=null,s=`${Tr}/${encodeURIComponent(t)}`;s=e?`${s}/${Ar}/${e}/${Nr}`:`${s}/${Nr}/${r}/${Nr}`;try{const{data:t}=await g().get(s,{params:a});t&&(n=t)}catch(t){await w(t)}return n},remove:async(t,e)=>{let r=null;try{const{data:a}=await g().delete(`${Tr}/${encodeURIComponent(t)}/${Nr}/${e}`);r=a}catch(t){await w(t)}return r},update:async(t,e,r,a)=>{let n=null,s=`${Tr}/${encodeURIComponent(t)}`;s=e?`${s}/${Ar}/${e}`:`${s}/${Nr}/${r}`;try{const{data:t}=await g().put(s,a);n=t}catch(t){await w(t)}return n}};const{APIS:{SOCIALS_API:{BASE_URL:Rr,ENDPOINTS:{COMMUNITIES:Pr},PATHS:{ACTIVITIES:$r,REACTIONS:Lr}}}}=a,Or=`${Rr}${Pr}`;var Ur={activities:wr,communities:dr,likes:{create:async({slug:t,activityId:e,reactionId:r})=>{let a=null;const n={kind:"like"};let s=`${Or}/${encodeURIComponent(t)}`;s=e?`${s}/${$r}/${e}/${Lr}`:`${s}/${Lr}/${r}/${Lr}`;try{const{data:t}=await g().post(s,n);a=t}catch(t){await w(t)}return a},remove:async({slug:t,reactionId:e})=>{let r=null;try{const{data:a}=await g().delete(`${Or}/${encodeURIComponent(t)}/${Lr}/${e}`);r=a}catch(t){await w(t)}return r}},reactions:fr};const{CONTENTFUL:Cr}=a,{CARD_TYPES:_r}=Cr.CAROUSELS,vr={read:async(e,r)=>{try{if(!r||!r.sys||!r.sys.id)throw new Error("Invalid link to card");if(!e||!_r[e])throw new Error("Unsupported card content type");const{INCLUDE:a,SELECT:n}=_r[e];return await(0,t.getEntry)({content_type:e,"sys.id":r.sys.id,include:a,select:n},{assetDetails:!0})}catch(t){throw await w(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var br=vr;const{CONTENTFUL:Dr}=a,{INCLUDE:Mr,SELECT:Br,TYPE:kr}=Dr.EDITORIAL_PAGES;var qr={read:async e=>{try{return await(0,t.getEntry)({content_type:kr,"fields.slug":e,include:Mr,select:Br})}catch(t){throw await w(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:Gr}=a,{TYPE:xr,ORDER:Yr,SELECT:Vr,SKIP:Fr,LIMIT:Kr,INCLUDE:jr}=Gr.QUESTIONS;var Hr={read:async e=>{try{return await(0,t.getEntry)({content_type:xr,"fields.slug":e,include:2,select:Vr})}catch(t){throw await w(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:xr,include:jr,limit:Kr,order:Yr,select:Vr,skip:Fr,...e})}catch(t){throw await w(t),new Error(`Cannot list questions: ${t.message}`)}}},Qr=async(t,e,r={ignoreAnswersAuthors:!1})=>{try{let a={};return a=await Hr.read(t),a=await We.handlers.authors.readQuestionAuthors(a,e,r),a}catch(t){throw await w(t),new Error(`Cannot build question: ${t.message}`)}};const{ARTICLES:{TYPE:Wr},COURSES:{TYPE:Jr},CUSTOM_CARD:{TYPE:Xr},COMMUNITY:{TYPE:Zr},EVENTS:{TYPE:zr},LISTS:{TYPE:ta},QUESTIONS:{TYPE:ea},LEARNING_HUB:{TYPE:ra}}=a.CONTENTFUL,aa=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,na=t=>t&&t.url?`${t.url}?w=100&h=100&fit=thumb&f=center`:null,sa=t=>t.toLowerCase().split(" ")[0],ia={[Wr]:async t=>{const{authorIds:e,authorTag:r,image:a,publishedDate:n,readingTime:s,slug:i,title:o}=t,c=await We.handlers.authors.readAuthors(e),l=c&&c.length?c:r?[sa(r)]:null;return{banner:aa(a),contributors:l,publishedDate:n,readingTime:s,slug:i,title:o}},[Zr]:async t=>{const{title:e,slug:r,bannerSection:a}=t,n=await Ur.communities.read(r),s=await We.userCommunities.list({communitySlug:r,count:1});return{banner:a?.image?aa(a.image):null,slug:r,title:e,members:{isMember:!!n?.member,memberType:n?.member?.role||null,count:s?.total||0}}},[Jr]:async(t,e)=>{const{banner:r,freeCourse:a,partnershipDetails:n,slug:s,title:i,registered:o,courseType:c}=t,l={banner:aa(r),slug:s,title:i,pill:a?"free":"premium",registered:!!o,courseType:c};if(n){const{partners:t}=n;if(t)if(t.length>1){let e=[];for(let r=0;r<t.length;r++)e.push(t[r].title);l.partner=e}else l.partner=[t[0].title]}if(void 0===o&&e){const[t]=await We.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});l.registered=!!t}return l},[Xr]:t=>{const{authorName:e,authorImage:r,icon:a,image:n,label:s,link:i,primaryText:o}=t;return{...t,banner:n?aa(n):null,customIcon:a?a.toLowerCase():null,customLabel:s,contributors:e?[{name:e,image:r?{thumbnail:na(r)}:null}]:null,slug:i,text:o}},[zr]:async(t,e)=>{const{bannerImage:r,defaultStartDate:a,isEventOngoing:n,slug:s,speakers:i,title:o,registered:c}=t,l=new Date(a),u=!!l&&l<new Date;if(i&&i.length)for(const t of i)t.image=na(t.image);const E={banner:aa(r),dateHasPassed:u,title:o,slug:s,isOngoingEvent:n,contributors:i,startDate:l,registered:!!c};if(void 0===c&&e){const[t]=await We.userEvents.list({eventSlug:s});E.registered=!!t}return E},[ta]:async t=>{const{hero:e,slug:r,title:a}=t;return{banner:aa(e),slug:r,title:a}},[ea]:async t=>{const{answers:e,authorId:r,createdAt:a,slug:n,title:s}=t;let i=null;if(r){const t=await We.users.read(r);t&&(i=t)}return{answers:e&&e.length?e.length:0,contributors:i?[i]:[],createdAt:a,slug:n,title:s}},[ra]:t=>{const{bannerSection:e,customLabel:r,slug:a,title:n}=t;return{banner:aa(e.image),slug:a,title:n,customLabel:r}},people:t=>{const{id:e,name:r,jobTitle:a,location:n,image:s,customLink:i}=t;return{profile:s,slug:i?.link||e,title:r,text:a,secondaryText:n,customLinkText:i?.text}}};var oa=async({contentType:t,...e}={},r)=>{try{if(!ia[t])throw new Error("Content type not supported");if("function"!=typeof ia[t])throw new Error("No builder function for content type");return"people"!==t&&e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await br.read(t,e)),{contentType:t,...await ia[t](e,r)}}catch(t){throw await w(t),new Error(`Cannot build carousel card: ${t.message}`)}},ca=async(t,e,r={})=>{try{if(!t.replies||0===t.replies.length)return t.replies=[],t;t.replies.sort(((t,e)=>new Date(t.createdAt)-new Date(e.createdAt))),t.totalReplies=t.totalReplies||t.replies.length;let n=t.replies;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.replies.slice(e,e+r.limit)}for(const r of n){if(r.authorId===t.authorId){r.author=t.author,r.userLiked=!1;continue}r.author=r.authorId&&await Ft(r.authorId)||{};const[n]=e?await Zt({contentType:a.CONTENTFUL.REPLIES.TYPE,contentSlug:r.slug}):[null];r.userLiked=!!n}return t.replies=n,t}catch(t){throw await w(t),new Error(`Cannot build replies for answer: ${t.message}`)}};const la="success",ua="error";var Ea=t=>async e=>{const{contentType:r}=e;switch(r){case"event":try{return await gt.eventRegistrations.create({eventSlug:e.slug,expectation:null,userEmail:t.email,startsAt:new Date(e.startDate).toISOString()}),la}catch(t){return reportError(new Error(`Error registering for event: ${JSON.stringify(t)}`)),ua}case"microcourse":try{return await gt.userProducts.create({id:t.id,courseSlug:e.slug,email:t.email,courseType:e.courseType}),la}catch(t){return reportError(new Error(`Error registering for microcourse: ${JSON.stringify(t)}`)),ua}case"communityPage":try{return await Ur.communities.join(e.slug,{...t.jobTitle&&{jobTitle:t.jobTitle},...t.organization&&{organization:t.organization},...t.image.thumbnail&&{thumbnail:t.image.thumbnail}}),la}catch(t){return reportError(new Error(`Error joining community: ${JSON.stringify(t)}`)),ua}default:return ua}};var Sa=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var a,n,s;if(Array.isArray(e)){if((a=e.length)!=r.length)return!1;for(n=a;0!=n--;)if(!t(e[n],r[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((a=(s=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(n=a;0!=n--;)if(!Object.prototype.hasOwnProperty.call(r,s[n]))return!1;for(n=a;0!=n--;){var i=s[n];if(!t(e[i],r[i]))return!1}return!0}return e!=e&&r!=r};const da="__googleMapsScriptId";var pa;!function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"}(pa||(pa={}));class ha{constructor({apiKey:t,authReferrerPolicy:e,channel:r,client:a,id:n=da,language:s,libraries:i=[],mapIds:o,nonce:c,region:l,retries:u=3,url:E="https://maps.googleapis.com/maps/api/js",version:S}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=t,this.authReferrerPolicy=e,this.channel=r,this.client=a,this.id=n||da,this.language=s,this.libraries=i,this.mapIds=o,this.nonce=c,this.region=l,this.retries=u,this.url=E,this.version=S,ha.instance){if(!Sa(this.options,ha.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(ha.instance.options)}`);return ha.instance}ha.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?pa.FAILURE:this.done?pa.SUCCESS:this.loading?pa.LOADING:pa.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let t=this.url;return t+="?callback=__googleMapsCallback",this.apiKey&&(t+=`&key=${this.apiKey}`),this.channel&&(t+=`&channel=${this.channel}`),this.client&&(t+=`&client=${this.client}`),this.libraries.length>0&&(t+=`&libraries=${this.libraries.join(",")}`),this.language&&(t+=`&language=${this.language}`),this.region&&(t+=`&region=${this.region}`),this.version&&(t+=`&v=${this.version}`),this.mapIds&&(t+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(t+=`&auth_referrer_policy=${this.authReferrerPolicy}`),t}deleteScript(){const t=document.getElementById(this.id);t&&t.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise(((t,e)=>{this.loadCallback((r=>{r?e(r.error):t(window.google)}))}))}importLibrary(t){return this.execute(),google.maps.importLibrary(t)}loadCallback(t){this.callbacks.push(t),this.execute()}setScript(){var t,e;if(document.getElementById(this.id))return void this.callback();const r={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(r).forEach((t=>!r[t]&&delete r[t])),(null===(e=null===(t=null===window||void 0===window?void 0:window.google)||void 0===t?void 0:t.maps)||void 0===e?void 0:e.importLibrary)||(t=>{let e,r,a,n="The Google Maps JavaScript API",s="google",i="importLibrary",o="__ib__",c=document,l=window;l=l[s]||(l[s]={});const u=l.maps||(l.maps={}),E=new Set,S=new URLSearchParams,d=()=>e||(e=new Promise(((i,l)=>{return d=this,p=void 0,I=function*(){var d;for(a in yield r=c.createElement("script"),r.id=this.id,S.set("libraries",[...E]+""),t)S.set(a.replace(/[A-Z]/g,(t=>"_"+t[0].toLowerCase())),t[a]);S.set("callback",s+".maps."+o),r.src=this.url+"?"+S,u[o]=i,r.onerror=()=>e=l(Error(n+" could not load.")),r.nonce=this.nonce||(null===(d=c.querySelector("script[nonce]"))||void 0===d?void 0:d.nonce)||"",c.head.append(r)},new((h=void 0)||(h=Promise))((function(t,e){function r(t){try{n(I.next(t))}catch(t){e(t)}}function a(t){try{n(I.throw(t))}catch(t){e(t)}}function n(e){var n;e.done?t(e.value):(n=e.value,n instanceof h?n:new h((function(t){t(n)}))).then(r,a)}n((I=I.apply(d,p||[])).next())}));var d,p,h,I})));u[i]?console.warn(n+" only loads once. Ignoring:",t):u[i]=(t,...e)=>E.add(t)&&d().then((()=>u[i](t,...e)))})(r);const a=this.libraries.map((t=>this.importLibrary(t)));a.length||a.push(this.importLibrary("core")),Promise.all(a).then((()=>this.callback()),(t=>{const e=new ErrorEvent("error",{error:t});this.loadErrorCallback(e)}))}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(t){if(this.errors.push(t),this.errors.length<=this.retries){const t=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${t} ms.`),setTimeout((()=>{this.deleteScript(),this.setScript()}),t)}else this.onerrorEvent=t,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach((t=>{t(this.onerrorEvent)})),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version)return console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),void this.callback();this.loading||(this.loading=!0,this.setScript())}}}const{GOOGLE:{MAPS:{LIBRARIES:Ia,VERSION:ga}}}=a;var wa=function(t){return{city:async function(e){try{const r=await async function(){try{const{AutocompleteService:t}=await async function(t=Ia.PLACES){const e=h(),r=new ha({apiKey:e?.googleMaps?.apiKey,version:ga});return await r.importLibrary(t)}();return new t}catch(t){throw new Error("Unable to load google library:",t)}}();return new Promise((a=>{r.getPlacePredictions({...t,input:e,types:["(cities)"]},((t=[],e)=>{a("OK"===e?t:[])}))}))}catch(t){return console.error("Error with Autocomplete Service:",t),[]}}}},ma=l(408);const ya=t=>t&&ma.Buffer.from(t,"base64").toString("ascii");function Aa({contentContext:a=null,errorsContext:l=null,googleMapsContext:u=null,gtmContext:h=null,origin:I}){try{const g=(t=>{let e=null;t?e=t:"undefined"!=typeof window&&(e=window.origin||window.location.origin),e||new Error("Cannot select environment: Website not defined");let r=null;const a=e.match(i);return a?r=a[1].split(o)[0]:e===n?r=c:e.includes(s)&&(r=E),r||new Error(`Cannot select environment: No rule for website ${e}`),r})(I);return a&&(0,t.setContext)(Object.assign({},a,{environment:g})),l&&(0,e.setContext)(Object.assign({},l,{environment:g})),u&&(({apiKey:t})=>{p.googleMaps={apiKey:t}})(Object.assign({},u,{environment:g})),h&&((0,r.setContext)(Object.assign({},h,{environment:g})),(0,r.setupGTM)()),(({environment:t})=>{const e=(t=>{if(!t)throw new Error("Cannot map environment: Environment not defined");if(!S[t])throw new Error(`Cannot map environment: No mapping found for environment ${t}`);return S[t]})(t);p.emailIds=d[e]})(Object.assign({},{environment:g})),g}catch(t){console.warn(`Cannot load SDK: ${t.message}`)}}}(),u}()}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apolitical/sdk",
3
- "version": "9.0.0",
3
+ "version": "9.0.1-4583.0",
4
4
  "description": "Browser library to interact with Apolitical's APIs",
5
5
  "author": "Apolitical Group Limited <engineering@apolitical.co>",
6
6
  "license": "MIT",
@@ -118,4 +118,4 @@
118
118
  "prettier --single-quote --write --ignore-path .gitignore"
119
119
  ]
120
120
  }
121
- }
121
+ }