{"version":3,"sources":["webpack:///./app/javascript/hooks/useRenderSignal.ts","webpack:///./app/javascript/mastodon/features/standalone/status/index.tsx","webpack:///./app/javascript/entrypoints/embed.tsx"],"names":["onInitialRender","renderSignalReceived","getStatus","makeGetStatus","getPictureInPicture","makeGetPictureInPicture","Embed","_ref","id","status","useAppSelector","state","pictureInPicture","domain","meta","get","dispatch","useAppDispatch","dispatchRenderSignal","window","requestAnimationFrame","useEffect","fetchStatus","handleToggleHidden","useCallback","toggleStatusSpoilers","permalink","_jsx","className","DetailedStatus","onToggleHidden","withLogo","href","target","rel","Status","_ref2","initialState","store","hydrateStore","IntlProvider","Provider","Router","loaded","mountNode","document","getElementById","attr","getAttribute","props","JSON","parse","createRoot","render","start","loadPolyfills","then","ready","catch","error","console","addEventListener","e","data","type","isSetHeightMessage","parent","callback","_document$getElements","postMessage","height","getElementsByTagName","scrollHeight"],"mappings":"wHAGA,IAIIA,EAJAC,GAAuB,E,oGCe3B,MAAMC,EAAYC,cACZC,EAAsBC,cAKtBC,EAAkCC,IAAa,IAAZ,GAAEC,GAAID,EAC7C,MAAME,EAASC,aAAgBC,GAAUT,EAAUS,EAAO,CAAEH,SACtDI,EAAmBF,aAAgBC,GACvCP,EAAoBO,EAAO,CAAEH,SAEzBK,EAASH,aAAgBC,GAAUA,EAAMG,KAAKC,IAAI,YAClDC,EAAWC,cACXC,EDbC,KACDjB,IAIJA,GAAuB,OAEQ,IAApBD,GACTmB,OAAOC,uBAAsB,KAC3BpB,GAAiB,IAErB,ECIFqB,qBAAU,KACRL,EAASM,YAAYd,GAAI,GAAO,GAAO,GACtC,CAACQ,EAAUR,IAEd,MAAMe,EAAqBC,uBAAY,KACrCR,EAASS,YAAqBjB,GAAI,GACjC,CAACQ,EAAUR,IAGVC,GACFS,IAIF,MAAMQ,EAAYjB,aAAM,EAANA,EAAQM,IAAI,OAE9B,OACEY,YAAA,OAAKC,UAAU,cAAO,EACpBD,YAACE,IAAc,CACbpB,OAAQA,EACRI,OAAQA,EACRD,iBAAkBA,EAClBkB,eAAgBP,EAChBQ,UAAQ,IAGVJ,YAAA,KACEC,UAAU,iBACVI,KAAMN,EACNO,OAAO,SACPC,IAAI,sBACJ,aAAW,KAET,EAIGC,EAAmCC,IAAa,IAAZ,GAAE5B,GAAI4B,EAOrD,OANAf,qBAAU,KACJgB,KACFC,IAAMtB,SAASuB,YAAaF,KAC9B,GACC,IAGDV,YAACa,IAAY,UACXb,YAACc,WAAQ,CAACH,MAAOA,UAAM,EACrBX,YAACe,IAAM,UACLf,YAACrB,EAAK,CAACE,GAAIA,MAGF,E,4BCxEnB,SAASmC,IACP,MAAMC,EAAYC,SAASC,eAAe,mBAE1C,GAAIF,EAAW,CACb,MAAMG,EAAOH,EAAUI,aAAa,cAEpC,IAAKD,EAAM,OAEX,MAAME,EAAQC,KAAKC,MAAMJ,GACZK,qBAAWR,GAEnBS,OAAO1B,cAACQ,EAAM,IAAKc,IAC1B,CACF,CAfAK,cAuBAC,cACGC,MAPH,WACEC,YAAMd,GAAQe,OAAOC,IACnBC,QAAQD,MAAMA,EAAM,GAExB,IAIGD,OAAOC,IACNC,QAAQD,MAAMA,EAAM,IAoBxBxC,OAAO0C,iBAAiB,WAAYC,IAElC,IAAKA,EAAEC,OAbT,SAA4BA,GAC1B,SACEA,GACgB,iBAATA,KACP,SAAUA,IACI,cAAdA,EAAKC,KAIT,CAIkBC,CAAmBH,EAAEC,QAAU5C,OAAO+C,OAAQ,OAE9D,MAAMH,EAAOD,EAAEC,KFnDkBI,QEsDd,KAAO,IAADC,EACvBjD,OAAO+C,OAAOG,YACZ,CACEL,KAAM,YACNxD,GAAIuD,EAAKvD,GACT8D,OAAgD,QAA1CF,EAAEvB,SAAS0B,qBAAqB,QAAQ,UAAE,IAAAH,OAAA,EAAxCA,EAA0CI,cAEpD,IACD,EF7DCvE,EACFkE,IAEAnE,EAAkBmE,CE2DlB,G","file":"js/embed-3a0ee1d252eb76984ce8.chunk.js","sourcesContent":["// This hook allows a component to signal that it's done rendering in a way that\n// can be used by e.g. our embed code to determine correct iframe height\n\nlet renderSignalReceived = false;\n\ntype Callback = () => void;\n\nlet onInitialRender: Callback;\n\nexport const afterInitialRender = (callback: Callback) => {\n if (renderSignalReceived) {\n callback();\n } else {\n onInitialRender = callback;\n }\n};\n\nexport const useRenderSignal = () => {\n return () => {\n if (renderSignalReceived) {\n return;\n }\n\n renderSignalReceived = true;\n\n if (typeof onInitialRender !== 'undefined') {\n window.requestAnimationFrame(() => {\n onInitialRender();\n });\n }\n };\n};\n","/* eslint-disable @typescript-eslint/no-unsafe-return,\n @typescript-eslint/no-explicit-any,\n @typescript-eslint/no-unsafe-assignment */\n\nimport { useEffect, useCallback } from 'react';\n\nimport { Provider } from 'react-redux';\n\nimport { useRenderSignal } from 'mastodon/../hooks/useRenderSignal';\nimport { fetchStatus, toggleStatusSpoilers } from 'mastodon/actions/statuses';\nimport { hydrateStore } from 'mastodon/actions/store';\nimport { Router } from 'mastodon/components/router';\nimport { DetailedStatus } from 'mastodon/features/status/components/detailed_status';\nimport initialState from 'mastodon/initial_state';\nimport { IntlProvider } from 'mastodon/locales';\nimport { makeGetStatus, makeGetPictureInPicture } from 'mastodon/selectors';\nimport { store, useAppSelector, useAppDispatch } from 'mastodon/store';\n\nconst getStatus = makeGetStatus() as unknown as (arg0: any, arg1: any) => any;\nconst getPictureInPicture = makeGetPictureInPicture() as unknown as (\n arg0: any,\n arg1: any,\n) => any;\n\nconst Embed: React.FC<{ id: string }> = ({ id }) => {\n const status = useAppSelector((state) => getStatus(state, { id }));\n const pictureInPicture = useAppSelector((state) =>\n getPictureInPicture(state, { id }),\n );\n const domain = useAppSelector((state) => state.meta.get('domain'));\n const dispatch = useAppDispatch();\n const dispatchRenderSignal = useRenderSignal();\n\n useEffect(() => {\n dispatch(fetchStatus(id, false, false));\n }, [dispatch, id]);\n\n const handleToggleHidden = useCallback(() => {\n dispatch(toggleStatusSpoilers(id));\n }, [dispatch, id]);\n\n // This allows us to calculate the correct page height for embeds\n if (status) {\n dispatchRenderSignal();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n const permalink = status?.get('url') as string;\n\n return (\n
\n );\n};\n\nexport const Status: React.FC<{ id: string }> = ({ id }) => {\n useEffect(() => {\n if (initialState) {\n store.dispatch(hydrateStore(initialState));\n }\n }, []);\n\n return (\n