button-group.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.ButtonGroupProps = undefined;
  6. var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
  7. var _defineProperty3 = _interopRequireDefault(_defineProperty2);
  8. var _propsUtil = require('../_util/props-util');
  9. var _vueTypes = require('../_util/vue-types');
  10. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  11. var _configConsumerProps = require('../config-provider/configConsumerProps');
  12. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  13. var ButtonGroupProps = {
  14. prefixCls: _vueTypes2['default'].string,
  15. size: {
  16. validator: function validator(value) {
  17. return ['small', 'large', 'default'].includes(value);
  18. }
  19. }
  20. };
  21. exports.ButtonGroupProps = ButtonGroupProps;
  22. exports['default'] = {
  23. name: 'AButtonGroup',
  24. props: ButtonGroupProps,
  25. inject: {
  26. configProvider: { 'default': function _default() {
  27. return _configConsumerProps.ConfigConsumerProps;
  28. } }
  29. },
  30. data: function data() {
  31. return {
  32. sizeMap: {
  33. large: 'lg',
  34. small: 'sm'
  35. }
  36. };
  37. },
  38. render: function render() {
  39. var _classes;
  40. var h = arguments[0];
  41. var customizePrefixCls = this.prefixCls,
  42. size = this.size,
  43. $slots = this.$slots;
  44. var getPrefixCls = this.configProvider.getPrefixCls;
  45. var prefixCls = getPrefixCls('btn-group', customizePrefixCls);
  46. // large => lg
  47. // small => sm
  48. var sizeCls = '';
  49. switch (size) {
  50. case 'large':
  51. sizeCls = 'lg';
  52. break;
  53. case 'small':
  54. sizeCls = 'sm';
  55. break;
  56. default:
  57. break;
  58. }
  59. var classes = (_classes = {}, (0, _defineProperty3['default'])(_classes, '' + prefixCls, true), (0, _defineProperty3['default'])(_classes, prefixCls + '-' + sizeCls, sizeCls), _classes);
  60. return h(
  61. 'div',
  62. { 'class': classes },
  63. [(0, _propsUtil.filterEmpty)($slots['default'])]
  64. );
  65. }
  66. };