{"version":3,"file":"chunk.4854.d7067168aa1d78c79219.0916ee69.js","mappings":"u1BAKA,SAASA,EAAaC,EAAKC,GAAY,IAARC,EAAID,EAAJC,KAC7B,OAAAC,EAAAA,EAAA,GAAYH,GAAK,IACfI,UAAWJ,EAAMI,UAAUC,KAAI,SAAAC,GAC7B,OAAOA,EAASJ,OAASA,EAAIC,EAAAA,EAAA,GACtBG,GAAQ,IAAEC,oBAAoB,EAAMC,MAAOF,EAASE,MAAQ,IAACL,EAAAA,EAAA,GAC7DG,GAAQ,IAAEC,oBAAoB,GACvC,KAEJ,CAEA,SAASE,EAAgBC,EAAOC,GAQ7B,IAAAC,EAAAD,EAPDE,MACET,UAAAA,OAAS,IAAAQ,EAAG,GAAEA,EAAAE,EAAAH,EAGhBI,UACEC,eAAAA,OAAc,IAAAF,EAAG,WAAO,EAACA,EAGvBG,GAAQC,EAAAA,EAAAA,IAAM,CAChBL,MAAO,CACLM,aAAc,CACZf,UAAAA,MAKFgB,EAAU,SAAAd,GAAQ,OAAI,SAAAe,GACxBA,EAAEC,kBACFD,EAAEE,iBACFN,EAAMO,OAAOzB,EAAcO,GAE3BU,EAAeV,EACjB,CAAC,EAEGmB,EAAc,SAAAzB,GAChB,OAAOA,EAAMI,UAAUsB,MAAK,SAAAC,GAAwC,IAArCC,EAAUD,EAAVC,WAAYrB,EAAkBoB,EAAlBpB,mBACzC,OAAOqB,GAAcrB,CACvB,GACF,EAEIsB,EAAqB,SAAAvB,GACvB,OAAOwB,EAAAA,EAAAA,GACL,mBAAkB,qBAAAC,OACGzB,EAASJ,MAC9B,CAAE,qBAAsBI,EAASC,oBAErC,EAEIyB,EAAoB,SAAAhC,GACtB,OAAO8B,EAAAA,EAAAA,GACL,sBACA,CAAE,eAAgBL,EAAYzB,IAElC,EAEIiC,GAAWC,EAAAA,EAAAA,IAAmBxB,EAAQ,IAAI,WAC5C,IAAIV,EAAQiB,EAAMkB,WAElB,OAAOC,EAAAA,EAAAA,GAAA,OAAKC,MAAOL,EAAkBhC,IAClCA,EAAMI,UAAUC,KAAI,SAAAC,GAAQ,OAC3B8B,EAAAA,EAAAA,GAAA,OAAKC,MAAOR,EAAmBvB,GAAWgC,QAASlB,EAAQd,KACzD8B,EAAAA,EAAAA,GAAA,YAAO9B,EAASE,OACZ,IAGZ,IAEAS,EAAMsB,GAAG,cAAeN,EAASO,QAEjCP,EAASO,QACX,C,mNC1EO,SAAeC,EAAcC,GAAA,OAAAC,EAAAC,MAAC,KAADC,UAAA,CAQnC,SAAAF,I,MAAA,O,EAAAG,IAAAA,MARM,SAAAC,EAA8BC,GAAQ,IAAAC,EAAAC,EAAA,OAAAJ,IAAAA,MAAA,SAAAK,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACiB,OAAxDJ,EAAUD,EAAS3C,KAAI,SAAAJ,GAAW,MAAQ,CAAEqD,GAAhBrD,EAAFqD,GAAsBpD,KAAdD,EAAJC,KAAwB,IAAEiD,EAAAE,KAAA,EAEzCE,EAAAA,EAAKC,KAAK,wCAAyC,CACpEC,KAAM,CAAER,QAAAA,KACR,OAFQ,OAANC,EAAMC,EAAAO,KAAAP,EAAAQ,OAAA,UAIH,SAAAC,GAAO,OAAIV,EAAO,GAADnB,OAAI6B,EAAQ1D,KAAI,KAAA6B,OAAI6B,EAAQN,IAAK,4BAAAH,EAAAU,OAAA,GAAAd,EAAA,IAC1DJ,E,8KAAAA,EAAAC,MAAA,KAAAC,UAAA,C","sources":["webpack:///../jarvis/app/assets/javascripts/site/widgets/ReactionsWidget/index.jsx","webpack:///../jarvis/app/assets/javascripts/core/services/HttpRequestBatcher/batchers/fetchReactions.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