export { default as ElNav } from '../..\\components\\ElNav.vue'
export { default as FootBar } from '../..\\components\\FootBar.vue'
export { default as HeadBar } from '../..\\components\\HeadBar.vue'
export { default as LTInfo } from '../..\\components\\LTInfo.vue'
export { default as LTProgress } from '../..\\components\\LTProgress.vue'
export { default as NuxtLogo } from '../..\\components\\NuxtLogo.vue'
export { default as SearchList } from '../..\\components\\SearchList.vue'
export { default as Tutorial } from '../..\\components\\Tutorial.vue'
export { default as WordEditor } from '../..\\components\\WordEditor.vue'
export { default as WordInfo } from '../..\\components\\WordInfo.vue'
export { default as WordList } from '../..\\components\\WordList.vue'
export { default as WordType } from '../..\\components\\WordType.vue'
export { default as Pagination } from '../..\\components\\Pagination\\index.vue'

// nuxt/nuxt.js#8607
function wrapFunctional(options) {
  if (!options || !options.functional) {
    return options
  }

  const propKeys = Array.isArray(options.props) ? options.props : Object.keys(options.props || {})

  return {
    render(h) {
      const attrs = {}
      const props = {}

      for (const key in this.$attrs) {
        if (propKeys.includes(key)) {
          props[key] = this.$attrs[key]
        } else {
          attrs[key] = this.$attrs[key]
        }
      }

      return h(options, {
        on: this.$listeners,
        attrs,
        props,
        scopedSlots: this.$scopedSlots,
      }, this.$slots.default)
    }
  }
}
