48 lines
1.8 KiB
JavaScript
48 lines
1.8 KiB
JavaScript
export { default as Caption } from '../../components/Caption.vue'
|
|
export { default as Logo } from '../../components/Logo.vue'
|
|
export { default as Modal } from '../../components/Modal.vue'
|
|
export { default as SearchBox } from '../../components/SearchBox.vue'
|
|
export { default as SvgIcon } from '../../components/SvgIcon.vue'
|
|
export { default as TopMenu } from '../../components/TopMenu.vue'
|
|
export { default as DialogConfirm } from '../../components/dialog/Confirm.vue'
|
|
export { default as DialogCountDown } from '../../components/dialog/CountDown.vue'
|
|
export { default as DialogDelete } from '../../components/dialog/Delete.vue'
|
|
export { default as DialogError } from '../../components/dialog/Error.vue'
|
|
export { default as DialogInfo } from '../../components/dialog/Info.vue'
|
|
export { default as DialogSuccess } from '../../components/dialog/Success.vue'
|
|
export { default as SnackbarError } from '../../components/snackbar/Error.vue'
|
|
export { default as SnackbarInfo } from '../../components/snackbar/Info.vue'
|
|
export { default as SnackbarSnackBar } from '../../components/snackbar/SnackBar.vue'
|
|
export { default as SnackbarSuccess } from '../../components/snackbar/Success.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)
|
|
}
|
|
}
|
|
}
|