{"version":3,"sources":["webpack:///../jarvis/app/assets/javascripts/site/widgets/ReactionsWidget/index.jsx","webpack:///../jarvis/app/assets/javascripts/core/services/HttpRequestBatcher/batchers/fetchReactions.js"],"names":["COMMIT_REACT","state","_ref","type","_objectSpread","reactions","map","reaction","is_instant_reacted","count","ReactionsWidget","$widget","_ref2","_ref2$props$reactions","props","_ref2$callbacks$CALLB","callbacks","CALLBACK_REACT","store","Store","initialState","onReact","e","stopPropagation","preventDefault","commit","hasReaction","find","_ref3","is_reacted","getReactionClasses","htmlClassNames","concat","getWrapperClasses","renderer","createVDOMRenderer","getState","h","class","onClick","on","render","fetchReactions","_x","_fetchReactions","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","requests","objects","result","wrap","_context","prev","next","id","Http","post","data","sent","abrupt","request","stop"],"mappings":"m2BAKA,SAASA,EAAaC,EAAKC,GAAY,IAARC,EAAID,EAAJC,KAC7B,OAAAC,IAAA,GAAYH,GAAK,IACfI,UAAWJ,EAAMI,UAAUC,KAAI,SAAAC,GAC7B,OAAOA,EAASJ,OAASA,EAAIC,IAAA,GACtBG,GAAQ,IAAEC,oBAAoB,EAAMC,MAAOF,EAASE,MAAQ,IAACL,IAAA,GAC7DG,GAAQ,IAAEC,oBAAoB,SAK3C,SAASE,EAAgBC,EAAOC,GAQ7B,IAAAC,EAAAD,EAPDE,MACET,iBAAS,IAAAQ,EAAG,GAAEA,EAAAE,EAAAH,EAGhBI,UACEC,sBAAc,IAAAF,EAAG,aAAQA,EAGvBG,EAAQC,YAAM,CAChBL,MAAO,CACLM,aAAc,CACZf,gBAKFgB,EAAU,SAAAd,GAAQ,OAAI,SAAAe,GACxBA,EAAEC,kBACFD,EAAEE,iBACFN,EAAMO,OAAOzB,EAAcO,GAE3BU,EAAeV,KAGbmB,EAAc,SAAAzB,GAChB,OAAOA,EAAMI,UAAUsB,MAAK,SAAAC,GAAwC,IAArCC,EAAUD,EAAVC,WAAYrB,EAAkBoB,EAAlBpB,mBACzC,OAAOqB,GAAcrB,MAIrBsB,EAAqB,SAAAvB,GACvB,OAAOwB,YACL,mBAAkB,qBAAAC,OACGzB,EAASJ,MAC9B,CAAE,qBAAsBI,EAASC,sBAIjCyB,EAAoB,SAAAhC,GACtB,OAAO8B,YACL,sBACA,CAAE,eAAgBL,EAAYzB,MAI9BiC,EAAWC,YAAmBxB,EAAQ,IAAI,WAC5C,IAAIV,EAAQiB,EAAMkB,WAElB,OAAOC,YAAA,OAAKC,MAAOL,EAAkBhC,IAClCA,EAAMI,UAAUC,KAAI,SAAAC,GAAQ,OAC3B8B,YAAA,OAAKC,MAAOR,EAAmBvB,GAAWgC,QAASlB,EAAQd,IACzD8B,YAAA,YAAO9B,EAASE,eAMxBS,EAAMsB,GAAG,cAAeN,EAASO,QAEjCP,EAASO,W,8aCzEJ,SAAeC,EAAcC,GAAA,OAAAC,EAAAC,MAAC,KAADC,WAQnC,SAAAF,IAAA,OAAAA,EAAAG,EAAAC,IAAAC,MARM,SAAAC,EAA8BC,GAAQ,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACiB,OAAxDL,EAAUD,EAAS7C,KAAI,SAAAJ,GAAW,MAAQ,CAAEwD,GAAhBxD,EAAFwD,GAAsBvD,KAAdD,EAAJC,SAA0BoD,EAAAE,KAAA,EAEzCE,IAAKC,KAAK,wCAAyC,CACpEC,KAAM,CAAET,aACR,OAFQ,OAANC,EAAME,EAAAO,KAAAP,EAAAQ,OAAA,UAIH,SAAAC,GAAO,OAAIX,EAAO,GAADrB,OAAIgC,EAAQ7D,KAAI,KAAA6B,OAAIgC,EAAQN,QAAK,wBAAAH,EAAAU,UAAAf,QAC1DL,MAAA,KAAAC","file":"chunk.45.48e53d2cae39806c4eaa.44755370.js","sourcesContent":["import { h, createVDOMRenderer } from 'core/services/VDOM'\nimport Store from 'core/services/Store'\n\nimport htmlClassNames from 'core/utils/htmlClassNames'\n\nfunction COMMIT_REACT(state, { type }) {\n return { ...state,\n reactions: state.reactions.map(reaction => {\n return reaction.type === type ?\n { ...reaction, is_instant_reacted: true, count: reaction.count + 1 } :\n { ...reaction, is_instant_reacted: false }\n })\n }\n}\n\nfunction ReactionsWidget($widget, {\n props: {\n reactions = []\n },\n\n callbacks: {\n CALLBACK_REACT = () => {}\n }\n}) {\n let store = Store({\n props: {\n initialState: {\n reactions\n }\n }\n })\n\n let onReact = reaction => e => {\n e.stopPropagation()\n e.preventDefault()\n store.commit(COMMIT_REACT, reaction)\n\n CALLBACK_REACT(reaction)\n }\n\n let hasReaction = state => {\n return state.reactions.find(({ is_reacted, is_instant_reacted }) => {\n return is_reacted || is_instant_reacted\n })\n }\n\n let getReactionClasses = reaction => {\n return htmlClassNames(\n 'b-reactions_item',\n `b-reactions_item__${reaction.type}`,\n { 'is-instant-reacted': reaction.is_instant_reacted }\n )\n }\n\n let getWrapperClasses = state => {\n return htmlClassNames(\n 'b-reactions_wrapper',\n { 'has-reaction': hasReaction(state) }\n )\n }\n\n let renderer = createVDOMRenderer($widget[0], () => {\n let state = store.getState()\n\n return