{"version":3,"file":"SideMenuBody.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_types","_rooks","_jsxRuntime","Wrapper","styled","div","ScrollableContainer","scrollBarStyling","Size","Small","SideMenuBody","props","scrollable","setScrollable","React","useState","ref","dimensions","node","useDimensionsRef","updateOnResize","useEffect","clientHeight","scrollHeight","children","jsx","className","exports"],"sources":["../../src/SideMenu/SideMenuBody.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {scrollBarStyling} from '../styles';\r\nimport {Size} from '../types';\r\nimport {useDimensionsRef} from 'rooks';\r\n\r\nconst Wrapper = styled.div`\r\n  padding: 8px 0;\r\n  width: 100%;\r\n  box-sizing: border-box;\r\n  flex-flow: column;\r\n  display: flex;\r\n  flex: 1;\r\n  overflow: hidden;\r\n`;\r\n\r\nconst ScrollableContainer = styled.div`\r\n  flex: 1;\r\n  display: flex;\r\n  overflow-y: auto;\r\n  max-height: 100%;\r\n\r\n  &.scrollable {\r\n    margin-right: 6px;\r\n    padding-right: 6px;\r\n  }\r\n\r\n  ${scrollBarStyling(Size.Small)}\r\n`;\r\n\r\n\r\nexport const SideMenuBody = (props: SideMenuProps) => {\r\n  const [scrollable, setScrollable] = React.useState(false);\r\n  const [ref, dimensions, node] = useDimensionsRef({updateOnResize: true});\r\n\r\n  React.useEffect(() => {\r\n    const clientHeight = node?.clientHeight ?? 0;\r\n    const scrollHeight = node?.scrollHeight ?? 0;\r\n    setScrollable(scrollHeight > clientHeight);\r\n  }, [dimensions, node, props.children]);\r\n\r\n  return (\r\n    <Wrapper>\r\n      <ScrollableContainer ref={ref as any}\r\n                           className={scrollable ? 'scrollable' : ''}>\r\n        {props.children}\r\n      </ScrollableContainer>\r\n    </Wrapper>\r\n  )\r\n};\r\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAuC,IAAAK,WAAA,GAAAL,OAAA;AAEvC,MAAMM,OAAO,GAAGC,yBAAM,CAACC,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,mBAAmB,GAAGF,yBAAM,CAACC,GAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAAE,wBAAgB,EAACC,WAAI,CAACC,KAAK,CAAC;AAChC,CAAC;AAGM,MAAMC,YAAY,GAAIC,KAAoB,IAAK;EACpD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACC,GAAG,EAAEC,UAAU,EAAEC,IAAI,CAAC,GAAG,IAAAC,uBAAgB,EAAC;IAACC,cAAc,EAAE;EAAI,CAAC,CAAC;EAExEN,cAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,YAAY,GAAGJ,IAAI,EAAEI,YAAY,IAAI,CAAC;IAC5C,MAAMC,YAAY,GAAGL,IAAI,EAAEK,YAAY,IAAI,CAAC;IAC5CV,aAAa,CAACU,YAAY,GAAGD,YAAY,CAAC;EAC5C,CAAC,EAAE,CAACL,UAAU,EAAEC,IAAI,EAAEP,KAAK,CAACa,QAAQ,CAAC,CAAC;EAEtC,oBACE,IAAAtB,WAAA,CAAAuB,GAAA,EAACtB,OAAO;IAAAqB,QAAA,eACN,IAAAtB,WAAA,CAAAuB,GAAA,EAACnB,mBAAmB;MAACU,GAAG,EAAEA,GAAW;MAChBU,SAAS,EAAEd,UAAU,GAAG,YAAY,GAAG,EAAG;MAAAY,QAAA,EAC5Db,KAAK,CAACa;IAAQ,CACI;EAAC,CACf,CAAC;AAEd,CAAC;AAACG,OAAA,CAAAjB,YAAA,GAAAA,YAAA","ignoreList":[]}