@gitlab/ui 105.7.0 → 106.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ # [106.0.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v105.7.0...v106.0.0) (2024-12-20)
2
+
3
+
4
+ ### Features
5
+
6
+ * **GlButtonGroup:** migrate GlButtonGroup ([e1f4927](https://gitlab.com/gitlab-org/gitlab-ui/commit/e1f4927497af1c5e16debfb8a3a668f3c064d5c5))
7
+
8
+
9
+ ### BREAKING CHANGES
10
+
11
+ * **GlButtonGroup:** this removes the `size`, `tag`, and `ariaRole`
12
+ props from GlButtonGroup.
13
+
1
14
  # [105.7.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v105.6.0...v105.7.0) (2024-12-19)
2
15
 
3
16
 
@@ -1,10 +1,16 @@
1
- import { BButtonGroup } from '../../../vendor/bootstrap-vue/src/components/button-group/button-group';
2
1
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
2
 
4
3
  var script = {
5
4
  name: 'GlButtonGroup',
6
- components: {
7
- BButtonGroup
5
+ props: {
6
+ /**
7
+ * When set, rendered the button group in vertical mode.
8
+ */
9
+ vertical: {
10
+ type: Boolean,
11
+ required: false,
12
+ default: false
13
+ }
8
14
  }
9
15
  };
10
16
 
@@ -12,7 +18,7 @@ var script = {
12
18
  const __vue_script__ = script;
13
19
 
14
20
  /* template */
15
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-button-group',_vm._g(_vm._b({},'b-button-group',_vm.$attrs,false),_vm.$listeners),[_vm._t("default")],2)};
21
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g({class:!_vm.vertical ? 'btn-group' : 'btn-group-vertical',attrs:{"role":"group"}},_vm.$listeners),[_vm._t("default")],2)};
16
22
  var __vue_staticRenderFns__ = [];
17
23
 
18
24
  /* style */
@@ -94,28 +94,25 @@ var script = {
94
94
  return `${this.containerClass} ${this.borderClass}`;
95
95
  },
96
96
  hasTitleIcon() {
97
- var _this$titleIcon;
98
- return ((_this$titleIcon = this.titleIcon) === null || _this$titleIcon === void 0 ? void 0 : _this$titleIcon.length) > 0;
97
+ return Boolean(this.titleIcon);
99
98
  },
100
99
  hasTitle() {
101
- var _this$title;
102
- return ((_this$title = this.title) === null || _this$title === void 0 ? void 0 : _this$title.length) > 0;
100
+ return Boolean(this.title);
103
101
  },
104
102
  hasTitlePopover() {
105
- var _this$titlePopover, _this$titlePopover$de;
106
- return ((_this$titlePopover = this.titlePopover) === null || _this$titlePopover === void 0 ? void 0 : (_this$titlePopover$de = _this$titlePopover.description) === null || _this$titlePopover$de === void 0 ? void 0 : _this$titlePopover$de.length) > 0;
103
+ var _this$titlePopover;
104
+ return Boolean((_this$titlePopover = this.titlePopover) === null || _this$titlePopover === void 0 ? void 0 : _this$titlePopover.description);
107
105
  },
108
106
  hasTitlePopoverLink() {
109
- var _this$titlePopover2, _this$titlePopover2$d;
110
- return ((_this$titlePopover2 = this.titlePopover) === null || _this$titlePopover2 === void 0 ? void 0 : (_this$titlePopover2$d = _this$titlePopover2.descriptionLink) === null || _this$titlePopover2$d === void 0 ? void 0 : _this$titlePopover2$d.length) > 0;
107
+ var _this$titlePopover2;
108
+ return Boolean((_this$titlePopover2 = this.titlePopover) === null || _this$titlePopover2 === void 0 ? void 0 : _this$titlePopover2.descriptionLink);
111
109
  },
112
110
  shouldShowActions() {
113
111
  var _this$actions;
114
112
  return ((_this$actions = this.actions) === null || _this$actions === void 0 ? void 0 : _this$actions.length) > 0;
115
113
  },
116
114
  isLoadingDelayed() {
117
- var _this$loadingDelayedT;
118
- return this.loadingDelayed && ((_this$loadingDelayedT = this.loadingDelayedText) === null || _this$loadingDelayedT === void 0 ? void 0 : _this$loadingDelayedT.length) > 0;
115
+ return this.loadingDelayed && Boolean(this.loadingDelayedText);
119
116
  }
120
117
  }
121
118
  };
@@ -1,7 +1,6 @@
1
1
  // Component names
2
2
  const NAME_BUTTON = 'BButton';
3
3
  const NAME_BUTTON_CLOSE = 'BButtonClose';
4
- const NAME_BUTTON_GROUP = 'BButtonGroup';
5
4
  const NAME_COL = 'BCol';
6
5
  const NAME_COLLAPSE = 'BCollapse';
7
6
  const NAME_DROPDOWN = 'BDropdown';
@@ -68,4 +67,4 @@ const NAME_TRANSITION = 'BVTransition';
68
67
  const NAME_TRANSPORTER = 'BVTransporter';
69
68
  const NAME_TRANSPORTER_TARGET = 'BVTransporterTarget';
70
69
 
71
- export { NAME_BUTTON, NAME_BUTTON_CLOSE, NAME_BUTTON_GROUP, NAME_COL, NAME_COLLAPSE, NAME_COLLAPSE_HELPER, NAME_DROPDOWN, NAME_DROPDOWN_DIVIDER, NAME_DROPDOWN_FORM, NAME_DROPDOWN_GROUP, NAME_DROPDOWN_HEADER, NAME_DROPDOWN_ITEM, NAME_DROPDOWN_ITEM_BUTTON, NAME_DROPDOWN_TEXT, NAME_FORM, NAME_FORM_BUTTON_LABEL_CONTROL, NAME_FORM_CHECKBOX, NAME_FORM_CHECKBOX_GROUP, NAME_FORM_GROUP, NAME_FORM_INPUT, NAME_FORM_INVALID_FEEDBACK, NAME_FORM_RADIO, NAME_FORM_RADIO_GROUP, NAME_FORM_RATING_STAR, NAME_FORM_ROW, NAME_FORM_SELECT, NAME_FORM_SELECT_OPTION, NAME_FORM_SELECT_OPTION_GROUP, NAME_FORM_TEXT, NAME_FORM_TEXTAREA, NAME_FORM_VALID_FEEDBACK, NAME_INPUT_GROUP, NAME_INPUT_GROUP_ADDON, NAME_INPUT_GROUP_APPEND, NAME_INPUT_GROUP_PREPEND, NAME_INPUT_GROUP_TEXT, NAME_LINK, NAME_MODAL, NAME_NAV, NAME_NAV_ITEM, NAME_NAV_ITEM_DROPDOWN, NAME_POPOVER, NAME_POPOVER_HELPER, NAME_POPOVER_TEMPLATE, NAME_POPPER, NAME_TAB, NAME_TABLE, NAME_TABLE_CELL, NAME_TABLE_LITE, NAME_TABLE_SIMPLE, NAME_TABS, NAME_TAB_BUTTON_HELPER, NAME_TBODY, NAME_TFOOT, NAME_TH, NAME_THEAD, NAME_TOAST, NAME_TOASTER, NAME_TOAST_POP, NAME_TOOLTIP, NAME_TOOLTIP_HELPER, NAME_TOOLTIP_TEMPLATE, NAME_TR, NAME_TRANSITION, NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET };
70
+ export { NAME_BUTTON, NAME_BUTTON_CLOSE, NAME_COL, NAME_COLLAPSE, NAME_COLLAPSE_HELPER, NAME_DROPDOWN, NAME_DROPDOWN_DIVIDER, NAME_DROPDOWN_FORM, NAME_DROPDOWN_GROUP, NAME_DROPDOWN_HEADER, NAME_DROPDOWN_ITEM, NAME_DROPDOWN_ITEM_BUTTON, NAME_DROPDOWN_TEXT, NAME_FORM, NAME_FORM_BUTTON_LABEL_CONTROL, NAME_FORM_CHECKBOX, NAME_FORM_CHECKBOX_GROUP, NAME_FORM_GROUP, NAME_FORM_INPUT, NAME_FORM_INVALID_FEEDBACK, NAME_FORM_RADIO, NAME_FORM_RADIO_GROUP, NAME_FORM_RATING_STAR, NAME_FORM_ROW, NAME_FORM_SELECT, NAME_FORM_SELECT_OPTION, NAME_FORM_SELECT_OPTION_GROUP, NAME_FORM_TEXT, NAME_FORM_TEXTAREA, NAME_FORM_VALID_FEEDBACK, NAME_INPUT_GROUP, NAME_INPUT_GROUP_ADDON, NAME_INPUT_GROUP_APPEND, NAME_INPUT_GROUP_PREPEND, NAME_INPUT_GROUP_TEXT, NAME_LINK, NAME_MODAL, NAME_NAV, NAME_NAV_ITEM, NAME_NAV_ITEM_DROPDOWN, NAME_POPOVER, NAME_POPOVER_HELPER, NAME_POPOVER_TEMPLATE, NAME_POPPER, NAME_TAB, NAME_TABLE, NAME_TABLE_CELL, NAME_TABLE_LITE, NAME_TABLE_SIMPLE, NAME_TABS, NAME_TAB_BUTTON_HELPER, NAME_TBODY, NAME_TFOOT, NAME_TH, NAME_THEAD, NAME_TOAST, NAME_TOASTER, NAME_TOAST_POP, NAME_TOOLTIP, NAME_TOOLTIP_HELPER, NAME_TOOLTIP_TEMPLATE, NAME_TR, NAME_TRANSITION, NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "105.7.0",
3
+ "version": "106.0.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -1,5 +1,13 @@
1
1
  Button groups are an easy way to group a series of buttons together.
2
2
 
3
+ ```html
4
+ <gl-button-group>
5
+ <gl-button>Download</b-button>
6
+ <gl-button>Browse</b-button>
7
+ <gl-button variant="danger">Delete</b-button>
8
+ </gl-button-group>
9
+ ```
10
+
3
11
  ## Split dropdowns
4
12
 
5
13
  Both `GlCollapsibleListbox` and `GlDisclosureDropdown` can be added as the last
@@ -22,7 +30,15 @@ dropdown's `toggle-text` _and_ `text-sr-only` props are set.
22
30
  </gl-button-group>
23
31
  ```
24
32
 
25
- ## vue-bootstrap component
33
+ ## Vertical variation
26
34
 
27
- This component uses [`BButtonGroup`](https://bootstrap-vue.org/docs/components/button-group) from vue-bootstrap
28
- internally. So please take a look also there at their extensive documentation.
35
+ Make a set of buttons appear vertically stacked rather than horizontally by setting the `vertical` prop.
36
+ Split button dropdowns are not supported here.
37
+
38
+ ```html
39
+ <gl-button-group vertical>
40
+ <gl-button>Top</b-button>
41
+ <gl-button>Middle</b-button>
42
+ <gl-button>Bottom</b-button>
43
+ </gl-button-group>
44
+ ```
@@ -1,16 +1,21 @@
1
1
  <script>
2
- import { BButtonGroup } from '../../../vendor/bootstrap-vue/src/components/button-group/button-group';
3
-
4
2
  export default {
5
3
  name: 'GlButtonGroup',
6
- components: {
7
- BButtonGroup,
4
+ props: {
5
+ /**
6
+ * When set, rendered the button group in vertical mode.
7
+ */
8
+ vertical: {
9
+ type: Boolean,
10
+ required: false,
11
+ default: false,
12
+ },
8
13
  },
9
14
  };
10
15
  </script>
11
16
  <template>
12
- <b-button-group v-bind="$attrs" v-on="$listeners">
17
+ <div :class="!vertical ? 'btn-group' : 'btn-group-vertical'" role="group" v-on="$listeners">
13
18
  <!-- @slot The buttons to group. -->
14
19
  <slot></slot>
15
- </b-button-group>
20
+ </div>
16
21
  </template>
@@ -94,22 +94,22 @@ export default {
94
94
  return `${this.containerClass} ${this.borderClass}`;
95
95
  },
96
96
  hasTitleIcon() {
97
- return this.titleIcon?.length > 0;
97
+ return Boolean(this.titleIcon);
98
98
  },
99
99
  hasTitle() {
100
- return this.title?.length > 0;
100
+ return Boolean(this.title);
101
101
  },
102
102
  hasTitlePopover() {
103
- return this.titlePopover?.description?.length > 0;
103
+ return Boolean(this.titlePopover?.description);
104
104
  },
105
105
  hasTitlePopoverLink() {
106
- return this.titlePopover?.descriptionLink?.length > 0;
106
+ return Boolean(this.titlePopover?.descriptionLink);
107
107
  },
108
108
  shouldShowActions() {
109
109
  return this.actions?.length > 0;
110
110
  },
111
111
  isLoadingDelayed() {
112
- return this.loadingDelayed && this.loadingDelayedText?.length > 0;
112
+ return this.loadingDelayed && Boolean(this.loadingDelayedText);
113
113
  },
114
114
  },
115
115
  };
@@ -1,7 +1,6 @@
1
1
  // Component names
2
2
  export const NAME_BUTTON = 'BButton'
3
3
  export const NAME_BUTTON_CLOSE = 'BButtonClose'
4
- export const NAME_BUTTON_GROUP = 'BButtonGroup'
5
4
  export const NAME_COL = 'BCol'
6
5
  export const NAME_COLLAPSE = 'BCollapse'
7
6
  export const NAME_DROPDOWN = 'BDropdown'
@@ -1,44 +0,0 @@
1
- import { extend, mergeData } from '../../vue';
2
- import { NAME_BUTTON_GROUP } from '../../constants/components';
3
- import { PROP_TYPE_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';
4
- import { sortKeys, pick } from '../../utils/object';
5
- import { makePropsConfigurable, makeProp } from '../../utils/props';
6
- import { props as props$1 } from '../button/button';
7
-
8
- // --- Props ---
9
-
10
- const props = makePropsConfigurable(sortKeys({
11
- ...pick(props$1, ['size']),
12
- ariaRole: makeProp(PROP_TYPE_STRING, 'group'),
13
- size: makeProp(PROP_TYPE_STRING),
14
- tag: makeProp(PROP_TYPE_STRING, 'div'),
15
- vertical: makeProp(PROP_TYPE_BOOLEAN, false)
16
- }), NAME_BUTTON_GROUP);
17
-
18
- // --- Main component ---
19
-
20
- // @vue/component
21
- const BButtonGroup = /*#__PURE__*/extend({
22
- name: NAME_BUTTON_GROUP,
23
- functional: true,
24
- props,
25
- render(h, _ref) {
26
- let {
27
- props,
28
- data,
29
- children
30
- } = _ref;
31
- return h(props.tag, mergeData(data, {
32
- class: {
33
- 'btn-group': !props.vertical,
34
- 'btn-group-vertical': props.vertical,
35
- [`btn-group-${props.size}`]: props.size
36
- },
37
- attrs: {
38
- role: props.ariaRole
39
- }
40
- }), children);
41
- }
42
- });
43
-
44
- export { BButtonGroup, props };
@@ -1 +0,0 @@
1
- export { BButtonGroup } from './button-group';
@@ -1,107 +0,0 @@
1
- # Button Group
2
-
3
- > Group a series of buttons together on a single line with `<b-button-group>`.
4
-
5
- ## Overview
6
-
7
- Button Groups are an easy way to group a series of buttons together.
8
-
9
- ```html
10
- <div>
11
- <div>
12
- <b-button-group>
13
- <b-button>Button 1</b-button>
14
- <b-button>Button 2</b-button>
15
- <b-button>Button 3</b-button>
16
- </b-button-group>
17
- </div>
18
- <div class="mt-3">
19
- <b-button-group>
20
- <b-button variant="success">Success</b-button>
21
- <b-button variant="info">Info</b-button>
22
- <b-button variant="warning">Warning</b-button>
23
- </b-button-group>
24
- </div>
25
- </div>
26
-
27
- <!-- b-button-group.vue -->
28
- ```
29
-
30
- ## Sizing
31
-
32
- Set the `size` prop to `lg` or `sm` to render larger or smaller, respectively, buttons. There is no
33
- need to specify the size on the individual buttons.
34
-
35
- ```html
36
- <div>
37
- <div>
38
- <b-button-group>
39
- <b-button>Button 1</b-button>
40
- <b-button>Button 2</b-button>
41
- <b-button>Button 3</b-button>
42
- </b-button-group>
43
- </div>
44
- <div class="mt-3">
45
- <b-button-group size="sm">
46
- <b-button>Left</b-button>
47
- <b-button>Middle</b-button>
48
- <b-button>Right</b-button>
49
- </b-button-group>
50
- </div>
51
- <div class="mt-3">
52
- <b-button-group size="lg">
53
- <b-button>Left</b-button>
54
- <b-button>Middle</b-button>
55
- <b-button>Right</b-button>
56
- </b-button-group>
57
- </div>
58
- </div>
59
-
60
- <!-- b-button-group-sizes.vue -->
61
- ```
62
-
63
- ## Vertical variation
64
-
65
- Make a set of buttons appear vertically stacked rather than horizontally by setting the `vertical`
66
- prop. Split button dropdowns are not supported here.
67
-
68
- ```html
69
- <div>
70
- <b-button-group vertical>
71
- <b-button>Top</b-button>
72
- <b-button>Middle</b-button>
73
- <b-button>Bottom</b-button>
74
- </b-button-group>
75
- </div>
76
-
77
- <!-- b-button-group-vertical.vue -->
78
- ```
79
-
80
- ## Dropdown menu support
81
-
82
- Add [`<b-dropdown>`](/docs/components/dropdown) menus directly inside your `<b-button-group>`. Note
83
- that split dropdown menus are not supported when prop `vertical` is set.
84
-
85
- ```html
86
- <div>
87
- <b-button-group>
88
- <b-button>Button</b-button>
89
- <b-dropdown right text="Menu">
90
- <b-dropdown-item>Item 1</b-dropdown-item>
91
- <b-dropdown-item>Item 2</b-dropdown-item>
92
- <b-dropdown-divider></b-dropdown-divider>
93
- <b-dropdown-item>Item 3</b-dropdown-item>
94
- </b-dropdown>
95
- <b-dropdown right split text="Split Menu">
96
- <b-dropdown-item>Item 1</b-dropdown-item>
97
- <b-dropdown-item>Item 2</b-dropdown-item>
98
- <b-dropdown-divider></b-dropdown-divider>
99
- <b-dropdown-item>Item 3</b-dropdown-item>
100
- </b-dropdown>
101
- </b-button-group>
102
- </div>
103
-
104
- <!-- b-button-group-menu.vue -->
105
- ```
106
-
107
- <!-- Component reference added automatically from component package.json -->
@@ -1,42 +0,0 @@
1
- import { extend, mergeData } from '../../vue'
2
- import { NAME_BUTTON_GROUP } from '../../constants/components'
3
- import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'
4
- import { pick, sortKeys } from '../../utils/object'
5
- import { makeProp, makePropsConfigurable } from '../../utils/props'
6
- import { props as buttonProps } from '../button/button'
7
-
8
- // --- Props ---
9
-
10
- export const props = makePropsConfigurable(
11
- sortKeys({
12
- ...pick(buttonProps, ['size']),
13
- ariaRole: makeProp(PROP_TYPE_STRING, 'group'),
14
- size: makeProp(PROP_TYPE_STRING),
15
- tag: makeProp(PROP_TYPE_STRING, 'div'),
16
- vertical: makeProp(PROP_TYPE_BOOLEAN, false)
17
- }),
18
- NAME_BUTTON_GROUP
19
- )
20
-
21
- // --- Main component ---
22
-
23
- // @vue/component
24
- export const BButtonGroup = /*#__PURE__*/ extend({
25
- name: NAME_BUTTON_GROUP,
26
- functional: true,
27
- props,
28
- render(h, { props, data, children }) {
29
- return h(
30
- props.tag,
31
- mergeData(data, {
32
- class: {
33
- 'btn-group': !props.vertical,
34
- 'btn-group-vertical': props.vertical,
35
- [`btn-group-${props.size}`]: props.size
36
- },
37
- attrs: { role: props.ariaRole }
38
- }),
39
- children
40
- )
41
- }
42
- })
@@ -1,98 +0,0 @@
1
- import { mount } from '@vue/test-utils'
2
- import { BButtonGroup } from './button-group'
3
-
4
- describe('button-group', () => {
5
- it('has expected default structure', async () => {
6
- const wrapper = mount(BButtonGroup)
7
-
8
- expect(wrapper.element.tagName).toBe('DIV')
9
- expect(wrapper.classes()).toContain('btn-group')
10
- expect(wrapper.classes().length).toBe(1)
11
- expect(wrapper.attributes('role')).toBeDefined()
12
- expect(wrapper.attributes('role')).toBe('group')
13
- expect(wrapper.text()).toBe('')
14
-
15
- wrapper.destroy()
16
- })
17
-
18
- it('should render default slot', async () => {
19
- const wrapper = mount(BButtonGroup, {
20
- slots: {
21
- default: '<span>foobar</span>'
22
- }
23
- })
24
-
25
- expect(wrapper.element.tagName).toBe('DIV')
26
- expect(wrapper.classes()).toContain('btn-group')
27
- expect(wrapper.classes().length).toBe(1)
28
- expect(wrapper.attributes('role')).toBeDefined()
29
- expect(wrapper.attributes('role')).toBe('group')
30
- expect(wrapper.find('span').exists()).toBe(true)
31
- expect(wrapper.text()).toBe('foobar')
32
-
33
- wrapper.destroy()
34
- })
35
-
36
- it('should apply vertical class', async () => {
37
- const wrapper = mount(BButtonGroup, {
38
- propsData: {
39
- vertical: true
40
- }
41
- })
42
-
43
- expect(wrapper.element.tagName).toBe('DIV')
44
- expect(wrapper.classes()).toContain('btn-group-vertical')
45
- expect(wrapper.classes()).not.toContain('btn-group')
46
- expect(wrapper.classes().length).toBe(1)
47
-
48
- wrapper.destroy()
49
- })
50
-
51
- it('should apply size class', async () => {
52
- const wrapper = mount(BButtonGroup, {
53
- propsData: {
54
- size: 'sm'
55
- }
56
- })
57
-
58
- expect(wrapper.element.tagName).toBe('DIV')
59
- expect(wrapper.classes()).toContain('btn-group')
60
- expect(wrapper.classes()).toContain('btn-group-sm')
61
- expect(wrapper.classes().length).toBe(2)
62
-
63
- wrapper.destroy()
64
- })
65
-
66
- it('should apply size class when vertical', async () => {
67
- const wrapper = mount(BButtonGroup, {
68
- propsData: {
69
- size: 'sm',
70
- vertical: true
71
- }
72
- })
73
-
74
- expect(wrapper.element.tagName).toBe('DIV')
75
- expect(wrapper.classes()).toContain('btn-group-sm')
76
- expect(wrapper.classes()).toContain('btn-group-vertical')
77
- expect(wrapper.classes()).not.toContain('btn-group')
78
- expect(wrapper.classes().length).toBe(2)
79
-
80
- wrapper.destroy()
81
- })
82
-
83
- it('has custom role when aria-role prop set', async () => {
84
- const wrapper = mount(BButtonGroup, {
85
- propsData: {
86
- ariaRole: 'foobar'
87
- }
88
- })
89
-
90
- expect(wrapper.element.tagName).toBe('DIV')
91
- expect(wrapper.classes()).toContain('btn-group')
92
- expect(wrapper.classes().length).toBe(1)
93
- expect(wrapper.attributes('role')).toBeDefined()
94
- expect(wrapper.attributes('role')).toBe('foobar')
95
-
96
- wrapper.destroy()
97
- })
98
- })
@@ -1,3 +0,0 @@
1
- import { BButtonGroup } from './button-group'
2
-
3
- export { BButtonGroup }
@@ -1,29 +0,0 @@
1
- {
2
- "name": "@bootstrap-vue/button-group",
3
- "version": "1.0.0",
4
- "meta": {
5
- "title": "Button Group",
6
- "description": "Group a series of buttons together on a single line with <b-button-group>.",
7
- "components": [
8
- {
9
- "component": "BButtonGroup",
10
- "description": "Group a series of buttons together on a single line",
11
- "aliases": [
12
- "BBtnGroup"
13
- ],
14
- "props": [
15
- {
16
- "prop": "vertical",
17
- "description": "When set, rendered the button group in vertical mode"
18
- }
19
- ],
20
- "slots": [
21
- {
22
- "name": "default",
23
- "description": "Content (buttons) to place in the button group"
24
- }
25
- ]
26
- }
27
- ]
28
- }
29
- }