{"version":3,"file":"getWidgetLayout.mjs","names":["Layout","LayoutDimension","getW","w","Pick","default","minW","min","maxW","max","getH","h","minH","maxH","getWidgetLayout","getWidget","Function","widgetType","Omit","layout","wResizable","hResizable","isResizable"],"sources":["../../src/dashboard/getWidgetLayout.ts"],"sourcesContent":["import { Layout } from 'react-grid-layout';\nimport { LayoutDimension } from './types';\n\nconst getW = (\n  w: LayoutDimension | undefined\n): Pick<Layout, 'w' | 'minW' | 'maxW'> => {\n  if (typeof w === 'object') {\n    return {\n      w: w.default,\n      minW: w.min,\n      maxW: w.max\n    };\n  }\n\n  if (typeof w === 'number') {\n    return { w };\n  }\n\n  return { w: 2 };\n};\n\nconst getH = (\n  h: LayoutDimension | undefined\n): Pick<Layout, 'h' | 'minH' | 'maxH'> => {\n  if (typeof h === 'object') {\n    return {\n      h: h.default,\n      minH: h.min,\n      maxH: h.max\n    };\n  }\n\n  if (typeof h === 'number') {\n    return { h };\n  }\n\n  return { h: 2 };\n};\n\n/**\n * Get a default layout for widgets of a type\n */\nexport default function getWidgetLayout(\n  getWidget: Function,\n  widgetType: string\n): Omit<Layout, 'i' | 'x' | 'y'> {\n  const { w, h } = (getWidget && getWidget(widgetType)?.layout) ?? {};\n\n  const layout: Omit<Layout, 'i' | 'x' | 'y'> = {\n    ...getW(w),\n    ...getH(h)\n  };\n\n  const wResizable = 'minW' in layout || 'maxW' in layout;\n  const hResizable = 'minH' in layout || 'maxH' in layout;\n  layout.isResizable = wResizable || hResizable;\n\n  return layout;\n}\n"],"mappings":";AAGA,MAAME,QACJC,MACwC;AACxC,KAAI,OAAOA,MAAM,SACf,QAAO;EACLA,GAAGA,EAAEE;EACLC,MAAMH,EAAEI;EACRC,MAAML,EAAEM;EACT;AAGH,KAAI,OAAON,MAAM,SACf,QAAO,EAAEA,GAAG;AAGd,QAAO,EAAEA,GAAG,GAAG;;AAGjB,MAAMO,QACJC,MACwC;AACxC,KAAI,OAAOA,MAAM,SACf,QAAO;EACLA,GAAGA,EAAEN;EACLO,MAAMD,EAAEJ;EACRM,MAAMF,EAAEF;EACT;AAGH,KAAI,OAAOE,MAAM,SACf,QAAO,EAAEA,GAAG;AAGd,QAAO,EAAEA,GAAG,GAAG;;;;;AAMjB,SAAwBG,gBACtBC,WACAE,YAC+B;CAC/B,MAAM,EAAEd,GAAGQ,OAAOI,aAAaA,UAAUE,WAAW,EAAEE,WAAW,EAAE;CAEnE,MAAMA,SAAwC;EAC5C,GAAGjB,KAAKC,EAAE;EACV,GAAGO,KAAKC,EAAC;EACV;CAED,MAAMS,aAAa,UAAUD,UAAU,UAAUA;CACjD,MAAME,aAAa,UAAUF,UAAU,UAAUA;AACjDA,QAAOG,cAAcF,cAAcC;AAEnC,QAAOF"}