{
  "version": 3,
  "sources": ["../../src/records/TLInstance.ts"],
  "sourcesContent": ["import { BaseRecord, createRecordType, defineMigrations, RecordId } from '@bigbluebutton/store'\nimport { JsonObject } from '@bigbluebutton/utils'\nimport { T } from '@bigbluebutton/validate'\nimport { Box2dModel, box2dModelValidator } from '../misc/geometry-types'\nimport { idValidator } from '../misc/id-validator'\nimport { cursorValidator, TLCursor } from '../misc/TLCursor'\nimport { opacityValidator, TLOpacityType } from '../misc/TLOpacity'\nimport { scribbleValidator, TLScribble } from '../misc/TLScribble'\nimport { StyleProp } from '../styles/StyleProp'\nimport { pageIdValidator, TLPageId } from './TLPage'\n\n/**\n * TLInstance\n *\n * State that is particular to a single browser tab\n *\n * @public\n */\nexport interface TLInstance extends BaseRecord<'instance', TLInstanceId> {\n\tcurrentPageId: TLPageId\n\topacityForNextShape: TLOpacityType\n\tstylesForNextShape: Record<string, unknown>\n\t// ephemeral\n\tfollowingUserId: string | null\n\thighlightedUserIds: string[]\n\tbrush: Box2dModel | null\n\tcursor: TLCursor\n\tscribbles: TLScribble[]\n\tisFocusMode: boolean\n\tisDebugMode: boolean\n\tisToolLocked: boolean\n\texportBackground: boolean\n\tscreenBounds: Box2dModel\n\tzoomBrush: Box2dModel | null\n\tchatMessage: string\n\tisChatting: boolean\n\tisPenMode: boolean\n\tisGridMode: boolean\n\tcanMoveCamera: boolean\n\tisFocused: boolean\n\tdevicePixelRatio: number\n\tisCoarsePointer: boolean\n\t/**\n\t * Will be null if the pointer doesn't support hovering (e.g. touch), but true or false\n\t * otherwise\n\t */\n\tisHoveringCanvas: boolean | null\n\topenMenus: string[]\n\tisChangingStyle: boolean\n\tisReadonly: boolean\n\tmeta: JsonObject\n}\n\n/** @public */\nexport type TLInstanceId = RecordId<TLInstance>\n\n/** @internal */\nexport const instanceIdValidator = idValidator<TLInstanceId>('instance')\n\nexport function createInstanceRecordType(stylesById: Map<string, StyleProp<unknown>>) {\n\tconst stylesForNextShapeValidators = {} as Record<string, T.Validator<unknown>>\n\tfor (const [id, style] of stylesById) {\n\t\tstylesForNextShapeValidators[id] = T.optional(style)\n\t}\n\n\tconst instanceTypeValidator: T.Validator<TLInstance> = T.model(\n\t\t'instance',\n\t\tT.object({\n\t\t\ttypeName: T.literal('instance'),\n\t\t\tid: idValidator<TLInstanceId>('instance'),\n\t\t\tcurrentPageId: pageIdValidator,\n\t\t\tfollowingUserId: T.string.nullable(),\n\t\t\tbrush: box2dModelValidator.nullable(),\n\t\t\topacityForNextShape: opacityValidator,\n\t\t\tstylesForNextShape: T.object(stylesForNextShapeValidators),\n\t\t\tcursor: cursorValidator,\n\t\t\tscribbles: T.arrayOf(scribbleValidator),\n\t\t\tisFocusMode: T.boolean,\n\t\t\tisDebugMode: T.boolean,\n\t\t\tisToolLocked: T.boolean,\n\t\t\texportBackground: T.boolean,\n\t\t\tscreenBounds: box2dModelValidator,\n\t\t\tzoomBrush: box2dModelValidator.nullable(),\n\t\t\tisPenMode: T.boolean,\n\t\t\tisGridMode: T.boolean,\n\t\t\tchatMessage: T.string,\n\t\t\tisChatting: T.boolean,\n\t\t\thighlightedUserIds: T.arrayOf(T.string),\n\t\t\tcanMoveCamera: T.boolean,\n\t\t\tisFocused: T.boolean,\n\t\t\tdevicePixelRatio: T.number,\n\t\t\tisCoarsePointer: T.boolean,\n\t\t\tisHoveringCanvas: T.boolean.nullable(),\n\t\t\topenMenus: T.arrayOf(T.string),\n\t\t\tisChangingStyle: T.boolean,\n\t\t\tisReadonly: T.boolean,\n\t\t\tmeta: T.jsonValue as T.ObjectValidator<JsonObject>,\n\t\t})\n\t)\n\n\treturn createRecordType<TLInstance>('instance', {\n\t\tmigrations: instanceMigrations,\n\t\tvalidator: instanceTypeValidator,\n\t\tscope: 'session',\n\t}).withDefaultProperties(\n\t\t(): Omit<TLInstance, 'typeName' | 'id' | 'currentPageId'> => ({\n\t\t\tfollowingUserId: null,\n\t\t\topacityForNextShape: 1,\n\t\t\tstylesForNextShape: {},\n\t\t\tbrush: null,\n\t\t\tscribbles: [],\n\t\t\tcursor: {\n\t\t\t\ttype: 'default',\n\t\t\t\trotation: 0,\n\t\t\t},\n\t\t\tisFocusMode: false,\n\t\t\texportBackground: false,\n\t\t\tisDebugMode: process.env.NODE_ENV === 'development',\n\t\t\tisToolLocked: false,\n\t\t\tscreenBounds: { x: 0, y: 0, w: 1080, h: 720 },\n\t\t\tzoomBrush: null,\n\t\t\tisGridMode: false,\n\t\t\tisPenMode: false,\n\t\t\tchatMessage: '',\n\t\t\tisChatting: false,\n\t\t\thighlightedUserIds: [],\n\t\t\tcanMoveCamera: true,\n\t\t\tisFocused: false,\n\t\t\tdevicePixelRatio: typeof window === 'undefined' ? 1 : window.devicePixelRatio,\n\t\t\tisCoarsePointer: false,\n\t\t\tisHoveringCanvas: null,\n\t\t\topenMenus: [] as string[],\n\t\t\tisChangingStyle: false,\n\t\t\tisReadonly: false,\n\t\t\tmeta: {},\n\t\t})\n\t)\n}\n\n/** @internal */\nexport const instanceVersions = {\n\tAddTransparentExportBgs: 1,\n\tRemoveDialog: 2,\n\tAddToolLockMode: 3,\n\tRemoveExtraPropsForNextShape: 4,\n\tAddLabelColor: 5,\n\tAddFollowingUserId: 6,\n\tRemoveAlignJustify: 7,\n\tAddZoom: 8,\n\tAddVerticalAlign: 9,\n\tAddScribbleDelay: 10,\n\tRemoveUserId: 11,\n\tAddIsPenModeAndIsGridMode: 12,\n\tHoistOpacity: 13,\n\tAddChat: 14,\n\tAddHighlightedUserIds: 15,\n\tReplacePropsForNextShapeWithStylesForNextShape: 16,\n\tAddMeta: 17,\n\tRemoveCursorColor: 18,\n\tAddLonelyProperties: 19,\n\tReadOnlyReadonly: 20,\n\tAddHoveringCanvas: 21,\n\tAddScribbles: 22,\n} as const\n\n/** @public */\nexport const instanceMigrations = defineMigrations({\n\tcurrentVersion: instanceVersions.AddScribbles,\n\tmigrators: {\n\t\t[instanceVersions.AddTransparentExportBgs]: {\n\t\t\tup: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, exportBackground: true }\n\t\t\t},\n\t\t\tdown: ({ exportBackground: _, ...instance }: TLInstance) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.RemoveDialog]: {\n\t\t\tup: ({ dialog: _, ...instance }: any) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t\tdown: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, dialog: null }\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddToolLockMode]: {\n\t\t\tup: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, isToolLocked: false }\n\t\t\t},\n\t\t\tdown: ({ isToolLocked: _, ...instance }: TLInstance) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.RemoveExtraPropsForNextShape]: {\n\t\t\tup: ({ propsForNextShape, ...instance }: any) => {\n\t\t\t\treturn {\n\t\t\t\t\t...instance,\n\t\t\t\t\tpropsForNextShape: Object.fromEntries(\n\t\t\t\t\t\tObject.entries(propsForNextShape).filter(([key]) =>\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'color',\n\t\t\t\t\t\t\t\t'labelColor',\n\t\t\t\t\t\t\t\t'dash',\n\t\t\t\t\t\t\t\t'fill',\n\t\t\t\t\t\t\t\t'size',\n\t\t\t\t\t\t\t\t'font',\n\t\t\t\t\t\t\t\t'align',\n\t\t\t\t\t\t\t\t'verticalAlign',\n\t\t\t\t\t\t\t\t'icon',\n\t\t\t\t\t\t\t\t'geo',\n\t\t\t\t\t\t\t\t'arrowheadStart',\n\t\t\t\t\t\t\t\t'arrowheadEnd',\n\t\t\t\t\t\t\t\t'spline',\n\t\t\t\t\t\t\t].includes(key)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (instance: TLInstance) => {\n\t\t\t\t// we can't restore these, so do nothing :/\n\t\t\t\treturn instance\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddLabelColor]: {\n\t\t\tup: ({ propsForNextShape, ...instance }: any) => {\n\t\t\t\treturn {\n\t\t\t\t\t...instance,\n\t\t\t\t\tpropsForNextShape: {\n\t\t\t\t\t\t...propsForNextShape,\n\t\t\t\t\t\tlabelColor: 'black',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (instance) => {\n\t\t\t\tconst { labelColor: _, ...rest } = instance.propsForNextShape\n\t\t\t\treturn {\n\t\t\t\t\t...instance,\n\t\t\t\t\tpropsForNextShape: {\n\t\t\t\t\t\t...rest,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddFollowingUserId]: {\n\t\t\tup: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, followingUserId: null }\n\t\t\t},\n\t\t\tdown: ({ followingUserId: _, ...instance }: TLInstance) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.RemoveAlignJustify]: {\n\t\t\tup: (instance: any) => {\n\t\t\t\tlet newAlign = instance.propsForNextShape.align\n\t\t\t\tif (newAlign === 'justify') {\n\t\t\t\t\tnewAlign = 'start'\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...instance,\n\t\t\t\t\tpropsForNextShape: {\n\t\t\t\t\t\t...instance.propsForNextShape,\n\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance }\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddZoom]: {\n\t\t\tup: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, zoomBrush: null }\n\t\t\t},\n\t\t\tdown: ({ zoomBrush: _, ...instance }: TLInstance) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddVerticalAlign]: {\n\t\t\tup: (instance) => {\n\t\t\t\treturn {\n\t\t\t\t\t...instance,\n\t\t\t\t\tpropsForNextShape: {\n\t\t\t\t\t\t...instance.propsForNextShape,\n\t\t\t\t\t\tverticalAlign: 'middle',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (instance) => {\n\t\t\t\tconst { verticalAlign: _, ...propsForNextShape } = instance.propsForNextShape\n\t\t\t\treturn {\n\t\t\t\t\t...instance,\n\t\t\t\t\tpropsForNextShape,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddScribbleDelay]: {\n\t\t\tup: (instance) => {\n\t\t\t\tif (instance.scribble !== null) {\n\t\t\t\t\treturn { ...instance, scribble: { ...instance.scribble, delay: 0 } }\n\t\t\t\t}\n\t\t\t\treturn { ...instance }\n\t\t\t},\n\t\t\tdown: (instance) => {\n\t\t\t\tif (instance.scribble !== null) {\n\t\t\t\t\tconst { delay: _delay, ...rest } = instance.scribble\n\t\t\t\t\treturn { ...instance, scribble: rest }\n\t\t\t\t}\n\t\t\t\treturn { ...instance }\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.RemoveUserId]: {\n\t\t\tup: ({ userId: _, ...instance }: any) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t\tdown: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, userId: 'user:none' }\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddIsPenModeAndIsGridMode]: {\n\t\t\tup: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, isPenMode: false, isGridMode: false }\n\t\t\t},\n\t\t\tdown: ({ isPenMode: _, isGridMode: __, ...instance }: TLInstance) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.HoistOpacity]: {\n\t\t\tup: ({ propsForNextShape: { opacity, ...propsForNextShape }, ...instance }: any) => {\n\t\t\t\treturn { ...instance, opacityForNextShape: Number(opacity ?? '1'), propsForNextShape }\n\t\t\t},\n\t\t\tdown: ({ opacityForNextShape: opacity, ...instance }: any) => {\n\t\t\t\treturn {\n\t\t\t\t\t...instance,\n\t\t\t\t\tpropsForNextShape: {\n\t\t\t\t\t\t...instance.propsForNextShape,\n\t\t\t\t\t\topacity:\n\t\t\t\t\t\t\topacity < 0.175\n\t\t\t\t\t\t\t\t? '0.1'\n\t\t\t\t\t\t\t\t: opacity < 0.375\n\t\t\t\t\t\t\t\t? '0.25'\n\t\t\t\t\t\t\t\t: opacity < 0.625\n\t\t\t\t\t\t\t\t? '0.5'\n\t\t\t\t\t\t\t\t: opacity < 0.875\n\t\t\t\t\t\t\t\t? '0.75'\n\t\t\t\t\t\t\t\t: '1',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddChat]: {\n\t\t\tup: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, chatMessage: '', isChatting: false }\n\t\t\t},\n\t\t\tdown: ({ chatMessage: _, isChatting: __, ...instance }: TLInstance) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddHighlightedUserIds]: {\n\t\t\tup: (instance: TLInstance) => {\n\t\t\t\treturn { ...instance, highlightedUserIds: [] }\n\t\t\t},\n\t\t\tdown: ({ highlightedUserIds: _, ...instance }: TLInstance) => {\n\t\t\t\treturn instance\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.ReplacePropsForNextShapeWithStylesForNextShape]: {\n\t\t\tup: ({ propsForNextShape: _, ...instance }) => {\n\t\t\t\treturn { ...instance, stylesForNextShape: {} }\n\t\t\t},\n\t\t\tdown: ({ stylesForNextShape: _, ...instance }: TLInstance) => {\n\t\t\t\treturn {\n\t\t\t\t\t...instance,\n\t\t\t\t\tpropsForNextShape: {\n\t\t\t\t\t\tcolor: 'black',\n\t\t\t\t\t\tlabelColor: 'black',\n\t\t\t\t\t\tdash: 'draw',\n\t\t\t\t\t\tfill: 'none',\n\t\t\t\t\t\tsize: 'm',\n\t\t\t\t\t\ticon: 'file',\n\t\t\t\t\t\tfont: 'draw',\n\t\t\t\t\t\talign: 'middle',\n\t\t\t\t\t\tverticalAlign: 'middle',\n\t\t\t\t\t\tgeo: 'rectangle',\n\t\t\t\t\t\tarrowheadStart: 'none',\n\t\t\t\t\t\tarrowheadEnd: 'arrow',\n\t\t\t\t\t\tspline: 'line',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddMeta]: {\n\t\t\tup: (record) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tmeta: {},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: ({ meta: _, ...record }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.RemoveCursorColor]: {\n\t\t\tup: (record) => {\n\t\t\t\tconst { color: _, ...cursor } = record.cursor\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tcursor,\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (record) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tcursor: {\n\t\t\t\t\t\t...record.cursor,\n\t\t\t\t\t\tcolor: 'black',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddLonelyProperties]: {\n\t\t\tup: (record) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tcanMoveCamera: true,\n\t\t\t\t\tisFocused: false,\n\t\t\t\t\tdevicePixelRatio: 1,\n\t\t\t\t\tisCoarsePointer: false,\n\t\t\t\t\topenMenus: [],\n\t\t\t\t\tisChangingStyle: false,\n\t\t\t\t\tisReadOnly: false,\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: ({\n\t\t\t\tcanMoveCamera: _canMoveCamera,\n\t\t\t\tisFocused: _isFocused,\n\t\t\t\tdevicePixelRatio: _devicePixelRatio,\n\t\t\t\tisCoarsePointer: _isCoarsePointer,\n\t\t\t\topenMenus: _openMenus,\n\t\t\t\tisChangingStyle: _isChangingStyle,\n\t\t\t\tisReadOnly: _isReadOnly,\n\t\t\t\t...record\n\t\t\t}) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.ReadOnlyReadonly]: {\n\t\t\tup: ({ isReadOnly: _isReadOnly, ...record }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tisReadonly: _isReadOnly,\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: ({ isReadonly: _isReadonly, ...record }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tisReadOnly: _isReadonly,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddHoveringCanvas]: {\n\t\t\tup: (record) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tisHoveringCanvas: null,\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: ({ isHoveringCanvas: _, ...record }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[instanceVersions.AddScribbles]: {\n\t\t\tup: ({ scribble: _, ...record }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tscribbles: [],\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: ({ scribbles: _, ...record }) => {\n\t\t\t\treturn { ...record, scribble: null }\n\t\t\t},\n\t\t},\n\t},\n})\n\n/** @public */\nexport const TLINSTANCE_ID = 'instance:instance' as TLInstanceId\n"],
  "mappings": "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",
  "names": []
}
