Input.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  2. import _extends from "@babel/runtime/helpers/esm/extends";
  3. import { createVNode as _createVNode } from "vue";
  4. import { computed, defineComponent } from 'vue';
  5. import classNames from '../_util/classNames';
  6. import useConfigInject from '../config-provider/hooks/useConfigInject';
  7. import Element, { skeletonElementProps } from './Element';
  8. import omit from '../_util/omit';
  9. import useStyle from './style';
  10. const SkeletonInput = defineComponent({
  11. compatConfig: {
  12. MODE: 3
  13. },
  14. name: 'ASkeletonInput',
  15. props: _extends(_extends({}, omit(skeletonElementProps(), ['shape'])), {
  16. size: String,
  17. block: Boolean
  18. }),
  19. setup(props) {
  20. const {
  21. prefixCls
  22. } = useConfigInject('skeleton', props);
  23. const [wrapSSR, hashId] = useStyle(prefixCls);
  24. const cls = computed(() => classNames(prefixCls.value, `${prefixCls.value}-element`, {
  25. [`${prefixCls.value}-active`]: props.active,
  26. [`${prefixCls.value}-block`]: props.block
  27. }, hashId.value));
  28. return () => {
  29. return wrapSSR(_createVNode("div", {
  30. "class": cls.value
  31. }, [_createVNode(Element, _objectSpread(_objectSpread({}, props), {}, {
  32. "prefixCls": `${prefixCls.value}-input`
  33. }), null)]));
  34. };
  35. }
  36. });
  37. export default SkeletonInput;