/**
 * ldesign v0.2.14
 * (c) 2022/11/2 16:16 built by swimly
 * @license MIT
 */

'use strict';

var VueCompositionAPI = require('@vue/composition-api');
var components = require('./components.js');
var utils_withInstall = require('../utils/with-install.js');
var Vue = require('vue');
var components_button_index = require('../components/button/index.js');
var components_icon_index = require('../components/icon/index.js');
require('../components/loading/plugin.js');
require('../components/loading/index.js');
require('../components/radio/index.js');
var components_popup_index = require('../components/popup/index.js');
var components_avatar_index = require('../components/avatar/index.js');
require('../components/badge/index.js');
require('../components/comment/index.js');
require('../components/list/index.js');
require('../components/progress/index.js');
require('../components/skeleton/index.js');
var components_divider_index = require('../components/divider/index.js');
var components_grid_index = require('../components/grid/index.js');
var components_layout_index = require('../components/layout/index.js');
require('../components/checkbox/index.js');
require('../components/form/index.js');
require('../components/input/index.js');
require('../components/tag/index.js');
require('../components/tag-input/index.js');
require('../components/textarea/index.js');
require('../components/input-number/index.js');
require('../components/switch/index.js');
require('../components/input-adornment/index.js');
require('../components/slider/index.js');
require('../components/alert/index.js');
require('../components/dialog/plugin.js');
require('../components/dialog/index.js');
var components_drawer_index = require('../components/drawer/index.js');
require('../components/message/plugin.js');
require('../components/message/index.js');
require('../components/notification/plugin.js');
require('../components/notification/index.js');
require('../components/popconfirm/index.js');
var components_space_index = require('../components/space/index.js');
require('../components/affix/index.js');
require('../components/anchor/index.js');
require('../components/tooltip/index.js');
require('../components/breadcrumb/index.js');
var components_dropdown_index = require('../components/dropdown/index.js');
var components_menu_index = require('../components/menu/index.js');
require('../components/tabs/index.js');
require('../components/select/index.js');
require('../components/select-input/index.js');
var components_pagination_index = require('../components/pagination/index.js');
require('../components/steps/index.js');
require('../components/link/index.js');
require('../components/tree/index.js');
require('../components/cascader/index.js');
require('../components/tree-select/index.js');
require('../components/transfer/index.js');
require('../components/upload/index.js');
require('../components/range-input/index.js');
require('../components/time-picker/interface.js');
require('../components/time-picker/index.js');
require('../components/date-picker/index.js');
require('../components/jumper/index.js');
require('../components/color-picker/index.js');
require('../components/calendar/index.js');
require('../components/collapse/index.js');
require('../components/swiper/index.js');
require('../components/card/index.js');
require('../components/config-provider/index.js');
require('../components/watermark/index.js');
var components_image_index = require('../components/image/index.js');
require('../components/image-viewer/index.js');
require('../components/rate/index.js');
require('../components/table/index.js');
var iconsVue = require('@ldesign/icons-vue');
var utils_mixins = require('../utils/mixins.js');
var templates_avatar_props = require('../templates/avatar/props.js');
var helper = require('./helper.js');
var utils_renderNode = require('../utils/render-node.js');
var templates_grid_props = require('../templates/grid/props.js');
var templates_logo_index = require('../templates/logo/index.js');
var templates_setting_props = require('../templates/setting/props.js');
var templates_header_props = require('../templates/header/props.js');
var lodash = require('lodash');
var templates_query_props = require('../templates/query/props.js');
var templates_layout_props = require('../templates/layout/props.js');
var templates_page_props = require('../templates/page/props.js');
var templates_quickList_props = require('../templates/quick-list/props.js');
var templates_menu_props = require('../templates/menu/props.js');
var templates_menu_utils = require('../templates/menu/utils.js');
var templates_aside_props = require('../templates/aside/props.js');

function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

var VueCompositionAPI__default = /*#__PURE__*/_interopDefaultLegacy(VueCompositionAPI);
var Vue__default = /*#__PURE__*/_interopDefaultLegacy(Vue);

var _LdesignMenuItem = Vue__default["default"].extend({
  name: "LdesignMenuItem",
  props: {
    ...templates_menu_props.MenuItemProps
  },
  render() {
    const h = arguments[0];
    return h("div", [this.list.map(item => {
      if (item.children) {
        return h(components_menu_index.Submenu, {
          "attrs": {
            "title": item.meta.title,
            "value": item.path
          }
        }, [h(_LdesignMenuItem, {
          "attrs": {
            "list": item.children
          }
        })]);
      } else {
        return h(components_menu_index.MenuItem, {
          "attrs": {
            "value": item.path,
            "to": item.path
          }
        }, [item.meta.title]);
      }
    })]);
  }
});

var _LdesignMenu = utils_mixins["default"](Vue__default["default"]).extend({
  name: "LdesignMenu",
  props: {
    ...templates_menu_props.MenuProps
  },
  inject: {
    page: {
      default: void 0
    }
  },
  computed: {
    dataList() {
      var _this$page, _this$page$menuProps;
      return this.page.menuProps ? (_this$page = this.page) === null || _this$page === void 0 ? void 0 : (_this$page$menuProps = _this$page.menuProps) === null || _this$page$menuProps === void 0 ? void 0 : _this$page$menuProps.list : this.list;
    },
    activePath() {
      var _this$page2, _this$page2$menuProps;
      return this.page.menuProps ? (_this$page2 = this.page) === null || _this$page2 === void 0 ? void 0 : (_this$page2$menuProps = _this$page2.menuProps) === null || _this$page2$menuProps === void 0 ? void 0 : _this$page2$menuProps.active : this.active;
    },
    expandedPaths() {
      var _this$page3, _this$page3$menuProps;
      return this.page.menuProps ? (_this$page3 = this.page) === null || _this$page3 === void 0 ? void 0 : (_this$page3$menuProps = _this$page3.menuProps) === null || _this$page3$menuProps === void 0 ? void 0 : _this$page3$menuProps.expanded : this.expanded;
    }
  },
  watch: {},
  render(h) {
    return h(components_menu_index.Menu, {
      "attrs": {
        "defaultValue": this.activePath,
        "defaultExpanded": this.expandedPaths
      }
    }, [this.dataList.map(item => {
      if (templates_menu_utils.hasChildren(item)) {
        return h(components_menu_index.Submenu, {
          "attrs": {
            "title": item.meta.title,
            "value": item.path
          }
        }, [h("template", {
          "slot": "icon"
        }, [typeof item.icon === "string" && h("span", {
          "class": "ldesign-menu__icon",
          "domProps": {
            "innerHTML": item.icon
          }
        })]), h(_LdesignMenuItem, {
          "attrs": {
            "list": item.children
          }
        })]);
      } else {
        return h(components_menu_index.MenuItem, {
          "attrs": {
            "value": item.path,
            "to": item.path
          }
        }, [h("template", {
          "slot": "icon"
        }, [typeof item.icon === "string" && h("span", {
          "class": "ldesign-menu__icon",
          "domProps": {
            "innerHTML": item.icon
          }
        })]), h("span", [item.meta.title])]);
      }
    })]);
  }
});

const LdesignMenu = utils_withInstall.withInstall(_LdesignMenu);
const LdesignMenuItem = utils_withInstall.withInstall(_LdesignMenuItem);

var _LdesignAside = Vue__default["default"].extend({
  name: "LdesignAside",
  props: {
    ...templates_aside_props["default"]
  },
  render() {
    const h = arguments[0];
    return h("div", [h(LdesignMenu)]);
  }
});

const LdesignAside = utils_withInstall.withInstall(_LdesignAside);

var _LdesignAvatar = utils_mixins["default"](Vue__default["default"]).extend({
  name: "LdesignLogo",
  inject: {
    page: {
      default: void 0
    }
  },
  computed: {
    _isInject() {
      return this.page.avatarProps !== void 0;
    },
    _image() {
      var _this$page, _this$page$avatarProp;
      return (this === null || this === void 0 ? void 0 : (_this$page = this.page) === null || _this$page === void 0 ? void 0 : (_this$page$avatarProp = _this$page.avatarProps) === null || _this$page$avatarProp === void 0 ? void 0 : _this$page$avatarProp.image) || this.image;
    },
    _nickname() {
      var _this$page2, _this$page2$avatarPro;
      return (this === null || this === void 0 ? void 0 : (_this$page2 = this.page) === null || _this$page2 === void 0 ? void 0 : (_this$page2$avatarPro = _this$page2.avatarProps) === null || _this$page2$avatarPro === void 0 ? void 0 : _this$page2$avatarPro.nickname) || this.nickname;
    },
    _menu() {
      var _this$page3, _this$page3$avatarPro;
      return (this === null || this === void 0 ? void 0 : (_this$page3 = this.page) === null || _this$page3 === void 0 ? void 0 : (_this$page3$avatarPro = _this$page3.avatarProps) === null || _this$page3$avatarPro === void 0 ? void 0 : _this$page3$avatarPro.menu) || this.menu;
    }
  },
  props: {
    ...templates_avatar_props["default"]
  },
  render() {
    const h = arguments[0];
    this.page.logoProps;
    return h(components_dropdown_index.Dropdown, {
      "attrs": {
        "options": this._menu
      }
    }, [h(components_button_index.Button, {
      "attrs": {
        "variant": "text"
      }
    }, [h(components_space_index.Space, {
      "attrs": {
        "align": "center",
        "size": "6px"
      }
    }, [h(components_avatar_index.Avatar, {
      "attrs": {
        "image": this._image && this._image
      }
    }, [!this._image && this._nickname]), h("span", [this._nickname]), h(iconsVue.ChevronDownIcon)])])]);
  }
});

const LdesignAvatar = utils_withInstall.withInstall(_LdesignAvatar);

var _LdesignGrid = Vue__default["default"].extend({
  name: "LdesignGrid",
  props: {
    ...templates_grid_props.LdesignGridProps
  },
  render() {
    const h = arguments[0];
    return h(components_grid_index.Row, helper.helper([{
      "class": "ldesign-grid"
    }, {
      "props": this.rowProps
    }]), [utils_renderNode.renderLNodeJSX(this, "default")]);
  }
});

var _LdesignGridItem = Vue__default["default"].extend({
  name: "LdesignGridItem",
  props: {
    ...templates_grid_props.LdesingGridItemProps
  },
  render() {
    const h = arguments[0];
    return h(components_grid_index.Col, helper.helper([{}, {
      "props": this.colProps
    }, {
      "class": "ldesign-grid__item"
    }]), [h("div", {
      "class": "ldesign-panel"
    }, [h("div", {
      "class": "ldesign-panel__header"
    }), h("div", {
      "class": "ldesign-panel__body"
    }, [utils_renderNode.renderLNodeJSX(this, "default")])])]);
  }
});

const LdesignGrid = utils_withInstall.withInstall(_LdesignGrid);
const LdesignGridItem = utils_withInstall.withInstall(_LdesignGridItem);
var index = {
  LdesignGrid,
  LdesignGridItem
};

var _LdesignSetting = Vue__default["default"].extend({
  name: "LdesignSetting",
  props: {
    ...templates_setting_props["default"]
  },
  data() {
    return {
      visible: false
    };
  },
  methods: {
    onClick() {
      this.visible = !this.visible;
    }
  },
  render() {
    const h = arguments[0];
    const listeners = {
      "update:visible": v => {
        this.visible = v;
      }
    };
    return h("div", [h(components_button_index.Button, {
      "attrs": {
        "variant": "text",
        "shape": "square"
      },
      "on": {
        "click": this.onClick
      }
    }, [h(components_icon_index.Icon, {
      "slot": "icon",
      "attrs": {
        "name": "setting"
      }
    })]), h(components_drawer_index.Drawer, {
      "attrs": {
        "header": "\u7CFB\u7EDF\u8BBE\u7F6E",
        "visible": this.visible,
        "size": "500px"
      },
      "on": {
        ...listeners,
        "overlayClick": this.onClick
      }
    }, [h("p", ["3333"])])]);
  }
});

const LdesignSetting = utils_withInstall.withInstall(_LdesignSetting);

var _LdesignHeader = Vue__default["default"].extend({
  name: "LdesignHeader",
  props: {
    ...templates_header_props["default"]
  },
  render() {
    const h = arguments[0];
    return h("div", {
      "class": "ldesign-header"
    }, [h("div", {
      "class": "ldesign-header__prefix"
    }, [h(templates_logo_index.LdesignLogo)]), h("div", {
      "class": "ldesign-header__content"
    }), h("div", {
      "class": "ldesign-header__suffix"
    }, [h(components_space_index.Space, {
      "attrs": {
        "size": "8px"
      }
    }, [h(LdesignAvatar), h(LdesignSetting)])])]);
  }
});

const LdesignHeader = utils_withInstall.withInstall(_LdesignHeader);

var Content = utils_mixins["default"](Vue__default["default"]).extend({
  name: "LdesignQueryContent",
  props: {
    ...templates_query_props.QueryContentProps
  },
  inject: {
    query: {
      default: void 0
    }
  },
  computed: {
    itemStyle() {
      return item => {
        const grid = item.grid ? item.grid : 1;
        return {
          width: `${this.itemWidth * grid}%`
        };
      };
    },
    lastItemStyle() {
      const grids = this.conditions.map(item => item.grid || 1);
      const total = grids.reduce((a, b) => a + b, 0);
      const last = this.query.grid - total % this.query.grid;
      return {
        width: `${100 / this.query.grid * last}%`
      };
    },
    styles() {
      return this.query.theme === "popup" ? {
        display: "flex"
      } : null;
    }
  },
  render(h) {
    return h("div", {
      "class": "ldesign-query__content",
      "style": this.styles
    }, [this.conditions.map((item, index) => {
      return h("div", {
        "class": "ldesign-query__item",
        "key": index,
        "style": this.itemStyle(item)
      }, [h("div", {
        "class": "ldesign-query__wrap"
      }, [h("h2", {
        "class": "ldesign-query__title"
      }, [item.title]), h("div", {
        "class": "ldesign-query__value"
      }, [h(item.component, {
        props: item.props,
        on: {
          ...item.on
        }
      })])])]);
    }), this.query.isExpanded && h("div", {
      "class": "ldesign-query__item",
      "style": this.lastItemStyle
    }, [h(Buttons)])]);
  }
});

var Buttons = utils_mixins["default"](Vue__default["default"]).extend({
  name: "LdesignPage",
  props: {
    ...templates_query_props.QueryButtonProps
  },
  inject: {
    query: {
      default: void 0
    }
  },
  computed: {
    label() {
      return this.query.isExpanded ? "\u6536\u8D77" : "\u5C55\u5F00";
    },
    icon() {
      return !this.query.isExpanded ? iconsVue.ChevronDownIcon : iconsVue.ChevronUpIcon;
    }
  },
  render(h) {
    return h("div", {
      "class": "ldesign-query__buttons"
    }, [this.query.theme === "expand" && h(components_button_index.Button, {
      "attrs": {
        "variant": "text"
      },
      "on": {
        "click": this.query.toggleExpand
      }
    }, [h("template", {
      "slot": "icon"
    }, [h(this.icon)]), this.label]), this.options.map(item => {
      return h(components_button_index.Button, {
        "props": {
          ...item
        }
      }, [item.label]);
    }), this.query.theme === "popup" && h(components_popup_index.Popup, {
      "attrs": {
        "trigger": "click",
        "placement": "bottom-right",
        "overlayInnerStyle": {
          width: `${this.query.width}px`,
          padding: "16px"
        }
      }
    }, [h(components_button_index.Button, {
      "attrs": {
        "variant": "text"
      }
    }, [h("template", {
      "slot": "icon"
    }, [h(this.icon)]), this.label]), h("template", {
      "slot": "content"
    }, [h(Content, {
      "attrs": {
        "conditions": this.query.contentConditions,
        "itemWidth": this.query.itemWidth
      }
    })])])]);
  }
});

var Preview = utils_mixins["default"](Vue__default["default"]).extend({
  name: "LdesignQueryPreview",
  props: {
    ...templates_query_props.QueryPreviewProps
  },
  inject: {
    query: {
      default: void 0
    }
  },
  computed: {
    itemStyle() {
      return item => {
        const grid = item.grid ? item.grid : 1;
        return {
          width: `${this.itemWidth * grid}%`
        };
      };
    }
  },
  render(h) {
    return h("div", {
      "class": "ldesign-query__preview"
    }, [this.conditions.map((item, index) => {
      return h("div", {
        "class": "ldesign-query__item",
        "key": index,
        "style": this.itemStyle(item)
      }, [h("div", {
        "class": "ldesign-query__wrap"
      }, [h("h2", {
        "class": "ldesign-query__title"
      }, [item.title]), h("div", {
        "class": "ldesign-query__value"
      }, [h(item.component, {
        props: item.props,
        on: {
          ...item.on
        }
      })])])]);
    }), !this.query.isExpanded && h("div", {
      "class": "ldesign-query__item",
      "style": this.itemStyle({})
    }, [h(Buttons)])]);
  }
});

var _LdesignQuery = Vue__default["default"].extend({
  name: "LdesignQuery",
  provide() {
    return {
      query: this
    };
  },
  props: {
    ...templates_query_props.QueryProps
  },
  data() {
    return {
      isExpanded: this.expand,
      width: 0
    };
  },
  computed: {
    point() {
      return this.isExpanded ? this.grid : this.grid - 1;
    },
    previewConditions() {
      const {
        grid,
        conditions
      } = this;
      return conditions.slice(0, this.point);
    },
    contentConditions() {
      const {
        grid,
        conditions
      } = this;
      return conditions.slice(this.point);
    },
    itemWidth() {
      return 100 / this.grid;
    }
  },
  mounted() {
    this.listenSize();
  },
  methods: {
    toggleExpand() {
      this.isExpanded = !this.isExpanded;
    },
    listenSize() {
      const content = this.$refs.query;
      const resizer = new ResizeObserver(entries => {
        const rect = entries[0].contentRect;
        const {
          width
        } = rect;
        this.width = width;
      });
      resizer.observe(content);
    }
  },
  render() {
    const h = arguments[0];
    return h("div", {
      "class": {
        "ldesign-query": true,
        "is-expand": this.isExpanded
      },
      "ref": "query"
    }, [h(Preview, {
      "ref": "preview",
      "attrs": {
        "conditions": this.previewConditions,
        "itemWidth": this.itemWidth
      }
    }), this.theme === "expand" && h(Content, {
      "attrs": {
        "conditions": this.contentConditions,
        "itemWidth": this.itemWidth
      }
    })]);
  }
});

const LdesignQuery = utils_withInstall.withInstall(_LdesignQuery);

var _LdesignLayout = Vue__default["default"].extend({
  name: "LdesignLayout",
  props: {
    ...templates_layout_props["default"]
  },
  data() {
    return {
      height: 0
    };
  },
  computed: {
    styles() {
      return {
        backgroundColor: this.background ? this.background : ""
      };
    },
    mainContent() {
      const h = this.$createElement;
      return utils_renderNode.renderContent(this, "default", "content", {
        defaultNode: h("span", ["ddddd"]),
        params: {
          height: this.height
        }
      });
    },
    asideContent() {
      const h = this.$createElement;
      const defaultContent = h(components_layout_index.Aside);
      return utils_renderNode.renderLNodeJSX(this, "aside", defaultContent);
    },
    headerContent() {
      const h = this.$createElement;
      if (typeof this.header === "boolean" && !this.header) return null;
      if (typeof this.header === "object") {
        return h(components_layout_index.Header, [h(LdesignQuery, {
          "props": {
            ...this.header
          }
        })]);
      }
      return utils_renderNode.renderLNodeJSX(this, "header");
    },
    footerContent() {
      const h = this.$createElement;
      if (typeof this.footer === "boolean" && !this.footer) return null;
      if (typeof this.footer === "boolean" && this.footer || typeof this.footer === "object") {
        return h(components_layout_index.Footer, [h(components_pagination_index.Pagination, {
          "props": {
            ...this.footer
          }
        })]);
      }
      return utils_renderNode.renderLNodeJSX(this, "footer");
    }
  },
  mounted() {
    this.listenSize();
  },
  methods: {
    listenSize() {
      const content = this.$refs.content;
      const resizer = new ResizeObserver(entries => {
        const rect = entries[0].contentRect;
        const {
          height
        } = rect;
        this.height = height;
        if (this.onReady && lodash.isFunction(this.onReady)) {
          this.onReady(content.$el, {
            height
          });
        }
      });
      resizer.observe(content.$el);
    }
  },
  render() {
    const h = arguments[0];
    return h(components_layout_index.Layout, {
      "class": {
        "ldesign-layout": true,
        "ldesign-layout--strict": ["transparent", "rgba(0, 0, 0, 0)"].includes(this.background)
      },
      "style": this.styles
    }, [this.asideContent, h(components_layout_index.Layout, [this.headerContent, this.header && h(components_divider_index.Divider, {
      "attrs": {
        "size": "medium"
      }
    }), h(components_layout_index.Content, {
      "ref": "content"
    }, [this.mainContent]), this.footer && h(components_divider_index.Divider, {
      "attrs": {
        "size": "medium"
      }
    }), this.footerContent])]);
  }
});

const LdesignLayout = utils_withInstall.withInstall(_LdesignLayout);

var _LdesignPage = Vue__default["default"].extend({
  name: "LdesignPage",
  provide() {
    return {
      page: this
    };
  },
  props: {
    ...templates_page_props["default"]
  },
  render() {
    const h = arguments[0];
    const {
      layout,
      asideProps
    } = this;
    return h("div", {
      "class": {
        "ldesign-page": true,
        [`ldesign-layout--${layout}`]: layout
      },
      "attrs": {
        "layout": layout
      }
    }, [layout === "normal" && h(components_layout_index.Layout, [h(components_layout_index.Aside, [h(LdesignAside, {
      "attrs": {
        "menuList": asideProps.menu
      }
    })]), h(components_layout_index.Layout, [h(components_layout_index.Header, [h(LdesignHeader)]), h(components_layout_index.Content, [h("div", {
      "class": "ldesign-page__content"
    }, [h("div", {
      "class": "ldesign-page__content_view"
    }, [utils_renderNode.renderLNodeJSX(this, "default")])])])])]), layout === "mix" && h(components_layout_index.Layout, [h(components_layout_index.Header, [h(LdesignHeader)]), h(components_layout_index.Layout, [h(components_layout_index.Aside, [h(LdesignAside, {
      "attrs": {
        "menuList": asideProps.menu
      }
    })]), h(components_layout_index.Content, [h("div", {
      "class": "ldesign-page__content"
    }, [h("div", {
      "class": "ldesign-page__content_view"
    }, [utils_renderNode.renderLNodeJSX(this, "default")])])])])]), layout === "origin" && h(components_layout_index.Layout, [h(components_layout_index.Header, [h(LdesignHeader)]), h(components_layout_index.Content, [h("div", {
      "class": "ldesign-page__content"
    }, [h("div", {
      "class": "ldesign-page__content_view"
    }, [utils_renderNode.renderLNodeJSX(this, "default")])])])])]);
  }
});

const LdesignPage = utils_withInstall.withInstall(_LdesignPage);

var LQuickItem = Vue__default["default"].extend({
  name: "LDesignQuickItem",
  props: {
    ...templates_quickList_props.LdesignQuickListItemProps
  },
  computed: {
    iconContent() {
      const h = this.$createElement;
      if (!this.icon) return;
      const defaultIcon = h(components_icon_index.Icon, {
        "attrs": {
          "name": this.icon
        }
      });
      return utils_renderNode.renderLNodeJSX(this, "icon", defaultIcon);
    },
    imageContent() {
      const h = this.$createElement;
      if (!this.image) return;
      if (typeof this.image === "string") return h(components_image_index.Image, {
        "attrs": {
          "src": this.image
        }
      });
      return utils_renderNode.renderLNodeJSX(this, "image");
    }
  },
  render() {
    const h = arguments[0];
    return h("div", {
      "class": "ldesign-quick-list__item"
    }, [h("div", {
      "class": "ldesign-quick-list__icon"
    }, [this.iconContent, this.imageContent]), h("h2", [this.label])]);
  }
});

var _LdesignQuickList = Vue__default["default"].extend({
  name: "LdesignQuickList",
  components: {
    LQuickItem
  },
  props: {
    ...templates_quickList_props.LdesignQuickListProps
  },
  render() {
    const h = arguments[0];
    return h("div", {
      "class": "ldesign-quick-list"
    }, [this.options.map((item, index) => h("l-quick-item", {
      "key": index,
      "attrs": {
        "label": item.label,
        "icon": item.icon,
        "image": item.image,
        "url": item.url
      }
    }))]);
  }
});

const LdesignQuickList = utils_withInstall.withInstall(_LdesignQuickList);

var templates = /*#__PURE__*/Object.freeze({
  __proto__: null,
  LdesignAside: LdesignAside,
  LdesignAvatar: LdesignAvatar,
  LdesignGrid: LdesignGrid,
  LdesignGridItem: LdesignGridItem,
  LdesignHeader: LdesignHeader,
  LdesignLayout: LdesignLayout,
  LdesignLogo: templates_logo_index.LdesignLogo,
  LdesignMenu: LdesignMenu,
  LdesignMenuItem: LdesignMenuItem,
  LdesignPage: LdesignPage,
  LdesignQuery: LdesignQuery,
  LdesignQuickList: LdesignQuickList,
  LdesignSetting: LdesignSetting
});

function install(Vue, config) {
  if (!Vue._installedPlugins.includes(VueCompositionAPI__default["default"])) Vue.use(VueCompositionAPI__default["default"]);
  Object.keys(components.components).forEach(key => {
    if (components.components[key]) /plugin/i.test(key) ? Vue.use(components.components[key]) : Vue.use(components.components[key], config);
  });
  Object.keys(templates).forEach(key => {
    if (templates[key]) /plugin/i.test(key) ? Vue.use(templates[key]) : Vue.use(templates[key], config);
  });
}
if (typeof window !== "undefined" && window.Vue) install(window.Vue);
var ldesign = {
  install
};

exports.Buttons = Buttons;
exports.Content = Content;
exports.LQuickItem = LQuickItem;
exports.LdesignAside = LdesignAside;
exports.LdesignAvatar = LdesignAvatar;
exports.LdesignGrid = LdesignGrid;
exports.LdesignGridItem = LdesignGridItem;
exports.LdesignHeader = LdesignHeader;
exports.LdesignLayout = LdesignLayout;
exports.LdesignMenu = LdesignMenu;
exports.LdesignMenuItem = LdesignMenuItem;
exports.LdesignPage = LdesignPage;
exports.LdesignQuery = LdesignQuery;
exports.LdesignQuickList = LdesignQuickList;
exports.LdesignSetting = LdesignSetting;
exports.Preview = Preview;
exports._LdesignAside = _LdesignAside;
exports._LdesignAvatar = _LdesignAvatar;
exports._LdesignGrid = _LdesignGrid;
exports._LdesignGridItem = _LdesignGridItem;
exports._LdesignHeader = _LdesignHeader;
exports._LdesignLayout = _LdesignLayout;
exports._LdesignMenu = _LdesignMenu;
exports._LdesignMenuItem = _LdesignMenuItem;
exports._LdesignPage = _LdesignPage;
exports._LdesignQuery = _LdesignQuery;
exports._LdesignQuickList = _LdesignQuickList;
exports._LdesignSetting = _LdesignSetting;
exports.index = index;
exports.ldesign = ldesign;
//# sourceMappingURL=index.js.map
