container.mjs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { defineComponent, useSlots, computed, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from 'vue';
  2. import '../../../hooks/index.mjs';
  3. import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
  4. import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
  5. const __default__ = defineComponent({
  6. name: "ElContainer"
  7. });
  8. const _sfc_main = /* @__PURE__ */ defineComponent({
  9. ...__default__,
  10. props: {
  11. direction: {
  12. type: String
  13. }
  14. },
  15. setup(__props) {
  16. const props = __props;
  17. const slots = useSlots();
  18. const ns = useNamespace("container");
  19. const isVertical = computed(() => {
  20. if (props.direction === "vertical") {
  21. return true;
  22. } else if (props.direction === "horizontal") {
  23. return false;
  24. }
  25. if (slots && slots.default) {
  26. const vNodes = slots.default();
  27. return vNodes.some((vNode) => {
  28. const tag = vNode.type.name;
  29. return tag === "ElHeader" || tag === "ElFooter";
  30. });
  31. } else {
  32. return false;
  33. }
  34. });
  35. return (_ctx, _cache) => {
  36. return openBlock(), createElementBlock("section", {
  37. class: normalizeClass([unref(ns).b(), unref(ns).is("vertical", unref(isVertical))])
  38. }, [
  39. renderSlot(_ctx.$slots, "default")
  40. ], 2);
  41. };
  42. }
  43. });
  44. var Container = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/container/src/container.vue"]]);
  45. export { Container as default };
  46. //# sourceMappingURL=container.mjs.map