|
|
module.exports = /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {}; /******/ /******/ // The require function
/******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded
/******/ module.l = true; /******/ /******/ // Return the exports of the module
/******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache
/******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/dist/"; /******/ /******/ /******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 558); /******/ }) /************************************************************************/ /******/ ({
/***/ 10: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/util");
/***/ }),
/***/ 101: /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; // ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tag/src/tag.vue?vue&type=script&lang=js&
/* harmony default export */ var tagvue_type_script_lang_js_ = ({ name: 'TisTag', props: { text: String, closable: Boolean, type: String, hit: Boolean, disableTransitions: Boolean, color: String, size: String, effect: { type: String, default: 'light', validator: function validator(val) { return ['dark', 'light', 'plain'].indexOf(val) !== -1; } } }, methods: { handleClose: function handleClose(event) { event.stopPropagation(); this.$emit('close', event); }, handleClick: function handleClick(event) { this.$emit('click', event); } }, computed: { tagSize: function tagSize() { return this.size || (this.$ELEMENT || {}).size; } }, render: function render(h) { var type = this.type, tagSize = this.tagSize, hit = this.hit, effect = this.effect;
var classes = ['el-tag', type ? 'el-tag--' + type : '', tagSize ? 'el-tag--' + tagSize : '', effect ? 'el-tag--' + effect : '', hit && 'is-hit']; var tagEl = h( 'span', { 'class': classes, style: { backgroundColor: this.color }, on: { 'click': this.handleClick } }, [this.$slots.default, this.closable && h('i', { 'class': 'el-tag__close el-icon-close', on: { 'click': this.handleClose } })] );
return this.disableTransitions ? tagEl : h( 'transition', { attrs: { name: 'el-zoom-in-center' } }, [tagEl] ); } }); // CONCATENATED MODULE: ./packages/tag/src/tag.vue?vue&type=script&lang=js&
/* harmony default export */ var src_tagvue_type_script_lang_js_ = (tagvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);
// CONCATENATED MODULE: ./packages/tag/src/tag.vue
var render, staticRenderFns
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])( src_tagvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null )
/* hot reload */ if (false) { var api; } component.options.__file = "packages/tag/src/tag.vue" /* harmony default export */ var tag = (component.exports); // CONCATENATED MODULE: ./packages/tag/index.js
/* istanbul ignore next */ tag.install = function (Vue) { Vue.component(tag.name, tag); };
/* harmony default export */ var packages_tag = __webpack_exports__["default"] = (tag);
/***/ }),
/***/ 103: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/aria-utils");
/***/ }),
/***/ 121: /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; // ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=template&id=69cd6268&
var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "label", { staticClass: "el-radio", class: [ _vm.border && _vm.radioSize ? "el-radio--" + _vm.radioSize : "", { "is-disabled": _vm.isDisabled }, { "is-focus": _vm.focus }, { "is-bordered": _vm.border }, { "is-checked": _vm.model === _vm.label } ], attrs: { role: "radio", "aria-checked": _vm.model === _vm.label, "aria-disabled": _vm.isDisabled, tabindex: _vm.tabIndex }, on: { keydown: function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "space", 32, $event.key, [" ", "Spacebar"]) ) { return null } $event.stopPropagation() $event.preventDefault() _vm.model = _vm.isDisabled ? _vm.model : _vm.label } } }, [ _c( "span", { staticClass: "el-radio__input", class: { "is-disabled": _vm.isDisabled, "is-checked": _vm.model === _vm.label } }, [ _c("span", { staticClass: "el-radio__inner" }), _c("input", { directives: [ { name: "model", rawName: "v-model", value: _vm.model, expression: "model" } ], ref: "radio", staticClass: "el-radio__original", attrs: { type: "radio", "aria-hidden": "true", name: _vm.name, disabled: _vm.isDisabled, tabindex: "-1" }, domProps: { value: _vm.label, checked: _vm._q(_vm.model, _vm.label) }, on: { focus: function($event) { _vm.focus = true }, blur: function($event) { _vm.focus = false }, change: [ function($event) { _vm.model = _vm.label }, _vm.handleChange ] } }) ] ), _c( "span", { staticClass: "el-radio__label", on: { keydown: function($event) { $event.stopPropagation() } } }, [ _vm._t("default"), !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e() ], 2 ) ] ) } var staticRenderFns = [] render._withStripped = true
// CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=template&id=69cd6268&
// EXTERNAL MODULE: external "tis-ui/lib/mixins/emitter"
var emitter_ = __webpack_require__(13); var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var radiovue_type_script_lang_js_ = ({ name: 'TisRadio',
mixins: [emitter_default.a],
inject: { elForm: { default: '' },
elFormItem: { default: '' } },
componentName: 'TisRadio',
props: { value: {}, label: {}, disabled: Boolean, name: String, border: Boolean, size: String },
data: function data() { return { focus: false }; },
computed: { isGroup: function isGroup() { var parent = this.$parent; while (parent) { if (parent.$options.componentName !== 'TisRadioGroup') { parent = parent.$parent; } else { this._radioGroup = parent; return true; } } return false; },
model: { get: function get() { return this.isGroup ? this._radioGroup.value : this.value; }, set: function set(val) { if (this.isGroup) { this.dispatch('TisRadioGroup', 'input', [val]); } else { this.$emit('input', val); } this.$refs.radio && (this.$refs.radio.checked = this.model === this.label); } }, _elFormItemSize: function _elFormItemSize() { return (this.elFormItem || {}).elFormItemSize; }, radioSize: function radioSize() { var temRadioSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; return this.isGroup ? this._radioGroup.radioGroupSize || temRadioSize : temRadioSize; }, isDisabled: function isDisabled() { return this.isGroup ? this._radioGroup.disabled || this.disabled || (this.elForm || {}).disabled : this.disabled || (this.elForm || {}).disabled; }, tabIndex: function tabIndex() { return this.isDisabled || this.isGroup && this.model !== this.label ? -1 : 0; } },
methods: { handleChange: function handleChange() { var _this = this;
this.$nextTick(function () { _this.$emit('change', _this.model); _this.isGroup && _this.dispatch('TisRadioGroup', 'handleChange', _this.model); }); } } }); // CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=script&lang=js&
/* harmony default export */ var src_radiovue_type_script_lang_js_ = (radiovue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);
// CONCATENATED MODULE: ./packages/radio/src/radio.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])( src_radiovue_type_script_lang_js_, render, staticRenderFns, false, null, null, null )
/* hot reload */ if (false) { var api; } component.options.__file = "packages/radio/src/radio.vue" /* harmony default export */ var src_radio = (component.exports); // CONCATENATED MODULE: ./packages/radio/index.js
/* istanbul ignore next */ src_radio.install = function (Vue) { Vue.component(src_radio.name, src_radio); };
/* harmony default export */ var packages_radio = __webpack_exports__["default"] = (src_radio);
/***/ }),
/***/ 13: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/mixins/emitter");
/***/ }),
/***/ 152: /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; // ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&
var cascader_panelvue_type_template_id_34932346_render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { class: ["el-cascader-panel", _vm.border && "is-bordered"], on: { keydown: _vm.handleKeyDown } }, _vm._l(_vm.menus, function(menu, index) { return _c("cascader-menu", { key: index, ref: "menu", refInFor: true, attrs: { index: index, nodes: menu } }) }), 1 ) } var staticRenderFns = [] cascader_panelvue_type_template_id_34932346_render._withStripped = true
// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&
// EXTERNAL MODULE: external "babel-helper-vue-jsx-merge-props"
var external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(90); var external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);
// EXTERNAL MODULE: ./packages/scrollbar/index.js + 3 modules
var scrollbar = __webpack_require__(66);
// EXTERNAL MODULE: ./packages/checkbox/index.js + 5 modules
var packages_checkbox = __webpack_require__(68);
// EXTERNAL MODULE: ./packages/radio/index.js + 5 modules
var packages_radio = __webpack_require__(121);
// EXTERNAL MODULE: external "tis-ui/lib/utils/util"
var util_ = __webpack_require__(10);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&
var stopPropagation = function stopPropagation(e) { return e.stopPropagation(); };
/* harmony default export */ var cascader_nodevue_type_script_lang_js_ = ({ inject: ['panel'],
components: { ElCheckbox: packages_checkbox["default"], ElRadio: packages_radio["default"] },
props: { node: { required: true }, nodeId: String },
computed: { config: function config() { return this.panel.config; }, isLeaf: function isLeaf() { return this.node.isLeaf; }, isDisabled: function isDisabled() { return this.node.isDisabled; }, checkedValue: function checkedValue() { return this.panel.checkedValue; }, isChecked: function isChecked() { return this.node.isSameNode(this.checkedValue); }, inActivePath: function inActivePath() { return this.isInPath(this.panel.activePath); }, inCheckedPath: function inCheckedPath() { var _this = this;
if (!this.config.checkStrictly) return false;
return this.panel.checkedNodePaths.some(function (checkedPath) { return _this.isInPath(checkedPath); }); }, value: function value() { return this.node.getValueByOption(); } },
methods: { handleExpand: function handleExpand() { var _this2 = this;
var panel = this.panel, node = this.node, isDisabled = this.isDisabled, config = this.config; var multiple = config.multiple, checkStrictly = config.checkStrictly;
if (!checkStrictly && isDisabled || node.loading) return;
if (config.lazy && !node.loaded) { panel.lazyLoad(node, function () { // do not use cached leaf value here, invoke this.isLeaf to get new value.
var isLeaf = _this2.isLeaf;
if (!isLeaf) _this2.handleExpand(); if (multiple) { // if leaf sync checked state, else clear checked state
var checked = isLeaf ? node.checked : false; _this2.handleMultiCheckChange(checked); } }); } else { panel.handleExpand(node); } }, handleCheckChange: function handleCheckChange() { var panel = this.panel, value = this.value, node = this.node;
panel.handleCheckChange(value); panel.handleExpand(node); }, handleMultiCheckChange: function handleMultiCheckChange(checked) { this.node.doCheck(checked); this.panel.calculateMultiCheckedValue(); }, isInPath: function isInPath(pathNodes) { var node = this.node;
var selectedPathNode = pathNodes[node.level - 1] || {}; return selectedPathNode.uid === node.uid; }, renderPrefix: function renderPrefix(h) { var isLeaf = this.isLeaf, isChecked = this.isChecked, config = this.config; var checkStrictly = config.checkStrictly, multiple = config.multiple;
if (multiple) { return this.renderCheckbox(h); } else if (checkStrictly) { return this.renderRadio(h); } else if (isLeaf && isChecked) { return this.renderCheckIcon(h); }
return null; }, renderPostfix: function renderPostfix(h) { var node = this.node, isLeaf = this.isLeaf;
if (node.loading) { return this.renderLoadingIcon(h); } else if (!isLeaf) { return this.renderExpandIcon(h); }
return null; }, renderCheckbox: function renderCheckbox(h) { var node = this.node, config = this.config, isDisabled = this.isDisabled;
var events = { on: { change: this.handleMultiCheckChange }, nativeOn: {} };
if (config.checkStrictly) { // when every node is selectable, click event should not trigger expand event.
events.nativeOn.click = stopPropagation; }
return h('tis-checkbox', external_babel_helper_vue_jsx_merge_props_default()([{ attrs: { value: node.checked, indeterminate: node.indeterminate, disabled: isDisabled } }, events])); }, renderRadio: function renderRadio(h) { var checkedValue = this.checkedValue, value = this.value, isDisabled = this.isDisabled;
// to keep same reference if value cause radio's checked state is calculated by reference comparision;
if (Object(util_["isEqual"])(value, checkedValue)) { value = checkedValue; }
return h( 'tis-radio', { attrs: { value: checkedValue, label: value, disabled: isDisabled }, on: { 'change': this.handleCheckChange }, nativeOn: { 'click': stopPropagation } }, [h('span')] ); }, renderCheckIcon: function renderCheckIcon(h) { return h('i', { 'class': 'el-icon-check el-cascader-node__prefix' }); }, renderLoadingIcon: function renderLoadingIcon(h) { return h('i', { 'class': 'el-icon-loading el-cascader-node__postfix' }); }, renderExpandIcon: function renderExpandIcon(h) { return h('i', { 'class': 'el-icon-arrow-right el-cascader-node__postfix' }); }, renderContent: function renderContent(h) { var panel = this.panel, node = this.node;
var render = panel.renderLabelFn; var vnode = render ? render({ node: node, data: node.data }) : null;
return h( 'span', { 'class': 'el-cascader-node__label' }, [vnode || node.label] ); } },
render: function render(h) { var _this3 = this;
var inActivePath = this.inActivePath, inCheckedPath = this.inCheckedPath, isChecked = this.isChecked, isLeaf = this.isLeaf, isDisabled = this.isDisabled, config = this.config, nodeId = this.nodeId; var expandTrigger = config.expandTrigger, checkStrictly = config.checkStrictly, multiple = config.multiple;
var disabled = !checkStrictly && isDisabled; var events = { on: {} };
if (expandTrigger === 'click') { events.on.click = this.handleExpand; } else { events.on.mouseenter = function (e) { _this3.handleExpand(); _this3.$emit('expand', e); }; events.on.focus = function (e) { _this3.handleExpand(); _this3.$emit('expand', e); }; } if (isLeaf && !isDisabled && !checkStrictly && !multiple) { events.on.click = this.handleCheckChange; }
return h( 'li', external_babel_helper_vue_jsx_merge_props_default()([{ attrs: { role: 'menuitem', id: nodeId, 'aria-expanded': inActivePath, tabindex: disabled ? null : -1 }, 'class': { 'el-cascader-node': true, 'is-selectable': checkStrictly, 'in-active-path': inActivePath, 'in-checked-path': inCheckedPath, 'is-active': isChecked, 'is-disabled': disabled } }, events]), [this.renderPrefix(h), this.renderContent(h), this.renderPostfix(h)] ); } }); // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&
/* harmony default export */ var src_cascader_nodevue_type_script_lang_js_ = (cascader_nodevue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);
// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue
var cascader_node_render, cascader_node_staticRenderFns
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])( src_cascader_nodevue_type_script_lang_js_, cascader_node_render, cascader_node_staticRenderFns, false, null, null, null )
/* hot reload */ if (false) { var api; } component.options.__file = "packages/cascader-panel/src/cascader-node.vue" /* harmony default export */ var cascader_node = (component.exports); // EXTERNAL MODULE: external "tis-ui/lib/mixins/locale"
var locale_ = __webpack_require__(38); var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&
/* harmony default export */ var cascader_menuvue_type_script_lang_js_ = ({ name: 'TisCascaderMenu',
mixins: [locale_default.a],
inject: ['panel'],
components: { ElScrollbar: scrollbar["default"], CascaderNode: cascader_node },
props: { nodes: { type: Array, required: true }, index: Number },
data: function data() { return { activeNode: null, hoverTimer: null, id: Object(util_["generateId"])() }; },
computed: { isEmpty: function isEmpty() { return !this.nodes.length; }, menuId: function menuId() { return 'cascader-menu-' + this.id + '-' + this.index; } },
methods: { handleExpand: function handleExpand(e) { this.activeNode = e.target; }, handleMouseMove: function handleMouseMove(e) { var activeNode = this.activeNode, hoverTimer = this.hoverTimer; var hoverZone = this.$refs.hoverZone;
if (!activeNode || !hoverZone) return;
if (activeNode.contains(e.target)) { clearTimeout(hoverTimer);
var _$el$getBoundingClien = this.$el.getBoundingClientRect(), left = _$el$getBoundingClien.left;
var startX = e.clientX - left; var _$el = this.$el, offsetWidth = _$el.offsetWidth, offsetHeight = _$el.offsetHeight;
var top = activeNode.offsetTop; var bottom = top + activeNode.offsetHeight;
hoverZone.innerHTML = '\n <path style="pointer-events: auto;" fill="transparent" d="M' + startX + ' ' + top + ' L' + offsetWidth + ' 0 V' + top + ' Z" />\n <path style="pointer-events: auto;" fill="transparent" d="M' + startX + ' ' + bottom + ' L' + offsetWidth + ' ' + offsetHeight + ' V' + bottom + ' Z" />\n '; } else if (!hoverTimer) { this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold); } }, clearHoverZone: function clearHoverZone() { var hoverZone = this.$refs.hoverZone;
if (!hoverZone) return; hoverZone.innerHTML = ''; }, renderEmptyText: function renderEmptyText(h) { return h( 'div', { 'class': 'el-cascader-menu__empty-text' }, [this.t('el.cascader.noData')] ); }, renderNodeList: function renderNodeList(h) { var menuId = this.menuId; var isHoverMenu = this.panel.isHoverMenu;
var events = { on: {} };
if (isHoverMenu) { events.on.expand = this.handleExpand; }
var nodes = this.nodes.map(function (node, index) { var hasChildren = node.hasChildren;
return h('cascader-node', external_babel_helper_vue_jsx_merge_props_default()([{ key: node.uid, attrs: { node: node, 'node-id': menuId + '-' + index, 'aria-haspopup': hasChildren, 'aria-owns': hasChildren ? menuId : null } }, events])); });
return [].concat(nodes, [isHoverMenu ? h('svg', { ref: 'hoverZone', 'class': 'el-cascader-menu__hover-zone' }) : null]); } },
render: function render(h) { var isEmpty = this.isEmpty, menuId = this.menuId;
var events = { nativeOn: {} };
// optimize hover to expand experience (#8010)
if (this.panel.isHoverMenu) { events.nativeOn.mousemove = this.handleMouseMove; // events.nativeOn.mouseleave = this.clearHoverZone;
}
return h( 'tis-scrollbar', external_babel_helper_vue_jsx_merge_props_default()([{ attrs: { tag: 'ul', role: 'menu', id: menuId,
'wrap-class': 'el-cascader-menu__wrap', 'view-class': { 'el-cascader-menu__list': true, 'is-empty': isEmpty } }, 'class': 'el-cascader-menu' }, events]), [isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h)] ); } }); // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&
/* harmony default export */ var src_cascader_menuvue_type_script_lang_js_ = (cascader_menuvue_type_script_lang_js_); // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue
var cascader_menu_render, cascader_menu_staticRenderFns
/* normalize component */
var cascader_menu_component = Object(componentNormalizer["a" /* default */])( src_cascader_menuvue_type_script_lang_js_, cascader_menu_render, cascader_menu_staticRenderFns, false, null, null, null )
/* hot reload */ if (false) { var cascader_menu_api; } cascader_menu_component.options.__file = "packages/cascader-panel/src/cascader-menu.vue" /* harmony default export */ var cascader_menu = (cascader_menu_component.exports); // EXTERNAL MODULE: external "tis-ui/lib/utils/shared"
var shared_ = __webpack_require__(49);
// CONCATENATED MODULE: ./packages/cascader-panel/src/node.js
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var uid = 0;
var node_Node = function () { function Node(data, config, parentNode) { _classCallCheck(this, Node);
this.data = data; this.config = config; this.parent = parentNode || null; this.level = !this.parent ? 1 : this.parent.level + 1; this.uid = uid++;
this.initState(); this.initChildren(); }
Node.prototype.initState = function initState() { var _config = this.config, valueKey = _config.value, labelKey = _config.label;
this.value = this.data[valueKey]; this.label = this.data[labelKey]; this.pathNodes = this.calculatePathNodes(); this.path = this.pathNodes.map(function (node) { return node.value; }); this.pathLabels = this.pathNodes.map(function (node) { return node.label; });
// lazy load
this.loading = false; this.loaded = false; };
Node.prototype.initChildren = function initChildren() { var _this = this;
var config = this.config;
var childrenKey = config.children; var childrenData = this.data[childrenKey]; this.hasChildren = Array.isArray(childrenData); this.children = (childrenData || []).map(function (child) { return new Node(child, config, _this); }); };
Node.prototype.calculatePathNodes = function calculatePathNodes() { var nodes = [this]; var parent = this.parent;
while (parent) { nodes.unshift(parent); parent = parent.parent; }
return nodes; };
Node.prototype.getPath = function getPath() { return this.path; };
Node.prototype.getValue = function getValue() { return this.value; };
Node.prototype.getValueByOption = function getValueByOption() { return this.config.emitPath ? this.getPath() : this.getValue(); };
Node.prototype.getText = function getText(allLevels, separator) { return allLevels ? this.pathLabels.join(separator) : this.label; };
Node.prototype.isSameNode = function isSameNode(checkedValue) { var value = this.getValueByOption(); return this.config.multiple && Array.isArray(checkedValue) ? checkedValue.some(function (val) { return Object(util_["isEqual"])(val, value); }) : Object(util_["isEqual"])(checkedValue, value); };
Node.prototype.broadcast = function broadcast(event) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; }
var handlerName = 'onParent' + Object(util_["capitalize"])(event);
this.children.forEach(function (child) { if (child) { // bottom up
child.broadcast.apply(child, [event].concat(args)); child[handlerName] && child[handlerName].apply(child, args); } }); };
Node.prototype.emit = function emit(event) { var parent = this.parent;
var handlerName = 'onChild' + Object(util_["capitalize"])(event); if (parent) { for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; }
parent[handlerName] && parent[handlerName].apply(parent, args); parent.emit.apply(parent, [event].concat(args)); } };
Node.prototype.onParentCheck = function onParentCheck(checked) { if (!this.isDisabled) { this.setCheckState(checked); } };
Node.prototype.onChildCheck = function onChildCheck() { var children = this.children;
var validChildren = children.filter(function (child) { return !child.isDisabled; }); var checked = validChildren.length ? validChildren.every(function (child) { return child.checked; }) : false;
this.setCheckState(checked); };
Node.prototype.setCheckState = function setCheckState(checked) { var totalNum = this.children.length; var checkedNum = this.children.reduce(function (c, p) { var num = p.checked ? 1 : p.indeterminate ? 0.5 : 0; return c + num; }, 0);
this.checked = checked; this.indeterminate = checkedNum !== totalNum && checkedNum > 0; };
Node.prototype.syncCheckState = function syncCheckState(checkedValue) { var value = this.getValueByOption(); var checked = this.isSameNode(checkedValue, value);
this.doCheck(checked); };
Node.prototype.doCheck = function doCheck(checked) { if (this.checked !== checked) { if (this.config.checkStrictly) { this.checked = checked; } else { // bottom up to unify the calculation of the indeterminate state
this.broadcast('check', checked); this.setCheckState(checked); this.emit('check'); } } };
_createClass(Node, [{ key: 'isDisabled', get: function get() { var data = this.data, parent = this.parent, config = this.config;
var disabledKey = config.disabled; var checkStrictly = config.checkStrictly;
return data[disabledKey] || !checkStrictly && parent && parent.isDisabled; } }, { key: 'isLeaf', get: function get() { var data = this.data, loaded = this.loaded, hasChildren = this.hasChildren, children = this.children; var _config2 = this.config, lazy = _config2.lazy, leafKey = _config2.leaf;
if (lazy) { var isLeaf = Object(shared_["isDef"])(data[leafKey]) ? data[leafKey] : loaded ? !children.length : false; this.hasChildren = !isLeaf; return isLeaf; } return !hasChildren; } }]);
return Node; }();
/* harmony default export */ var src_node = (node_Node); // CONCATENATED MODULE: ./packages/cascader-panel/src/store.js
function store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var flatNodes = function flatNodes(data, leafOnly) { return data.reduce(function (res, node) { if (node.isLeaf) { res.push(node); } else { !leafOnly && res.push(node); res = res.concat(flatNodes(node.children, leafOnly)); } return res; }, []); };
var store_Store = function () { function Store(data, config) { store_classCallCheck(this, Store);
this.config = config; this.initNodes(data); }
Store.prototype.initNodes = function initNodes(data) { var _this = this;
data = Object(util_["coerceTruthyValueToArray"])(data); this.nodes = data.map(function (nodeData) { return new src_node(nodeData, _this.config); }); this.flattedNodes = this.getFlattedNodes(false, false); this.leafNodes = this.getFlattedNodes(true, false); };
Store.prototype.appendNode = function appendNode(nodeData, parentNode) { var node = new src_node(nodeData, this.config, parentNode); var children = parentNode ? parentNode.children : this.nodes;
children.push(node); };
Store.prototype.appendNodes = function appendNodes(nodeDataList, parentNode) { var _this2 = this;
nodeDataList = Object(util_["coerceTruthyValueToArray"])(nodeDataList); nodeDataList.forEach(function (nodeData) { return _this2.appendNode(nodeData, parentNode); }); };
Store.prototype.getNodes = function getNodes() { return this.nodes; };
Store.prototype.getFlattedNodes = function getFlattedNodes(leafOnly) { var cached = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes; return cached ? cachedNodes : flatNodes(this.nodes, leafOnly); };
Store.prototype.getNodeByValue = function getNodeByValue(value) { if (value) { var nodes = this.getFlattedNodes(false, !this.config.lazy).filter(function (node) { return Object(util_["valueEquals"])(node.path, value) || node.value === value; }); return nodes && nodes.length ? nodes[0] : null; } return null; };
return Store; }();
/* harmony default export */ var src_store = (store_Store); // EXTERNAL MODULE: external "tis-ui/lib/utils/merge"
var merge_ = __webpack_require__(33); var merge_default = /*#__PURE__*/__webpack_require__.n(merge_);
// EXTERNAL MODULE: external "tis-ui/lib/utils/aria-utils"
var aria_utils_ = __webpack_require__(103); var aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_);
// EXTERNAL MODULE: external "tis-ui/lib/utils/scroll-into-view"
var scroll_into_view_ = __webpack_require__(95); var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var KeyCode = aria_utils_default.a.keys;
var DefaultProps = { expandTrigger: 'click', // or hover
multiple: false, checkStrictly: false, // whether all nodes can be selected
emitPath: true, // wether to emit an array of all levels value in which node is located
lazy: false, lazyLoad: util_["noop"], value: 'value', label: 'label', children: 'children', leaf: 'leaf', disabled: 'disabled', hoverThreshold: 500 };
var cascader_panelvue_type_script_lang_js_isLeaf = function isLeaf(el) { return !el.getAttribute('aria-owns'); };
var getSibling = function getSibling(el, distance) { var parentNode = el.parentNode;
if (parentNode) { var siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex="-1"]'); var index = Array.prototype.indexOf.call(siblings, el); return siblings[index + distance] || null; } return null; };
var getMenuIndex = function getMenuIndex(el, distance) { if (!el) return; var pieces = el.id.split('-'); return Number(pieces[pieces.length - 2]); };
var focusNode = function focusNode(el) { if (!el) return; el.focus(); !cascader_panelvue_type_script_lang_js_isLeaf(el) && el.click(); };
var checkNode = function checkNode(el) { if (!el) return;
var input = el.querySelector('input'); if (input) { input.click(); } else if (cascader_panelvue_type_script_lang_js_isLeaf(el)) { el.click(); } };
/* harmony default export */ var cascader_panelvue_type_script_lang_js_ = ({ name: 'TisCascaderPanel',
components: { CascaderMenu: cascader_menu },
props: { value: {}, options: Array, props: Object, border: { type: Boolean, default: true }, renderLabel: Function },
provide: function provide() { return { panel: this }; }, data: function data() { return { checkedValue: null, checkedNodePaths: [], store: [], menus: [], activePath: [], loadCount: 0 }; },
computed: { config: function config() { return merge_default()(_extends({}, DefaultProps), this.props || {}); }, multiple: function multiple() { return this.config.multiple; }, checkStrictly: function checkStrictly() { return this.config.checkStrictly; }, leafOnly: function leafOnly() { return !this.checkStrictly; }, isHoverMenu: function isHoverMenu() { return this.config.expandTrigger === 'hover'; }, renderLabelFn: function renderLabelFn() { return this.renderLabel || this.$scopedSlots.default; } },
watch: { options: { handler: function handler() { this.initStore(); }, immediate: true, deep: true }, value: function value() { this.syncCheckedValue(); this.checkStrictly && this.calculateCheckedNodePaths(); }, checkedValue: function checkedValue(val) { if (!Object(util_["isEqual"])(val, this.value)) { this.checkStrictly && this.calculateCheckedNodePaths(); this.$emit('input', val); this.$emit('change', val); } } },
mounted: function mounted() { if (!Object(util_["isEmpty"])(this.value)) { this.syncCheckedValue(); } },
methods: { initStore: function initStore() { var config = this.config, options = this.options;
if (config.lazy && Object(util_["isEmpty"])(options)) { this.lazyLoad(); } else { this.store = new src_store(options, config); this.menus = [this.store.getNodes()]; this.syncMenuState(); } }, syncCheckedValue: function syncCheckedValue() { var value = this.value, checkedValue = this.checkedValue;
if (!Object(util_["isEqual"])(value, checkedValue)) { this.checkedValue = value; this.syncMenuState(); } }, syncMenuState: function syncMenuState() { var multiple = this.multiple, checkStrictly = this.checkStrictly;
this.syncActivePath(); multiple && this.syncMultiCheckState(); checkStrictly && this.calculateCheckedNodePaths(); this.$nextTick(this.scrollIntoView); }, syncMultiCheckState: function syncMultiCheckState() { var _this = this;
var nodes = this.getFlattedNodes(this.leafOnly);
nodes.forEach(function (node) { node.syncCheckState(_this.checkedValue); }); }, syncActivePath: function syncActivePath() { var _this2 = this;
var store = this.store, multiple = this.multiple, activePath = this.activePath, checkedValue = this.checkedValue;
if (!Object(util_["isEmpty"])(activePath)) { var nodes = activePath.map(function (node) { return _this2.getNodeByValue(node.getValue()); }); this.expandNodes(nodes); } else if (!Object(util_["isEmpty"])(checkedValue)) { var value = multiple ? checkedValue[0] : checkedValue; var checkedNode = this.getNodeByValue(value) || {}; var _nodes = (checkedNode.pathNodes || []).slice(0, -1); this.expandNodes(_nodes); } else { this.activePath = []; this.menus = [store.getNodes()]; } }, expandNodes: function expandNodes(nodes) { var _this3 = this;
nodes.forEach(function (node) { return _this3.handleExpand(node, true /* silent */); }); }, calculateCheckedNodePaths: function calculateCheckedNodePaths() { var _this4 = this;
var checkedValue = this.checkedValue, multiple = this.multiple;
var checkedValues = multiple ? Object(util_["coerceTruthyValueToArray"])(checkedValue) : [checkedValue]; this.checkedNodePaths = checkedValues.map(function (v) { var checkedNode = _this4.getNodeByValue(v); return checkedNode ? checkedNode.pathNodes : []; }); }, handleKeyDown: function handleKeyDown(e) { var target = e.target, keyCode = e.keyCode;
switch (keyCode) { case KeyCode.up: var prev = getSibling(target, -1); focusNode(prev); break; case KeyCode.down: var next = getSibling(target, 1); focusNode(next); break; case KeyCode.left: var preMenu = this.$refs.menu[getMenuIndex(target) - 1]; if (preMenu) { var expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded="true"]'); focusNode(expandedNode); } break; case KeyCode.right: var nextMenu = this.$refs.menu[getMenuIndex(target) + 1]; if (nextMenu) { var firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex="-1"]'); focusNode(firstNode); } break; case KeyCode.enter: checkNode(target); break; case KeyCode.esc: case KeyCode.tab: this.$emit('close'); break; default: return; } }, handleExpand: function handleExpand(node, silent) { var activePath = this.activePath; var level = node.level;
var path = activePath.slice(0, level - 1); var menus = this.menus.slice(0, level);
if (!node.isLeaf) { path.push(node); menus.push(node.children); }
this.activePath = path; this.menus = menus;
if (!silent) { var pathValues = path.map(function (node) { return node.getValue(); }); var activePathValues = activePath.map(function (node) { return node.getValue(); }); if (!Object(util_["valueEquals"])(pathValues, activePathValues)) { this.$emit('active-item-change', pathValues); // Deprecated
this.$emit('expand-change', pathValues); } } }, handleCheckChange: function handleCheckChange(value) { this.checkedValue = value; }, lazyLoad: function lazyLoad(node, onFullfiled) { var _this5 = this;
var config = this.config;
if (!node) { node = node || { root: true, level: 0 }; this.store = new src_store([], config); this.menus = [this.store.getNodes()]; } node.loading = true; var resolve = function resolve(dataList) { var parent = node.root ? null : node; dataList && dataList.length && _this5.store.appendNodes(dataList, parent); node.loading = false; node.loaded = true;
// dispose default value on lazy load mode
if (Array.isArray(_this5.checkedValue)) { var nodeValue = _this5.checkedValue[_this5.loadCount++]; var valueKey = _this5.config.value; var leafKey = _this5.config.leaf;
if (Array.isArray(dataList) && dataList.filter(function (item) { return item[valueKey] === nodeValue; }).length > 0) { var checkedNode = _this5.store.getNodeByValue(nodeValue);
if (!checkedNode.data[leafKey]) { _this5.lazyLoad(checkedNode, function () { _this5.handleExpand(checkedNode); }); }
if (_this5.loadCount === _this5.checkedValue.length) { _this5.$parent.computePresentText(); } } }
onFullfiled && onFullfiled(dataList); }; config.lazyLoad(node, resolve); },
/** * public methods */ calculateMultiCheckedValue: function calculateMultiCheckedValue() { this.checkedValue = this.getCheckedNodes(this.leafOnly).map(function (node) { return node.getValueByOption(); }); }, scrollIntoView: function scrollIntoView() { if (this.$isServer) return;
var menus = this.$refs.menu || []; menus.forEach(function (menu) { var menuElement = menu.$el; if (menuElement) { var container = menuElement.querySelector('.el-scrollbar__wrap'); var activeNode = menuElement.querySelector('.el-cascader-node.is-active') || menuElement.querySelector('.el-cascader-node.in-active-path'); scroll_into_view_default()(container, activeNode); } }); }, getNodeByValue: function getNodeByValue(val) { return this.store.getNodeByValue(val); }, getFlattedNodes: function getFlattedNodes(leafOnly) { var cached = !this.config.lazy; return this.store.getFlattedNodes(leafOnly, cached); }, getCheckedNodes: function getCheckedNodes(leafOnly) { var checkedValue = this.checkedValue, multiple = this.multiple;
if (multiple) { var nodes = this.getFlattedNodes(leafOnly); return nodes.filter(function (node) { return node.checked; }); } else { return Object(util_["isEmpty"])(checkedValue) ? [] : [this.getNodeByValue(checkedValue)]; } }, clearCheckedNodes: function clearCheckedNodes() { var config = this.config, leafOnly = this.leafOnly; var multiple = config.multiple, emitPath = config.emitPath;
if (multiple) { this.getCheckedNodes(leafOnly).filter(function (node) { return !node.isDisabled; }).forEach(function (node) { return node.doCheck(false); }); this.calculateMultiCheckedValue(); } else { this.checkedValue = emitPath ? [] : null; } } } }); // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&
/* harmony default export */ var src_cascader_panelvue_type_script_lang_js_ = (cascader_panelvue_type_script_lang_js_); // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue
/* normalize component */
var cascader_panel_component = Object(componentNormalizer["a" /* default */])( src_cascader_panelvue_type_script_lang_js_, cascader_panelvue_type_template_id_34932346_render, staticRenderFns, false, null, null, null )
/* hot reload */ if (false) { var cascader_panel_api; } cascader_panel_component.options.__file = "packages/cascader-panel/src/cascader-panel.vue" /* harmony default export */ var cascader_panel = (cascader_panel_component.exports); // CONCATENATED MODULE: ./packages/cascader-panel/index.js
/* istanbul ignore next */ cascader_panel.install = function (Vue) { Vue.component(cascader_panel.name, cascader_panel); };
/* harmony default export */ var packages_cascader_panel = __webpack_exports__["default"] = (cascader_panel);
/***/ }),
/***/ 2: /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); /* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent ( scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, /* server only */ shadowMode /* vue-cli only */ ) { // Vue.extend constructor export interop
var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports
// render functions
if (render) { options.render = render options.staticRenderFns = staticRenderFns options._compiled = true }
// functional template
if (functionalTemplate) { options.functional = true }
// scopedId
if (scopeId) { options._scopeId = 'data-v-' + scopeId }
var hook if (moduleIdentifier) { // server build
hook = function (context) { // 2.3 injection
context = context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles
if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence
if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode ? function () { injectStyles.call( this, (options.functional ? this.parent : this).$root.$options.shadowRoot ) } : injectStyles }
if (hook) { if (options.functional) { // for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook // register for functional component in vue file
var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) return originalRender(h, context) } } else { // inject component registration as beforeCreate hook
var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } }
return { exports: scriptExports, options: options } }
/***/ }),
/***/ 33: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/merge");
/***/ }),
/***/ 34: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/vue-popper");
/***/ }),
/***/ 36: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/mixins/migrating");
/***/ }),
/***/ 38: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/mixins/locale");
/***/ }),
/***/ 44: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/resize-event");
/***/ }),
/***/ 49: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/shared");
/***/ }),
/***/ 52: /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; // ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774&
var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { class: [ _vm.type === "textarea" ? "el-textarea" : "el-input", _vm.inputSize ? "el-input--" + _vm.inputSize : "", { "is-disabled": _vm.inputDisabled, "is-exceed": _vm.inputExceed, "el-input-group": _vm.$slots.prepend || _vm.$slots.append, "el-input-group--append": _vm.$slots.append, "el-input-group--prepend": _vm.$slots.prepend, "el-input--prefix": _vm.$slots.prefix || _vm.prefixIcon, "el-input--suffix": _vm.$slots.suffix || _vm.suffixIcon || _vm.clearable || _vm.showPassword } ], on: { mouseenter: function($event) { _vm.hovering = true }, mouseleave: function($event) { _vm.hovering = false } } }, [ _vm.type !== "textarea" ? [ _vm.$slots.prepend ? _c( "div", { staticClass: "el-input-group__prepend" }, [_vm._t("prepend")], 2 ) : _vm._e(), _vm.type !== "textarea" ? _c( "input", _vm._b( { ref: "input", staticClass: "el-input__inner", attrs: { tabindex: _vm.tabindex, type: _vm.showPassword ? _vm.passwordVisible ? "text" : "password" : _vm.type, disabled: _vm.inputDisabled, readonly: _vm.readonly, autocomplete: _vm.autoComplete || _vm.autocomplete, "aria-label": _vm.label }, on: { compositionstart: _vm.handleCompositionStart, compositionupdate: _vm.handleCompositionUpdate, compositionend: _vm.handleCompositionEnd, input: _vm.handleInput, focus: _vm.handleFocus, blur: _vm.handleBlur, change: _vm.handleChange } }, "input", _vm.$attrs, false ) ) : _vm._e(), _vm.$slots.prefix || _vm.prefixIcon ? _c( "span", { staticClass: "el-input__prefix" }, [ _vm._t("prefix"), _vm.prefixIcon ? _c("i", { staticClass: "el-input__icon", class: _vm.prefixIcon }) : _vm._e() ], 2 ) : _vm._e(), _vm.getSuffixVisible() ? _c("span", { staticClass: "el-input__suffix" }, [ _c( "span", { staticClass: "el-input__suffix-inner" }, [ !_vm.showClear || !_vm.showPwdVisible || !_vm.isWordLimitVisible ? [ _vm._t("suffix"), _vm.suffixIcon ? _c("i", { staticClass: "el-input__icon", class: _vm.suffixIcon }) : _vm._e() ] : _vm._e(), _vm.showClear ? _c("i", { staticClass: "el-input__icon el-icon-circle-close el-input__clear", on: { mousedown: function($event) { $event.preventDefault() }, click: _vm.clear } }) : _vm._e(), _vm.showPwdVisible ? _c("i", { staticClass: "el-input__icon el-icon-view el-input__clear", on: { click: _vm.handlePasswordVisible } }) : _vm._e(), _vm.isWordLimitVisible ? _c("span", { staticClass: "el-input__count" }, [ _c( "span", { staticClass: "el-input__count-inner" }, [ _vm._v( "\n " + _vm._s(_vm.textLength) + "/" + _vm._s(_vm.upperLimit) + "\n " ) ] ) ]) : _vm._e() ], 2 ), _vm.validateState ? _c("i", { staticClass: "el-input__icon", class: ["el-input__validateIcon", _vm.validateIcon] }) : _vm._e() ]) : _vm._e(), _vm.$slots.append ? _c( "div", { staticClass: "el-input-group__append" }, [_vm._t("append")], 2 ) : _vm._e() ] : _c( "textarea", _vm._b( { ref: "textarea", staticClass: "el-textarea__inner", style: _vm.textareaStyle, attrs: { tabindex: _vm.tabindex, disabled: _vm.inputDisabled, readonly: _vm.readonly, autocomplete: _vm.autoComplete || _vm.autocomplete, "aria-label": _vm.label }, on: { compositionstart: _vm.handleCompositionStart, compositionupdate: _vm.handleCompositionUpdate, compositionend: _vm.handleCompositionEnd, input: _vm.handleInput, focus: _vm.handleFocus, blur: _vm.handleBlur, change: _vm.handleChange } }, "textarea", _vm.$attrs, false ) ), _vm.isWordLimitVisible && _vm.type === "textarea" ? _c("span", { staticClass: "el-input__count" }, [ _vm._v(_vm._s(_vm.textLength) + "/" + _vm._s(_vm.upperLimit)) ]) : _vm._e() ], 2 ) } var staticRenderFns = [] render._withStripped = true
// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774&
// EXTERNAL MODULE: external "tis-ui/lib/mixins/emitter"
var emitter_ = __webpack_require__(13); var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
// EXTERNAL MODULE: external "tis-ui/lib/mixins/migrating"
var migrating_ = __webpack_require__(36); var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);
// CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js
var hiddenTextarea = void 0;
var HIDDEN_STYLE = '\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n';
var CONTEXT_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];
function calculateNodeStyling(targetElement) { var style = window.getComputedStyle(targetElement);
var boxSizing = style.getPropertyValue('box-sizing');
var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));
var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));
var contextStyle = CONTEXT_STYLE.map(function (name) { return name + ':' + style.getPropertyValue(name); }).join(';');
return { contextStyle: contextStyle, paddingSize: paddingSize, borderSize: borderSize, boxSizing: boxSizing }; }
function calcTextareaHeight(targetElement) { var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
if (!hiddenTextarea) { hiddenTextarea = document.createElement('textarea'); document.body.appendChild(hiddenTextarea); }
var _calculateNodeStyling = calculateNodeStyling(targetElement), paddingSize = _calculateNodeStyling.paddingSize, borderSize = _calculateNodeStyling.borderSize, boxSizing = _calculateNodeStyling.boxSizing, contextStyle = _calculateNodeStyling.contextStyle;
hiddenTextarea.setAttribute('style', contextStyle + ';' + HIDDEN_STYLE); hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';
var height = hiddenTextarea.scrollHeight; var result = {};
if (boxSizing === 'border-box') { height = height + borderSize; } else if (boxSizing === 'content-box') { height = height - paddingSize; }
hiddenTextarea.value = ''; var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;
if (minRows !== null) { var minHeight = singleRowHeight * minRows; if (boxSizing === 'border-box') { minHeight = minHeight + paddingSize + borderSize; } height = Math.max(minHeight, height); result.minHeight = minHeight + 'px'; } if (maxRows !== null) { var maxHeight = singleRowHeight * maxRows; if (boxSizing === 'border-box') { maxHeight = maxHeight + paddingSize + borderSize; } height = Math.min(maxHeight, height); } result.height = height + 'px'; hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea); hiddenTextarea = null; return result; }; // EXTERNAL MODULE: external "tis-ui/lib/utils/merge"
var merge_ = __webpack_require__(33); var merge_default = /*#__PURE__*/__webpack_require__.n(merge_);
// EXTERNAL MODULE: external "tis-ui/lib/utils/shared"
var shared_ = __webpack_require__(49);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var inputvue_type_script_lang_js_ = ({ name: 'TisInput',
componentName: 'TisInput',
mixins: [emitter_default.a, migrating_default.a],
inheritAttrs: false,
inject: { elForm: { default: '' }, elFormItem: { default: '' } },
data: function data() { return { textareaCalcStyle: {}, hovering: false, focused: false, isComposing: false, passwordVisible: false }; },
props: { value: [String, Number], size: String, resize: String, form: String, disabled: Boolean, readonly: Boolean, type: { type: String, default: 'text' }, autosize: { type: [Boolean, Object], default: false }, autocomplete: { type: String, default: 'off' }, /** @Deprecated in next major version */ autoComplete: { type: String, validator: function validator(val) { false && false; return true; } }, validateEvent: { type: Boolean, default: true }, suffixIcon: String, prefixIcon: String, label: String, clearable: { type: Boolean, default: false }, showPassword: { type: Boolean, default: false }, showWordLimit: { type: Boolean, default: false }, tabindex: String },
computed: { _elFormItemSize: function _elFormItemSize() { return (this.elFormItem || {}).elFormItemSize; }, validateState: function validateState() { return this.elFormItem ? this.elFormItem.validateState : ''; }, needStatusIcon: function needStatusIcon() { return this.elForm ? this.elForm.statusIcon : false; }, validateIcon: function validateIcon() { return { validating: 'el-icon-loading', success: 'el-icon-circle-check', error: 'el-icon-circle-close' }[this.validateState]; }, textareaStyle: function textareaStyle() { return merge_default()({}, this.textareaCalcStyle, { resize: this.resize }); }, inputSize: function inputSize() { return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; }, inputDisabled: function inputDisabled() { return this.disabled || (this.elForm || {}).disabled; }, nativeInputValue: function nativeInputValue() { return this.value === null || this.value === undefined ? '' : String(this.value); }, showClear: function showClear() { return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering); }, showPwdVisible: function showPwdVisible() { return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused); }, isWordLimitVisible: function isWordLimitVisible() { return this.showWordLimit && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.inputDisabled && !this.readonly && !this.showPassword; }, upperLimit: function upperLimit() { return this.$attrs.maxlength; }, textLength: function textLength() { if (typeof this.value === 'number') { return String(this.value).length; }
return (this.value || '').length; }, inputExceed: function inputExceed() { // show exceed style if length of initial value greater then maxlength
return this.isWordLimitVisible && this.textLength > this.upperLimit; } },
watch: { value: function value(val) { this.$nextTick(this.resizeTextarea); if (this.validateEvent) { this.dispatch('ElFormItem', 'el.form.change', [val]); } },
// native input value is set explicitly
// do not use v-model / :value in template
// see: https://github.com/ElemeFE/element/issues/14521
nativeInputValue: function nativeInputValue() { this.setNativeInputValue(); },
// when change between <input> and <textarea>,
// update DOM dependent value and styles
// https://github.com/ElemeFE/element/issues/14857
type: function type() { var _this = this;
this.$nextTick(function () { _this.setNativeInputValue(); _this.resizeTextarea(); _this.updateIconOffset(); }); } },
methods: { focus: function focus() { this.getInput().focus(); }, blur: function blur() { this.getInput().blur(); }, getMigratingConfig: function getMigratingConfig() { return { props: { 'icon': 'icon is removed, use suffix-icon / prefix-icon instead.', 'on-icon-click': 'on-icon-click is removed.' }, events: { 'click': 'click is removed.' } }; }, handleBlur: function handleBlur(event) { this.focused = false; this.$emit('blur', event); if (this.validateEvent) { this.dispatch('ElFormItem', 'el.form.blur', [this.value]); } }, select: function select() { this.getInput().select(); }, resizeTextarea: function resizeTextarea() { if (this.$isServer) return; var autosize = this.autosize, type = this.type;
if (type !== 'textarea') return; if (!autosize) { this.textareaCalcStyle = { minHeight: calcTextareaHeight(this.$refs.textarea).minHeight }; return; } var minRows = autosize.minRows; var maxRows = autosize.maxRows;
this.textareaCalcStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows); }, setNativeInputValue: function setNativeInputValue() { var input = this.getInput(); if (!input) return; if (input.value === this.nativeInputValue) return; input.value = this.nativeInputValue; }, handleFocus: function handleFocus(event) { this.focused = true; this.$emit('focus', event); }, handleCompositionStart: function handleCompositionStart() { this.isComposing = true; }, handleCompositionUpdate: function handleCompositionUpdate(event) { var text = event.target.value; var lastCharacter = text[text.length - 1] || ''; this.isComposing = !Object(shared_["isKorean"])(lastCharacter); }, handleCompositionEnd: function handleCompositionEnd(event) { if (this.isComposing) { this.isComposing = false; this.handleInput(event); } }, handleInput: function handleInput(event) { // should not emit input during composition
// see: https://github.com/ElemeFE/element/issues/10516
if (this.isComposing) return;
// hack for https://github.com/ElemeFE/element/issues/8548
// should remove the following line when we don't support IE
if (event.target.value === this.nativeInputValue) return;
this.$emit('input', event.target.value);
// ensure native input value is controlled
// see: https://github.com/ElemeFE/element/issues/12850
this.$nextTick(this.setNativeInputValue); }, handleChange: function handleChange(event) { this.$emit('change', event.target.value); }, calcIconOffset: function calcIconOffset(place) { var elList = [].slice.call(this.$el.querySelectorAll('.el-input__' + place) || []); if (!elList.length) return; var el = null; for (var i = 0; i < elList.length; i++) { if (elList[i].parentNode === this.$el) { el = elList[i]; break; } } if (!el) return; var pendantMap = { suffix: 'append', prefix: 'prepend' };
var pendant = pendantMap[place]; if (this.$slots[pendant]) { el.style.transform = 'translateX(' + (place === 'suffix' ? '-' : '') + this.$el.querySelector('.el-input-group__' + pendant).offsetWidth + 'px)'; } else { el.removeAttribute('style'); } }, updateIconOffset: function updateIconOffset() { this.calcIconOffset('prefix'); this.calcIconOffset('suffix'); }, clear: function clear() { this.$emit('input', ''); this.$emit('change', ''); this.$emit('clear'); }, handlePasswordVisible: function handlePasswordVisible() { this.passwordVisible = !this.passwordVisible; this.focus(); }, getInput: function getInput() { return this.$refs.input || this.$refs.textarea; }, getSuffixVisible: function getSuffixVisible() { return this.$slots.suffix || this.suffixIcon || this.showClear || this.showPassword || this.isWordLimitVisible || this.validateState && this.needStatusIcon; } },
created: function created() { this.$on('inputSelect', this.select); }, mounted: function mounted() { this.setNativeInputValue(); this.resizeTextarea(); this.updateIconOffset(); }, updated: function updated() { this.$nextTick(this.updateIconOffset); } }); // CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=script&lang=js&
/* harmony default export */ var src_inputvue_type_script_lang_js_ = (inputvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);
// CONCATENATED MODULE: ./packages/input/src/input.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])( src_inputvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null )
/* hot reload */ if (false) { var api; } component.options.__file = "packages/input/src/input.vue" /* harmony default export */ var input = (component.exports); // CONCATENATED MODULE: ./packages/input/index.js
/* istanbul ignore next */ input.install = function (Vue) { Vue.component(input.name, input); };
/* harmony default export */ var packages_input = __webpack_exports__["default"] = (input);
/***/ }),
/***/ 558: /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; // ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader/src/cascader.vue?vue&type=template&id=032537a6&
var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { directives: [ { name: "clickoutside", rawName: "v-clickoutside", value: function() { return _vm.toggleDropDownVisible(false) }, expression: "() => toggleDropDownVisible(false)" } ], ref: "reference", class: [ "el-cascader", _vm.realSize && "el-cascader--" + _vm.realSize, { "is-disabled": _vm.isDisabled } ], on: { mouseenter: function($event) { _vm.inputHover = true }, mouseleave: function($event) { _vm.inputHover = false }, click: function() { return _vm.toggleDropDownVisible(_vm.readonly ? undefined : true) }, keydown: _vm.handleKeyDown } }, [ _c( "tis-input", { ref: "input", class: { "is-focus": _vm.dropDownVisible }, attrs: { size: _vm.realSize, placeholder: _vm.placeholder, readonly: _vm.readonly, disabled: _vm.isDisabled, "validate-event": false }, on: { focus: _vm.handleFocus, blur: _vm.handleBlur, input: _vm.handleInput }, model: { value: _vm.multiple ? _vm.presentText : _vm.inputValue, callback: function($$v) { _vm.multiple ? _vm.presentText : (_vm.inputValue = $$v) }, expression: "multiple ? presentText : inputValue" } }, [ _c("template", { slot: "suffix" }, [ _vm.clearBtnVisible ? _c("i", { key: "clear", staticClass: "el-input__icon el-icon-circle-close", on: { click: function($event) { $event.stopPropagation() return _vm.handleClear($event) } } }) : _c("i", { key: "arrow-down", class: [ "el-input__icon", "el-icon-arrow-down", _vm.dropDownVisible && "is-reverse" ], on: { click: function($event) { $event.stopPropagation() _vm.toggleDropDownVisible() } } }) ]) ], 2 ), _vm.multiple ? _c( "div", { staticClass: "el-cascader__tags" }, [ _vm._l(_vm.presentTags, function(tag, index) { return _c( "tis-tag", { key: tag.key, attrs: { type: "info", size: _vm.tagSize, hit: tag.hitState, closable: tag.closable, "disable-transitions": "" }, on: { close: function($event) { _vm.deleteTag(index) } } }, [_c("span", [_vm._v(_vm._s(tag.text))])] ) }), _vm.filterable && !_vm.isDisabled ? _c("input", { directives: [ { name: "model", rawName: "v-model.trim", value: _vm.inputValue, expression: "inputValue", modifiers: { trim: true } } ], staticClass: "el-cascader__search-input", attrs: { type: "text", placeholder: _vm.presentTags.length ? "" : _vm.placeholder }, domProps: { value: _vm.inputValue }, on: { input: [ function($event) { if ($event.target.composing) { return } _vm.inputValue = $event.target.value.trim() }, function(e) { return _vm.handleInput(_vm.inputValue, e) } ], click: function($event) { $event.stopPropagation() _vm.toggleDropDownVisible(true) }, keydown: function($event) { if ( !("button" in $event) && _vm._k( $event.keyCode, "delete", [8, 46], $event.key, ["Backspace", "Delete", "Del"] ) ) { return null } return _vm.handleDelete($event) }, blur: function($event) { _vm.$forceUpdate() } } }) : _vm._e() ], 2 ) : _vm._e(), _c( "transition", { attrs: { name: "el-zoom-in-top" }, on: { "after-leave": _vm.handleDropdownLeave } }, [ _c( "div", { directives: [ { name: "show", rawName: "v-show", value: _vm.dropDownVisible, expression: "dropDownVisible" } ], ref: "popper", class: ["el-popper", "el-cascader__dropdown", _vm.popperClass] }, [ _c("tis-cascader-panel", { directives: [ { name: "show", rawName: "v-show", value: !_vm.filtering, expression: "!filtering" } ], ref: "panel", attrs: { options: _vm.options, props: _vm.config, border: false, "render-label": _vm.$scopedSlots.default }, on: { "expand-change": _vm.handleExpandChange, close: function($event) { _vm.toggleDropDownVisible(false) } }, model: { value: _vm.checkedValue, callback: function($$v) { _vm.checkedValue = $$v }, expression: "checkedValue" } }), _vm.filterable ? _c( "tis-scrollbar", { directives: [ { name: "show", rawName: "v-show", value: _vm.filtering, expression: "filtering" } ], ref: "suggestionPanel", staticClass: "el-cascader__suggestion-panel", attrs: { tag: "ul", "view-class": "el-cascader__suggestion-list" }, nativeOn: { keydown: function($event) { return _vm.handleSuggestionKeyDown($event) } } }, [ _vm.suggestions.length ? _vm._l(_vm.suggestions, function(item, index) { return _c( "li", { key: item.uid, class: [ "el-cascader__suggestion-item", item.checked && "is-checked" ], attrs: { tabindex: -1 }, on: { click: function($event) { _vm.handleSuggestionClick(index) } } }, [ _c("span", [_vm._v(_vm._s(item.text))]), item.checked ? _c("i", { staticClass: "el-icon-check" }) : _vm._e() ] ) }) : _vm._t("empty", [ _c( "li", { staticClass: "el-cascader__empty-text" }, [_vm._v(_vm._s(_vm.t("el.cascader.noMatch")))] ) ]) ], 2 ) : _vm._e() ], 1 ) ] ) ], 1 ) } var staticRenderFns = [] render._withStripped = true
// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue?vue&type=template&id=032537a6&
// EXTERNAL MODULE: external "tis-ui/lib/utils/vue-popper"
var vue_popper_ = __webpack_require__(34); var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);
// EXTERNAL MODULE: external "tis-ui/lib/utils/clickoutside"
var clickoutside_ = __webpack_require__(61); var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
// EXTERNAL MODULE: external "tis-ui/lib/mixins/emitter"
var emitter_ = __webpack_require__(13); var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
// EXTERNAL MODULE: external "tis-ui/lib/mixins/locale"
var locale_ = __webpack_require__(38); var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
// EXTERNAL MODULE: external "tis-ui/lib/mixins/migrating"
var migrating_ = __webpack_require__(36); var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);
// EXTERNAL MODULE: ./packages/input/index.js + 6 modules
var packages_input = __webpack_require__(52);
// EXTERNAL MODULE: ./packages/tag/index.js + 3 modules
var tag = __webpack_require__(101);
// EXTERNAL MODULE: ./packages/scrollbar/index.js + 3 modules
var scrollbar = __webpack_require__(66);
// EXTERNAL MODULE: ./packages/cascader-panel/index.js + 13 modules
var cascader_panel = __webpack_require__(152);
// EXTERNAL MODULE: external "tis-ui/lib/utils/aria-utils"
var aria_utils_ = __webpack_require__(103); var aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_);
// EXTERNAL MODULE: external "tis-ui/lib/locale"
var lib_locale_ = __webpack_require__(72);
// EXTERNAL MODULE: external "tis-ui/lib/utils/util"
var util_ = __webpack_require__(10);
// EXTERNAL MODULE: external "tis-ui/lib/utils/types"
var types_ = __webpack_require__(89);
// EXTERNAL MODULE: external "tis-ui/lib/utils/shared"
var shared_ = __webpack_require__(49);
// EXTERNAL MODULE: external "tis-ui/lib/utils/resize-event"
var resize_event_ = __webpack_require__(44);
// EXTERNAL MODULE: external "throttle-debounce/debounce"
var debounce_ = __webpack_require__(62); var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader/src/cascader.vue?vue&type=script&lang=js&
var _this = undefined;
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var KeyCode = aria_utils_default.a.keys;
var MigratingProps = { expandTrigger: { newProp: 'expandTrigger', type: String }, changeOnSelect: { newProp: 'checkStrictly', type: Boolean }, hoverThreshold: { newProp: 'hoverThreshold', type: Number } };
var PopperMixin = { props: { placement: { type: String, default: 'bottom-start' }, appendToBody: vue_popper_default.a.props.appendToBody, visibleArrow: { type: Boolean, default: true }, arrowOffset: vue_popper_default.a.props.arrowOffset, offset: vue_popper_default.a.props.offset, boundariesPadding: vue_popper_default.a.props.boundariesPadding, popperOptions: vue_popper_default.a.props.popperOptions }, methods: vue_popper_default.a.methods, data: vue_popper_default.a.data, beforeDestroy: vue_popper_default.a.beforeDestroy };
var InputSizeMap = { medium: 36, small: 32, mini: 28 };
/* harmony default export */ var cascadervue_type_script_lang_js_ = ({ name: 'TisCascader',
directives: { Clickoutside: clickoutside_default.a },
mixins: [PopperMixin, emitter_default.a, locale_default.a, migrating_default.a],
inject: { elForm: { default: '' }, elFormItem: { default: '' } },
components: { ElInput: packages_input["default"], ElTag: tag["default"], ElScrollbar: scrollbar["default"], ElCascaderPanel: cascader_panel["default"] },
props: { value: {}, options: Array, props: Object, size: String, placeholder: { type: String, default: function _default() { return Object(lib_locale_["t"])('el.cascader.placeholder'); } }, disabled: Boolean, clearable: Boolean, filterable: Boolean, filterMethod: Function, separator: { type: String, default: ' / ' }, showAllLevels: { type: Boolean, default: true }, collapseTags: Boolean, debounce: { type: Number, default: 300 }, beforeFilter: { type: Function, default: function _default() { return function () {}; } }, popperClass: String },
data: function data() { return { dropDownVisible: false, checkedValue: this.value || null, inputHover: false, inputValue: null, presentText: null, presentTags: [], checkedNodes: [], filtering: false, suggestions: [], inputInitialHeight: 0, pressDeleteCount: 0 }; },
computed: { realSize: function realSize() { var _elFormItemSize = (this.elFormItem || {}).elFormItemSize; return this.size || _elFormItemSize || (this.$ELEMENT || {}).size; }, tagSize: function tagSize() { return ['small', 'mini'].indexOf(this.realSize) > -1 ? 'mini' : 'small'; }, isDisabled: function isDisabled() { return this.disabled || (this.elForm || {}).disabled; }, config: function config() { var config = this.props || {}; var $attrs = this.$attrs;
Object.keys(MigratingProps).forEach(function (oldProp) { var _MigratingProps$oldPr = MigratingProps[oldProp], newProp = _MigratingProps$oldPr.newProp, type = _MigratingProps$oldPr.type;
var oldValue = $attrs[oldProp] || $attrs[Object(util_["kebabCase"])(oldProp)]; if (Object(shared_["isDef"])(oldProp) && !Object(shared_["isDef"])(config[newProp])) { if (type === Boolean && oldValue === '') { oldValue = true; } config[newProp] = oldValue; } });
return config; }, multiple: function multiple() { return this.config.multiple; }, leafOnly: function leafOnly() { return !this.config.checkStrictly; }, readonly: function readonly() { return !this.filterable || this.multiple; }, clearBtnVisible: function clearBtnVisible() { if (!this.clearable || this.isDisabled || this.filtering || !this.inputHover) { return false; }
return this.multiple ? !!this.checkedNodes.filter(function (node) { return !node.isDisabled; }).length : !!this.presentText; }, panel: function panel() { return this.$refs.panel; } },
watch: { disabled: function disabled() { this.computePresentContent(); }, value: function value(val) { if (!Object(util_["isEqual"])(val, this.checkedValue)) { this.checkedValue = val; this.computePresentContent(); } }, checkedValue: function checkedValue(val) { var value = this.value, dropDownVisible = this.dropDownVisible; var _config = this.config, checkStrictly = _config.checkStrictly, multiple = _config.multiple;
if (!Object(util_["isEqual"])(val, value) || Object(types_["isUndefined"])(value)) { this.computePresentContent(); // hide dropdown when single mode
if (!multiple && !checkStrictly && dropDownVisible) { this.toggleDropDownVisible(false); }
this.$emit('input', val); this.$emit('change', val); this.dispatch('ElFormItem', 'el.form.change', [val]); } },
options: { handler: function handler() { _this.$nextTick(_this.computePresentContent); }, deep: true }, presentText: function presentText(val) { this.inputValue = val; }, presentTags: function presentTags(val, oldVal) { if (this.multiple && (val.length || oldVal.length)) { this.$nextTick(this.updateStyle); } }, filtering: function filtering(val) { this.$nextTick(this.updatePopper); } },
mounted: function mounted() { var _this2 = this;
var input = this.$refs.input;
if (input && input.$el) { this.inputInitialHeight = input.$el.offsetHeight || InputSizeMap[this.realSize] || 40; }
if (!Object(util_["isEmpty"])(this.value)) { this.computePresentContent(); }
this.filterHandler = debounce_default()(this.debounce, function () { var inputValue = _this2.inputValue;
if (!inputValue) { _this2.filtering = false; return; }
var before = _this2.beforeFilter(inputValue); if (before && before.then) { before.then(_this2.getSuggestions); } else if (before !== false) { _this2.getSuggestions(); } else { _this2.filtering = false; } });
Object(resize_event_["addResizeListener"])(this.$el, this.updateStyle); }, beforeDestroy: function beforeDestroy() { Object(resize_event_["removeResizeListener"])(this.$el, this.updateStyle); },
methods: { getMigratingConfig: function getMigratingConfig() { return { props: { 'expand-trigger': 'expand-trigger is removed, use `props.expandTrigger` instead.', 'change-on-select': 'change-on-select is removed, use `props.checkStrictly` instead.', 'hover-threshold': 'hover-threshold is removed, use `props.hoverThreshold` instead' }, events: { 'active-item-change': 'active-item-change is renamed to expand-change' } }; }, toggleDropDownVisible: function toggleDropDownVisible(visible) { var _this3 = this;
if (this.isDisabled) return;
var dropDownVisible = this.dropDownVisible; var input = this.$refs.input;
visible = Object(shared_["isDef"])(visible) ? visible : !dropDownVisible; if (visible !== dropDownVisible) { this.dropDownVisible = visible; if (visible) { this.$nextTick(function () { _this3.updatePopper(); _this3.panel.scrollIntoView(); }); } input.$refs.input.setAttribute('aria-expanded', visible); this.$emit('visible-change', visible); } }, handleDropdownLeave: function handleDropdownLeave() { this.filtering = false; this.inputValue = this.presentText; }, handleKeyDown: function handleKeyDown(event) { switch (event.keyCode) { case KeyCode.enter: this.toggleDropDownVisible(); break; case KeyCode.down: this.toggleDropDownVisible(true); this.focusFirstNode(); event.preventDefault(); break; case KeyCode.esc: case KeyCode.tab: this.toggleDropDownVisible(false); break; } }, handleFocus: function handleFocus(e) { this.$emit('focus', e); }, handleBlur: function handleBlur(e) { this.$emit('blur', e); }, handleInput: function handleInput(val, event) { !this.dropDownVisible && this.toggleDropDownVisible(true);
if (event && event.isComposing) return; if (val) { this.filterHandler(); } else { this.filtering = false; } }, handleClear: function handleClear() { this.presentText = ''; this.panel.clearCheckedNodes(); }, handleExpandChange: function handleExpandChange(value) { this.$nextTick(this.updatePopper.bind(this)); this.$emit('expand-change', value); this.$emit('active-item-change', value); // Deprecated
}, focusFirstNode: function focusFirstNode() { var _this4 = this;
this.$nextTick(function () { var filtering = _this4.filtering; var _$refs = _this4.$refs, popper = _$refs.popper, suggestionPanel = _$refs.suggestionPanel;
var firstNode = null;
if (filtering && suggestionPanel) { firstNode = suggestionPanel.$el.querySelector('.el-cascader__suggestion-item'); } else { var firstMenu = popper.querySelector('.el-cascader-menu'); firstNode = firstMenu.querySelector('.el-cascader-node[tabindex="-1"]'); }
if (firstNode) { firstNode.focus(); !filtering && firstNode.click(); } }); }, computePresentContent: function computePresentContent() { var _this5 = this;
// nextTick is required, because checked nodes may not change right now
this.$nextTick(function () { if (_this5.config.multiple) { _this5.computePresentTags(); _this5.presentText = _this5.presentTags.length ? ' ' : null; } else { _this5.computePresentText(); } }); }, computePresentText: function computePresentText() { var checkedValue = this.checkedValue, config = this.config;
if (!Object(util_["isEmpty"])(checkedValue)) { var node = this.panel.getNodeByValue(checkedValue); if (node && (config.checkStrictly || node.isLeaf)) { this.presentText = node.getText(this.showAllLevels, this.separator); return; } } this.presentText = null; }, computePresentTags: function computePresentTags() { var isDisabled = this.isDisabled, leafOnly = this.leafOnly, showAllLevels = this.showAllLevels, separator = this.separator, collapseTags = this.collapseTags;
var checkedNodes = this.getCheckedNodes(leafOnly); var tags = [];
var genTag = function genTag(node) { return { node: node, key: node.uid, text: node.getText(showAllLevels, separator), hitState: false, closable: !isDisabled && !node.isDisabled }; };
if (checkedNodes.length) { var first = checkedNodes[0], rest = checkedNodes.slice(1);
var restCount = rest.length; tags.push(genTag(first));
if (restCount) { if (collapseTags) { tags.push({ key: -1, text: '+ ' + restCount, closable: false }); } else { rest.forEach(function (node) { return tags.push(genTag(node)); }); } } }
this.checkedNodes = checkedNodes; this.presentTags = tags; }, getSuggestions: function getSuggestions() { var _this6 = this;
var filterMethod = this.filterMethod;
if (!Object(types_["isFunction"])(filterMethod)) { filterMethod = function filterMethod(node, keyword) { return node.text.includes(keyword); }; }
var suggestions = this.panel.getFlattedNodes(this.leafOnly).filter(function (node) { if (node.isDisabled) return false; node.text = node.getText(_this6.showAllLevels, _this6.separator) || ''; return filterMethod(node, _this6.inputValue); });
if (this.multiple) { this.presentTags.forEach(function (tag) { tag.hitState = false; }); } else { suggestions.forEach(function (node) { node.checked = Object(util_["isEqual"])(_this6.checkedValue, node.getValueByOption()); }); }
this.filtering = true; this.suggestions = suggestions; this.$nextTick(this.updatePopper); }, handleSuggestionKeyDown: function handleSuggestionKeyDown(event) { var keyCode = event.keyCode, target = event.target;
switch (keyCode) { case KeyCode.enter: target.click(); break; case KeyCode.up: var prev = target.previousElementSibling; prev && prev.focus(); break; case KeyCode.down: var next = target.nextElementSibling; next && next.focus(); break; case KeyCode.esc: case KeyCode.tab: this.toggleDropDownVisible(false); break; } }, handleDelete: function handleDelete() { var inputValue = this.inputValue, pressDeleteCount = this.pressDeleteCount, presentTags = this.presentTags;
var lastIndex = presentTags.length - 1; var lastTag = presentTags[lastIndex]; this.pressDeleteCount = inputValue ? 0 : pressDeleteCount + 1;
if (!lastTag) return;
if (this.pressDeleteCount) { if (lastTag.hitState) { this.deleteTag(lastIndex); } else { lastTag.hitState = true; } } }, handleSuggestionClick: function handleSuggestionClick(index) { var multiple = this.multiple;
var targetNode = this.suggestions[index];
if (multiple) { var checked = targetNode.checked;
targetNode.doCheck(!checked); this.panel.calculateMultiCheckedValue(); } else { this.checkedValue = targetNode.getValueByOption(); this.toggleDropDownVisible(false); } }, deleteTag: function deleteTag(index) { var checkedValue = this.checkedValue;
var val = checkedValue[index]; this.checkedValue = checkedValue.filter(function (n, i) { return i !== index; }); this.$emit('remove-tag', val); }, updateStyle: function updateStyle() { var $el = this.$el, inputInitialHeight = this.inputInitialHeight;
if (this.$isServer || !$el) return;
var suggestionPanel = this.$refs.suggestionPanel;
var inputInner = $el.querySelector('.el-input__inner');
if (!inputInner) return;
var tags = $el.querySelector('.el-cascader__tags'); var suggestionPanelEl = null;
if (suggestionPanel && (suggestionPanelEl = suggestionPanel.$el)) { var suggestionList = suggestionPanelEl.querySelector('.el-cascader__suggestion-list'); suggestionList.style.minWidth = inputInner.offsetWidth + 'px'; }
if (tags) { var offsetHeight = tags.offsetHeight;
var height = Math.max(offsetHeight + 6, inputInitialHeight) + 'px'; inputInner.style.height = height; this.updatePopper(); } },
/** * public methods */ getCheckedNodes: function getCheckedNodes(leafOnly) { return this.panel.getCheckedNodes(leafOnly); } } }); // CONCATENATED MODULE: ./packages/cascader/src/cascader.vue?vue&type=script&lang=js&
/* harmony default export */ var src_cascadervue_type_script_lang_js_ = (cascadervue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);
// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])( src_cascadervue_type_script_lang_js_, render, staticRenderFns, false, null, null, null )
/* hot reload */ if (false) { var api; } component.options.__file = "packages/cascader/src/cascader.vue" /* harmony default export */ var cascader = (component.exports); // CONCATENATED MODULE: ./packages/cascader/index.js
/* istanbul ignore next */ cascader.install = function (Vue) { Vue.component(cascader.name, cascader); };
/* harmony default export */ var packages_cascader = __webpack_exports__["default"] = (cascader);
/***/ }),
/***/ 61: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/clickoutside");
/***/ }),
/***/ 62: /***/ (function(module, exports) {
module.exports = require("throttle-debounce/debounce");
/***/ }),
/***/ 65: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/scrollbar-width");
/***/ }),
/***/ 66: /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; // ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: external "tis-ui/lib/utils/resize-event"
var resize_event_ = __webpack_require__(44);
// EXTERNAL MODULE: external "tis-ui/lib/utils/scrollbar-width"
var scrollbar_width_ = __webpack_require__(65); var scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_);
// EXTERNAL MODULE: external "tis-ui/lib/utils/util"
var util_ = __webpack_require__(10);
// EXTERNAL MODULE: external "tis-ui/lib/utils/dom"
var dom_ = __webpack_require__(7);
// CONCATENATED MODULE: ./packages/scrollbar/src/util.js
var BAR_MAP = { vertical: { offset: 'offsetHeight', scroll: 'scrollTop', scrollSize: 'scrollHeight', size: 'height', key: 'vertical', axis: 'Y', client: 'clientY', direction: 'top' }, horizontal: { offset: 'offsetWidth', scroll: 'scrollLeft', scrollSize: 'scrollWidth', size: 'width', key: 'horizontal', axis: 'X', client: 'clientX', direction: 'left' } };
function renderThumbStyle(_ref) { var move = _ref.move, size = _ref.size, bar = _ref.bar;
var style = {}; var translate = 'translate' + bar.axis + '(' + move + '%)';
style[bar.size] = size; style.transform = translate; style.msTransform = translate; style.webkitTransform = translate;
return style; }; // CONCATENATED MODULE: ./packages/scrollbar/src/bar.js
/* istanbul ignore next */ /* harmony default export */ var src_bar = ({ name: 'Bar',
props: { vertical: Boolean, size: String, move: Number },
computed: { bar: function bar() { return BAR_MAP[this.vertical ? 'vertical' : 'horizontal']; }, wrap: function wrap() { return this.$parent.wrap; } },
render: function render(h) { var size = this.size, move = this.move, bar = this.bar;
return h( 'div', { 'class': ['el-scrollbar__bar', 'is-' + bar.key], on: { 'mousedown': this.clickTrackHandler } }, [h('div', { ref: 'thumb', 'class': 'el-scrollbar__thumb', on: { 'mousedown': this.clickThumbHandler },
style: renderThumbStyle({ size: size, move: move, bar: bar }) })] ); },
methods: { clickThumbHandler: function clickThumbHandler(e) { // prevent click event of right button
if (e.ctrlKey || e.button === 2) { return; } this.startDrag(e); this[this.bar.axis] = e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction]); }, clickTrackHandler: function clickTrackHandler(e) { var offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]); var thumbHalf = this.$refs.thumb[this.bar.offset] / 2; var thumbPositionPercentage = (offset - thumbHalf) * 100 / this.$el[this.bar.offset];
this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100; }, startDrag: function startDrag(e) { e.stopImmediatePropagation(); this.cursorDown = true;
Object(dom_["on"])(document, 'mousemove', this.mouseMoveDocumentHandler); Object(dom_["on"])(document, 'mouseup', this.mouseUpDocumentHandler); document.onselectstart = function () { return false; }; }, mouseMoveDocumentHandler: function mouseMoveDocumentHandler(e) { if (this.cursorDown === false) return; var prevPage = this[this.bar.axis];
if (!prevPage) return;
var offset = (this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1; var thumbClickPosition = this.$refs.thumb[this.bar.offset] - prevPage; var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / this.$el[this.bar.offset];
this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100; }, mouseUpDocumentHandler: function mouseUpDocumentHandler(e) { this.cursorDown = false; this[this.bar.axis] = 0; Object(dom_["off"])(document, 'mousemove', this.mouseMoveDocumentHandler); document.onselectstart = null; } },
destroyed: function destroyed() { Object(dom_["off"])(document, 'mouseup', this.mouseUpDocumentHandler); } }); // CONCATENATED MODULE: ./packages/scrollbar/src/main.js
// reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js
/* istanbul ignore next */ /* harmony default export */ var main = ({ name: 'TisScrollbar',
components: { Bar: src_bar },
props: { native: Boolean, wrapStyle: {}, wrapClass: {}, viewClass: {}, viewStyle: {}, noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能
tag: { type: String, default: 'div' } },
data: function data() { return { sizeWidth: '0', sizeHeight: '0', moveX: 0, moveY: 0 }; },
computed: { wrap: function wrap() { return this.$refs.wrap; } },
render: function render(h) { var gutter = scrollbar_width_default()(); var style = this.wrapStyle;
if (gutter) { var gutterWith = '-' + gutter + 'px'; var gutterStyle = 'margin-bottom: ' + gutterWith + '; margin-right: ' + gutterWith + ';';
if (Array.isArray(this.wrapStyle)) { style = Object(util_["toObject"])(this.wrapStyle); style.marginRight = style.marginBottom = gutterWith; } else if (typeof this.wrapStyle === 'string') { style += gutterStyle; } else { style = gutterStyle; } } var view = h(this.tag, { class: ['el-scrollbar__view', this.viewClass], style: this.viewStyle, ref: 'resize' }, this.$slots.default); var wrap = h( 'div', { ref: 'wrap', style: style, on: { 'scroll': this.handleScroll },
'class': [this.wrapClass, 'el-scrollbar__wrap', gutter ? '' : 'el-scrollbar__wrap--hidden-default'] }, [[view]] ); var nodes = void 0;
if (!this.native) { nodes = [wrap, h(src_bar, { attrs: { move: this.moveX, size: this.sizeWidth } }), h(src_bar, { attrs: { vertical: true, move: this.moveY, size: this.sizeHeight } })]; } else { nodes = [h( 'div', { ref: 'wrap', 'class': [this.wrapClass, 'el-scrollbar__wrap'], style: style }, [[view]] )]; } return h('div', { class: 'el-scrollbar' }, nodes); },
methods: { handleScroll: function handleScroll() { var wrap = this.wrap;
this.moveY = wrap.scrollTop * 100 / wrap.clientHeight; this.moveX = wrap.scrollLeft * 100 / wrap.clientWidth; }, update: function update() { var heightPercentage = void 0, widthPercentage = void 0; var wrap = this.wrap; if (!wrap) return;
heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight; widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth;
this.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : ''; this.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : ''; } },
mounted: function mounted() { if (this.native) return; this.$nextTick(this.update); !this.noresize && Object(resize_event_["addResizeListener"])(this.$refs.resize, this.update); }, beforeDestroy: function beforeDestroy() { if (this.native) return; !this.noresize && Object(resize_event_["removeResizeListener"])(this.$refs.resize, this.update); } }); // CONCATENATED MODULE: ./packages/scrollbar/index.js
/* istanbul ignore next */ main.install = function (Vue) { Vue.component(main.name, main); };
/* harmony default export */ var scrollbar = __webpack_exports__["default"] = (main);
/***/ }),
/***/ 68: /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; // ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&
var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "label", { staticClass: "el-checkbox", class: [ _vm.border && _vm.checkboxSize ? "el-checkbox--" + _vm.checkboxSize : "", { "is-disabled": _vm.isDisabled }, { "is-bordered": _vm.border }, { "is-checked": _vm.isChecked } ], attrs: { id: _vm.id } }, [ _c( "span", { staticClass: "el-checkbox__input", class: { "is-disabled": _vm.isDisabled, "is-checked": _vm.isChecked, "is-indeterminate": _vm.indeterminate, "is-focus": _vm.focus }, attrs: { tabindex: _vm.indeterminate ? 0 : false, role: _vm.indeterminate ? "checkbox" : false, "aria-checked": _vm.indeterminate ? "mixed" : false } }, [ _c("span", { staticClass: "el-checkbox__inner" }), _vm.trueLabel || _vm.falseLabel ? _c("input", { directives: [ { name: "model", rawName: "v-model", value: _vm.model, expression: "model" } ], staticClass: "el-checkbox__original", attrs: { type: "checkbox", "aria-hidden": _vm.indeterminate ? "true" : "false", name: _vm.name, disabled: _vm.isDisabled, "true-value": _vm.trueLabel, "false-value": _vm.falseLabel }, domProps: { checked: Array.isArray(_vm.model) ? _vm._i(_vm.model, null) > -1 : _vm._q(_vm.model, _vm.trueLabel) }, on: { change: [ function($event) { var $$a = _vm.model, $$el = $event.target, $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel if (Array.isArray($$a)) { var $$v = null, $$i = _vm._i($$a, $$v) if ($$el.checked) { $$i < 0 && (_vm.model = $$a.concat([$$v])) } else { $$i > -1 && (_vm.model = $$a .slice(0, $$i) .concat($$a.slice($$i + 1))) } } else { _vm.model = $$c } }, _vm.handleChange ], focus: function($event) { _vm.focus = true }, blur: function($event) { _vm.focus = false } } }) : _c("input", { directives: [ { name: "model", rawName: "v-model", value: _vm.model, expression: "model" } ], staticClass: "el-checkbox__original", attrs: { type: "checkbox", "aria-hidden": _vm.indeterminate ? "true" : "false", disabled: _vm.isDisabled, name: _vm.name }, domProps: { value: _vm.label, checked: Array.isArray(_vm.model) ? _vm._i(_vm.model, _vm.label) > -1 : _vm.model }, on: { change: [ function($event) { var $$a = _vm.model, $$el = $event.target, $$c = $$el.checked ? true : false if (Array.isArray($$a)) { var $$v = _vm.label, $$i = _vm._i($$a, $$v) if ($$el.checked) { $$i < 0 && (_vm.model = $$a.concat([$$v])) } else { $$i > -1 && (_vm.model = $$a .slice(0, $$i) .concat($$a.slice($$i + 1))) } } else { _vm.model = $$c } }, _vm.handleChange ], focus: function($event) { _vm.focus = true }, blur: function($event) { _vm.focus = false } } }) ] ), _vm.$slots.default || _vm.label ? _c( "span", { staticClass: "el-checkbox__label" }, [ _vm._t("default"), !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e() ], 2 ) : _vm._e() ] ) } var staticRenderFns = [] render._withStripped = true
// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&
// EXTERNAL MODULE: external "tis-ui/lib/mixins/emitter"
var emitter_ = __webpack_require__(13); var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({ name: 'TisCheckbox',
mixins: [emitter_default.a],
inject: { elForm: { default: '' }, elFormItem: { default: '' } },
componentName: 'TisCheckbox',
data: function data() { return { selfModel: false, focus: false, isLimitExceeded: false }; },
computed: { model: { get: function get() { return this.isGroup ? this.store : this.value !== undefined ? this.value : this.selfModel; }, set: function set(val) { if (this.isGroup) { this.isLimitExceeded = false; this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true);
this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true);
this.isLimitExceeded === false && this.dispatch('TisCheckboxGroup', 'input', [val]); } else { this.$emit('input', val); this.selfModel = val; } } },
isChecked: function isChecked() { if ({}.toString.call(this.model) === '[object Boolean]') { return this.model; } else if (Array.isArray(this.model)) { return this.model.indexOf(this.label) > -1; } else if (this.model !== null && this.model !== undefined) { return this.model === this.trueLabel; } }, isGroup: function isGroup() { var parent = this.$parent; while (parent) { if (parent.$options.componentName !== 'TisCheckboxGroup') { parent = parent.$parent; } else { this._checkboxGroup = parent; return true; } } return false; }, store: function store() { return this._checkboxGroup ? this._checkboxGroup.value : this.value; },
/* used to make the isDisabled judgment under max/min props */ isLimitDisabled: function isLimitDisabled() { var _checkboxGroup = this._checkboxGroup, max = _checkboxGroup.max, min = _checkboxGroup.min;
return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked; }, isDisabled: function isDisabled() { return this.isGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled; }, _elFormItemSize: function _elFormItemSize() { return (this.elFormItem || {}).elFormItemSize; }, checkboxSize: function checkboxSize() { var temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; return this.isGroup ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize : temCheckboxSize; } },
props: { value: {}, label: {}, indeterminate: Boolean, disabled: Boolean, checked: Boolean, name: String, trueLabel: [String, Number], falseLabel: [String, Number], id: String, /* 当indeterminate为真时,为controls提供相关连的checkbox的id,表明元素间的控制关系*/ controls: String, /* 当indeterminate为真时,为controls提供相关连的checkbox的id,表明元素间的控制关系*/ border: Boolean, size: String },
methods: { addToStore: function addToStore() { if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) { this.model.push(this.label); } else { this.model = this.trueLabel || true; } }, handleChange: function handleChange(ev) { var _this = this;
if (this.isLimitExceeded) return; var value = void 0; if (ev.target.checked) { value = this.trueLabel === undefined ? true : this.trueLabel; } else { value = this.falseLabel === undefined ? false : this.falseLabel; } this.$emit('change', value, ev); this.$nextTick(function () { if (_this.isGroup) { _this.dispatch('TisCheckboxGroup', 'change', [_this._checkboxGroup.value]); } }); } },
created: function created() { this.checked && this.addToStore(); }, mounted: function mounted() { // 为indeterminate元素 添加aria-controls 属性
if (this.indeterminate) { this.$el.setAttribute('aria-controls', this.controls); } },
watch: { value: function value(_value) { this.dispatch('ElFormItem', 'el.form.change', _value); } } }); // CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&
/* harmony default export */ var src_checkboxvue_type_script_lang_js_ = (checkboxvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);
// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])( src_checkboxvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null )
/* hot reload */ if (false) { var api; } component.options.__file = "packages/checkbox/src/checkbox.vue" /* harmony default export */ var src_checkbox = (component.exports); // CONCATENATED MODULE: ./packages/checkbox/index.js
/* istanbul ignore next */ src_checkbox.install = function (Vue) { Vue.component(src_checkbox.name, src_checkbox); };
/* harmony default export */ var packages_checkbox = __webpack_exports__["default"] = (src_checkbox);
/***/ }),
/***/ 7: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/dom");
/***/ }),
/***/ 72: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/locale");
/***/ }),
/***/ 89: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/types");
/***/ }),
/***/ 90: /***/ (function(module, exports) {
module.exports = require("babel-helper-vue-jsx-merge-props");
/***/ }),
/***/ 95: /***/ (function(module, exports) {
module.exports = require("tis-ui/lib/utils/scroll-into-view");
/***/ })
/******/ });
|