{"version":3,"file":"index.cjs","sources":["../../src/modal-panel/index.ts"],"sourcesContent":["import { hyperStyled } from \"@macrostrat/hyper\";\nimport { Button } from \"@blueprintjs/core\";\nimport styles from \"./main.module.sass\";\nimport React from \"react\";\n\nconst h = hyperStyled(styles);\n\ninterface PanelHeaderProps {\n  title: string | null;\n  onClose: () => void;\n  allowTitleWrap?: boolean;\n  children?: React.ReactNode;\n}\n\nconst PanelHeader = function (props: PanelHeaderProps) {\n  const { title, onClose, children, allowTitleWrap = false } = props;\n  return h(\"div.panel-header\", [\n    h.if(title != null)(\n      \"h1.title\",\n      { className: allowTitleWrap ? null : \"overflow-hidden\" },\n      title,\n    ),\n    h.if(children != null)([h(\"div.expander\"), children, h(\"div.extra-space\")]),\n    h(Button, { minimal: true, icon: \"cross\", onClick: onClose }),\n  ]);\n};\n\nfunction MinimalModalPanel(props) {\n  const { children, className, style, headerChildren, ...rest } = props;\n  return h(\"div.panel-column\", [\n    h(\"div.panel.minimal\", { className, style }, [\n      h(PanelHeader, rest, headerChildren),\n      h(\"div.panel-content\", null, children),\n    ]),\n    h(\"div.expander\"),\n  ]);\n}\n\nexport interface ModalPanelProps {\n  title: string | null;\n  onClose: () => void;\n  children?: React.ReactNode;\n  headerChildren?: React.ReactNode;\n  style?: object;\n  minimal?: boolean;\n  className?: string;\n}\n\nfunction ModalPanel(props: ModalPanelProps) {\n  const {\n    children,\n    className,\n    style,\n    minimal = false,\n    headerChildren = null,\n    ...rest\n  } = props;\n  if (minimal) {\n    return h(MinimalModalPanel, {\n      ...rest,\n      children,\n      headerChildren,\n      className,\n      style,\n    });\n  }\n  return h(\"div.panel-column\", [\n    h(\"div.panel-container\", [\n      h(\"div.panel-container-inner\", [\n        h(\"div.panel-outer\", [\n          h(\"div.panel\", { className, style }, [\n            h(PanelHeader, rest, headerChildren),\n            h(\"div.panel-content\", null, children),\n          ]),\n          h(\"div.expander\"),\n        ]),\n      ]),\n    ]),\n  ]);\n}\n\nconst ContentPanel = (props) => h(\"div.content-panel\", props);\n\nexport * from \"./draggable-overlay\";\nexport { ModalPanel, PanelHeader, ContentPanel };\n"],"names":["hyperStyled","styles","Button"],"mappings":";;;;;AAKA,MAAM,IAAIA,IAAAA,YAAYC,mBAAM;AAS5B,MAAM,cAAc,SAAU,OAAyB;AACrD,QAAM,EAAE,OAAO,SAAS,UAAU,iBAAiB,UAAU;AAC7D,SAAO,EAAE,oBAAoB;AAAA,IAC3B,EAAE,GAAG,SAAS,IAAI;AAAA,MAChB;AAAA,MACA,EAAE,WAAW,iBAAiB,OAAO,kBAAA;AAAA,MACrC;AAAA,IAAA;AAAA,IAEF,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC,EAAE,cAAc,GAAG,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAAA,IAC1E,EAAEC,KAAAA,QAAQ,EAAE,SAAS,MAAM,MAAM,SAAS,SAAS,QAAA,CAAS;AAAA,EAAA,CAC7D;AACH;AAEA,SAAS,kBAAkB,OAAO;AAChC,QAAM,EAAE,UAAU,WAAW,OAAO,gBAAgB,GAAG,SAAS;AAChE,SAAO,EAAE,oBAAoB;AAAA,IAC3B,EAAE,qBAAqB,EAAE,WAAW,SAAS;AAAA,MAC3C,EAAE,aAAa,MAAM,cAAc;AAAA,MACnC,EAAE,qBAAqB,MAAM,QAAQ;AAAA,IAAA,CACtC;AAAA,IACD,EAAE,cAAc;AAAA,EAAA,CACjB;AACH;AAYA,SAAS,WAAW,OAAwB;AAC1C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,GAAG;AAAA,EAAA,IACD;AACJ,MAAI,SAAS;AACX,WAAO,EAAE,mBAAmB;AAAA,MAC1B,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAAA,EACH;AACA,SAAO,EAAE,oBAAoB;AAAA,IAC3B,EAAE,uBAAuB;AAAA,MACvB,EAAE,6BAA6B;AAAA,QAC7B,EAAE,mBAAmB;AAAA,UACnB,EAAE,aAAa,EAAE,WAAW,SAAS;AAAA,YACnC,EAAE,aAAa,MAAM,cAAc;AAAA,YACnC,EAAE,qBAAqB,MAAM,QAAQ;AAAA,UAAA,CACtC;AAAA,UACD,EAAE,cAAc;AAAA,QAAA,CACjB;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAAA,EAAA,CACF;AACH;AAEA,MAAM,eAAe,CAAC,UAAU,EAAE,qBAAqB,KAAK;;;;"}