{"version":3,"file":"container.mjs","sources":["../../../../../../packages/components/container/src/container.vue"],"sourcesContent":["<template>\n  <section\n    :class=\"[\n      ns.b(),\n      ns.is('vertical', isVertical),\n      ns.is('off-canvas', offCanvas),\n    ]\"\n    :style=\"style\"\n    data-test-name=\"container\"\n  >\n    <slot />\n  </section>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { isNumber } from 'lodash-unified'\nimport { useNamespace } from '@bigin/hooks'\n\nimport type { CSSProperties, Component, VNode } from 'vue'\n\ndefineOptions({\n  name: 'BContainer',\n})\nconst props = defineProps({\n  direction: {\n    type: String,\n  },\n  offCanvas: Boolean,\n  asideWidth: [String, Number],\n  headerHeight: [String, Number],\n})\nconst slots = useSlots()\n\nconst ns = useNamespace('container')\n\nconst style = computed(() => {\n  let styles: Record<string, any> = {}\n\n  if (props.asideWidth) {\n    styles = {\n      ...styles,\n      ...ns.cssVarBlock({\n        'aside-width': isNumber(props.asideWidth)\n          ? `${props.asideWidth}px`\n          : props.asideWidth,\n      }),\n    }\n  }\n\n  if (props.headerHeight) {\n    styles = {\n      ...styles,\n      ...ns.cssVarBlock({\n        'header-height': isNumber(props.headerHeight)\n          ? `${props.headerHeight}px`\n          : props.headerHeight,\n      }),\n    }\n  }\n\n  return styles as CSSProperties\n})\n\nconst isVertical = computed(() => {\n  if (props.direction === 'vertical') {\n    return true\n  } else if (props.direction === 'horizontal') {\n    return false\n  }\n  if (slots && slots.default) {\n    const vNodes: VNode[] = slots.default()\n    return vNodes.some((vNode) => {\n      const tag = (vNode.type as Component).name\n      return tag === 'BHeader' || tag === 'BFooter'\n    })\n  } else {\n    return false\n  }\n})\n</script>\n"],"names":[],"mappings":";;;;;;mCAoBc,CAAA;AAAA,EACZ,IAAM,EAAA,YAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;AASA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEjB,IAAA,MAAA,EAAA,GAAK,aAAa,WAAW,CAAA,CAAA;AAE7B,IAAA,MAAA,KAAA,GAAQ,SAAS,MAAM;AAC3B,MAAA,IAAI,SAA8B,EAAC,CAAA;AAEnC,MAAA,IAAI,MAAM,UAAY,EAAA;AACX,QAAA,MAAA,GAAA;AAAA,UACP,GAAG,MAAA;AAAA,UACH,GAAG,GAAG,WAAY,CAAA;AAAA,YAChB,aAAA,EAAe,SAAS,KAAM,CAAA,UAAU,IACpC,CAAG,EAAA,KAAA,CAAM,iBACT,KAAM,CAAA,UAAA;AAAA,WACX,CAAA;AAAA,SACH,CAAA;AAAA,OACF;AAEA,MAAA,IAAI,MAAM,YAAc,EAAA;AACb,QAAA,MAAA,GAAA;AAAA,UACP,GAAG,MAAA;AAAA,UACH,GAAG,GAAG,WAAY,CAAA;AAAA,YAChB,eAAA,EAAiB,SAAS,KAAM,CAAA,YAAY,IACxC,CAAG,EAAA,KAAA,CAAM,mBACT,KAAM,CAAA,YAAA;AAAA,WACX,CAAA;AAAA,SACH,CAAA;AAAA,OACF;AAEO,MAAA,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAEK,IAAA,MAAA,UAAA,GAAa,SAAS,MAAM;AAC5B,MAAA,IAAA,KAAA,CAAM,cAAc,UAAY,EAAA;AAC3B,QAAA,OAAA,IAAA,CAAA;AAAA,OACT,MAAA,IAAW,KAAM,CAAA,SAAA,KAAc,YAAc,EAAA;AACpC,QAAA,OAAA,KAAA,CAAA;AAAA,OACT;AACI,MAAA,IAAA,KAAA,IAAS,MAAM,OAAS,EAAA;AACpB,QAAA,MAAA,MAAA,GAAkB,MAAM,OAAQ,EAAA,CAAA;AAC/B,QAAA,OAAA,MAAA,CAAO,IAAK,CAAA,CAAC,KAAU,KAAA;AACtB,UAAA,MAAA,GAAA,GAAO,MAAM,IAAmB,CAAA,IAAA,CAAA;AAC/B,UAAA,OAAA,GAAA,KAAQ,aAAa,GAAQ,KAAA,SAAA,CAAA;AAAA,SACrC,CAAA,CAAA;AAAA,OACI,MAAA;AACE,QAAA,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;"}