index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _extends2 = require('babel-runtime/helpers/extends');
  6. var _extends3 = _interopRequireDefault(_extends2);
  7. var _vueTypes = require('../_util/vue-types');
  8. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  9. var _propsUtil = require('../_util/props-util');
  10. var _vcSteps = require('../vc-steps');
  11. var _vcSteps2 = _interopRequireDefault(_vcSteps);
  12. var _icon = require('../icon');
  13. var _icon2 = _interopRequireDefault(_icon);
  14. var _configConsumerProps = require('../config-provider/configConsumerProps');
  15. var _base = require('../base');
  16. var _base2 = _interopRequireDefault(_base);
  17. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  18. var getStepsProps = function getStepsProps() {
  19. var defaultProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  20. var props = {
  21. prefixCls: _vueTypes2['default'].string,
  22. iconPrefix: _vueTypes2['default'].string,
  23. current: _vueTypes2['default'].number,
  24. initial: _vueTypes2['default'].number,
  25. labelPlacement: _vueTypes2['default'].oneOf(['horizontal', 'vertical']).def('horizontal'),
  26. status: _vueTypes2['default'].oneOf(['wait', 'process', 'finish', 'error']),
  27. size: _vueTypes2['default'].oneOf(['default', 'small']),
  28. direction: _vueTypes2['default'].oneOf(['horizontal', 'vertical']),
  29. progressDot: _vueTypes2['default'].oneOfType([_vueTypes2['default'].bool, _vueTypes2['default'].func]),
  30. type: _vueTypes2['default'].oneOf(['default', 'navigation'])
  31. };
  32. return (0, _propsUtil.initDefaultProps)(props, defaultProps);
  33. };
  34. var Steps = {
  35. name: 'ASteps',
  36. props: getStepsProps({
  37. current: 0
  38. }),
  39. inject: {
  40. configProvider: { 'default': function _default() {
  41. return _configConsumerProps.ConfigConsumerProps;
  42. } }
  43. },
  44. model: {
  45. prop: 'current',
  46. event: 'change'
  47. },
  48. Step: (0, _extends3['default'])({}, _vcSteps2['default'].Step, { name: 'AStep' }),
  49. render: function render() {
  50. var h = arguments[0];
  51. var props = (0, _propsUtil.getOptionProps)(this);
  52. var customizePrefixCls = props.prefixCls,
  53. customizeIconPrefixCls = props.iconPrefix;
  54. var getPrefixCls = this.configProvider.getPrefixCls;
  55. var prefixCls = getPrefixCls('steps', customizePrefixCls);
  56. var iconPrefix = getPrefixCls('', customizeIconPrefixCls);
  57. var icons = {
  58. finish: h(_icon2['default'], {
  59. attrs: { type: 'check' },
  60. 'class': prefixCls + '-finish-icon' }),
  61. error: h(_icon2['default'], {
  62. attrs: { type: 'close' },
  63. 'class': prefixCls + '-error-icon' })
  64. };
  65. var stepsProps = {
  66. props: (0, _extends3['default'])({
  67. icons: icons,
  68. iconPrefix: iconPrefix,
  69. prefixCls: prefixCls
  70. }, props),
  71. on: (0, _propsUtil.getListeners)(this),
  72. scopedSlots: this.$scopedSlots
  73. };
  74. return h(
  75. _vcSteps2['default'],
  76. stepsProps,
  77. [this.$slots['default']]
  78. );
  79. }
  80. };
  81. /* istanbul ignore next */
  82. Steps.install = function (Vue) {
  83. Vue.use(_base2['default']);
  84. Vue.component(Steps.name, Steps);
  85. Vue.component(Steps.Step.name, Steps.Step);
  86. };
  87. exports['default'] = Steps;