Button.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  2. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  3. import { createVNode as _createVNode } from "vue";
  4. import { computed, defineComponent } from 'vue';
  5. import classNames from '../_util/classNames';
  6. import useConfigInject from '../_util/hooks/useConfigInject';
  7. import { initDefaultProps } from '../_util/props-util';
  8. import Element, { skeletonElementProps } from './Element';
  9. export var skeletonButtonProps = function skeletonButtonProps() {
  10. return _objectSpread(_objectSpread({}, skeletonElementProps()), {}, {
  11. size: String,
  12. block: Boolean
  13. });
  14. };
  15. var SkeletonButton = defineComponent({
  16. compatConfig: {
  17. MODE: 3
  18. },
  19. name: 'ASkeletonButton',
  20. props: initDefaultProps(skeletonButtonProps(), {
  21. size: 'default'
  22. }),
  23. setup: function setup(props) {
  24. var _useConfigInject = useConfigInject('skeleton', props),
  25. prefixCls = _useConfigInject.prefixCls;
  26. var cls = computed(function () {
  27. var _classNames;
  28. return classNames(prefixCls.value, "".concat(prefixCls.value, "-element"), (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls.value, "-active"), props.active), _defineProperty(_classNames, "".concat(prefixCls.value, "-block"), props.block), _classNames));
  29. });
  30. return function () {
  31. return _createVNode("div", {
  32. "class": cls.value
  33. }, [_createVNode(Element, _objectSpread(_objectSpread({}, props), {}, {
  34. "prefixCls": "".concat(prefixCls.value, "-button")
  35. }), null)]);
  36. };
  37. }
  38. });
  39. export default SkeletonButton;