<template>
  <JsonViewer :value="value || {}" v-bind="$props"></JsonViewer>
</template>

<script>
import JsonViewer from 'vue-json-viewer'
import 'vue-json-viewer/style.css';

/**
 * @see https://github.com/chenfengjw163/vue-json-viewer/blob/master/README_CN.md
 */
/**
 * JSON查看器
 * - 示例
 *
 * ```vue
 * <ed-json-viewer v-model="value"></ed-json-viewer>
 * ```
 */
export default {
  name: "EdJsonViewer",
  components: {JsonViewer},
  props: {
    // json对象的值，可以使用v-model，支持响应式
    value: {type: [Object, Array, String, Number, Boolean, Function], require: true},
    // 默认展开的层级
    expandDepth: {type: Number, default: 1},
    // 展示复制按钮，默认文案为：copy、copied!, 你可以设置一个对象{copyText: 'copy', copiedText: 'copied'} 来自定义复制按钮文案
    copyable: {type: [Boolean, Object], default: false},
    // 按照key排序展示
    sort:{type: Boolean, default: false},
    // 为组件添加一个盒样式
    boxed: {type: Boolean, default: false},
    // 添加一个自定义的样式class用作主题
    theme: {type: String},
    // 默认展开视图
    expanded: {type: Boolean, default: false},
  }
}
</script>

<style scoped>

</style>
