UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

93 lines (85 loc) 3.31 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _defineProperty = require('@babel/runtime/helpers/defineProperty'); var _slicedToArray = require('@babel/runtime/helpers/slicedToArray'); var vue = require('vue'); var collapse_props = require('./props.js'); var hooks_useVModel = require('../hooks/useVModel.js'); var hooks_tnode = require('../hooks/tnode.js'); var hooks_useConfig = require('../hooks/useConfig.js'); require('lodash/kebabCase'); require('lodash/isFunction'); require('lodash/camelCase'); require('../utils/render-tnode.js'); require('lodash/isEmpty'); require('lodash/isString'); require('lodash/isObject'); require('../config-provider/useConfig.js'); require('lodash/cloneDeep'); require('../config-provider/context.js'); require('lodash/mergeWith'); require('lodash/merge'); require('../_common/js/global-config/default-config.js'); require('../_common/js/global-config/locale/en_US.js'); require('../_chunks/dep-8d10b59f.js'); require('lodash/isArray'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray); var _Collapse = vue.defineComponent({ name: "XCollapse", props: collapse_props["default"], setup: function setup(props2) { var componentName = hooks_useConfig.usePrefixClass("collapse"); var borderlessClass = hooks_useConfig.usePrefixClass("-border-less"); var renderTNodeJSX = hooks_tnode.useTNodeJSX(); var _toRefs = vue.toRefs(props2), value = _toRefs.value, expandMutex = _toRefs.expandMutex, borderless = _toRefs.borderless, modelValue = _toRefs.modelValue; var _useVModel = hooks_useVModel["default"](value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray__default["default"](_useVModel, 2), collapseValue = _useVModel2[0], setCollapseValue = _useVModel2[1]; var updateCollapseValue = function updateCollapseValue(value2) { var newValue = [].concat(collapseValue.value || []); var index = newValue.indexOf(value2); if (index >= 0) { newValue.splice(index, 1); } else if (expandMutex.value) { newValue = [value2]; } else { newValue.push(value2); } setCollapseValue(newValue); }; var classes = vue.computed(function () { return [componentName.value, _defineProperty__default["default"]({}, borderlessClass.value, !!borderless.value)]; }); var getUniqId = function () { var index = 0; return function () { return index++; }; }(); vue.provide("collapseValue", collapseValue); vue.provide("updateCollapseValue", updateCollapseValue); vue.provide("collapseProps", vue.toRefs(props2)); vue.provide("getUniqId", getUniqId); vue.provide("renderParentTNode", renderTNodeJSX); return function () { var nodes = renderTNodeJSX("default"); return vue.createVNode("div", { "class": classes.value }, [nodes]); }; } }); exports["default"] = _Collapse; //# sourceMappingURL=collapse.js.map