{"version":3,"sources":["../../src/widget/managementMethods.ts"],"sourcesContent":["import type {CoreNufiMessage} from '../dappCore/types'\n\nimport type {Device} from './responsiveUIHandlers'\n\nexport type HideWidgetMessage = CoreNufiMessage & {\n  method: 'hideWidget'\n  // Originally added in SDK \"0.2.1\" as part of already removed \"collapseWidget\" message.\n  // `undefined` in older SDK versions.\n  priorityTimestamp: string\n}\n\nexport type ToggleWidgetMessage = CoreNufiMessage & {\n  method: 'openWidget' | 'closeWidget'\n  // Originally added in SDK \"0.6.0\", `undefined` in older SDK versions.\n  priorityTimestamp: string\n}\n\nexport type SetDeviceTypeWidgetMessage = CoreNufiMessage & {\n  method: 'setDeviceType'\n  device: Device\n  // Originally added in SDK \"0.6.0\", `undefined` in older SDK versions.\n  priorityTimestamp: string\n}\n\nexport type WidgetReadyMessage = CoreNufiMessage & {\n  method: 'widgetReady'\n}\n\nexport type SignOutWidgetMessage = CoreNufiMessage & {\n  method: 'signOut'\n}\n\nexport type RefreshPageMessage = CoreNufiMessage & {\n  method: 'refreshPage'\n}\n\nexport type GetParentWindowDimensionsRequest = CoreNufiMessage & {\n  method: 'getParentWindowDimensionsRequest'\n}\n\nexport type GetParentWindowDimensionsResponse = CoreNufiMessage & {\n  method: 'getParentWindowDimensionsResponse'\n  dimensions: {width: number; height: number; left: number; top: number}\n  iframeRect?: Omit<DOMRect, 'toJSON'>\n}\n\nexport type WidgetManagementMessage =\n  | HideWidgetMessage\n  | ToggleWidgetMessage\n  | RefreshPageMessage\n  | GetParentWindowDimensionsRequest\n  | GetParentWindowDimensionsResponse\n  | SignOutWidgetMessage\n  | SetDeviceTypeWidgetMessage\n  | WidgetReadyMessage\n\nconst widgetManagementMethods: WidgetManagementMessage['method'][] = [\n  'closeWidget',\n  'openWidget',\n  'hideWidget',\n  'refreshPage',\n  'getParentWindowDimensionsRequest',\n  'getParentWindowDimensionsResponse',\n  'signOut',\n  'setDeviceType',\n  'widgetReady',\n]\n\nconst deprecatedWidgetManagementMethods = [\n  // Removed in \"0.4.0\"\n  'collapseWidget',\n]\n\nexport const isNufiWidgetManagementMessage = (\n  e: MessageEvent<unknown>,\n): e is MessageEvent<WidgetManagementMessage> => {\n  if (e.data == null) return false\n  const _e = e as MessageEvent<WidgetManagementMessage>\n  const method = _e.data.method\n  return (\n    _e?.data?.appId === 'nufi' &&\n    (widgetManagementMethods.includes(method) ||\n      deprecatedWidgetManagementMethods.includes(method))\n  )\n}\n\nexport type WidgetVisibilityStatus = 'open' | 'closed' | 'hidden'\n\nexport type ShowWidget = (type: 'opened' | 'closed') => void\n\nexport type GetWidgetVisibilityStatus = () => WidgetVisibilityStatus\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwDA,IAAM,0BAA+D;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,oCAAoC;AAAA;AAAA,EAExC;AACF;AAEO,IAAM,gCAAgC,CAC3C,MAC+C;AAC/C,MAAI,EAAE,QAAQ,KAAM,QAAO;AAC3B,QAAM,KAAK;AACX,QAAM,SAAS,GAAG,KAAK;AACvB,SACE,IAAI,MAAM,UAAU,WACnB,wBAAwB,SAAS,MAAM,KACtC,kCAAkC,SAAS,MAAM;AAEvD;","names":[]}