{"version":3,"sources":["jsdelivr-header.js","/npm/vuejs-form-creator@0.14.0/lib/index.js"],"names":[],"mappings":"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","file":"/npm/vuejs-form-creator@0.14.0/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/vuejs-form-creator@0.14.0/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n  typeof define === 'function' && define.amd ? define(['exports'], factory) :\n  (global = global || self, factory(global.formCreator = {}));\n}(this, function (exports) { 'use strict';\n\n  function _typeof(obj) {\n    if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n      _typeof = function (obj) {\n        return typeof obj;\n      };\n    } else {\n      _typeof = function (obj) {\n        return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n      };\n    }\n\n    return _typeof(obj);\n  }\n\n  function _defineProperty(obj, key, value) {\n    if (key in obj) {\n      Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n      });\n    } else {\n      obj[key] = value;\n    }\n\n    return obj;\n  }\n\n  function _objectSpread(target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i] != null ? arguments[i] : {};\n      var ownKeys = Object.keys(source);\n\n      if (typeof Object.getOwnPropertySymbols === 'function') {\n        ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n          return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n        }));\n      }\n\n      ownKeys.forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    }\n\n    return target;\n  }\n\n  function _objectWithoutPropertiesLoose(source, excluded) {\n    if (source == null) return {};\n    var target = {};\n    var sourceKeys = Object.keys(source);\n    var key, i;\n\n    for (i = 0; i < sourceKeys.length; i++) {\n      key = sourceKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      target[key] = source[key];\n    }\n\n    return target;\n  }\n\n  function _objectWithoutProperties(source, excluded) {\n    if (source == null) return {};\n\n    var target = _objectWithoutPropertiesLoose(source, excluded);\n\n    var key, i;\n\n    if (Object.getOwnPropertySymbols) {\n      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n      for (i = 0; i < sourceSymbolKeys.length; i++) {\n        key = sourceSymbolKeys[i];\n        if (excluded.indexOf(key) >= 0) continue;\n        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n        target[key] = source[key];\n      }\n    }\n\n    return target;\n  }\n\n  function _slicedToArray(arr, i) {\n    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n  }\n\n  function _toConsumableArray(arr) {\n    return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n  }\n\n  function _arrayWithoutHoles(arr) {\n    if (Array.isArray(arr)) {\n      for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n      return arr2;\n    }\n  }\n\n  function _arrayWithHoles(arr) {\n    if (Array.isArray(arr)) return arr;\n  }\n\n  function _iterableToArray(iter) {\n    if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n  }\n\n  function _iterableToArrayLimit(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  function _nonIterableSpread() {\n    throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n  }\n\n  function _nonIterableRest() {\n    throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n  }\n\n  // import {jsonView} from 'jsonview-vue'\n  var _require = require('jsonview-vue'),\n      jsonView = _require.jsonView;\n\n  var zIndex = 999999;\n  var formMsg = {\n    name: 'form-msg-helper',\n    props: {\n      model: {\n        type: [Object, Array],\n        default: function _default() {}\n      }\n    },\n    // components: {\n    //   JsonView\n    // },\n    data: function data() {\n      return {\n        showVal: false\n      };\n    },\n    render: function render(h) {\n      var _this = this;\n\n      var dialogStyle = {\n        position: 'fixed',\n        'z-index': zIndex++,\n        top: 0,\n        right: 0,\n        maxWidth: '300px',\n        maxHeight: '300px',\n        background: 'rgb(236, 251, 240)',\n        overflow: 'scroll',\n        opacity: 0.9,\n        padding: '20px',\n        color: 'rgb(0, 0, 0)'\n      };\n      var bottonStyle = {\n        // padding: '2px 4px',\n        // position: 'fixed',\n        // 'z-index': zIndex++,\n        // top: '10px',\n        // right: '10px',\n        cursor: 'pointer',\n        background: '#2d8cf0',\n        color: '#fff'\n      };\n      return h(\"div\", {\n        \"style\": {\n          position: 'absolute',\n          top: 0,\n          right: 0\n        }\n      }, [h(\"button\", {\n        \"style\": bottonStyle,\n        \"on\": {\n          \"click\": function click() {\n            _this.showVal = !_this.showVal;\n          }\n        }\n      }, [this.showVal ? '关闭' : '表单值']), this.showVal && h(\"div\", {\n        \"style\": dialogStyle\n      }, [h(jsonView, {\n        \"attrs\": {\n          \"json\": this.model\n        }\n      })])]);\n    }\n  };\n\n  var element = {\n    Row: 'el-row',\n    Col: 'el-col',\n    Form: 'el-form',\n    FormItem: 'el-form-item',\n    Input: 'el-input',\n    Select: 'el-select',\n    Option: 'el-option',\n    RadioGroup: 'el-radio-group',\n    Radio: 'el-radio',\n    CheckboxGroup: 'el-checkbox-group',\n    Checkbox: 'el-checkbox',\n    Button: 'el-button'\n  };\n  var iview = {\n    Row: 'Row',\n    Col: 'i-col',\n    Form: 'Form',\n    FormItem: 'FormItem',\n    Input: 'Input',\n    Select: 'Select',\n    Option: 'Option',\n    RadioGroup: 'RadioGroup',\n    Radio: 'Radio',\n    CheckboxGroup: 'CheckboxGroup',\n    Checkbox: 'Checkbox',\n    Button: 'i-button'\n  };\n  var Adaptive = {\n    element: element,\n    iview: iview\n  };\n\n  var getArrKey = function getArrKey(str) {\n    // goods[0].id => goods.0.id\n    var str1 = str.replace(/\\[(\\w+)\\]/g, '.$1').replace(/^\\./, '');\n    var arr = str1.split('.'); // [goods, 0, id]\n\n    return arr;\n  };\n\n  var GetObjectLength = function GetObjectLength(arr) {\n    return arr.reduce(function (total, currentItem) {\n      var type = Object.prototype.toString.call(currentItem);\n      var addVal = type === '[object Array]' ? 0 : 1;\n      return total + addVal;\n    }, 0);\n  }; // 为了兼容在vue文件中写jsx component 0.9.0版本前需要加H 函数，之后不需要\n\n\n  var renderComponent = function renderComponent(component, h) {\n    var type = _typeof(component); // function是需要传递H函数，object可以在内部调用h\n\n\n    return type === 'function' ? component(h) : component;\n  };\n\n  var formCreator = function formCreator(formCreatorConfig) {\n    var UI = Adaptive[formCreatorConfig.ui];\n\n    var computedRules = function computedRules(rules) {\n      var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '此项';\n      var tag = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : UI.Input;\n      var rulesType = Object.prototype.toString.call(rules);\n      var selectStrTags = [UI.Select, UI.RadioGroup, UI.Radio, UI.CheckboxGroup, UI.Checkbox];\n      var rulesClone = rules || [];\n\n      if (rulesType !== '[object Array]' && rules) {\n        rulesClone = [rules];\n      }\n\n      return rulesClone.map(function (rule) {\n        if (rule === 'required') {\n          var str = selectStrTags.indexOf(tag) > -1 ? '请选择' : '请填写';\n          return {\n            required: true,\n            message: \"\".concat(str + label)\n          };\n        }\n\n        return rule;\n      });\n    };\n\n    return {\n      name: formCreatorConfig.name || 'form-creator',\n      props: {\n        value: {\n          type: Object,\n          default: function _default() {\n            return {};\n          }\n        },\n        fields: {\n          type: [Object, Array],\n          default: function _default() {\n            return [];\n          }\n        },\n        // el-form 配置\n        option: {\n          type: Object,\n          default: function _default() {}\n        },\n        size: {\n          type: String,\n          default: 'medium'\n        }\n      },\n      data: function data() {\n        return {\n          updating: false,\n          formValues: this.mergeValues()\n        };\n      },\n      watch: {\n        formValues: {\n          handler: function handler(formValues) {\n            this.updating = true;\n            this.$emit('input', formValues);\n          },\n          deep: true\n        },\n        model: {\n          handler: function handler(model) {\n            if (!this.updating) {\n              this.formValues = this.mergeValues();\n            } else {\n              this.updating = false;\n            }\n          },\n          deep: true\n        }\n      },\n      render: function render(h) {\n        var vm = this;\n\n        var _vm$option = vm.option,\n            status = _vm$option.status,\n            debug = _vm$option.debug,\n            rest = _objectWithoutProperties(_vm$option, [\"status\", \"debug\"]); // debug模式 表单配置优先级高于全局配置\n\n\n        var isDebug = debug ? debug : formCreatorConfig.debug;\n        var renderFormItems = vm.renderFormItems(h) || [];\n        var elForm = h(UI.Form, {\n          props: _objectSpread({\n            model: vm.formValues,\n            disabled: status === 'disabled'\n          }, rest),\n          ref: 'form'\n        }, [].concat(_toConsumableArray(vm.$slots.prepend || []), _toConsumableArray(renderFormItems), _toConsumableArray(vm.$slots.append || [])));\n        return h('div', {\n          style: {\n            position: 'relative'\n          }\n        }, [elForm, // 开发环境 提供表单值查看功能\n        isDebug && h(formMsg, {\n          props: {\n            model: vm.formValues\n          }\n        })]);\n      },\n      created: function created() {\n        this.$emit('input', this.formValues);\n      },\n      methods: {\n        getFormRef: function getFormRef() {\n          return this.$refs.form;\n        },\n        mergeValues: function mergeValues() {\n          return this.value;\n        },\n        filterAttrs: function filterAttrs() {\n          var detail = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n          var keys = Object.keys(detail);\n          var attrs = {};\n          keys.forEach(function (key) {\n            var value = detail[key];\n\n            if (typeof value === 'number' || typeof value === 'string' || typeof value === 'boolean') {\n              attrs[key] = value;\n            }\n          });\n          return attrs;\n        },\n        renderFormItem: function renderFormItem(h, _ref) {\n          var tag = _ref.tag,\n              component = _ref.component,\n              rules = _ref.rules,\n              previewFormItemValue = _ref.previewFormItemValue,\n              formItemStatus = _ref.formItemStatus,\n              itemLabel = _ref.label,\n              _ref$item = _ref.item,\n              label = _ref$item === void 0 ? {} : _ref$item,\n              _ref$class = _ref.class,\n              detailClass = _ref$class === void 0 ? {} : _ref$class,\n              _ref$style = _ref.style,\n              detailStyle = _ref$style === void 0 ? {} : _ref$style,\n              detail = _objectWithoutProperties(_ref, [\"tag\", \"component\", \"rules\", \"previewFormItemValue\", \"formItemStatus\", \"label\", \"item\", \"class\", \"style\"]);\n\n          // 防止表单控件 超出边界,设置 默认 maxWidth: '100%'\n          if (!detailStyle.maxWidth) {\n            detailStyle.maxWidth = '100%';\n          }\n\n          if (tag && component) {\n            console.error('tag 与 component不可同时使用');\n            return null;\n          }\n\n          var vm = this;\n          var formValues = vm.formValues,\n              size = vm.size;\n          var name = detail.name;\n          var value = null;\n          var previewText = null; // previewText一般来说是与value保持一致的，当有自定义展示值得时候，可以用preview函数来实现\n\n          if (Object.prototype.hasOwnProperty.call(formValues, name)) {\n            value = formValues[name];\n          } else {\n            var _getArrKey = getArrKey(name),\n                _getArrKey2 = _slicedToArray(_getArrKey, 3),\n                key = _getArrKey2[0],\n                index = _getArrKey2[1],\n                childKey = _getArrKey2[2];\n\n            value = formValues[key][index][childKey];\n          }\n\n          previewText = value;\n\n          var modelEvents = _objectSpread({\n            input: function input(val) {\n              if (Object.prototype.hasOwnProperty.call(formValues, name)) {\n                formValues[name] = val;\n              } else {\n                var _getArrKey3 = getArrKey(name),\n                    _getArrKey4 = _slicedToArray(_getArrKey3, 3),\n                    _key = _getArrKey4[0],\n                    _index = _getArrKey4[1],\n                    _childKey = _getArrKey4[2];\n\n                formValues[_key][_index][_childKey] = val;\n              }\n            }\n          }, detail.on || {});\n\n          var children = []; // 自定义slot实现\n\n          var scopedSlots = (detail.scopedSlots || []).map(function (ele) {\n            return renderComponent(ele, h);\n          });\n\n          if (component) {\n            // 自定义表单控件渲染逻辑\n            if (name) {\n              var componentProps = {\n                class: detailClass,\n                style: detailStyle,\n                attrs: _objectSpread({}, vm.filterAttrs(detail)),\n                props: _objectSpread({\n                  value: value\n                }, detail),\n                on: _objectSpread({}, modelEvents)\n              };\n              children = [h(component, componentProps, scopedSlots)];\n            } else {\n              // 无意义的表单元素 纯展示\n              children = [renderComponent(component, h)];\n            }\n          } else {\n            if (tag === UI.Select) {\n              if (detail.multiple) {\n                // 多选 数组形式 value是id数组\n                previewText = '';\n              }\n\n              detail.options.forEach(function (ele) {\n                if (detail.multiple && value.indexOf(ele.value) > -1) {\n                  // 多选 数组形式 value是id数组\n                  previewText += \"\".concat(ele.label, \"\\u3001\");\n                } else if (previewText === ele.value) {\n                  previewText = ele.label;\n                }\n              });\n              var select = h(tag, {\n                class: detailClass,\n                style: detailStyle,\n                attrs: _objectSpread({}, vm.filterAttrs(detail)),\n                props: _objectSpread({\n                  value: value\n                }, detail),\n                on: _objectSpread({}, modelEvents)\n              }, (detail.options || []).map(function (option) {\n                return h(UI.Option, {\n                  attrs: _objectSpread({}, vm.filterAttrs(option)),\n                  props: _objectSpread({\n                    key: option.value\n                  }, option)\n                });\n              }));\n              children = [select];\n            } else if (tag === UI.CheckboxGroup) {\n              detail.options.forEach(function (ele) {\n                if (previewText === ele.value) {\n                  previewText = ele.label;\n                }\n              });\n              var checkbox = h(UI.CheckboxGroup, {\n                class: detailClass,\n                style: detailStyle,\n                attrs: _objectSpread({}, vm.filterAttrs(detail)),\n                props: _objectSpread({\n                  value: value\n                }, detail),\n                on: _objectSpread({}, modelEvents)\n              }, (detail.options || []).map(function (option) {\n                return h(UI.Checkbox, {\n                  attrs: _objectSpread({}, vm.filterAttrs(option)),\n                  props: _objectSpread({}, option, {\n                    key: option.value,\n                    label: option.value\n                  })\n                }, [option.label]);\n              }));\n              children = [checkbox];\n            } else if (tag === UI.RadioGroup) {\n              // radio 适配\n              var RadioGroup = h(UI.RadioGroup, {\n                class: detailClass,\n                style: detailStyle,\n                attrs: _objectSpread({}, vm.filterAttrs(detail)),\n                props: _objectSpread({\n                  value: value\n                }, detail),\n                on: _objectSpread({}, modelEvents)\n              }, (detail.options || []).map(function (option) {\n                return h(UI.Radio, {\n                  attrs: _objectSpread({}, vm.filterAttrs(option)),\n                  props: _objectSpread({}, option, {\n                    key: option.value,\n                    label: option.value\n                  }),\n                  on: _objectSpread({}, modelEvents)\n                }, [option.label]);\n              }));\n              children = [RadioGroup];\n            } else {\n              var input = h(tag || UI.Input, {\n                class: detailClass,\n                style: detailStyle,\n                attrs: _objectSpread({}, vm.filterAttrs(detail)),\n                props: _objectSpread({\n                  value: value\n                }, detail),\n                on: _objectSpread({}, modelEvents)\n              }, scopedSlots);\n              children = [input];\n            }\n          }\n\n          var formItemStyle = label.style || {};\n          var formItemClass = label.class || {};\n          var formItemScopedSlots = (label.scopedSlots || []).map(function (ele) {\n            return ele(h);\n          });\n          var formItemChildren = []; // 表单预览态\n          // 增加 formItemStatus 字段，优先级高于 option.status，便于表单部分字段特殊状态处理\n\n          var formItemStatus1 = formItemStatus || vm.option.status || 'edit';\n\n          if (formItemStatus1 === 'preview') {\n            formItemChildren = previewText;\n\n            if (previewFormItemValue) {\n              formItemChildren = previewFormItemValue(value, h);\n            }\n          } else {\n            formItemChildren = _toConsumableArray(children);\n          }\n\n          var formItemLabel = label.label,\n              labelrest = _objectWithoutProperties(label, [\"label\"]); // 这是item字段\n\n\n          var labelStr = formItemLabel || itemLabel || '';\n          var _vm$option2 = vm.option,\n              colon = _vm$option2.colon,\n              autoAuffix = _vm$option2.autoAuffix;\n\n          if (autoAuffix) {\n            console.warn('autoAuffix 后续版本会删除，请使用 colon 替代');\n          }\n\n          return h(UI.FormItem, {\n            style: formItemStyle,\n            class: formItemClass,\n            props: _objectSpread({\n              rules: computedRules(rules, labelStr, tag),\n              size: size,\n              label: labelStr + (labelStr && (colon || autoAuffix) ? '：' : ''),\n              prop: name\n            }, labelrest),\n            // 提升渲染准确性\n            key: name\n          }, [formItemChildren].concat(_toConsumableArray(formItemScopedSlots)));\n        },\n        onSubmit: function onSubmit() {\n          var Form = this.$refs.form;\n          this.$emit('submit', Form);\n        },\n        onCancel: function onCancel() {\n          this.$emit('cancel');\n        },\n        // 渲染表单 取消、提交按钮\n        renderButtonGroup: function renderButtonGroup() {\n          var h = this.$createElement;\n          var status = this.option.status;\n          var Btns = [h(UI.Button, {\n            \"on\": {\n              \"click\": this.onCancel\n            },\n            \"style\": {\n              marginRight: '10px'\n            }\n          }, [\"\\u53D6\\u6D88\"]), h(UI.Button, {\n            \"attrs\": {\n              \"type\": \"primary\",\n              \"disabled\": status === 'disabled'\n            },\n            \"on\": {\n              \"click\": this.onSubmit\n            }\n          }, [\"\\u63D0\\u4EA4\"])];\n\n          if (status === 'preview') {\n            Btns.pop();\n          }\n\n          return Btns;\n        },\n        renderFormItems: function renderFormItems(h) {\n          var vm = this;\n          var defaultSpan = vm.option.itemSpan;\n          var defaultGutter = vm.option.itemGutter || 0;\n\n          var mapFormItems = function mapFormItems(item, i, l) {\n            // 递归调用\n            if (Array.isArray(item) && item.length > 0) {\n              var l1 = GetObjectLength(item);\n              var arrChild = item.map(function (itemChild, j) {\n                return mapFormItems(itemChild, j, l1);\n              });\n              return h(UI.Row, {\n                // 提升渲染准确性\n                key: i + l1\n              }, _toConsumableArray(arrChild));\n            }\n\n            var formItem; // 值为null的情况\n\n            if (!item) return item;\n\n            if (item.name) {\n              formItem = vm.renderFormItem(h, item);\n            } else if (item.component) {\n              // 不对应表单字段\n              formItem = renderComponent(item.component, h);\n            } else if (item.formItemComponent) {\n              // 不对应表单字段\n              formItem = h(UI.FormItem, {\n                props: {\n                  label: '',\n                  'label-width': 0\n                },\n                // 提升渲染准确性\n                key: i\n              }, [renderComponent(item.formItemComponent, h)]);\n            }\n\n            return h(UI.Col, {\n              props: {\n                span: item.span || defaultSpan || Math.floor(24 / l)\n              },\n              // 提升渲染准确性\n              key: i + (item.name || '')\n            }, [formItem]);\n          };\n\n          var fields = this.fields.map(function (item, index) {\n            if (item === null) return null;\n\n            if (Array.isArray(item) && item.length > 0) {\n              var l = GetObjectLength(item);\n\n              var _formItem = item.map(function (itemChild, i) {\n                return mapFormItems(itemChild, i, l);\n              });\n\n              return h(UI.Row, {\n                props: {\n                  gutter: item[0].gutter || defaultGutter\n                },\n                // 提升渲染准确性\n                key: index\n              }, _formItem);\n            }\n\n            if (!item || item.length === 0) {\n              return null;\n            } // el-row el-col span\n\n\n            var formItem = mapFormItems(item, index, 1);\n            return h(UI.Row, {\n              // 提升渲染准确性\n              key: index\n            }, [formItem]);\n          }); // 增加 ButtonGroup 渲染\n\n          if (vm.option.buttonGroup) {\n            // true false 自定义function\n            var renderButtonGroup = typeof vm.option.buttonGroup === 'function' ? vm.option.buttonGroup() : vm.renderButtonGroup();\n            fields.push(h(UI.Row, {\n              key: fields.length + 1\n            }), [h(UI.FormItem, {}, _toConsumableArray(renderButtonGroup))]);\n          }\n\n          return fields;\n        }\n      }\n    };\n  };\n\n  var install = function install(Vue) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    if (install.installed) return;\n    var defaultOptions = {\n      // 默认使用element-ui\n      ui: 'element',\n      // 默认在开发模式开启表单debug\n      debug: process.env.NODE_ENV === 'development',\n      // 组件名默认 form-creator\n      name: 'form-creator'\n    };\n\n    if (typeof options === 'string') {\n      options = {\n        ui: options\n      };\n    }\n\n    var newOptions = Object.assign({}, defaultOptions, options);\n    var Form = formCreator(newOptions);\n    Vue.component(Form.name, Form);\n  };\n\n  var formCreatorFunc = formCreator;\n  var index = {\n    install: install\n  };\n\n  exports.default = index;\n  exports.formCreatorFunc = formCreatorFunc;\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n"]}