{
  "version": 3,
  "sources": ["../src/createPresenceStateDerivation.ts"],
  "sourcesContent": ["import { Signal, computed } from '@bigbluebutton/state'\nimport { TLStore } from './TLStore'\nimport { CameraRecordType } from './records/TLCamera'\nimport { TLINSTANCE_ID } from './records/TLInstance'\nimport { InstancePageStateRecordType } from './records/TLPageState'\nimport { TLPOINTER_ID } from './records/TLPointer'\nimport { InstancePresenceRecordType, TLInstancePresence } from './records/TLPresence'\n\n/** @public */\nexport const createPresenceStateDerivation =\n\t(\n\t\t$user: Signal<{ id: string; color: string; name: string }>,\n\t\tinstanceId?: TLInstancePresence['id']\n\t) =>\n\t(store: TLStore): Signal<TLInstancePresence | null> => {\n\t\treturn computed('instancePresence', () => {\n\t\t\tconst instance = store.get(TLINSTANCE_ID)\n\t\t\tconst pageState = store.get(InstancePageStateRecordType.createId(instance?.currentPageId))\n\t\t\tconst camera = store.get(CameraRecordType.createId(instance?.currentPageId))\n\t\t\tconst pointer = store.get(TLPOINTER_ID)\n\t\t\tconst user = $user.get()\n\t\t\tif (!pageState || !instance || !camera || !pointer || !user) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\treturn InstancePresenceRecordType.create({\n\t\t\t\tid: instanceId ?? InstancePresenceRecordType.createId(store.id),\n\t\t\t\tselectedShapeIds: pageState.selectedShapeIds,\n\t\t\t\tbrush: instance.brush,\n\t\t\t\tscribbles: instance.scribbles,\n\t\t\t\tuserId: user.id,\n\t\t\t\tuserName: user.name,\n\t\t\t\tfollowingUserId: instance.followingUserId,\n\t\t\t\tcamera: {\n\t\t\t\t\tx: camera.x,\n\t\t\t\t\ty: camera.y,\n\t\t\t\t\tz: camera.z,\n\t\t\t\t},\n\t\t\t\tcolor: user.color,\n\t\t\t\tcurrentPageId: instance.currentPageId,\n\t\t\t\tcursor: {\n\t\t\t\t\tx: pointer.x,\n\t\t\t\t\ty: pointer.y,\n\t\t\t\t\trotation: instance.cursor.rotation,\n\t\t\t\t\ttype: instance.cursor.type,\n\t\t\t\t},\n\t\t\t\tlastActivityTimestamp: pointer.lastActivityTimestamp,\n\t\t\t\tscreenBounds: instance.screenBounds,\n\t\t\t\tchatMessage: instance.chatMessage,\n\t\t\t\tmeta: {},\n\t\t\t})\n\t\t})\n\t}\n"],
  "mappings": "AAAA,SAAiB,gBAAgB;AAEjC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,mCAAmC;AAC5C,SAAS,oBAAoB;AAC7B,SAAS,kCAAsD;AAGxD,MAAM,gCACZ,CACC,OACA,eAED,CAAC,UAAsD;AACtD,SAAO,SAAS,oBAAoB,MAAM;AACzC,UAAM,WAAW,MAAM,IAAI,aAAa;AACxC,UAAM,YAAY,MAAM,IAAI,4BAA4B,SAAS,UAAU,aAAa,CAAC;AACzF,UAAM,SAAS,MAAM,IAAI,iBAAiB,SAAS,UAAU,aAAa,CAAC;AAC3E,UAAM,UAAU,MAAM,IAAI,YAAY;AACtC,UAAM,OAAO,MAAM,IAAI;AACvB,QAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM;AAC5D,aAAO;AAAA,IACR;AAEA,WAAO,2BAA2B,OAAO;AAAA,MACxC,IAAI,cAAc,2BAA2B,SAAS,MAAM,EAAE;AAAA,MAC9D,kBAAkB,UAAU;AAAA,MAC5B,OAAO,SAAS;AAAA,MAChB,WAAW,SAAS;AAAA,MACpB,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,iBAAiB,SAAS;AAAA,MAC1B,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV,GAAG,OAAO;AAAA,QACV,GAAG,OAAO;AAAA,MACX;AAAA,MACA,OAAO,KAAK;AAAA,MACZ,eAAe,SAAS;AAAA,MACxB,QAAQ;AAAA,QACP,GAAG,QAAQ;AAAA,QACX,GAAG,QAAQ;AAAA,QACX,UAAU,SAAS,OAAO;AAAA,QAC1B,MAAM,SAAS,OAAO;AAAA,MACvB;AAAA,MACA,uBAAuB,QAAQ;AAAA,MAC/B,cAAc,SAAS;AAAA,MACvB,aAAa,SAAS;AAAA,MACtB,MAAM,CAAC;AAAA,IACR,CAAC;AAAA,EACF,CAAC;AACF;",
  "names": []
}
