@gitlab/ui 132.1.0 → 132.2.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/dist/components/base/accordion/accordion_item.js +1 -3
- package/dist/components/base/avatar/avatar.js +76 -5
- package/dist/components/base/badge/badge.js +5 -7
- package/dist/components/base/button/button.js +1 -3
- package/dist/components/base/collapse/collapse.js +2 -6
- package/dist/components/base/datepicker/datepicker.js +4 -5
- package/dist/components/base/daterange_picker/daterange_picker.js +2 -4
- package/dist/components/base/dropdown/dropdown_item.js +3 -4
- package/dist/components/base/filtered_search/filtered_search.js +55 -7
- package/dist/components/base/filtered_search/filtered_search_token.js +6 -14
- package/dist/components/base/filtered_search/filtered_search_token_segment.js +39 -19
- package/dist/components/base/filtered_search/filtered_search_utils.js +57 -7
- package/dist/components/base/form/form_checkbox/form_checkbox.js +13 -26
- package/dist/components/base/form/form_checkbox/form_checkbox_group.js +1 -3
- package/dist/components/base/form/form_fields/form_fields_loop.js +57 -6
- package/dist/components/base/form/form_group/form_group.js +1 -3
- package/dist/components/base/form/form_input/form_input.js +95 -41
- package/dist/components/base/form/form_input_group/form_input_group.js +2 -4
- package/dist/components/base/form/form_radio/form_radio.js +5 -9
- package/dist/components/base/form/form_radio_group/form_radio_group.js +1 -3
- package/dist/components/base/form/form_select/form_select.js +76 -5
- package/dist/components/base/infinite_scroll/infinite_scroll.js +7 -14
- package/dist/components/base/link/link.js +26 -7
- package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +93 -32
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +2 -6
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +2 -6
- package/dist/components/base/new_dropdowns/listbox/listbox.js +5 -13
- package/dist/components/base/new_dropdowns/listbox/listbox_item.js +1 -3
- package/dist/components/base/new_dropdowns/listbox/mock_data.js +2 -6
- package/dist/components/base/new_dropdowns/listbox/utils.js +6 -11
- package/dist/components/base/path/path.js +1 -5
- package/dist/components/base/search_box_by_type/search_box_by_type.js +2 -6
- package/dist/components/base/skeleton_loader/skeleton_loader.js +3 -5
- package/dist/components/base/table/table.js +32 -21
- package/dist/components/base/table_lite/table_lite.js +1 -3
- package/dist/components/base/tabs/tab/tab.js +1 -3
- package/dist/components/base/tabs/tabs/scrollable_tabs.js +1 -5
- package/dist/components/base/token_selector/token_selector.js +2 -6
- package/dist/components/charts/area/area.js +6 -7
- package/dist/components/charts/column/column.js +11 -15
- package/dist/components/charts/discrete_scatter/discrete_scatter.js +57 -5
- package/dist/components/charts/gauge/gauge.js +13 -21
- package/dist/components/charts/heatmap/heatmap.js +66 -18
- package/dist/components/charts/legend/legend.js +59 -13
- package/dist/components/charts/line/line.js +6 -7
- package/dist/components/charts/shared/tooltip/tooltip.js +11 -18
- package/dist/components/charts/sparkline/sparkline.js +72 -19
- package/dist/components/charts/stacked_column/stacked_column.js +18 -31
- package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +37 -21
- package/dist/components/utilities/friendly_wrap/friendly_wrap.js +3 -7
- package/dist/components/utilities/intersperse/intersperse.js +6 -11
- package/dist/components/utilities/sprintf/sprintf.js +58 -7
- package/dist/components/utilities/truncate/truncate.js +2 -4
- package/dist/components/utilities/truncate_text/truncate_text.js +1 -3
- package/dist/config.js +3 -4
- package/dist/directives/hover_load/hover_load.js +1 -3
- package/dist/directives/outside/outside.js +9 -16
- package/dist/directives/resize_observer/resize_observer.js +6 -8
- package/dist/directives/safe_html/safe_html.js +1 -3
- package/dist/directives/safe_link/safe_link.js +11 -14
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/tokens/build/js/tokens.dark.js +95 -95
- package/dist/tokens/build/js/tokens.js +74 -74
- package/dist/tokens/common_story_options.js +7 -8
- package/dist/utils/charts/config.js +122 -90
- package/dist/utils/constants.js +26 -1
- package/dist/utils/data_utils.js +28 -1
- package/dist/utils/form_options_utils.js +4 -6
- package/dist/utils/is_slot_empty.js +3 -5
- package/dist/utils/stories_utils.js +8 -8
- package/dist/utils/use_mock_intersection_observer.js +63 -12
- package/dist/utils/utils.js +76 -19
- package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +8 -11
- package/dist/vendor/bootstrap-vue/src/components/button/button.js +12 -17
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +3 -6
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +6 -9
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +14 -19
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +8 -13
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +9 -12
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +8 -11
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +9 -14
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +34 -43
- package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +5 -9
- package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +7 -10
- package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +5 -9
- package/dist/vendor/bootstrap-vue/src/components/form/form.js +7 -10
- package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +25 -33
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +6 -11
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +6 -12
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +28 -29
- package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +7 -10
- package/dist/vendor/bootstrap-vue/src/components/layout/col.js +7 -11
- package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +3 -5
- package/dist/vendor/bootstrap-vue/src/components/link/link.js +19 -31
- package/dist/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +3 -4
- package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +59 -68
- package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +2 -4
- package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +4 -5
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +11 -7
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +4 -6
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +3 -6
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +4 -7
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +1 -3
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +16 -20
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +14 -25
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +23 -35
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +6 -8
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +8 -10
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +8 -15
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +33 -41
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +3 -8
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +38 -50
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +19 -31
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +13 -23
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +5 -6
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +17 -21
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +4 -6
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +1 -3
- package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +3 -6
- package/dist/vendor/bootstrap-vue/src/components/table/td.js +9 -14
- package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +1 -2
- package/dist/vendor/bootstrap-vue/src/components/table/thead.js +1 -2
- package/dist/vendor/bootstrap-vue/src/components/table/tr.js +2 -5
- package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +19 -36
- package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +66 -81
- package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +2 -6
- package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +5 -11
- package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +8 -14
- package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +19 -22
- package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +7 -10
- package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +7 -14
- package/dist/vendor/bootstrap-vue/src/directives/modal/modal.js +4 -5
- package/dist/vendor/bootstrap-vue/src/directives/visible/visible.js +5 -9
- package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +17 -29
- package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +6 -7
- package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +1 -2
- package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +5 -6
- package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +1 -2
- package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +1 -2
- package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +29 -43
- package/dist/vendor/bootstrap-vue/src/mixins/id.js +1 -2
- package/dist/vendor/bootstrap-vue/src/utils/create-new-child-component.js +62 -15
- package/dist/vendor/bootstrap-vue/src/utils/dom.js +3 -9
- package/dist/vendor/bootstrap-vue/src/utils/events.js +7 -5
- package/dist/vendor/bootstrap-vue/src/utils/plugins.js +4 -5
- package/dist/vendor/bootstrap-vue/src/utils/router.js +9 -13
- package/package.json +9 -7
- package/src/scss/gitlab_ui.scss +3 -0
- package/src/scss/storybook.scss +3 -0
- package/src/scss/themes.scss +84 -0
- package/src/tokens/build/css/tokens.css +142 -142
- package/src/tokens/build/css/tokens.dark.css +138 -138
- package/src/tokens/build/docs/tokens-tailwind-docs.dark.json +580 -580
- package/src/tokens/build/docs/tokens-tailwind-docs.json +495 -495
- package/src/tokens/build/figma/constants.dark.json +799 -799
- package/src/tokens/build/figma/constants.json +799 -799
- package/src/tokens/build/js/tokens.dark.js +95 -95
- package/src/tokens/build/js/tokens.js +74 -74
- package/src/tokens/build/json/tokens.dark.json +1668 -1668
- package/src/tokens/build/json/tokens.json +1647 -1647
- package/src/tokens/build/scss/_tokens.dark.scss +138 -138
- package/src/tokens/build/scss/_tokens.scss +142 -142
- package/src/tokens/build/scss/_tokens_custom_properties.scss +73 -73
- package/src/tokens/constant/color.blue.tokens.json +182 -0
- package/src/tokens/constant/color.brand.tokens.json +252 -0
- package/src/tokens/constant/color.data.tokens.json +894 -0
- package/src/tokens/constant/color.green.tokens.json +182 -0
- package/src/tokens/constant/color.neutral.tokens.json +230 -0
- package/src/tokens/constant/color.orange.tokens.json +182 -0
- package/src/tokens/constant/color.purple.tokens.json +182 -0
- package/src/tokens/constant/color.red.tokens.json +182 -0
- package/src/tokens/constant/color.theme.tokens.json +1168 -0
- package/src/tokens/deprecated/deprecated.color.tokens.json +134 -1340
- package/src/utils/constants.js +9 -0
- package/src/vendor/bootstrap-vue/src/components/button/button-close.js +4 -5
- package/src/vendor/bootstrap-vue/src/components/button/button.js +7 -8
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +1 -2
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +2 -8
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +6 -7
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +3 -4
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +6 -12
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +2 -3
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +3 -4
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +19 -26
- package/src/vendor/bootstrap-vue/src/components/form/form-text.js +4 -6
- package/src/vendor/bootstrap-vue/src/components/form/form.js +4 -6
- package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +14 -20
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +1 -2
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +1 -4
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +13 -14
- package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +5 -6
- package/src/vendor/bootstrap-vue/src/components/modal/modal.js +53 -62
- package/src/vendor/bootstrap-vue/src/components/popover/popover.js +4 -10
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +1 -2
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +2 -3
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +5 -6
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +5 -13
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +12 -21
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +2 -3
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +5 -11
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +4 -5
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +14 -21
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +1 -2
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +14 -20
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +3 -9
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +1 -2
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +5 -11
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +4 -5
- package/src/vendor/bootstrap-vue/src/components/table/tbody.js +2 -3
- package/src/vendor/bootstrap-vue/src/components/table/td.js +5 -6
- package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +1 -2
- package/src/vendor/bootstrap-vue/src/components/table/thead.js +1 -2
- package/src/vendor/bootstrap-vue/src/components/table/tr.js +1 -2
- package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +10 -16
- package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +33 -39
- package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +17 -25
- package/src/vendor/bootstrap-vue/src/components/transition/bv-transition.js +4 -5
- package/src/vendor/bootstrap-vue/src/components/transporter/transporter.js +4 -10
- package/src/vendor/bootstrap-vue/src/mixins/dropdown.js +9 -15
- package/src/vendor/bootstrap-vue/src/mixins/form-control.js +6 -7
- package/src/vendor/bootstrap-vue/src/mixins/form-custom.js +1 -2
- package/src/vendor/bootstrap-vue/src/mixins/form-options.js +5 -6
- package/src/vendor/bootstrap-vue/src/mixins/form-size.js +1 -2
- package/src/vendor/bootstrap-vue/src/mixins/form-state.js +1 -2
- package/src/vendor/bootstrap-vue/src/mixins/form-text.js +21 -33
- package/src/vendor/bootstrap-vue/src/mixins/id.js +1 -2
- package/dist/vendor/bootstrap-vue/src/mixins/model.js +0 -10
- package/dist/vendor/bootstrap-vue/src/utils/model.js +0 -33
- package/src/tokens/constant/color.tokens.json +0 -3422
- package/src/vendor/bootstrap-vue/src/mixins/model.js +0 -5
- package/src/vendor/bootstrap-vue/src/utils/model.js +0 -29
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { extend } from '../../vue';
|
|
2
2
|
import { NAME_FORM_TEXTAREA } from '../../constants/components';
|
|
3
|
-
import { PROP_TYPE_NUMBER, PROP_TYPE_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';
|
|
4
3
|
import { requestAF, isVisible, getCS, getStyle, setStyle } from '../../utils/dom';
|
|
5
4
|
import { isNull } from '../../utils/inspect';
|
|
6
5
|
import { mathMax, mathMin, mathCeil } from '../../utils/math';
|
|
@@ -26,31 +25,31 @@ const props = sortKeys({
|
|
|
26
25
|
...props$4,
|
|
27
26
|
...props$5,
|
|
28
27
|
maxRows: {
|
|
29
|
-
type: [
|
|
28
|
+
type: [Number, String],
|
|
30
29
|
required: false,
|
|
31
30
|
default: undefined
|
|
32
31
|
},
|
|
33
32
|
// When in auto resize mode, disable shrinking to content height
|
|
34
33
|
noAutoShrink: {
|
|
35
|
-
type:
|
|
34
|
+
type: Boolean,
|
|
36
35
|
required: false,
|
|
37
36
|
default: false
|
|
38
37
|
},
|
|
39
38
|
// Disable the resize handle of textarea
|
|
40
39
|
noResize: {
|
|
41
|
-
type:
|
|
40
|
+
type: Boolean,
|
|
42
41
|
required: false,
|
|
43
42
|
default: false
|
|
44
43
|
},
|
|
45
44
|
rows: {
|
|
46
|
-
type: [
|
|
45
|
+
type: [Number, String],
|
|
47
46
|
required: false,
|
|
48
47
|
default: 2
|
|
49
48
|
},
|
|
50
49
|
// 'soft', 'hard' or 'off'
|
|
51
50
|
// Browser default is 'soft'
|
|
52
51
|
wrap: {
|
|
53
|
-
type:
|
|
52
|
+
type: String,
|
|
54
53
|
required: false,
|
|
55
54
|
default: 'soft'
|
|
56
55
|
}
|
|
@@ -107,10 +106,8 @@ const BFormTextarea = /*#__PURE__*/extend({
|
|
|
107
106
|
return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;
|
|
108
107
|
},
|
|
109
108
|
computedAttrs() {
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
required
|
|
113
|
-
} = this;
|
|
109
|
+
const disabled = this.disabled,
|
|
110
|
+
required = this.required;
|
|
114
111
|
return {
|
|
115
112
|
id: this.safeId(),
|
|
116
113
|
name: this.name || null,
|
|
@@ -112,17 +112,13 @@ const BCol = {
|
|
|
112
112
|
return this.props = generateProps();
|
|
113
113
|
},
|
|
114
114
|
render(h, _ref) {
|
|
115
|
-
let
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
offset,
|
|
123
|
-
order,
|
|
124
|
-
alignSelf
|
|
125
|
-
} = props;
|
|
115
|
+
let props = _ref.props,
|
|
116
|
+
data = _ref.data,
|
|
117
|
+
children = _ref.children;
|
|
118
|
+
const cols = props.cols,
|
|
119
|
+
offset = props.offset,
|
|
120
|
+
order = props.order,
|
|
121
|
+
alignSelf = props.alignSelf;
|
|
126
122
|
const classList = [];
|
|
127
123
|
// Loop through `col`, `offset`, `order` breakpoint props
|
|
128
124
|
for (const type in breakpointPropMap) {
|
|
@@ -20,11 +20,9 @@ const BFormRow = /*#__PURE__*/extend({
|
|
|
20
20
|
functional: true,
|
|
21
21
|
props,
|
|
22
22
|
render(h, _ref) {
|
|
23
|
-
let
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
children
|
|
27
|
-
} = _ref;
|
|
23
|
+
let props = _ref.props,
|
|
24
|
+
data = _ref.data,
|
|
25
|
+
children = _ref.children;
|
|
28
26
|
return h(props.tag, mergeData(data, {
|
|
29
27
|
staticClass: 'form-row'
|
|
30
28
|
}), children);
|
|
@@ -116,11 +116,9 @@ const BLink = /*#__PURE__*/extend({
|
|
|
116
116
|
computed: {
|
|
117
117
|
computedTag() {
|
|
118
118
|
// We don't pass `this` as the first arg as we need reactivity of the props
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
routerComponentName
|
|
123
|
-
} = this;
|
|
119
|
+
const to = this.to,
|
|
120
|
+
disabled = this.disabled,
|
|
121
|
+
routerComponentName = this.routerComponentName;
|
|
124
122
|
return computeTag({
|
|
125
123
|
to,
|
|
126
124
|
disabled,
|
|
@@ -135,10 +133,8 @@ const BLink = /*#__PURE__*/extend({
|
|
|
135
133
|
},
|
|
136
134
|
computedRel() {
|
|
137
135
|
// We don't pass `this` as the first arg as we need reactivity of the props
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
rel
|
|
141
|
-
} = this;
|
|
136
|
+
const target = this.target,
|
|
137
|
+
rel = this.rel;
|
|
142
138
|
return computeRel({
|
|
143
139
|
target,
|
|
144
140
|
rel
|
|
@@ -146,10 +142,8 @@ const BLink = /*#__PURE__*/extend({
|
|
|
146
142
|
},
|
|
147
143
|
computedHref() {
|
|
148
144
|
// We don't pass `this` as the first arg as we need reactivity of the props
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
href
|
|
152
|
-
} = this;
|
|
145
|
+
const to = this.to,
|
|
146
|
+
href = this.href;
|
|
153
147
|
return computeHref({
|
|
154
148
|
to,
|
|
155
149
|
href
|
|
@@ -157,11 +151,9 @@ const BLink = /*#__PURE__*/extend({
|
|
|
157
151
|
},
|
|
158
152
|
computedProps() {
|
|
159
153
|
if (!this.isRouterLink) return {};
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
routerTag
|
|
164
|
-
} = this;
|
|
154
|
+
const event = this.event,
|
|
155
|
+
prefetch = this.prefetch,
|
|
156
|
+
routerTag = this.routerTag;
|
|
165
157
|
const propsToPass = ['activeClass', 'append', 'exact', 'exactActiveClass', 'exactPath', 'exactPathActiveClass', 'replace', 'to'];
|
|
166
158
|
if (this.isNuxtLink) propsToPass.push('noPrefetch');
|
|
167
159
|
return {
|
|
@@ -180,15 +172,13 @@ const BLink = /*#__PURE__*/extend({
|
|
|
180
172
|
};
|
|
181
173
|
},
|
|
182
174
|
computedAttrs() {
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
isRouterLink
|
|
191
|
-
} = this;
|
|
175
|
+
const bvAttrs = this.bvAttrs,
|
|
176
|
+
href = this.computedHref,
|
|
177
|
+
rel = this.computedRel,
|
|
178
|
+
disabled = this.disabled,
|
|
179
|
+
target = this.target,
|
|
180
|
+
routerTag = this.routerTag,
|
|
181
|
+
isRouterLink = this.isRouterLink;
|
|
192
182
|
return {
|
|
193
183
|
...bvAttrs,
|
|
194
184
|
// If `href` attribute exists on `<router-link>` (even `undefined` or `null`)
|
|
@@ -263,10 +253,8 @@ const BLink = /*#__PURE__*/extend({
|
|
|
263
253
|
}
|
|
264
254
|
},
|
|
265
255
|
render(h) {
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
disabled
|
|
269
|
-
} = this;
|
|
256
|
+
const active = this.active,
|
|
257
|
+
disabled = this.disabled;
|
|
270
258
|
return h(this.computedTag, {
|
|
271
259
|
class: {
|
|
272
260
|
active,
|
|
@@ -128,10 +128,9 @@ const ModalManager = /*#__PURE__*/extend({
|
|
|
128
128
|
},
|
|
129
129
|
checkScrollbar() {
|
|
130
130
|
// Determine if the body element is overflowing
|
|
131
|
-
const
|
|
132
|
-
left,
|
|
133
|
-
right
|
|
134
|
-
} = getBCR(document.body);
|
|
131
|
+
const _getBCR = getBCR(document.body),
|
|
132
|
+
left = _getBCR.left,
|
|
133
|
+
right = _getBCR.right;
|
|
135
134
|
this.isBodyOverflowing = left + right < window.innerWidth;
|
|
136
135
|
},
|
|
137
136
|
setScrollbar() {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { extend, COMPONENT_UID_KEY } from '../../vue';
|
|
2
2
|
import { NAME_MODAL } from '../../constants/components';
|
|
3
3
|
import { IS_BROWSER } from '../../constants/env';
|
|
4
|
-
import {
|
|
4
|
+
import { EVENT_NAME_SHOW, EVENT_NAME_HIDE, EVENT_NAME_TOGGLE, EVENT_NAME_OK, EVENT_NAME_CANCEL, EVENT_NAME_CLOSE, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, EVENT_NAME_CHANGE } from '../../constants/events';
|
|
5
5
|
import { CODE_ESC } from '../../constants/key-codes';
|
|
6
|
-
import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING, PROP_TYPE_ARRAY, PROP_TYPE_OBJECT } from '../../constants/props';
|
|
7
6
|
import { HTMLElement } from '../../constants/safe-types';
|
|
8
7
|
import { SLOT_NAME_MODAL_TITLE, SLOT_NAME_MODAL_HEADER, SLOT_NAME_MODAL_HEADER_CLOSE, SLOT_NAME_DEFAULT, SLOT_NAME_MODAL_FOOTER, SLOT_NAME_MODAL_CANCEL, SLOT_NAME_MODAL_OK, SLOT_NAME_MODAL_BACKDROP } from '../../constants/slots';
|
|
9
8
|
import { concat } from '../../utils/array';
|
|
@@ -12,7 +11,6 @@ import { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../
|
|
|
12
11
|
import { htmlOrText } from '../../utils/html';
|
|
13
12
|
import { identity } from '../../utils/identity';
|
|
14
13
|
import { isUndefinedOrNull, isString } from '../../utils/inspect';
|
|
15
|
-
import { makeModelMixin } from '../../utils/model';
|
|
16
14
|
import { sortKeys } from '../../utils/object';
|
|
17
15
|
import { observeDom } from '../../utils/observe-dom';
|
|
18
16
|
import { attrsMixin } from '../../mixins/attrs';
|
|
@@ -31,16 +29,8 @@ import { modalManager } from './helpers/modal-manager';
|
|
|
31
29
|
|
|
32
30
|
// --- Constants ---
|
|
33
31
|
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
props: modelProps,
|
|
37
|
-
prop: MODEL_PROP_NAME,
|
|
38
|
-
event: MODEL_EVENT_NAME
|
|
39
|
-
} = makeModelMixin('visible', {
|
|
40
|
-
type: PROP_TYPE_BOOLEAN,
|
|
41
|
-
defaultValue: false,
|
|
42
|
-
event: EVENT_NAME_CHANGE
|
|
43
|
-
});
|
|
32
|
+
const MODEL_PROP_NAME = 'visible';
|
|
33
|
+
const MODEL_EVENT_NAME = EVENT_NAME_CHANGE;
|
|
44
34
|
const TRIGGER_BACKDROP = 'backdrop';
|
|
45
35
|
const TRIGGER_ESC = 'esc';
|
|
46
36
|
const TRIGGER_FORCE = 'FORCE';
|
|
@@ -65,14 +55,17 @@ const OBSERVER_CONFIG = {
|
|
|
65
55
|
|
|
66
56
|
const props = sortKeys({
|
|
67
57
|
...props$1,
|
|
68
|
-
|
|
58
|
+
[MODEL_PROP_NAME]: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
default: false
|
|
61
|
+
},
|
|
69
62
|
ariaLabel: {
|
|
70
|
-
type:
|
|
63
|
+
type: String,
|
|
71
64
|
required: false,
|
|
72
65
|
default: undefined
|
|
73
66
|
},
|
|
74
67
|
autoFocusButton: {
|
|
75
|
-
type:
|
|
68
|
+
type: String,
|
|
76
69
|
required: false,
|
|
77
70
|
default: null,
|
|
78
71
|
validator: value => {
|
|
@@ -80,212 +73,212 @@ const props = sortKeys({
|
|
|
80
73
|
}
|
|
81
74
|
},
|
|
82
75
|
bodyClass: {
|
|
83
|
-
type: [
|
|
76
|
+
type: [Array, Object, String],
|
|
84
77
|
required: false,
|
|
85
78
|
default: undefined
|
|
86
79
|
},
|
|
87
80
|
busy: {
|
|
88
|
-
type:
|
|
81
|
+
type: Boolean,
|
|
89
82
|
required: false,
|
|
90
83
|
default: false
|
|
91
84
|
},
|
|
92
85
|
buttonSize: {
|
|
93
|
-
type:
|
|
86
|
+
type: String,
|
|
94
87
|
required: false,
|
|
95
88
|
default: undefined
|
|
96
89
|
},
|
|
97
90
|
cancelDisabled: {
|
|
98
|
-
type:
|
|
91
|
+
type: Boolean,
|
|
99
92
|
required: false,
|
|
100
93
|
default: false
|
|
101
94
|
},
|
|
102
95
|
cancelTitle: {
|
|
103
|
-
type:
|
|
96
|
+
type: String,
|
|
104
97
|
required: false,
|
|
105
98
|
default: 'Cancel'
|
|
106
99
|
},
|
|
107
100
|
cancelTitleHtml: {
|
|
108
|
-
type:
|
|
101
|
+
type: String,
|
|
109
102
|
required: false,
|
|
110
103
|
default: undefined
|
|
111
104
|
},
|
|
112
105
|
cancelVariant: {
|
|
113
|
-
type:
|
|
106
|
+
type: String,
|
|
114
107
|
required: false,
|
|
115
108
|
default: 'secondary'
|
|
116
109
|
},
|
|
117
110
|
centered: {
|
|
118
|
-
type:
|
|
111
|
+
type: Boolean,
|
|
119
112
|
required: false,
|
|
120
113
|
default: false
|
|
121
114
|
},
|
|
122
115
|
contentClass: {
|
|
123
|
-
type: [
|
|
116
|
+
type: [Array, Object, String],
|
|
124
117
|
required: false,
|
|
125
118
|
default: undefined
|
|
126
119
|
},
|
|
127
120
|
dialogClass: {
|
|
128
|
-
type: [
|
|
121
|
+
type: [Array, Object, String],
|
|
129
122
|
required: false,
|
|
130
123
|
default: undefined
|
|
131
124
|
},
|
|
132
125
|
footerClass: {
|
|
133
|
-
type: [
|
|
126
|
+
type: [Array, Object, String],
|
|
134
127
|
required: false,
|
|
135
128
|
default: undefined
|
|
136
129
|
},
|
|
137
130
|
footerTag: {
|
|
138
|
-
type:
|
|
131
|
+
type: String,
|
|
139
132
|
required: false,
|
|
140
133
|
default: 'footer'
|
|
141
134
|
},
|
|
142
135
|
headerClass: {
|
|
143
|
-
type: [
|
|
136
|
+
type: [Array, Object, String],
|
|
144
137
|
required: false,
|
|
145
138
|
default: undefined
|
|
146
139
|
},
|
|
147
140
|
headerCloseContent: {
|
|
148
|
-
type:
|
|
141
|
+
type: String,
|
|
149
142
|
required: false,
|
|
150
143
|
default: '×'
|
|
151
144
|
},
|
|
152
145
|
headerCloseLabel: {
|
|
153
|
-
type:
|
|
146
|
+
type: String,
|
|
154
147
|
required: false,
|
|
155
148
|
default: 'Close'
|
|
156
149
|
},
|
|
157
150
|
headerTag: {
|
|
158
|
-
type:
|
|
151
|
+
type: String,
|
|
159
152
|
required: false,
|
|
160
153
|
default: 'header'
|
|
161
154
|
},
|
|
162
155
|
// TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`
|
|
163
156
|
hideBackdrop: {
|
|
164
|
-
type:
|
|
157
|
+
type: Boolean,
|
|
165
158
|
required: false,
|
|
166
159
|
default: false
|
|
167
160
|
},
|
|
168
161
|
// TODO: Rename to `noFooter` and deprecate `hideFooter`
|
|
169
162
|
hideFooter: {
|
|
170
|
-
type:
|
|
163
|
+
type: Boolean,
|
|
171
164
|
required: false,
|
|
172
165
|
default: false
|
|
173
166
|
},
|
|
174
167
|
// TODO: Rename to `noHeader` and deprecate `hideHeader`
|
|
175
168
|
hideHeader: {
|
|
176
|
-
type:
|
|
169
|
+
type: Boolean,
|
|
177
170
|
required: false,
|
|
178
171
|
default: false
|
|
179
172
|
},
|
|
180
173
|
// TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`
|
|
181
174
|
hideHeaderClose: {
|
|
182
|
-
type:
|
|
175
|
+
type: Boolean,
|
|
183
176
|
required: false,
|
|
184
177
|
default: false
|
|
185
178
|
},
|
|
186
179
|
ignoreEnforceFocusSelector: {
|
|
187
|
-
type: [
|
|
180
|
+
type: [Array, String],
|
|
188
181
|
required: false,
|
|
189
182
|
default: undefined
|
|
190
183
|
},
|
|
191
184
|
lazy: {
|
|
192
|
-
type:
|
|
185
|
+
type: Boolean,
|
|
193
186
|
required: false,
|
|
194
187
|
default: false
|
|
195
188
|
},
|
|
196
189
|
modalClass: {
|
|
197
|
-
type: [
|
|
190
|
+
type: [Array, Object, String],
|
|
198
191
|
required: false,
|
|
199
192
|
default: undefined
|
|
200
193
|
},
|
|
201
194
|
noCloseOnBackdrop: {
|
|
202
|
-
type:
|
|
195
|
+
type: Boolean,
|
|
203
196
|
required: false,
|
|
204
197
|
default: false
|
|
205
198
|
},
|
|
206
199
|
noCloseOnEsc: {
|
|
207
|
-
type:
|
|
200
|
+
type: Boolean,
|
|
208
201
|
required: false,
|
|
209
202
|
default: false
|
|
210
203
|
},
|
|
211
204
|
noEnforceFocus: {
|
|
212
|
-
type:
|
|
205
|
+
type: Boolean,
|
|
213
206
|
required: false,
|
|
214
207
|
default: false
|
|
215
208
|
},
|
|
216
209
|
noFade: {
|
|
217
|
-
type:
|
|
210
|
+
type: Boolean,
|
|
218
211
|
required: false,
|
|
219
212
|
default: false
|
|
220
213
|
},
|
|
221
214
|
noStacking: {
|
|
222
|
-
type:
|
|
215
|
+
type: Boolean,
|
|
223
216
|
required: false,
|
|
224
217
|
default: false
|
|
225
218
|
},
|
|
226
219
|
okDisabled: {
|
|
227
|
-
type:
|
|
220
|
+
type: Boolean,
|
|
228
221
|
required: false,
|
|
229
222
|
default: false
|
|
230
223
|
},
|
|
231
224
|
okOnly: {
|
|
232
|
-
type:
|
|
225
|
+
type: Boolean,
|
|
233
226
|
required: false,
|
|
234
227
|
default: false
|
|
235
228
|
},
|
|
236
229
|
okTitle: {
|
|
237
|
-
type:
|
|
230
|
+
type: String,
|
|
238
231
|
required: false,
|
|
239
232
|
default: 'OK'
|
|
240
233
|
},
|
|
241
234
|
okTitleHtml: {
|
|
242
|
-
type:
|
|
235
|
+
type: String,
|
|
243
236
|
required: false,
|
|
244
237
|
default: undefined
|
|
245
238
|
},
|
|
246
239
|
okVariant: {
|
|
247
|
-
type:
|
|
240
|
+
type: String,
|
|
248
241
|
required: false,
|
|
249
242
|
default: 'primary'
|
|
250
243
|
},
|
|
251
244
|
// HTML Element, CSS selector string or Vue component instance
|
|
252
245
|
returnFocus: {
|
|
253
|
-
type: [HTMLElement,
|
|
246
|
+
type: [HTMLElement, Object, String],
|
|
254
247
|
required: false,
|
|
255
248
|
default: undefined
|
|
256
249
|
},
|
|
257
250
|
scrollable: {
|
|
258
|
-
type:
|
|
251
|
+
type: Boolean,
|
|
259
252
|
required: false,
|
|
260
253
|
default: false
|
|
261
254
|
},
|
|
262
255
|
size: {
|
|
263
|
-
type:
|
|
256
|
+
type: String,
|
|
264
257
|
required: false,
|
|
265
258
|
default: 'md'
|
|
266
259
|
},
|
|
267
260
|
static: {
|
|
268
|
-
type:
|
|
261
|
+
type: Boolean,
|
|
269
262
|
required: false,
|
|
270
263
|
default: false
|
|
271
264
|
},
|
|
272
265
|
title: {
|
|
273
|
-
type:
|
|
266
|
+
type: String,
|
|
274
267
|
required: false,
|
|
275
268
|
default: undefined
|
|
276
269
|
},
|
|
277
270
|
titleClass: {
|
|
278
|
-
type: [
|
|
271
|
+
type: [Array, Object, String],
|
|
279
272
|
required: false,
|
|
280
273
|
default: undefined
|
|
281
274
|
},
|
|
282
275
|
titleHtml: {
|
|
283
|
-
type:
|
|
276
|
+
type: String,
|
|
284
277
|
required: false,
|
|
285
278
|
default: undefined
|
|
286
279
|
},
|
|
287
280
|
titleTag: {
|
|
288
|
-
type:
|
|
281
|
+
type: String,
|
|
289
282
|
required: false,
|
|
290
283
|
default: 'h5'
|
|
291
284
|
}
|
|
@@ -296,7 +289,11 @@ const props = sortKeys({
|
|
|
296
289
|
// @vue/component
|
|
297
290
|
const BModal = /*#__PURE__*/extend({
|
|
298
291
|
name: NAME_MODAL,
|
|
299
|
-
mixins: [attrsMixin, idMixin,
|
|
292
|
+
mixins: [attrsMixin, idMixin, listenOnDocumentMixin, listenOnRootMixin, listenOnWindowMixin, normalizeSlotMixin, scopedStyleMixin],
|
|
293
|
+
model: {
|
|
294
|
+
prop: MODEL_PROP_NAME,
|
|
295
|
+
event: MODEL_EVENT_NAME
|
|
296
|
+
},
|
|
300
297
|
inheritAttrs: false,
|
|
301
298
|
props,
|
|
302
299
|
data() {
|
|
@@ -402,10 +399,8 @@ const BModal = /*#__PURE__*/extend({
|
|
|
402
399
|
};
|
|
403
400
|
},
|
|
404
401
|
computedModalAttrs() {
|
|
405
|
-
const
|
|
406
|
-
|
|
407
|
-
ariaLabel
|
|
408
|
-
} = this;
|
|
402
|
+
const isVisible = this.isVisible,
|
|
403
|
+
ariaLabel = this.ariaLabel;
|
|
409
404
|
return {
|
|
410
405
|
id: this.modalId,
|
|
411
406
|
role: 'dialog',
|
|
@@ -667,9 +662,7 @@ const BModal = /*#__PURE__*/extend({
|
|
|
667
662
|
});
|
|
668
663
|
},
|
|
669
664
|
emitEvent(bvEvent) {
|
|
670
|
-
const
|
|
671
|
-
type
|
|
672
|
-
} = bvEvent;
|
|
665
|
+
const type = bvEvent.type;
|
|
673
666
|
// We emit on `$root` first in case a global listener wants to cancel
|
|
674
667
|
// the event first before the instance emits its event
|
|
675
668
|
this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId);
|
|
@@ -724,9 +717,7 @@ const BModal = /*#__PURE__*/extend({
|
|
|
724
717
|
focusHandler(event) {
|
|
725
718
|
// If focus leaves modal content, bring it back
|
|
726
719
|
const content = this.$refs.content;
|
|
727
|
-
const
|
|
728
|
-
target
|
|
729
|
-
} = event;
|
|
720
|
+
const target = event.target;
|
|
730
721
|
if (this.noEnforceFocus || !this.isTop || !this.isVisible || !content || document === target || contains(content, target) || this.computeIgnoreEnforceFocusSelector && closest(this.computeIgnoreEnforceFocusSelector, target, true)) {
|
|
731
722
|
return;
|
|
732
723
|
}
|
|
@@ -14,10 +14,8 @@ const BVPopoverTemplate = /*#__PURE__*/extend({
|
|
|
14
14
|
},
|
|
15
15
|
methods: {
|
|
16
16
|
renderTemplate(h) {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
content
|
|
20
|
-
} = this;
|
|
17
|
+
const title = this.title,
|
|
18
|
+
content = this.content;
|
|
21
19
|
|
|
22
20
|
// Title and content could be a scoped slot function
|
|
23
21
|
const $title = isFunction(title) ? title({}) : title;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { extend } from '../../vue';
|
|
2
2
|
import { NAME_POPOVER } from '../../constants/components';
|
|
3
3
|
import { EVENT_NAME_CLICK } from '../../constants/events';
|
|
4
|
-
import { PROP_TYPE_STRING, PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_ARRAY } from '../../constants/props';
|
|
5
4
|
import { SLOT_NAME_TITLE } from '../../constants/slots';
|
|
6
5
|
import { props as props$1, BTooltip } from '../tooltip/tooltip';
|
|
7
6
|
import { BVPopover } from './helpers/bv-popover';
|
|
@@ -12,12 +11,12 @@ import { sortKeys } from '../../utils/object';
|
|
|
12
11
|
const props = sortKeys({
|
|
13
12
|
...props$1,
|
|
14
13
|
content: {
|
|
15
|
-
type:
|
|
14
|
+
type: String,
|
|
16
15
|
required: false,
|
|
17
16
|
default: undefined
|
|
18
17
|
},
|
|
19
18
|
delay: {
|
|
20
|
-
type: [
|
|
19
|
+
type: [Number, Object, String],
|
|
21
20
|
required: false,
|
|
22
21
|
default: () => ({
|
|
23
22
|
show: 50,
|
|
@@ -25,12 +24,12 @@ const props = sortKeys({
|
|
|
25
24
|
})
|
|
26
25
|
},
|
|
27
26
|
placement: {
|
|
28
|
-
type:
|
|
27
|
+
type: String,
|
|
29
28
|
required: false,
|
|
30
29
|
default: 'right'
|
|
31
30
|
},
|
|
32
31
|
triggers: {
|
|
33
|
-
type: [
|
|
32
|
+
type: [Array, String],
|
|
34
33
|
required: false,
|
|
35
34
|
default: EVENT_NAME_CLICK
|
|
36
35
|
}
|
|
@@ -23,13 +23,17 @@ const normalizeValue = value => {
|
|
|
23
23
|
// Multisort will most likely be handled in `mixin-sort.js` by
|
|
24
24
|
// calling this method for each sortBy
|
|
25
25
|
const defaultSortCompare = function (a, b) {
|
|
26
|
-
let {
|
|
27
|
-
sortBy =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
let _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
27
|
+
_ref$sortBy = _ref.sortBy,
|
|
28
|
+
sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,
|
|
29
|
+
_ref$formatter = _ref.formatter,
|
|
30
|
+
formatter = _ref$formatter === void 0 ? null : _ref$formatter,
|
|
31
|
+
_ref$locale = _ref.locale,
|
|
32
|
+
locale = _ref$locale === void 0 ? undefined : _ref$locale,
|
|
33
|
+
_ref$localeOptions = _ref.localeOptions,
|
|
34
|
+
localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,
|
|
35
|
+
_ref$nullLast = _ref.nullLast,
|
|
36
|
+
nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;
|
|
33
37
|
// Get the value by `sortBy`
|
|
34
38
|
let aa = get(a, sortBy, null);
|
|
35
39
|
let bb = get(b, sortBy, null);
|
|
@@ -14,12 +14,10 @@ const bottomRowMixin = extend({
|
|
|
14
14
|
props,
|
|
15
15
|
methods: {
|
|
16
16
|
renderBottomRow() {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
tbodyTrAttr
|
|
22
|
-
} = this;
|
|
17
|
+
const fields = this.computedFields,
|
|
18
|
+
stacked = this.stacked,
|
|
19
|
+
tbodyTrClass = this.tbodyTrClass,
|
|
20
|
+
tbodyTrAttr = this.tbodyTrAttr;
|
|
23
21
|
const h = this.$createElement;
|
|
24
22
|
|
|
25
23
|
// Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)
|