{"version":3,"file":"container.mjs","names":[],"sources":["../../../../../../packages/components/container/src/container.vue"],"sourcesContent":["<template>\n  <section :class=\"[ns.b(), ns.is('vertical', isVertical)]\">\n    <slot />\n  </section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type { Component, VNode } from 'vue'\n\ninterface ContainerProps {\n  /**\n   * @description layout direction for child elements\n   */\n  direction?: 'horizontal' | 'vertical'\n}\n\ndefineOptions({\n  name: 'ElContainer',\n})\n\nconst props = defineProps<ContainerProps>()\nconst slots = useSlots()\n\nconst ns = useNamespace('container')\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 === 'ElHeader' || tag === 'ElFooter'\n    })\n  } else {\n    return false\n  }\n})\n</script>\n"],"mappings":""}