@gitlab/ui 112.2.2 → 112.2.3
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 +9 -0
- package/bin/migrate_custom_utils_to_tw.bundled.mjs +209 -32
- package/dist/components/base/accordion/accordion.js +1 -1
- package/dist/components/base/accordion/accordion_item.js +1 -1
- package/dist/components/base/alert/alert.js +1 -1
- package/dist/components/base/animated_icon/animated_chevron_down_up_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_chevron_lg_down_up_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_chevron_lg_right_down_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_duo_chat_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_loader_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_notifications_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_sidebar_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_smile_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_sort_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_star_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_todo_icon.js +1 -1
- package/dist/components/base/animated_icon/animated_upload_icon.js +1 -1
- package/dist/components/base/animated_icon/base_animated_icon.js +1 -1
- package/dist/components/base/avatar/avatar.js +1 -1
- package/dist/components/base/avatar_labeled/avatar_labeled.js +1 -1
- package/dist/components/base/avatar_link/avatar_link.js +1 -1
- package/dist/components/base/avatars_inline/avatars_inline.js +1 -1
- package/dist/components/base/badge/badge.js +1 -1
- package/dist/components/base/banner/banner.js +1 -1
- package/dist/components/base/breadcrumb/breadcrumb.js +1 -1
- package/dist/components/base/breadcrumb/breadcrumb_item.js +1 -1
- package/dist/components/base/broadcast_message/broadcast_message.js +1 -1
- package/dist/components/base/button/button.js +1 -1
- package/dist/components/base/button_group/button_group.js +1 -1
- package/dist/components/base/card/card.js +1 -1
- package/dist/components/base/collapse/collapse.js +1 -1
- package/dist/components/base/datepicker/datepicker.js +1 -2
- package/dist/components/base/daterange_picker/daterange_picker.js +1 -1
- package/dist/components/base/drawer/drawer.js +1 -1
- package/dist/components/base/dropdown/dropdown.js +1 -2
- package/dist/components/base/dropdown/dropdown_divider.js +1 -1
- package/dist/components/base/dropdown/dropdown_form.js +1 -1
- package/dist/components/base/dropdown/dropdown_item.js +1 -1
- package/dist/components/base/dropdown/dropdown_section_header.js +1 -1
- package/dist/components/base/dropdown/dropdown_text.js +1 -1
- package/dist/components/base/filtered_search/filtered_search.js +2 -2
- package/dist/components/base/filtered_search/filtered_search_suggestion.js +1 -1
- package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +1 -1
- package/dist/components/base/filtered_search/filtered_search_term.js +1 -1
- package/dist/components/base/filtered_search/filtered_search_token.js +1 -1
- package/dist/components/base/filtered_search/filtered_search_token_segment.js +1 -1
- package/dist/components/base/form/form.js +1 -1
- package/dist/components/base/form/form_character_count/form_character_count.js +1 -1
- package/dist/components/base/form/form_checkbox/form_checkbox.js +1 -1
- package/dist/components/base/form/form_checkbox/form_checkbox_group.js +1 -1
- package/dist/components/base/form/form_checkbox_tree/checkbox_tree_node.js +1 -1
- package/dist/components/base/form/form_checkbox_tree/form_checkbox_tree.js +1 -1
- package/dist/components/base/form/form_combobox/form_combobox.js +1 -1
- package/dist/components/base/form/form_date/form_date.js +1 -1
- package/dist/components/base/form/form_fields/form_field_validator.js +1 -1
- package/dist/components/base/form/form_fields/form_fields.js +1 -1
- package/dist/components/base/form/form_group/form_group.js +1 -1
- package/dist/components/base/form/form_input/form_input.js +1 -1
- package/dist/components/base/form/form_input_group/form_input_group.js +1 -1
- package/dist/components/base/form/form_radio/form_radio.js +1 -1
- package/dist/components/base/form/form_radio_group/form_radio_group.js +1 -1
- package/dist/components/base/form/form_select/form_select.js +1 -1
- package/dist/components/base/form/form_textarea/form_textarea.js +1 -1
- package/dist/components/base/form/input_group_text/input_group_text.js +1 -1
- package/dist/components/base/icon/icon.js +1 -1
- package/dist/components/base/infinite_scroll/infinite_scroll.js +1 -2
- package/dist/components/base/keyset_pagination/keyset_pagination.js +1 -1
- package/dist/components/base/label/label.js +1 -1
- package/dist/components/base/link/link.js +1 -1
- package/dist/components/base/loading_icon/loading_icon.js +1 -1
- package/dist/components/base/markdown/markdown.js +1 -1
- package/dist/components/base/modal/modal.js +1 -1
- package/dist/components/base/nav/nav.js +1 -1
- package/dist/components/base/nav/nav_item.js +1 -1
- package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +1 -2
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +1 -2
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +1 -2
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +1 -2
- package/dist/components/base/new_dropdowns/listbox/listbox.js +1 -2
- package/dist/components/base/new_dropdowns/listbox/listbox_group.js +1 -1
- package/dist/components/base/new_dropdowns/listbox/listbox_item.js +1 -1
- package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +1 -1
- package/dist/components/base/pagination/pagination.js +1 -1
- package/dist/components/base/path/path.js +1 -1
- package/dist/components/base/popover/popover.js +1 -1
- package/dist/components/base/progress_bar/progress_bar.js +1 -1
- package/dist/components/base/search_box_by_click/search_box_by_click.js +2 -2
- package/dist/components/base/search_box_by_type/search_box_by_type.js +1 -1
- package/dist/components/base/segmented_control/segmented_control.js +1 -1
- package/dist/components/base/skeleton_loader/skeleton_loader.js +1 -1
- package/dist/components/base/sorting/sorting.js +1 -1
- package/dist/components/base/table/table.js +2 -2
- package/dist/components/base/table_lite/table_lite.js +1 -1
- package/dist/components/base/tabs/tab/tab.js +1 -1
- package/dist/components/base/tabs/tabs/scrollable_tabs.js +1 -1
- package/dist/components/base/tabs/tabs/tabs.js +1 -1
- package/dist/components/base/toast/toast.js +1 -1
- package/dist/components/base/toggle/toggle.js +1 -1
- package/dist/components/base/token/token.js +1 -1
- package/dist/components/base/token_selector/token_container.js +1 -1
- package/dist/components/base/token_selector/token_selector.js +1 -1
- package/dist/components/base/token_selector/token_selector_dropdown.js +1 -1
- package/dist/components/base/tooltip/tooltip.js +1 -1
- package/dist/components/charts/area/area.js +1 -1
- package/dist/components/charts/bar/bar.js +1 -1
- package/dist/components/charts/chart/chart.js +1 -1
- package/dist/components/charts/column/column.js +1 -1
- package/dist/components/charts/discrete_scatter/discrete_scatter.js +1 -1
- package/dist/components/charts/gauge/gauge.js +2 -2
- package/dist/components/charts/heatmap/heatmap.js +1 -1
- package/dist/components/charts/legend/legend.js +1 -1
- package/dist/components/charts/line/line.js +1 -1
- package/dist/components/charts/series_label/series_label.js +1 -1
- package/dist/components/charts/shared/tooltip/tooltip.js +1 -1
- package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +1 -1
- package/dist/components/charts/single_stat/single_stat.js +1 -1
- package/dist/components/charts/sparkline/sparkline.js +1 -1
- package/dist/components/charts/stacked_column/stacked_column.js +1 -1
- package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +1 -1
- package/dist/components/experimental/experiment_badge/experiment_badge.js +1 -2
- package/dist/components/mixins/tooltip_mixin.js +1 -1
- package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +1 -1
- package/dist/components/regions/empty_state/empty_state.js +1 -1
- package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +1 -1
- package/dist/components/shared_components/close_button/close_button.js +1 -1
- package/dist/components/utilities/animated_number/animated_number.js +1 -1
- package/dist/components/utilities/friendly_wrap/friendly_wrap.js +1 -1
- package/dist/components/utilities/intersection_observer/intersection_observer.js +1 -1
- package/dist/components/utilities/intersperse/intersperse.js +1 -1
- package/dist/components/utilities/sprintf/sprintf.js +1 -1
- package/dist/components/utilities/truncate/truncate.js +1 -1
- package/dist/components/utilities/truncate_text/truncate_text.js +1 -1
- package/dist/config.js +1 -2
- package/dist/tokens/tokens_story.js +1 -1
- package/dist/tokens/tokens_table.js +1 -1
- package/dist/vendor/bootstrap-vue/src/constants/components.js +1 -3
- package/dist/vendor/bootstrap-vue/src/utils/cache.js +1 -1
- package/dist/vendor/bootstrap-vue/src/utils/props.js +1 -1
- package/dist/vendor/bootstrap-vue/src/utils/router.js +1 -1
- package/package.json +2 -2
- package/src/components/base/search_box_by_click/search_box_by_click.vue +9 -3
- package/src/vendor/bootstrap-vue/src/constants/components.js +0 -2
- package/dist/vendor/bootstrap-vue/src/components/collapse/collapse.js +0 -207
- package/dist/vendor/bootstrap-vue/src/components/collapse/helpers/bv-collapse.js +0 -90
- package/dist/vendor/bootstrap-vue/src/components/collapse/index.js +0 -1
- package/src/vendor/bootstrap-vue/src/components/collapse/MODIFICATIONS.md +0 -14
- package/src/vendor/bootstrap-vue/src/components/collapse/README.md +0 -321
- package/src/vendor/bootstrap-vue/src/components/collapse/collapse.js +0 -207
- package/src/vendor/bootstrap-vue/src/components/collapse/collapse.spec.js +0 -426
- package/src/vendor/bootstrap-vue/src/components/collapse/helpers/bv-collapse.js +0 -88
- package/src/vendor/bootstrap-vue/src/components/collapse/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/collapse/package.json +0 -104
package/dist/config.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
const NAME_BUTTON = 'BButton';
|
|
3
3
|
const NAME_BUTTON_CLOSE = 'BButtonClose';
|
|
4
4
|
const NAME_COL = 'BCol';
|
|
5
|
-
const NAME_COLLAPSE = 'BCollapse';
|
|
6
5
|
const NAME_DROPDOWN = 'BDropdown';
|
|
7
6
|
const NAME_DROPDOWN_DIVIDER = 'BDropdownDivider';
|
|
8
7
|
const NAME_DROPDOWN_FORM = 'BDropdownForm';
|
|
@@ -46,7 +45,6 @@ const NAME_TOOLTIP = 'BTooltip';
|
|
|
46
45
|
const NAME_TR = 'BTr';
|
|
47
46
|
|
|
48
47
|
// Helper component names
|
|
49
|
-
const NAME_COLLAPSE_HELPER = 'BVCollapse';
|
|
50
48
|
const NAME_FORM_BUTTON_LABEL_CONTROL = 'BVFormBtnLabelControl';
|
|
51
49
|
const NAME_FORM_RATING_STAR = 'BVFormRatingStar';
|
|
52
50
|
const NAME_POPOVER_HELPER = 'BVPopover';
|
|
@@ -60,4 +58,4 @@ const NAME_TRANSITION = 'BVTransition';
|
|
|
60
58
|
const NAME_TRANSPORTER = 'BVTransporter';
|
|
61
59
|
const NAME_TRANSPORTER_TARGET = 'BVTransporterTarget';
|
|
62
60
|
|
|
63
|
-
export { NAME_BUTTON, NAME_BUTTON_CLOSE, NAME_COL,
|
|
61
|
+
export { NAME_BUTTON, NAME_BUTTON_CLOSE, NAME_COL, 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_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_LINK, NAME_MODAL, NAME_NAV, NAME_NAV_ITEM, 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 };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { extend } from '../vue';
|
|
2
2
|
import { cloneDeep } from './clone-deep';
|
|
3
3
|
import { looseEqual } from './loose-equal';
|
|
4
|
-
import {
|
|
4
|
+
import { hasOwnProperty, keys } from './object';
|
|
5
5
|
|
|
6
6
|
const isEmpty = value => !value || keys(value).length === 0;
|
|
7
7
|
const makePropWatcher = propName => ({
|
|
@@ -2,7 +2,7 @@ import { PROP_TYPE_ANY } from '../constants/props';
|
|
|
2
2
|
import { cloneDeep } from './clone-deep';
|
|
3
3
|
import { getComponentConfig } from './config';
|
|
4
4
|
import { identity } from './identity';
|
|
5
|
-
import {
|
|
5
|
+
import { isUndefined, isObject, isArray, isFunction } from './inspect';
|
|
6
6
|
import { hasOwnProperty, clone, keys } from './object';
|
|
7
7
|
import { upperFirst } from './string';
|
|
8
8
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RX_QUERY_START, RX_PLUS, RX_ENCODE_REVERSE, RX_ENCODED_COMMA } from '../constants/regex';
|
|
2
2
|
import { isTag } from './dom';
|
|
3
3
|
import { isPlainObject, isUndefined, isNull, isArray, isString } from './inspect';
|
|
4
4
|
import { keys } from './object';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gitlab/ui",
|
|
3
|
-
"version": "112.2.
|
|
3
|
+
"version": "112.2.3",
|
|
4
4
|
"description": "GitLab UI Components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"eslint-formatter-gitlab": "^5.1.0",
|
|
153
153
|
"eslint-import-resolver-jest": "3.0.2",
|
|
154
154
|
"eslint-plugin-cypress": "3.6.0",
|
|
155
|
-
"eslint-plugin-storybook": "0.11.
|
|
155
|
+
"eslint-plugin-storybook": "0.11.5",
|
|
156
156
|
"fuse.js": "^7.0.0",
|
|
157
157
|
"gitlab-api-async-iterator": "^1.3.1",
|
|
158
158
|
"glob": "10.3.3",
|
|
@@ -213,10 +213,11 @@ export default {
|
|
|
213
213
|
class="gl-search-box-by-click-history"
|
|
214
214
|
icon="history"
|
|
215
215
|
category="tertiary"
|
|
216
|
-
toggle-text="Toggle history"
|
|
216
|
+
toggle-text="Toggle search history"
|
|
217
217
|
text-sr-only
|
|
218
218
|
fluid-width
|
|
219
219
|
:disabled="disabled"
|
|
220
|
+
aria-label="Recent searches history"
|
|
220
221
|
>
|
|
221
222
|
<template #header>
|
|
222
223
|
<div
|
|
@@ -231,6 +232,7 @@ export default {
|
|
|
231
232
|
v-for="(item, idx) in historyItems"
|
|
232
233
|
:key="idx"
|
|
233
234
|
class="gl-search-box-by-click-history-item"
|
|
235
|
+
:aria-label="`Select recent search: ${item || 'empty search'}`"
|
|
234
236
|
@action="selectHistoryItem(item)"
|
|
235
237
|
>
|
|
236
238
|
<template #list-item>
|
|
@@ -239,9 +241,13 @@ export default {
|
|
|
239
241
|
</template>
|
|
240
242
|
</gl-disclosure-dropdown-item>
|
|
241
243
|
</template>
|
|
242
|
-
<
|
|
244
|
+
<gl-disclosure-dropdown-item
|
|
245
|
+
v-else
|
|
246
|
+
class="gl-px-4 gl-py-2 gl-text-sm gl-text-subtle"
|
|
247
|
+
:aria-label="`Select recent search: ${noRecentSearchesText}`"
|
|
248
|
+
>
|
|
243
249
|
{{ noRecentSearchesText }}
|
|
244
|
-
</
|
|
250
|
+
</gl-disclosure-dropdown-item>
|
|
245
251
|
|
|
246
252
|
<template v-if="historyItems.length" #footer>
|
|
247
253
|
<div
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
export const NAME_BUTTON = 'BButton'
|
|
3
3
|
export const NAME_BUTTON_CLOSE = 'BButtonClose'
|
|
4
4
|
export const NAME_COL = 'BCol'
|
|
5
|
-
export const NAME_COLLAPSE = 'BCollapse'
|
|
6
5
|
export const NAME_DROPDOWN = 'BDropdown'
|
|
7
6
|
export const NAME_DROPDOWN_DIVIDER = 'BDropdownDivider'
|
|
8
7
|
export const NAME_DROPDOWN_FORM = 'BDropdownForm'
|
|
@@ -46,7 +45,6 @@ export const NAME_TOOLTIP = 'BTooltip'
|
|
|
46
45
|
export const NAME_TR = 'BTr'
|
|
47
46
|
|
|
48
47
|
// Helper component names
|
|
49
|
-
export const NAME_COLLAPSE_HELPER = 'BVCollapse'
|
|
50
48
|
export const NAME_FORM_BUTTON_LABEL_CONTROL = 'BVFormBtnLabelControl'
|
|
51
49
|
export const NAME_FORM_RATING_STAR = 'BVFormRatingStar'
|
|
52
50
|
export const NAME_POPOVER_HELPER = 'BVPopover'
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import { extend } from '../../vue';
|
|
2
|
-
import { NAME_COLLAPSE } from '../../constants/components';
|
|
3
|
-
import { EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_HIDE, EVENT_NAME_HIDDEN } from '../../constants/events';
|
|
4
|
-
import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';
|
|
5
|
-
import { SLOT_NAME_DEFAULT } from '../../constants/slots';
|
|
6
|
-
import { getRootActionEventName, getRootEventName } from '../../utils/events';
|
|
7
|
-
import { makeModelMixin } from '../../utils/model';
|
|
8
|
-
import { sortKeys } from '../../utils/object';
|
|
9
|
-
import { makePropsConfigurable, makeProp } from '../../utils/props';
|
|
10
|
-
import { props as props$1, idMixin } from '../../mixins/id';
|
|
11
|
-
import { listenOnRootMixin } from '../../mixins/listen-on-root';
|
|
12
|
-
import { normalizeSlotMixin } from '../../mixins/normalize-slot';
|
|
13
|
-
import { BVCollapse } from './helpers/bv-collapse';
|
|
14
|
-
|
|
15
|
-
// --- Constants ---
|
|
16
|
-
const ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');
|
|
17
|
-
const ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');
|
|
18
|
-
const ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');
|
|
19
|
-
const ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');
|
|
20
|
-
const ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');
|
|
21
|
-
const {
|
|
22
|
-
mixin: modelMixin,
|
|
23
|
-
props: modelProps,
|
|
24
|
-
prop: MODEL_PROP_NAME,
|
|
25
|
-
event: MODEL_EVENT_NAME
|
|
26
|
-
} = makeModelMixin('visible', {
|
|
27
|
-
type: PROP_TYPE_BOOLEAN,
|
|
28
|
-
defaultValue: false
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
// --- Props ---
|
|
32
|
-
|
|
33
|
-
const props = makePropsConfigurable(sortKeys({
|
|
34
|
-
...props$1,
|
|
35
|
-
...modelProps,
|
|
36
|
-
// If `true` (and `visible` is `true` on mount), animate initially visible
|
|
37
|
-
accordion: makeProp(PROP_TYPE_STRING),
|
|
38
|
-
appear: makeProp(PROP_TYPE_BOOLEAN, false),
|
|
39
|
-
tag: makeProp(PROP_TYPE_STRING, 'div')
|
|
40
|
-
}), NAME_COLLAPSE);
|
|
41
|
-
|
|
42
|
-
// --- Main component ---
|
|
43
|
-
|
|
44
|
-
// @vue/component
|
|
45
|
-
const BCollapse = /*#__PURE__*/extend({
|
|
46
|
-
name: NAME_COLLAPSE,
|
|
47
|
-
mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],
|
|
48
|
-
props,
|
|
49
|
-
data() {
|
|
50
|
-
return {
|
|
51
|
-
show: this[MODEL_PROP_NAME],
|
|
52
|
-
transitioning: false
|
|
53
|
-
};
|
|
54
|
-
},
|
|
55
|
-
computed: {
|
|
56
|
-
classObject() {
|
|
57
|
-
const {
|
|
58
|
-
transitioning
|
|
59
|
-
} = this;
|
|
60
|
-
return {
|
|
61
|
-
collapse: !transitioning,
|
|
62
|
-
show: this.show && !transitioning
|
|
63
|
-
};
|
|
64
|
-
},
|
|
65
|
-
slotScope() {
|
|
66
|
-
return {
|
|
67
|
-
visible: this.show,
|
|
68
|
-
close: () => {
|
|
69
|
-
this.show = false;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
watch: {
|
|
75
|
-
[MODEL_PROP_NAME](newValue) {
|
|
76
|
-
if (newValue !== this.show) {
|
|
77
|
-
this.show = newValue;
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
show(newValue, oldValue) {
|
|
81
|
-
if (newValue !== oldValue) {
|
|
82
|
-
this.emitState();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
created() {
|
|
87
|
-
this.show = this[MODEL_PROP_NAME];
|
|
88
|
-
},
|
|
89
|
-
mounted() {
|
|
90
|
-
this.show = this[MODEL_PROP_NAME];
|
|
91
|
-
// Listen for toggle events to open/close us
|
|
92
|
-
this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvent);
|
|
93
|
-
// Listen to other collapses for accordion events
|
|
94
|
-
this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvent);
|
|
95
|
-
this.$nextTick(() => {
|
|
96
|
-
this.emitState();
|
|
97
|
-
});
|
|
98
|
-
// Listen for "Sync state" requests from `v-b-toggle`
|
|
99
|
-
this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, id => {
|
|
100
|
-
if (id === this.safeId()) {
|
|
101
|
-
this.$nextTick(this.emitSync);
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
},
|
|
105
|
-
updated() {
|
|
106
|
-
// Emit a private event every time this component updates to ensure
|
|
107
|
-
// the toggle button is in sync with the collapse's state
|
|
108
|
-
// It is emitted regardless if the visible state changes
|
|
109
|
-
this.emitSync();
|
|
110
|
-
},
|
|
111
|
-
beforeDestroy() {
|
|
112
|
-
// Trigger state emit if needed
|
|
113
|
-
this.show = false;
|
|
114
|
-
},
|
|
115
|
-
methods: {
|
|
116
|
-
toggle() {
|
|
117
|
-
this.show = !this.show;
|
|
118
|
-
},
|
|
119
|
-
onEnter() {
|
|
120
|
-
this.transitioning = true;
|
|
121
|
-
// This should be moved out so we can add cancellable events
|
|
122
|
-
this.$emit(EVENT_NAME_SHOW);
|
|
123
|
-
},
|
|
124
|
-
onAfterEnter() {
|
|
125
|
-
this.transitioning = false;
|
|
126
|
-
this.$emit(EVENT_NAME_SHOWN);
|
|
127
|
-
},
|
|
128
|
-
onLeave() {
|
|
129
|
-
this.transitioning = true;
|
|
130
|
-
// This should be moved out so we can add cancellable events
|
|
131
|
-
this.$emit(EVENT_NAME_HIDE);
|
|
132
|
-
},
|
|
133
|
-
onAfterLeave() {
|
|
134
|
-
this.transitioning = false;
|
|
135
|
-
this.$emit(EVENT_NAME_HIDDEN);
|
|
136
|
-
},
|
|
137
|
-
emitState() {
|
|
138
|
-
const {
|
|
139
|
-
show,
|
|
140
|
-
accordion
|
|
141
|
-
} = this;
|
|
142
|
-
const id = this.safeId();
|
|
143
|
-
this.$emit(MODEL_EVENT_NAME, show);
|
|
144
|
-
|
|
145
|
-
// Let `v-b-toggle` know the state of this collapse
|
|
146
|
-
this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);
|
|
147
|
-
if (accordion && show) {
|
|
148
|
-
// Tell the other collapses in this accordion to close
|
|
149
|
-
this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);
|
|
150
|
-
}
|
|
151
|
-
},
|
|
152
|
-
emitSync() {
|
|
153
|
-
// Emit a private event every time this component updates to ensure
|
|
154
|
-
// the toggle button is in sync with the collapse's state
|
|
155
|
-
// It is emitted regardless if the visible state changes
|
|
156
|
-
this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);
|
|
157
|
-
},
|
|
158
|
-
handleToggleEvent(id) {
|
|
159
|
-
if (id === this.safeId()) {
|
|
160
|
-
this.toggle();
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
handleAccordionEvent(openedId, openAccordion) {
|
|
164
|
-
const {
|
|
165
|
-
accordion,
|
|
166
|
-
show
|
|
167
|
-
} = this;
|
|
168
|
-
if (!accordion || accordion !== openAccordion) {
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
const isThis = openedId === this.safeId();
|
|
172
|
-
// Open this collapse if not shown or
|
|
173
|
-
// close this collapse if shown
|
|
174
|
-
if (isThis && !show || !isThis && show) {
|
|
175
|
-
this.toggle();
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
},
|
|
179
|
-
render(h) {
|
|
180
|
-
const {
|
|
181
|
-
appear
|
|
182
|
-
} = this;
|
|
183
|
-
const $content = h(this.tag, {
|
|
184
|
-
class: this.classObject,
|
|
185
|
-
directives: [{
|
|
186
|
-
name: 'show',
|
|
187
|
-
value: this.show
|
|
188
|
-
}],
|
|
189
|
-
attrs: {
|
|
190
|
-
id: this.safeId()
|
|
191
|
-
}
|
|
192
|
-
}, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));
|
|
193
|
-
return h(BVCollapse, {
|
|
194
|
-
props: {
|
|
195
|
-
appear
|
|
196
|
-
},
|
|
197
|
-
on: {
|
|
198
|
-
enter: this.onEnter,
|
|
199
|
-
afterEnter: this.onAfterEnter,
|
|
200
|
-
leave: this.onLeave,
|
|
201
|
-
afterLeave: this.onAfterLeave
|
|
202
|
-
}
|
|
203
|
-
}, [$content]);
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
export { BCollapse, props };
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { extend, mergeData } from '../../../vue';
|
|
2
|
-
import { NAME_COLLAPSE_HELPER } from '../../../constants/components';
|
|
3
|
-
import { PROP_TYPE_BOOLEAN } from '../../../constants/props';
|
|
4
|
-
import { setStyle, requestAF, reflow, removeStyle, getBCR } from '../../../utils/dom';
|
|
5
|
-
import { makeProp } from '../../../utils/props';
|
|
6
|
-
|
|
7
|
-
// Generic collapse transion helper component
|
|
8
|
-
|
|
9
|
-
// --- Helper methods ---
|
|
10
|
-
|
|
11
|
-
// Transition event handler helpers
|
|
12
|
-
const onEnter = el => {
|
|
13
|
-
setStyle(el, 'height', 0);
|
|
14
|
-
// In a `requestAF()` for `appear` to work
|
|
15
|
-
requestAF(() => {
|
|
16
|
-
reflow(el);
|
|
17
|
-
setStyle(el, 'height', `${el.scrollHeight}px`);
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
const onAfterEnter = el => {
|
|
21
|
-
removeStyle(el, 'height');
|
|
22
|
-
};
|
|
23
|
-
const onLeave = el => {
|
|
24
|
-
setStyle(el, 'height', 'auto');
|
|
25
|
-
setStyle(el, 'display', 'block');
|
|
26
|
-
setStyle(el, 'height', `${getBCR(el).height}px`);
|
|
27
|
-
reflow(el);
|
|
28
|
-
setStyle(el, 'height', 0);
|
|
29
|
-
};
|
|
30
|
-
const onAfterLeave = el => {
|
|
31
|
-
removeStyle(el, 'height');
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// --- Constants ---
|
|
35
|
-
|
|
36
|
-
// Default transition props
|
|
37
|
-
// `appear` will use the enter classes
|
|
38
|
-
const TRANSITION_PROPS = {
|
|
39
|
-
css: true,
|
|
40
|
-
enterClass: '',
|
|
41
|
-
enterActiveClass: 'collapsing',
|
|
42
|
-
enterToClass: 'collapse show',
|
|
43
|
-
leaveClass: 'collapse show',
|
|
44
|
-
leaveActiveClass: 'collapsing',
|
|
45
|
-
leaveToClass: 'collapse'
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
// Default transition handlers
|
|
49
|
-
// `appear` will use the enter handlers
|
|
50
|
-
const TRANSITION_HANDLERS = {
|
|
51
|
-
enter: onEnter,
|
|
52
|
-
afterEnter: onAfterEnter,
|
|
53
|
-
leave: onLeave,
|
|
54
|
-
afterLeave: onAfterLeave
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
// --- Main component ---
|
|
58
|
-
|
|
59
|
-
const props = {
|
|
60
|
-
// // If `true` (and `visible` is `true` on mount), animate initially visible
|
|
61
|
-
appear: makeProp(PROP_TYPE_BOOLEAN, false)
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
// --- Main component ---
|
|
65
|
-
|
|
66
|
-
// @vue/component
|
|
67
|
-
const BVCollapse = /*#__PURE__*/extend({
|
|
68
|
-
name: NAME_COLLAPSE_HELPER,
|
|
69
|
-
functional: true,
|
|
70
|
-
props,
|
|
71
|
-
render(h, _ref) {
|
|
72
|
-
let {
|
|
73
|
-
props,
|
|
74
|
-
data,
|
|
75
|
-
children
|
|
76
|
-
} = _ref;
|
|
77
|
-
return h('transition',
|
|
78
|
-
// We merge in the `appear` prop last
|
|
79
|
-
mergeData(data, {
|
|
80
|
-
props: TRANSITION_PROPS,
|
|
81
|
-
on: TRANSITION_HANDLERS
|
|
82
|
-
}, {
|
|
83
|
-
props
|
|
84
|
-
}),
|
|
85
|
-
// Note: `<transition>` supports a single root element only
|
|
86
|
-
children);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
export { BVCollapse, props };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { BCollapse } from './collapse';
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# Modifications to Vendored Code
|
|
2
|
-
|
|
3
|
-
**Library**: BootstrapVue
|
|
4
|
-
**Version**: 2.23.1 **Link:** https://bootstrap-vue.org **Source:**
|
|
5
|
-
https://github.com/bootstrap-vue/bootstrap-vue **Copyright:** (c) 2016-2024 BootstrapVue
|
|
6
|
-
**License:** (c)
|
|
7
|
-
[2016-2024 BootstrapVue](https://github.com/bootstrap-vue/bootstrap-vue/blob/master/LICENSE)
|
|
8
|
-
|
|
9
|
-
This file documents modifications made to the original BootstrapVue component files.
|
|
10
|
-
|
|
11
|
-
## Removed props
|
|
12
|
-
|
|
13
|
-
The property `isNav` and code executed based on this property has been removed, as we removed the
|
|
14
|
-
Navbar logic.
|