UNPKG

tdesign-mobile-vue

Version:
121 lines (117 loc) 4.23 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ import _slicedToArray from '@babel/runtime/helpers/slicedToArray'; import { defineComponent, toRefs, computed, provide, createVNode } from 'vue'; import props from './props.js'; import config from '../config.js'; import { useTNodeJSX } from '../hooks/tnode.js'; import { usePrefixClass } from '../hooks/useClass.js'; import '../shared/index.js'; import { useVModel } from '../shared/useVModel/index.js'; import 'lodash/isFunction'; import 'lodash/camelCase'; import 'lodash/kebabCase'; import '../hooks/render-tnode.js'; import 'lodash/isEmpty'; import 'lodash/isString'; import 'lodash/isObject'; import '../config-provider/useConfig.js'; import '@babel/runtime/helpers/defineProperty'; import 'lodash/cloneDeep'; import '../config-provider/context.js'; import 'lodash/mergeWith'; import 'lodash/merge'; import 'lodash/isArray'; import '../_common/js/global-config/mobile/default-config.js'; import '../_common/js/global-config/mobile/locale/zh_CN.js'; import '../_chunks/dep-6c582337.js'; import '@babel/runtime/helpers/typeof'; import '../_chunks/dep-38637d40.js'; import 'dayjs'; import '../_chunks/dep-959cdc59.js'; import '../config-provider/type.js'; import '../shared/functions.js'; import '../shared/util.js'; import 'lodash/isNumber'; import '../shared/component.js'; import '../shared/constants.js'; import '../shared/render.js'; import '../shared/dom.js'; import '../shared/render-tnode.js'; import '../shared/useToggle/index.js'; import '../shared/useCountDown/index.js'; import '@babel/runtime/helpers/asyncToGenerator'; import '@babel/runtime/regenerator'; import '@vueuse/core'; import '../shared/useCountDown/utils.js'; import '../shared/useDefault/index.js'; import '../shared/useChildSlots/index.js'; import '@babel/runtime/helpers/toConsumableArray'; import '../shared/useTouch/index.js'; import '../shared/useScrollParent/index.js'; import '../shared/useExpose/index.js'; import '../shared/useTest/index.js'; import '../shared/useClickAway/index.js'; import '../shared/useGesture/index.js'; import '@use-gesture/vanilla'; import '../shared/hover.js'; var prefix = config.prefix; var _Collapse = defineComponent({ name: "".concat(prefix, "-collapse"), props: props, setup: function setup(props2, _ref) { var slots = _ref.slots; var renderTNodeJSX = useTNodeJSX(); var collapseClass = usePrefixClass("collapse"); var _toRefs = toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue; var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_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 = computed(function () { return props2.disabled; }); var expandIcon = computed(function () { return props2.expandIcon; }); var rootClass = computed(function () { return [collapseClass.value, "".concat(collapseClass.value, "--").concat(props2.theme)]; }); provide("collapse", { activeValue: activeValue, disabled: disabled, expandIcon: expandIcon, onPanelChange: onPanelChange, defaultExpandAll: props2.defaultExpandAll }); provide("renderParentTNode", renderTNodeJSX); return function () { var _slots$default; return createVNode("div", { "class": rootClass.value }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]); }; } }); export { _Collapse as default }; //# sourceMappingURL=collapse.js.map