UNPKG

tdesign-mobile-vue

Version:
101 lines (93 loc) 3.64 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _slicedToArray = require('@babel/runtime/helpers/slicedToArray'); var vue = require('vue'); var collapse_props = require('./props.js'); var config = require('../config.js'); var hooks_tnode = require('../hooks/tnode.js'); var hooks_useClass = require('../hooks/useClass.js'); var shared_useVModel_index = require('../shared/useVModel/index.js'); require('lodash/isFunction'); require('lodash/camelCase'); require('lodash/kebabCase'); require('../hooks/render-tnode.js'); require('lodash/isEmpty'); require('lodash/isString'); require('lodash/isObject'); require('../config-provider/useConfig.js'); require('@babel/runtime/helpers/defineProperty'); require('lodash/cloneDeep'); require('../config-provider/context.js'); require('lodash/mergeWith'); require('lodash/merge'); require('lodash/isArray'); require('../_common/js/global-config/mobile/default-config.js'); require('../_common/js/global-config/mobile/locale/zh_CN.js'); require('../_chunks/dep-8d930798.js'); require('@babel/runtime/helpers/typeof'); require('../_chunks/dep-a20a5149.js'); require('dayjs'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray); var prefix = config["default"].prefix; var _Collapse = vue.defineComponent({ name: "".concat(prefix, "-collapse"), props: collapse_props["default"], setup: function setup(props2, _ref) { var slots = _ref.slots; var renderTNodeJSX = hooks_tnode.useTNodeJSX(); var collapseClass = hooks_useClass.usePrefixClass("collapse"); var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue; var _useVModel = shared_useVModel_index.useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray__default["default"](_useVModel, 2), activeValue = _useVModel2[0], setActiveValue = _useVModel2[1]; var calcActiveValues = function calcActiveValues(activeValues, panelValue, expandMutex) { var hit = activeValues.indexOf(panelValue); if (hit > -1) { return activeValues.filter(function (item) { return item !== panelValue; }); } return expandMutex ? [panelValue] : activeValues.concat(panelValue); }; var onPanelChange = function onPanelChange(value2, args) { if (Array.isArray(activeValue.value)) { var val = calcActiveValues(activeValue.value, value2, props2.expandMutex); setActiveValue(val, args); } }; var disabled = vue.computed(function () { return props2.disabled; }); var expandIcon = vue.computed(function () { return props2.expandIcon; }); var rootClass = vue.computed(function () { return [collapseClass.value, "".concat(collapseClass.value, "--").concat(props2.theme)]; }); vue.provide("collapse", { activeValue: activeValue, disabled: disabled, expandIcon: expandIcon, onPanelChange: onPanelChange, defaultExpandAll: props2.defaultExpandAll }); vue.provide("renderParentTNode", renderTNodeJSX); return function () { var _slots$default; return vue.createVNode("div", { "class": rootClass.value }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]); }; } }); exports["default"] = _Collapse; //# sourceMappingURL=collapse.js.map