@gitlab/duo-ui 2.0.0 → 3.0.1
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 +20 -0
- package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_details_modal/duo_chat_context_item_details_modal.js +3 -3
- package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.js +10 -10
- package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_category_items.js +1 -1
- package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.js +5 -15
- package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.js +9 -9
- package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items_loading.js +2 -2
- package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.js +3 -29
- package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.js +7 -8
- package/dist/components/chat/components/duo_chat_context/utils.js +1 -102
- package/dist/components/chat/components/duo_chat_conversation/duo_chat_conversation.js +5 -5
- package/dist/components/chat/components/duo_chat_loader/duo_chat_loader.js +9 -8
- package/dist/components/chat/components/duo_chat_message/duo_chat_message.js +19 -19
- package/dist/components/chat/components/duo_chat_message_sources/duo_chat_message_sources.js +2 -2
- package/dist/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.js +1 -1
- package/dist/components/chat/duo_chat.js +30 -19
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/tailwind.css.map +1 -1
- package/package.json +4 -8
- package/src/components/chat/components/duo_chat_context/duo_chat_context_item_details_modal/duo_chat_context_item_details_modal.vue +3 -3
- package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.vue +12 -12
- package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_category_items.vue +1 -1
- package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.vue +17 -24
- package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.vue +9 -9
- package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items_loading.vue +2 -2
- package/src/components/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.vue +25 -55
- package/src/components/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.vue +10 -11
- package/src/components/chat/components/duo_chat_context/utils.js +0 -114
- package/src/components/chat/components/duo_chat_conversation/duo_chat_conversation.md +1 -1
- package/src/components/chat/components/duo_chat_conversation/duo_chat_conversation.vue +5 -5
- package/src/components/chat/components/duo_chat_loader/duo_chat_loader.scss +6 -33
- package/src/components/chat/components/duo_chat_loader/duo_chat_loader.vue +11 -14
- package/src/components/chat/components/duo_chat_message/duo_chat_message.md +2 -2
- package/src/components/chat/components/duo_chat_message/duo_chat_message.scss +13 -10
- package/src/components/chat/components/duo_chat_message/duo_chat_message.vue +21 -21
- package/src/components/chat/components/duo_chat_message_sources/duo_chat_message_sources.vue +2 -2
- package/src/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.vue +1 -1
- package/src/components/chat/duo_chat.md +4 -4
- package/src/components/chat/duo_chat.vue +38 -30
- package/translations.js +36 -43
- package/src/vendor/bootstrap/LICENSE +0 -22
- package/src/vendor/bootstrap/scss/_alert.scss +0 -52
- package/src/vendor/bootstrap/scss/_badge.scss +0 -54
- package/src/vendor/bootstrap/scss/_breadcrumb.scss +0 -42
- package/src/vendor/bootstrap/scss/_button-group.scss +0 -163
- package/src/vendor/bootstrap/scss/_buttons.scss +0 -142
- package/src/vendor/bootstrap/scss/_card.scss +0 -286
- package/src/vendor/bootstrap/scss/_carousel.scss +0 -200
- package/src/vendor/bootstrap/scss/_close.scss +0 -40
- package/src/vendor/bootstrap/scss/_code.scss +0 -48
- package/src/vendor/bootstrap/scss/_custom-forms.scss +0 -526
- package/src/vendor/bootstrap/scss/_dropdown.scss +0 -192
- package/src/vendor/bootstrap/scss/_forms.scss +0 -347
- package/src/vendor/bootstrap/scss/_functions.scss +0 -190
- package/src/vendor/bootstrap/scss/_grid.scss +0 -73
- package/src/vendor/bootstrap/scss/_images.scss +0 -42
- package/src/vendor/bootstrap/scss/_input-group.scss +0 -211
- package/src/vendor/bootstrap/scss/_jumbotron.scss +0 -17
- package/src/vendor/bootstrap/scss/_list-group.scss +0 -154
- package/src/vendor/bootstrap/scss/_media.scss +0 -8
- package/src/vendor/bootstrap/scss/_mixins.scss +0 -47
- package/src/vendor/bootstrap/scss/_modal.scss +0 -240
- package/src/vendor/bootstrap/scss/_nav.scss +0 -125
- package/src/vendor/bootstrap/scss/_navbar.scss +0 -332
- package/src/vendor/bootstrap/scss/_pagination.scss +0 -74
- package/src/vendor/bootstrap/scss/_popover.scss +0 -170
- package/src/vendor/bootstrap/scss/_print.scss +0 -132
- package/src/vendor/bootstrap/scss/_progress.scss +0 -47
- package/src/vendor/bootstrap/scss/_reboot.scss +0 -484
- package/src/vendor/bootstrap/scss/_root.scss +0 -19
- package/src/vendor/bootstrap/scss/_spinners.scss +0 -65
- package/src/vendor/bootstrap/scss/_tables.scss +0 -185
- package/src/vendor/bootstrap/scss/_toasts.scss +0 -46
- package/src/vendor/bootstrap/scss/_tooltip.scss +0 -115
- package/src/vendor/bootstrap/scss/_transitions.scss +0 -26
- package/src/vendor/bootstrap/scss/_type.scss +0 -125
- package/src/vendor/bootstrap/scss/_utilities.scss +0 -18
- package/src/vendor/bootstrap/scss/_variables.scss +0 -1149
- package/src/vendor/bootstrap/scss/bootstrap-grid.scss +0 -30
- package/src/vendor/bootstrap/scss/bootstrap-reboot.scss +0 -12
- package/src/vendor/bootstrap/scss/bootstrap.scss +0 -44
- package/src/vendor/bootstrap/scss/mixins/_alert.scss +0 -13
- package/src/vendor/bootstrap/scss/mixins/_background-variant.scss +0 -23
- package/src/vendor/bootstrap/scss/mixins/_badge.scss +0 -17
- package/src/vendor/bootstrap/scss/mixins/_border-radius.scss +0 -76
- package/src/vendor/bootstrap/scss/mixins/_box-shadow.scss +0 -20
- package/src/vendor/bootstrap/scss/mixins/_breakpoints.scss +0 -123
- package/src/vendor/bootstrap/scss/mixins/_buttons.scss +0 -110
- package/src/vendor/bootstrap/scss/mixins/_caret.scss +0 -62
- package/src/vendor/bootstrap/scss/mixins/_clearfix.scss +0 -7
- package/src/vendor/bootstrap/scss/mixins/_deprecate.scss +0 -10
- package/src/vendor/bootstrap/scss/mixins/_float.scss +0 -14
- package/src/vendor/bootstrap/scss/mixins/_forms.scss +0 -195
- package/src/vendor/bootstrap/scss/mixins/_gradients.scss +0 -45
- package/src/vendor/bootstrap/scss/mixins/_grid-framework.scss +0 -80
- package/src/vendor/bootstrap/scss/mixins/_grid.scss +0 -69
- package/src/vendor/bootstrap/scss/mixins/_hover.scss +0 -37
- package/src/vendor/bootstrap/scss/mixins/_image.scss +0 -36
- package/src/vendor/bootstrap/scss/mixins/_list-group.scss +0 -21
- package/src/vendor/bootstrap/scss/mixins/_lists.scss +0 -7
- package/src/vendor/bootstrap/scss/mixins/_nav-divider.scss +0 -11
- package/src/vendor/bootstrap/scss/mixins/_pagination.scss +0 -22
- package/src/vendor/bootstrap/scss/mixins/_reset-text.scss +0 -17
- package/src/vendor/bootstrap/scss/mixins/_resize.scss +0 -6
- package/src/vendor/bootstrap/scss/mixins/_screen-reader.scss +0 -34
- package/src/vendor/bootstrap/scss/mixins/_size.scss +0 -7
- package/src/vendor/bootstrap/scss/mixins/_table-row.scss +0 -39
- package/src/vendor/bootstrap/scss/mixins/_text-emphasis.scss +0 -17
- package/src/vendor/bootstrap/scss/mixins/_text-hide.scss +0 -11
- package/src/vendor/bootstrap/scss/mixins/_text-truncate.scss +0 -8
- package/src/vendor/bootstrap/scss/mixins/_transition.scss +0 -26
- package/src/vendor/bootstrap/scss/mixins/_visibility.scss +0 -8
- package/src/vendor/bootstrap/scss/utilities/_align.scss +0 -8
- package/src/vendor/bootstrap/scss/utilities/_background.scss +0 -19
- package/src/vendor/bootstrap/scss/utilities/_borders.scss +0 -75
- package/src/vendor/bootstrap/scss/utilities/_clearfix.scss +0 -3
- package/src/vendor/bootstrap/scss/utilities/_display.scss +0 -26
- package/src/vendor/bootstrap/scss/utilities/_embed.scss +0 -39
- package/src/vendor/bootstrap/scss/utilities/_flex.scss +0 -51
- package/src/vendor/bootstrap/scss/utilities/_float.scss +0 -11
- package/src/vendor/bootstrap/scss/utilities/_interactions.scss +0 -5
- package/src/vendor/bootstrap/scss/utilities/_overflow.scss +0 -5
- package/src/vendor/bootstrap/scss/utilities/_position.scss +0 -32
- package/src/vendor/bootstrap/scss/utilities/_screenreaders.scss +0 -11
- package/src/vendor/bootstrap/scss/utilities/_shadows.scss +0 -6
- package/src/vendor/bootstrap/scss/utilities/_sizing.scss +0 -20
- package/src/vendor/bootstrap/scss/utilities/_spacing.scss +0 -73
- package/src/vendor/bootstrap/scss/utilities/_stretched-link.scss +0 -19
- package/src/vendor/bootstrap/scss/utilities/_text.scss +0 -72
- package/src/vendor/bootstrap/scss/utilities/_visibility.scss +0 -13
- package/src/vendor/bootstrap/scss/vendor/_rfs.scss +0 -228
- package/src/vendor/bootstrap-vue/LICENSE +0 -21
- package/src/vendor/bootstrap-vue/nuxt/index.js +0 -164
- package/src/vendor/bootstrap-vue/nuxt/plugin.template.js +0 -29
- package/src/vendor/bootstrap-vue/package.json +0 -201
- package/src/vendor/bootstrap-vue/src/_utilities.scss +0 -13
- package/src/vendor/bootstrap-vue/src/_variables.scss +0 -111
- package/src/vendor/bootstrap-vue/src/browser.js +0 -9
- package/src/vendor/bootstrap-vue/src/bv-config.d.ts +0 -4
- package/src/vendor/bootstrap-vue/src/bv-config.js +0 -6
- package/src/vendor/bootstrap-vue/src/components/badge/README.md +0 -126
- package/src/vendor/bootstrap-vue/src/components/badge/badge.js +0 -55
- package/src/vendor/bootstrap-vue/src/components/badge/badge.spec.js +0 -141
- package/src/vendor/bootstrap-vue/src/components/badge/index.d.ts +0 -7
- package/src/vendor/bootstrap-vue/src/components/badge/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/badge/package.json +0 -29
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/README.md +0 -93
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-item.js +0 -27
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-item.spec.js +0 -123
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-link.js +0 -43
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-link.spec.js +0 -117
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb.js +0 -52
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb.spec.js +0 -183
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/index.d.ts +0 -13
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/index.js +0 -5
- package/src/vendor/bootstrap-vue/src/components/breadcrumb/package.json +0 -62
- package/src/vendor/bootstrap-vue/src/components/button/README.md +0 -281
- package/src/vendor/bootstrap-vue/src/components/button/button-close.js +0 -65
- package/src/vendor/bootstrap-vue/src/components/button/button-close.spec.js +0 -210
- package/src/vendor/bootstrap-vue/src/components/button/button.js +0 -179
- package/src/vendor/bootstrap-vue/src/components/button/button.spec.js +0 -385
- package/src/vendor/bootstrap-vue/src/components/button/index.d.ts +0 -10
- package/src/vendor/bootstrap-vue/src/components/button/index.js +0 -4
- package/src/vendor/bootstrap-vue/src/components/button/package.json +0 -105
- package/src/vendor/bootstrap-vue/src/components/button-group/README.md +0 -112
- package/src/vendor/bootstrap-vue/src/components/button-group/button-group.js +0 -42
- package/src/vendor/bootstrap-vue/src/components/button-group/button-group.spec.js +0 -98
- package/src/vendor/bootstrap-vue/src/components/button-group/index.d.ts +0 -7
- package/src/vendor/bootstrap-vue/src/components/button-group/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/button-group/package.json +0 -29
- package/src/vendor/bootstrap-vue/src/components/collapse/README.md +0 -321
- package/src/vendor/bootstrap-vue/src/components/collapse/collapse.js +0 -272
- package/src/vendor/bootstrap-vue/src/components/collapse/collapse.spec.js +0 -558
- package/src/vendor/bootstrap-vue/src/components/collapse/helpers/bv-collapse.js +0 -88
- package/src/vendor/bootstrap-vue/src/components/collapse/index.d.ts +0 -9
- package/src/vendor/bootstrap-vue/src/components/collapse/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/collapse/package.json +0 -111
- package/src/vendor/bootstrap-vue/src/components/dropdown/README.md +0 -730
- package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown-form.scss +0 -38
- package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown-text.scss +0 -17
- package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown.scss +0 -58
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +0 -36
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.spec.js +0 -58
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +0 -47
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.spec.js +0 -110
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +0 -76
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.spec.js +0 -94
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +0 -46
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.spec.js +0 -73
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +0 -93
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.spec.js +0 -117
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +0 -87
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.spec.js +0 -147
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +0 -42
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.spec.js +0 -59
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +0 -202
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.spec.js +0 -1121
- package/src/vendor/bootstrap-vue/src/components/dropdown/index.d.ts +0 -32
- package/src/vendor/bootstrap-vue/src/components/dropdown/index.js +0 -19
- package/src/vendor/bootstrap-vue/src/components/dropdown/index.scss +0 -3
- package/src/vendor/bootstrap-vue/src/components/dropdown/package.json +0 -368
- package/src/vendor/bootstrap-vue/src/components/form/README.md +0 -370
- package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +0 -51
- package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.spec.js +0 -170
- package/src/vendor/bootstrap-vue/src/components/form/form-text.js +0 -40
- package/src/vendor/bootstrap-vue/src/components/form/form-text.spec.js +0 -93
- package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +0 -51
- package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.spec.js +0 -157
- package/src/vendor/bootstrap-vue/src/components/form/form.js +0 -41
- package/src/vendor/bootstrap-vue/src/components/form/form.spec.js +0 -97
- package/src/vendor/bootstrap-vue/src/components/form/index.d.ts +0 -16
- package/src/vendor/bootstrap-vue/src/components/form/index.js +0 -7
- package/src/vendor/bootstrap-vue/src/components/form/package.json +0 -112
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/README.md +0 -862
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/_form-checkbox-group.scss +0 -2
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/_form-checkbox.scss +0 -125
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.js +0 -42
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.spec.js +0 -642
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.js +0 -132
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.spec.js +0 -1331
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.d.ts +0 -10
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.js +0 -4
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.scss +0 -2
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/package.json +0 -172
- package/src/vendor/bootstrap-vue/src/components/form-group/README.md +0 -337
- package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +0 -403
- package/src/vendor/bootstrap-vue/src/components/form-group/form-group.spec.js +0 -477
- package/src/vendor/bootstrap-vue/src/components/form-group/index.d.ts +0 -7
- package/src/vendor/bootstrap-vue/src/components/form-group/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/form-group/package.json +0 -183
- package/src/vendor/bootstrap-vue/src/components/form-input/README.md +0 -612
- package/src/vendor/bootstrap-vue/src/components/form-input/_form-input.scss +0 -217
- package/src/vendor/bootstrap-vue/src/components/form-input/form-input.js +0 -168
- package/src/vendor/bootstrap-vue/src/components/form-input/form-input.spec.js +0 -986
- package/src/vendor/bootstrap-vue/src/components/form-input/index.d.ts +0 -9
- package/src/vendor/bootstrap-vue/src/components/form-input/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/form-input/index.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/form-input/package.json +0 -135
- package/src/vendor/bootstrap-vue/src/components/form-radio/README.md +0 -566
- package/src/vendor/bootstrap-vue/src/components/form-radio/_form-radio-group.scss +0 -3
- package/src/vendor/bootstrap-vue/src/components/form-radio/_form-radio.scss +0 -47
- package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.js +0 -30
- package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.spec.js +0 -469
- package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.js +0 -28
- package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.spec.js +0 -952
- package/src/vendor/bootstrap-vue/src/components/form-radio/index.d.ts +0 -10
- package/src/vendor/bootstrap-vue/src/components/form-radio/index.js +0 -4
- package/src/vendor/bootstrap-vue/src/components/form-radio/index.scss +0 -2
- package/src/vendor/bootstrap-vue/src/components/form-radio/package.json +0 -162
- package/src/vendor/bootstrap-vue/src/components/form-select/README.md +0 -504
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +0 -48
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.spec.js +0 -138
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +0 -35
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.spec.js +0 -75
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +0 -153
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select.spec.js +0 -723
- package/src/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +0 -56
- package/src/vendor/bootstrap-vue/src/components/form-select/index.d.ts +0 -13
- package/src/vendor/bootstrap-vue/src/components/form-select/index.js +0 -5
- package/src/vendor/bootstrap-vue/src/components/form-select/package.json +0 -132
- package/src/vendor/bootstrap-vue/src/components/form-textarea/README.md +0 -453
- package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +0 -226
- package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.spec.js +0 -1000
- package/src/vendor/bootstrap-vue/src/components/form-textarea/index.d.ts +0 -9
- package/src/vendor/bootstrap-vue/src/components/form-textarea/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/form-textarea/package.json +0 -122
- package/src/vendor/bootstrap-vue/src/components/index.d.ts +0 -31
- package/src/vendor/bootstrap-vue/src/components/index.js +0 -11
- package/src/vendor/bootstrap-vue/src/components/index.scss +0 -12
- package/src/vendor/bootstrap-vue/src/components/input-group/README.md +0 -334
- package/src/vendor/bootstrap-vue/src/components/input-group/_input-group.scss +0 -29
- package/src/vendor/bootstrap-vue/src/components/input-group/index.d.ts +0 -19
- package/src/vendor/bootstrap-vue/src/components/input-group/index.js +0 -7
- package/src/vendor/bootstrap-vue/src/components/input-group/index.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group-addon.js +0 -43
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group-append.js +0 -31
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group-append.spec.js +0 -84
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group-prepend.js +0 -31
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group-prepend.spec.js +0 -84
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group-text.js +0 -31
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group-text.spec.js +0 -45
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group.js +0 -73
- package/src/vendor/bootstrap-vue/src/components/input-group/input-group.spec.js +0 -153
- package/src/vendor/bootstrap-vue/src/components/input-group/package.json +0 -109
- package/src/vendor/bootstrap-vue/src/components/layout/README.md +0 -791
- package/src/vendor/bootstrap-vue/src/components/layout/col.js +0 -154
- package/src/vendor/bootstrap-vue/src/components/layout/col.spec.js +0 -192
- package/src/vendor/bootstrap-vue/src/components/layout/form-row.js +0 -31
- package/src/vendor/bootstrap-vue/src/components/layout/form-row.spec.js +0 -45
- package/src/vendor/bootstrap-vue/src/components/layout/index.d.ts +0 -10
- package/src/vendor/bootstrap-vue/src/components/layout/index.js +0 -4
- package/src/vendor/bootstrap-vue/src/components/layout/package.json +0 -99
- package/src/vendor/bootstrap-vue/src/components/link/README.md +0 -76
- package/src/vendor/bootstrap-vue/src/components/link/index.d.ts +0 -10
- package/src/vendor/bootstrap-vue/src/components/link/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/link/link.js +0 -212
- package/src/vendor/bootstrap-vue/src/components/link/link.spec.js +0 -434
- package/src/vendor/bootstrap-vue/src/components/link/package.json +0 -57
- package/src/vendor/bootstrap-vue/src/components/modal/MODIFICATIONS.md +0 -27
- package/src/vendor/bootstrap-vue/src/components/modal/README.md +0 -1068
- package/src/vendor/bootstrap-vue/src/components/modal/_modal.scss +0 -5
- package/src/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +0 -22
- package/src/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.spec.js +0 -82
- package/src/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +0 -219
- package/src/vendor/bootstrap-vue/src/components/modal/index.d.ts +0 -82
- package/src/vendor/bootstrap-vue/src/components/modal/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/modal/index.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/modal/modal.js +0 -981
- package/src/vendor/bootstrap-vue/src/components/modal/modal.spec.js +0 -1418
- package/src/vendor/bootstrap-vue/src/components/modal/package.json +0 -548
- package/src/vendor/bootstrap-vue/src/components/nav/README.md +0 -480
- package/src/vendor/bootstrap-vue/src/components/nav/_nav-item-dropdown.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/nav/index.d.ts +0 -17
- package/src/vendor/bootstrap-vue/src/components/nav/index.js +0 -5
- package/src/vendor/bootstrap-vue/src/components/nav/index.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/nav/nav-item-dropdown.js +0 -123
- package/src/vendor/bootstrap-vue/src/components/nav/nav-item-dropdown.spec.js +0 -268
- package/src/vendor/bootstrap-vue/src/components/nav/nav-item.js +0 -49
- package/src/vendor/bootstrap-vue/src/components/nav/nav-item.spec.js +0 -127
- package/src/vendor/bootstrap-vue/src/components/nav/nav.js +0 -60
- package/src/vendor/bootstrap-vue/src/components/nav/nav.spec.js +0 -244
- package/src/vendor/bootstrap-vue/src/components/nav/package.json +0 -190
- package/src/vendor/bootstrap-vue/src/components/navbar/README.md +0 -333
- package/src/vendor/bootstrap-vue/src/components/navbar/_navbar.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/navbar/index.d.ts +0 -10
- package/src/vendor/bootstrap-vue/src/components/navbar/index.js +0 -4
- package/src/vendor/bootstrap-vue/src/components/navbar/index.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/navbar/navbar-brand.js +0 -42
- package/src/vendor/bootstrap-vue/src/components/navbar/navbar-brand.spec.js +0 -50
- package/src/vendor/bootstrap-vue/src/components/navbar/navbar.js +0 -78
- package/src/vendor/bootstrap-vue/src/components/navbar/navbar.spec.js +0 -130
- package/src/vendor/bootstrap-vue/src/components/navbar/package.json +0 -54
- package/src/vendor/bootstrap-vue/src/components/popover/README.md +0 -919
- package/src/vendor/bootstrap-vue/src/components/popover/_popover.scss +0 -113
- package/src/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +0 -50
- package/src/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +0 -28
- package/src/vendor/bootstrap-vue/src/components/popover/index.d.ts +0 -7
- package/src/vendor/bootstrap-vue/src/components/popover/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/popover/index.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/popover/package.json +0 -261
- package/src/vendor/bootstrap-vue/src/components/popover/popover.js +0 -46
- package/src/vendor/bootstrap-vue/src/components/popover/popover.spec.js +0 -199
- package/src/vendor/bootstrap-vue/src/components/progress/MODIFICATIONS.md +0 -23
- package/src/vendor/bootstrap-vue/src/components/progress/README.md +0 -363
- package/src/vendor/bootstrap-vue/src/components/progress/index.d.ts +0 -10
- package/src/vendor/bootstrap-vue/src/components/progress/index.js +0 -4
- package/src/vendor/bootstrap-vue/src/components/progress/package.json +0 -109
- package/src/vendor/bootstrap-vue/src/components/progress/progress-bar.js +0 -133
- package/src/vendor/bootstrap-vue/src/components/progress/progress-bar.spec.js +0 -270
- package/src/vendor/bootstrap-vue/src/components/progress/progress.js +0 -57
- package/src/vendor/bootstrap-vue/src/components/progress/progress.spec.js +0 -71
- package/src/vendor/bootstrap-vue/src/components/table/README.md +0 -3157
- package/src/vendor/bootstrap-vue/src/components/table/_table.scss +0 -474
- package/src/vendor/bootstrap-vue/src/components/table/helpers/constants.js +0 -30
- package/src/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +0 -60
- package/src/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.spec.js +0 -112
- package/src/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +0 -38
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +0 -44
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +0 -88
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +0 -49
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +0 -27
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +0 -105
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +0 -271
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +0 -146
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +0 -38
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +0 -188
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +0 -241
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +0 -299
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +0 -33
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +0 -209
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +0 -360
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +0 -258
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +0 -55
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +0 -238
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +0 -37
- package/src/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +0 -71
- package/src/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.spec.js +0 -93
- package/src/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +0 -39
- package/src/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +0 -11
- package/src/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +0 -13
- package/src/vendor/bootstrap-vue/src/components/table/index.d.ts +0 -237
- package/src/vendor/bootstrap-vue/src/components/table/index.js +0 -23
- package/src/vendor/bootstrap-vue/src/components/table/index.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/table/package.json +0 -1763
- package/src/vendor/bootstrap-vue/src/components/table/table-busy.spec.js +0 -150
- package/src/vendor/bootstrap-vue/src/components/table/table-caption.spec.js +0 -176
- package/src/vendor/bootstrap-vue/src/components/table/table-colgroup.spec.js +0 -81
- package/src/vendor/bootstrap-vue/src/components/table/table-filtering.spec.js +0 -409
- package/src/vendor/bootstrap-vue/src/components/table/table-item-formatter.spec.js +0 -56
- package/src/vendor/bootstrap-vue/src/components/table/table-lite.js +0 -63
- package/src/vendor/bootstrap-vue/src/components/table/table-lite.spec.js +0 -682
- package/src/vendor/bootstrap-vue/src/components/table/table-pagination.spec.js +0 -133
- package/src/vendor/bootstrap-vue/src/components/table/table-primarykey.spec.js +0 -83
- package/src/vendor/bootstrap-vue/src/components/table/table-provider.spec.js +0 -411
- package/src/vendor/bootstrap-vue/src/components/table/table-row-details.spec.js +0 -459
- package/src/vendor/bootstrap-vue/src/components/table/table-selectable.spec.js +0 -1182
- package/src/vendor/bootstrap-vue/src/components/table/table-simple.js +0 -50
- package/src/vendor/bootstrap-vue/src/components/table/table-simple.spec.js +0 -206
- package/src/vendor/bootstrap-vue/src/components/table/table-sorting.spec.js +0 -858
- package/src/vendor/bootstrap-vue/src/components/table/table-sticky-column.spec.js +0 -377
- package/src/vendor/bootstrap-vue/src/components/table/table-tbody-bottom-row.spec.js +0 -94
- package/src/vendor/bootstrap-vue/src/components/table/table-tbody-row-events.spec.js +0 -529
- package/src/vendor/bootstrap-vue/src/components/table/table-tbody-top-row.spec.js +0 -88
- package/src/vendor/bootstrap-vue/src/components/table/table-tbody-transition.spec.js +0 -83
- package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-custom.spec.js +0 -91
- package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-events.spec.js +0 -137
- package/src/vendor/bootstrap-vue/src/components/table/table-thead-events.spec.js +0 -155
- package/src/vendor/bootstrap-vue/src/components/table/table-thead-top.spec.js +0 -96
- package/src/vendor/bootstrap-vue/src/components/table/table.js +0 -89
- package/src/vendor/bootstrap-vue/src/components/table/table.spec.js +0 -692
- package/src/vendor/bootstrap-vue/src/components/table/tbody.js +0 -103
- package/src/vendor/bootstrap-vue/src/components/table/td.js +0 -195
- package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +0 -95
- package/src/vendor/bootstrap-vue/src/components/table/th.js +0 -25
- package/src/vendor/bootstrap-vue/src/components/table/thead.js +0 -98
- package/src/vendor/bootstrap-vue/src/components/table/tr.js +0 -122
- package/src/vendor/bootstrap-vue/src/components/tabs/README.md +0 -575
- package/src/vendor/bootstrap-vue/src/components/tabs/index.d.ts +0 -13
- package/src/vendor/bootstrap-vue/src/components/tabs/index.js +0 -4
- package/src/vendor/bootstrap-vue/src/components/tabs/package.json +0 -205
- package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +0 -197
- package/src/vendor/bootstrap-vue/src/components/tabs/tab.spec.js +0 -330
- package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +0 -688
- package/src/vendor/bootstrap-vue/src/components/tabs/tabs.spec.js +0 -836
- package/src/vendor/bootstrap-vue/src/components/toast/README.md +0 -656
- package/src/vendor/bootstrap-vue/src/components/toast/_toast.scss +0 -79
- package/src/vendor/bootstrap-vue/src/components/toast/_toaster-transition.scss +0 -45
- package/src/vendor/bootstrap-vue/src/components/toast/_toaster.scss +0 -108
- package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.js +0 -208
- package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.spec.js +0 -131
- package/src/vendor/bootstrap-vue/src/components/toast/index.d.ts +0 -70
- package/src/vendor/bootstrap-vue/src/components/toast/index.js +0 -12
- package/src/vendor/bootstrap-vue/src/components/toast/index.scss +0 -3
- package/src/vendor/bootstrap-vue/src/components/toast/package.json +0 -188
- package/src/vendor/bootstrap-vue/src/components/toast/toast.js +0 -454
- package/src/vendor/bootstrap-vue/src/components/toast/toast.spec.js +0 -346
- package/src/vendor/bootstrap-vue/src/components/toast/toaster.js +0 -139
- package/src/vendor/bootstrap-vue/src/components/toast/toaster.spec.js +0 -77
- package/src/vendor/bootstrap-vue/src/components/tooltip/README.md +0 -559
- package/src/vendor/bootstrap-vue/src/components/tooltip/_tooltip.scss +0 -86
- package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +0 -248
- package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +0 -130
- package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +0 -977
- package/src/vendor/bootstrap-vue/src/components/tooltip/index.d.ts +0 -7
- package/src/vendor/bootstrap-vue/src/components/tooltip/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/components/tooltip/index.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/tooltip/package.json +0 -258
- package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +0 -316
- package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.spec.js +0 -1529
- package/src/vendor/bootstrap-vue/src/components/transition/bv-transition.js +0 -83
- package/src/vendor/bootstrap-vue/src/components/transition/package.json +0 -5
- package/src/vendor/bootstrap-vue/src/components/transporter/package.json +0 -5
- package/src/vendor/bootstrap-vue/src/components/transporter/transporter.js +0 -202
- package/src/vendor/bootstrap-vue/src/components/transporter/transporter.spec.js +0 -85
- package/src/vendor/bootstrap-vue/src/constants/classes.js +0 -1
- package/src/vendor/bootstrap-vue/src/constants/components.js +0 -77
- package/src/vendor/bootstrap-vue/src/constants/config.js +0 -4
- package/src/vendor/bootstrap-vue/src/constants/env.js +0 -57
- package/src/vendor/bootstrap-vue/src/constants/events.js +0 -57
- package/src/vendor/bootstrap-vue/src/constants/key-codes.js +0 -10
- package/src/vendor/bootstrap-vue/src/constants/popper.js +0 -8
- package/src/vendor/bootstrap-vue/src/constants/props.js +0 -26
- package/src/vendor/bootstrap-vue/src/constants/regex.js +0 -33
- package/src/vendor/bootstrap-vue/src/constants/safe-types.js +0 -17
- package/src/vendor/bootstrap-vue/src/constants/slots.js +0 -32
- package/src/vendor/bootstrap-vue/src/directives/modal/index.d.ts +0 -8
- package/src/vendor/bootstrap-vue/src/directives/modal/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/directives/modal/modal.js +0 -115
- package/src/vendor/bootstrap-vue/src/directives/modal/modal.spec.js +0 -191
- package/src/vendor/bootstrap-vue/src/directives/toggle/README.md +0 -146
- package/src/vendor/bootstrap-vue/src/directives/toggle/index.d.ts +0 -7
- package/src/vendor/bootstrap-vue/src/directives/toggle/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/directives/toggle/package.json +0 -26
- package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.js +0 -274
- package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.spec.js +0 -452
- package/src/vendor/bootstrap-vue/src/directives/tooltip/README.md +0 -521
- package/src/vendor/bootstrap-vue/src/directives/tooltip/index.d.ts +0 -7
- package/src/vendor/bootstrap-vue/src/directives/tooltip/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/directives/tooltip/package.json +0 -131
- package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +0 -270
- package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.spec.js +0 -223
- package/src/vendor/bootstrap-vue/src/directives/visible/README.md +0 -244
- package/src/vendor/bootstrap-vue/src/directives/visible/index.d.ts +0 -7
- package/src/vendor/bootstrap-vue/src/directives/visible/index.js +0 -3
- package/src/vendor/bootstrap-vue/src/directives/visible/package.json +0 -24
- package/src/vendor/bootstrap-vue/src/directives/visible/visible.js +0 -184
- package/src/vendor/bootstrap-vue/src/index.d.ts +0 -61
- package/src/vendor/bootstrap-vue/src/index.js +0 -187
- package/src/vendor/bootstrap-vue/src/index.scss +0 -11
- package/src/vendor/bootstrap-vue/src/mixins/attrs.js +0 -19
- package/src/vendor/bootstrap-vue/src/mixins/attrs.spec.js +0 -194
- package/src/vendor/bootstrap-vue/src/mixins/click-out.js +0 -72
- package/src/vendor/bootstrap-vue/src/mixins/click-out.spec.js +0 -52
- package/src/vendor/bootstrap-vue/src/mixins/dropdown.js +0 -460
- package/src/vendor/bootstrap-vue/src/mixins/focus-in.js +0 -44
- package/src/vendor/bootstrap-vue/src/mixins/focus-in.spec.js +0 -53
- package/src/vendor/bootstrap-vue/src/mixins/form-control.js +0 -51
- package/src/vendor/bootstrap-vue/src/mixins/form-custom.js +0 -24
- package/src/vendor/bootstrap-vue/src/mixins/form-options.js +0 -73
- package/src/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +0 -162
- package/src/vendor/bootstrap-vue/src/mixins/form-radio-check.js +0 -332
- package/src/vendor/bootstrap-vue/src/mixins/form-selection.js +0 -60
- package/src/vendor/bootstrap-vue/src/mixins/form-size.js +0 -24
- package/src/vendor/bootstrap-vue/src/mixins/form-state.js +0 -47
- package/src/vendor/bootstrap-vue/src/mixins/form-text.js +0 -250
- package/src/vendor/bootstrap-vue/src/mixins/form-validity.js +0 -48
- package/src/vendor/bootstrap-vue/src/mixins/has-listener.js +0 -26
- package/src/vendor/bootstrap-vue/src/mixins/id.js +0 -51
- package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.js +0 -64
- package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.spec.js +0 -117
- package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.js +0 -121
- package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.spec.js +0 -77
- package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.js +0 -64
- package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.spec.js +0 -115
- package/src/vendor/bootstrap-vue/src/mixins/listeners.js +0 -24
- package/src/vendor/bootstrap-vue/src/mixins/listeners.spec.js +0 -245
- package/src/vendor/bootstrap-vue/src/mixins/model.js +0 -5
- package/src/vendor/bootstrap-vue/src/mixins/normalize-slot.js +0 -30
- package/src/vendor/bootstrap-vue/src/mixins/scoped-style.js +0 -14
- package/src/vendor/bootstrap-vue/src/mixins/use-parent.js +0 -12
- package/src/vendor/bootstrap-vue/src/utils/array.js +0 -17
- package/src/vendor/bootstrap-vue/src/utils/bv-event.class.js +0 -60
- package/src/vendor/bootstrap-vue/src/utils/bv-event.class.spec.js +0 -66
- package/src/vendor/bootstrap-vue/src/utils/cache.js +0 -37
- package/src/vendor/bootstrap-vue/src/utils/clone-deep.js +0 -15
- package/src/vendor/bootstrap-vue/src/utils/clone-deep.spec.js +0 -70
- package/src/vendor/bootstrap-vue/src/utils/config-set.js +0 -80
- package/src/vendor/bootstrap-vue/src/utils/config.js +0 -72
- package/src/vendor/bootstrap-vue/src/utils/config.spec.js +0 -169
- package/src/vendor/bootstrap-vue/src/utils/create-new-child-component.js +0 -10
- package/src/vendor/bootstrap-vue/src/utils/css-escape.js +0 -73
- package/src/vendor/bootstrap-vue/src/utils/css-escape.spec.js +0 -82
- package/src/vendor/bootstrap-vue/src/utils/dom.js +0 -308
- package/src/vendor/bootstrap-vue/src/utils/dom.spec.js +0 -291
- package/src/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +0 -40
- package/src/vendor/bootstrap-vue/src/utils/env.js +0 -15
- package/src/vendor/bootstrap-vue/src/utils/events.js +0 -71
- package/src/vendor/bootstrap-vue/src/utils/events.spec.js +0 -41
- package/src/vendor/bootstrap-vue/src/utils/get-event-root.js +0 -3
- package/src/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +0 -4
- package/src/vendor/bootstrap-vue/src/utils/get-scope-id.js +0 -6
- package/src/vendor/bootstrap-vue/src/utils/get.js +0 -64
- package/src/vendor/bootstrap-vue/src/utils/get.spec.js +0 -109
- package/src/vendor/bootstrap-vue/src/utils/html.js +0 -8
- package/src/vendor/bootstrap-vue/src/utils/identity.js +0 -1
- package/src/vendor/bootstrap-vue/src/utils/inspect.js +0 -51
- package/src/vendor/bootstrap-vue/src/utils/inspect.spec.js +0 -251
- package/src/vendor/bootstrap-vue/src/utils/locale.js +0 -34
- package/src/vendor/bootstrap-vue/src/utils/loose-equal.js +0 -57
- package/src/vendor/bootstrap-vue/src/utils/loose-equal.spec.js +0 -203
- package/src/vendor/bootstrap-vue/src/utils/loose-index-of.js +0 -11
- package/src/vendor/bootstrap-vue/src/utils/math.js +0 -11
- package/src/vendor/bootstrap-vue/src/utils/memoize.js +0 -10
- package/src/vendor/bootstrap-vue/src/utils/model.js +0 -29
- package/src/vendor/bootstrap-vue/src/utils/noop.js +0 -1
- package/src/vendor/bootstrap-vue/src/utils/normalize-slot.js +0 -44
- package/src/vendor/bootstrap-vue/src/utils/normalize-slot.spec.js +0 -63
- package/src/vendor/bootstrap-vue/src/utils/number.js +0 -19
- package/src/vendor/bootstrap-vue/src/utils/number.spec.js +0 -72
- package/src/vendor/bootstrap-vue/src/utils/object.js +0 -61
- package/src/vendor/bootstrap-vue/src/utils/object.spec.js +0 -61
- package/src/vendor/bootstrap-vue/src/utils/observe-dom.js +0 -77
- package/src/vendor/bootstrap-vue/src/utils/plugins.js +0 -169
- package/src/vendor/bootstrap-vue/src/utils/props.js +0 -92
- package/src/vendor/bootstrap-vue/src/utils/props.spec.js +0 -112
- package/src/vendor/bootstrap-vue/src/utils/router.js +0 -145
- package/src/vendor/bootstrap-vue/src/utils/router.spec.js +0 -248
- package/src/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +0 -13
- package/src/vendor/bootstrap-vue/src/utils/stable-sort.js +0 -31
- package/src/vendor/bootstrap-vue/src/utils/string.js +0 -59
- package/src/vendor/bootstrap-vue/src/utils/string.spec.js +0 -65
- package/src/vendor/bootstrap-vue/src/utils/stringify-object-values.js +0 -31
- package/src/vendor/bootstrap-vue/src/utils/stringify-object-values.spec.js +0 -47
- package/src/vendor/bootstrap-vue/src/utils/warn.js +0 -42
- package/src/vendor/bootstrap-vue/src/utils/warn.spec.js +0 -54
- package/src/vendor/bootstrap-vue/src/vue-injections.d.ts +0 -13
- package/src/vendor/bootstrap-vue/src/vue.js +0 -126
|
@@ -1,977 +0,0 @@
|
|
|
1
|
-
// Tooltip "Class" (Built as a renderless Vue instance)
|
|
2
|
-
//
|
|
3
|
-
// Handles trigger events, etc.
|
|
4
|
-
// Instantiates template on demand
|
|
5
|
-
|
|
6
|
-
import { COMPONENT_UID_KEY, extend } from '../../../vue'
|
|
7
|
-
import { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components'
|
|
8
|
-
import {
|
|
9
|
-
EVENT_NAME_DISABLE,
|
|
10
|
-
EVENT_NAME_DISABLED,
|
|
11
|
-
EVENT_NAME_ENABLE,
|
|
12
|
-
EVENT_NAME_ENABLED,
|
|
13
|
-
EVENT_NAME_FOCUSIN,
|
|
14
|
-
EVENT_NAME_FOCUSOUT,
|
|
15
|
-
EVENT_NAME_HIDDEN,
|
|
16
|
-
EVENT_NAME_HIDE,
|
|
17
|
-
EVENT_NAME_MOUSEENTER,
|
|
18
|
-
EVENT_NAME_MOUSELEAVE,
|
|
19
|
-
EVENT_NAME_SHOW,
|
|
20
|
-
EVENT_NAME_SHOWN,
|
|
21
|
-
EVENT_OPTIONS_NO_CAPTURE,
|
|
22
|
-
HOOK_EVENT_NAME_BEFORE_DESTROY,
|
|
23
|
-
HOOK_EVENT_NAME_DESTROYED
|
|
24
|
-
} from '../../../constants/events'
|
|
25
|
-
import { useParentMixin } from '../../../mixins/use-parent'
|
|
26
|
-
import { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array'
|
|
27
|
-
import { getInstanceFromElement } from '../../../utils/element-to-vue-instance-registry'
|
|
28
|
-
import {
|
|
29
|
-
attemptFocus,
|
|
30
|
-
closest,
|
|
31
|
-
contains,
|
|
32
|
-
getAttr,
|
|
33
|
-
getById,
|
|
34
|
-
hasAttr,
|
|
35
|
-
hasClass,
|
|
36
|
-
isDisabled,
|
|
37
|
-
isElement,
|
|
38
|
-
isVisible,
|
|
39
|
-
removeAttr,
|
|
40
|
-
requestAF,
|
|
41
|
-
select,
|
|
42
|
-
setAttr
|
|
43
|
-
} from '../../../utils/dom'
|
|
44
|
-
import {
|
|
45
|
-
eventOff,
|
|
46
|
-
eventOn,
|
|
47
|
-
eventOnOff,
|
|
48
|
-
getRootActionEventName,
|
|
49
|
-
getRootEventName
|
|
50
|
-
} from '../../../utils/events'
|
|
51
|
-
import { getScopeId } from '../../../utils/get-scope-id'
|
|
52
|
-
import { identity } from '../../../utils/identity'
|
|
53
|
-
import {
|
|
54
|
-
isFunction,
|
|
55
|
-
isNumber,
|
|
56
|
-
isPlainObject,
|
|
57
|
-
isString,
|
|
58
|
-
isUndefined,
|
|
59
|
-
isUndefinedOrNull
|
|
60
|
-
} from '../../../utils/inspect'
|
|
61
|
-
import { looseEqual } from '../../../utils/loose-equal'
|
|
62
|
-
import { mathMax } from '../../../utils/math'
|
|
63
|
-
import { noop } from '../../../utils/noop'
|
|
64
|
-
import { toInteger } from '../../../utils/number'
|
|
65
|
-
import { keys } from '../../../utils/object'
|
|
66
|
-
import { warn } from '../../../utils/warn'
|
|
67
|
-
import { BvEvent } from '../../../utils/bv-event.class'
|
|
68
|
-
import { createNewChildComponent } from '../../../utils/create-new-child-component'
|
|
69
|
-
import { listenOnRootMixin } from '../../../mixins/listen-on-root'
|
|
70
|
-
import { BVTooltipTemplate } from './bv-tooltip-template'
|
|
71
|
-
|
|
72
|
-
// --- Constants ---
|
|
73
|
-
|
|
74
|
-
// Modal container selector for appending tooltip/popover
|
|
75
|
-
const MODAL_SELECTOR = '.modal-content'
|
|
76
|
-
|
|
77
|
-
// Modal `$root` hidden event
|
|
78
|
-
const ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN)
|
|
79
|
-
|
|
80
|
-
// For finding the container to append to
|
|
81
|
-
const CONTAINER_SELECTOR = MODAL_SELECTOR
|
|
82
|
-
|
|
83
|
-
// For dropdown sniffing
|
|
84
|
-
const DROPDOWN_CLASS = 'dropdown'
|
|
85
|
-
const DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'
|
|
86
|
-
|
|
87
|
-
// Data attribute to temporary store the `title` attribute's value
|
|
88
|
-
const DATA_TITLE_ATTR = 'data-original-title'
|
|
89
|
-
|
|
90
|
-
// Data specific to popper and template
|
|
91
|
-
// We don't use props, as we need reactivity (we can't pass reactive props)
|
|
92
|
-
const templateData = {
|
|
93
|
-
// Text string or Scoped slot function
|
|
94
|
-
title: '',
|
|
95
|
-
// Text string or Scoped slot function
|
|
96
|
-
content: '',
|
|
97
|
-
// String
|
|
98
|
-
variant: null,
|
|
99
|
-
// String, Array, Object
|
|
100
|
-
customClass: null,
|
|
101
|
-
// String or array of Strings (overwritten by BVPopper)
|
|
102
|
-
triggers: '',
|
|
103
|
-
// String (overwritten by BVPopper)
|
|
104
|
-
placement: 'auto',
|
|
105
|
-
// String or array of strings
|
|
106
|
-
fallbackPlacement: 'flip',
|
|
107
|
-
// Element or Component reference (or function that returns element) of
|
|
108
|
-
// the element that will have the trigger events bound, and is also
|
|
109
|
-
// default element for positioning
|
|
110
|
-
target: null,
|
|
111
|
-
// HTML ID, Element or Component reference
|
|
112
|
-
container: null, // 'body'
|
|
113
|
-
// Boolean
|
|
114
|
-
noFade: false,
|
|
115
|
-
// 'scrollParent', 'viewport', 'window', Element, or Component reference
|
|
116
|
-
boundary: 'scrollParent',
|
|
117
|
-
// Tooltip/popover will try and stay away from
|
|
118
|
-
// boundary edge by this many pixels (Number)
|
|
119
|
-
boundaryPadding: 5,
|
|
120
|
-
// Arrow offset (Number)
|
|
121
|
-
offset: 0,
|
|
122
|
-
// Hover/focus delay (Number or Object)
|
|
123
|
-
delay: 0,
|
|
124
|
-
// Arrow of Tooltip/popover will try and stay away from
|
|
125
|
-
// the edge of tooltip/popover edge by this many pixels
|
|
126
|
-
arrowPadding: 6,
|
|
127
|
-
// Interactive state (Boolean)
|
|
128
|
-
interactive: true,
|
|
129
|
-
// Disabled state (Boolean)
|
|
130
|
-
disabled: false,
|
|
131
|
-
// ID to use for tooltip/popover
|
|
132
|
-
id: null,
|
|
133
|
-
// Flag used by directives only, for HTML content
|
|
134
|
-
html: false
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// --- Main component ---
|
|
138
|
-
|
|
139
|
-
// @vue/component
|
|
140
|
-
export const BVTooltip = /*#__PURE__*/ extend({
|
|
141
|
-
name: NAME_TOOLTIP_HELPER,
|
|
142
|
-
mixins: [listenOnRootMixin, useParentMixin],
|
|
143
|
-
data() {
|
|
144
|
-
return {
|
|
145
|
-
// BTooltip/BPopover/VBTooltip will update this data
|
|
146
|
-
// Via the exposed updateData() method on this instance
|
|
147
|
-
// BVPopover will override some of these defaults
|
|
148
|
-
...templateData,
|
|
149
|
-
// State management data
|
|
150
|
-
activeTrigger: {
|
|
151
|
-
// manual: false,
|
|
152
|
-
hover: false,
|
|
153
|
-
click: false,
|
|
154
|
-
focus: false
|
|
155
|
-
},
|
|
156
|
-
localShow: false
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
|
-
computed: {
|
|
160
|
-
templateType() {
|
|
161
|
-
// Overwritten by BVPopover
|
|
162
|
-
return 'tooltip'
|
|
163
|
-
},
|
|
164
|
-
computedId() {
|
|
165
|
-
return this.id || `__bv_${this.templateType}_${this[COMPONENT_UID_KEY]}__`
|
|
166
|
-
},
|
|
167
|
-
computedDelay() {
|
|
168
|
-
// Normalizes delay into object form
|
|
169
|
-
const delay = { show: 0, hide: 0 }
|
|
170
|
-
if (isPlainObject(this.delay)) {
|
|
171
|
-
delay.show = mathMax(toInteger(this.delay.show, 0), 0)
|
|
172
|
-
delay.hide = mathMax(toInteger(this.delay.hide, 0), 0)
|
|
173
|
-
} else if (isNumber(this.delay) || isString(this.delay)) {
|
|
174
|
-
delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0)
|
|
175
|
-
}
|
|
176
|
-
return delay
|
|
177
|
-
},
|
|
178
|
-
computedTriggers() {
|
|
179
|
-
// Returns the triggers in sorted array form
|
|
180
|
-
// TODO: Switch this to object form for easier lookup
|
|
181
|
-
return concat(this.triggers)
|
|
182
|
-
.filter(identity)
|
|
183
|
-
.join(' ')
|
|
184
|
-
.trim()
|
|
185
|
-
.toLowerCase()
|
|
186
|
-
.split(/\s+/)
|
|
187
|
-
.sort()
|
|
188
|
-
},
|
|
189
|
-
isWithActiveTrigger() {
|
|
190
|
-
for (const trigger in this.activeTrigger) {
|
|
191
|
-
if (this.activeTrigger[trigger]) {
|
|
192
|
-
return true
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
return false
|
|
196
|
-
},
|
|
197
|
-
computedTemplateData() {
|
|
198
|
-
const { title, content, variant, customClass, noFade, interactive } = this
|
|
199
|
-
return { title, content, variant, customClass, noFade, interactive }
|
|
200
|
-
}
|
|
201
|
-
},
|
|
202
|
-
watch: {
|
|
203
|
-
computedTriggers(newTriggers, oldTriggers) {
|
|
204
|
-
// Triggers have changed, so re-register them
|
|
205
|
-
/* istanbul ignore next */
|
|
206
|
-
if (!looseEqual(newTriggers, oldTriggers)) {
|
|
207
|
-
this.$nextTick(() => {
|
|
208
|
-
// Disable trigger listeners
|
|
209
|
-
this.unListen()
|
|
210
|
-
// Clear any active triggers that are no longer in the list of triggers
|
|
211
|
-
oldTriggers.forEach(trigger => {
|
|
212
|
-
if (!arrayIncludes(newTriggers, trigger)) {
|
|
213
|
-
if (this.activeTrigger[trigger]) {
|
|
214
|
-
this.activeTrigger[trigger] = false
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
})
|
|
218
|
-
// Re-enable the trigger listeners
|
|
219
|
-
this.listen()
|
|
220
|
-
})
|
|
221
|
-
}
|
|
222
|
-
},
|
|
223
|
-
computedTemplateData() {
|
|
224
|
-
// If any of the while open reactive "props" change,
|
|
225
|
-
// ensure that the template updates accordingly
|
|
226
|
-
this.handleTemplateUpdate()
|
|
227
|
-
},
|
|
228
|
-
title(newValue, oldValue) {
|
|
229
|
-
// Make sure to hide the tooltip when the title is set empty
|
|
230
|
-
if (newValue !== oldValue && !newValue) {
|
|
231
|
-
this.hide()
|
|
232
|
-
}
|
|
233
|
-
},
|
|
234
|
-
disabled(newValue) {
|
|
235
|
-
if (newValue) {
|
|
236
|
-
this.disable()
|
|
237
|
-
} else {
|
|
238
|
-
this.enable()
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
},
|
|
242
|
-
created() {
|
|
243
|
-
// Create non-reactive properties
|
|
244
|
-
this.$_tip = null
|
|
245
|
-
this.$_hoverTimeout = null
|
|
246
|
-
this.$_hoverState = ''
|
|
247
|
-
this.$_visibleInterval = null
|
|
248
|
-
this.$_enabled = !this.disabled
|
|
249
|
-
this.$_noop = noop.bind(this)
|
|
250
|
-
|
|
251
|
-
// Destroy ourselves when the parent is destroyed
|
|
252
|
-
if (this.bvParent) {
|
|
253
|
-
this.bvParent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {
|
|
254
|
-
this.$nextTick(() => {
|
|
255
|
-
// In a `requestAF()` to release control back to application
|
|
256
|
-
requestAF(() => {
|
|
257
|
-
this.$destroy()
|
|
258
|
-
})
|
|
259
|
-
})
|
|
260
|
-
})
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
this.$nextTick(() => {
|
|
264
|
-
const target = this.getTarget()
|
|
265
|
-
if (target && contains(document.body, target)) {
|
|
266
|
-
// Copy the parent's scoped style attribute
|
|
267
|
-
this.scopeId = getScopeId(this.bvParent)
|
|
268
|
-
// Set up all trigger handlers and listeners
|
|
269
|
-
this.listen()
|
|
270
|
-
} else {
|
|
271
|
-
/* istanbul ignore next */
|
|
272
|
-
warn(
|
|
273
|
-
isString(this.target)
|
|
274
|
-
? `Unable to find target element by ID "#${this.target}" in document.`
|
|
275
|
-
: 'The provided target is no valid HTML element.',
|
|
276
|
-
this.templateType
|
|
277
|
-
)
|
|
278
|
-
}
|
|
279
|
-
})
|
|
280
|
-
},
|
|
281
|
-
/* istanbul ignore next */
|
|
282
|
-
updated() {
|
|
283
|
-
// Usually called when the slots/data changes
|
|
284
|
-
this.$nextTick(this.handleTemplateUpdate)
|
|
285
|
-
},
|
|
286
|
-
/* istanbul ignore next */
|
|
287
|
-
deactivated() {
|
|
288
|
-
// In a keepalive that has been deactivated, so hide
|
|
289
|
-
// the tooltip/popover if it is showing
|
|
290
|
-
this.forceHide()
|
|
291
|
-
},
|
|
292
|
-
beforeDestroy() {
|
|
293
|
-
// Remove all handler/listeners
|
|
294
|
-
this.unListen()
|
|
295
|
-
this.setWhileOpenListeners(false)
|
|
296
|
-
// Clear any timeouts/intervals
|
|
297
|
-
this.clearHoverTimeout()
|
|
298
|
-
this.clearVisibilityInterval()
|
|
299
|
-
// Destroy the template
|
|
300
|
-
this.destroyTemplate()
|
|
301
|
-
// Remove any other private properties created during create
|
|
302
|
-
this.$_noop = null
|
|
303
|
-
},
|
|
304
|
-
methods: {
|
|
305
|
-
// --- Methods for creating and destroying the template ---
|
|
306
|
-
getTemplate() {
|
|
307
|
-
// Overridden by BVPopover
|
|
308
|
-
return BVTooltipTemplate
|
|
309
|
-
},
|
|
310
|
-
updateData(data = {}) {
|
|
311
|
-
// Method for updating popper/template data
|
|
312
|
-
// We only update data if it exists, and has not changed
|
|
313
|
-
let titleUpdated = false
|
|
314
|
-
keys(templateData).forEach(prop => {
|
|
315
|
-
if (!isUndefined(data[prop]) && this[prop] !== data[prop]) {
|
|
316
|
-
this[prop] = data[prop]
|
|
317
|
-
if (prop === 'title') {
|
|
318
|
-
titleUpdated = true
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
})
|
|
322
|
-
// If the title has updated, we may need to handle the `title`
|
|
323
|
-
// attribute on the trigger target
|
|
324
|
-
// We only do this while the template is open
|
|
325
|
-
if (titleUpdated && this.localShow) {
|
|
326
|
-
this.fixTitle()
|
|
327
|
-
}
|
|
328
|
-
},
|
|
329
|
-
createTemplateAndShow() {
|
|
330
|
-
// Creates the template instance and show it
|
|
331
|
-
const container = this.getContainer()
|
|
332
|
-
const Template = this.getTemplate()
|
|
333
|
-
const $tip = (this.$_tip = createNewChildComponent(this, Template, {
|
|
334
|
-
// The following is not reactive to changes in the props data
|
|
335
|
-
propsData: {
|
|
336
|
-
// These values cannot be changed while template is showing
|
|
337
|
-
id: this.computedId,
|
|
338
|
-
html: this.html,
|
|
339
|
-
placement: this.placement,
|
|
340
|
-
fallbackPlacement: this.fallbackPlacement,
|
|
341
|
-
target: this.getPlacementTarget(),
|
|
342
|
-
boundary: this.getBoundary(),
|
|
343
|
-
// Ensure the following are integers
|
|
344
|
-
offset: toInteger(this.offset, 0),
|
|
345
|
-
arrowPadding: toInteger(this.arrowPadding, 0),
|
|
346
|
-
boundaryPadding: toInteger(this.boundaryPadding, 0)
|
|
347
|
-
}
|
|
348
|
-
}))
|
|
349
|
-
// We set the initial reactive data (values that can be changed while open)
|
|
350
|
-
this.handleTemplateUpdate()
|
|
351
|
-
// Template transition phase events (handled once only)
|
|
352
|
-
// When the template has mounted, but not visibly shown yet
|
|
353
|
-
$tip.$once(EVENT_NAME_SHOW, this.onTemplateShow)
|
|
354
|
-
// When the template has completed showing
|
|
355
|
-
$tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown)
|
|
356
|
-
// When the template has started to hide
|
|
357
|
-
$tip.$once(EVENT_NAME_HIDE, this.onTemplateHide)
|
|
358
|
-
// When the template has completed hiding
|
|
359
|
-
$tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden)
|
|
360
|
-
// When the template gets destroyed for any reason
|
|
361
|
-
$tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate)
|
|
362
|
-
// Convenience events from template
|
|
363
|
-
// To save us from manually adding/removing DOM
|
|
364
|
-
// listeners to tip element when it is open
|
|
365
|
-
$tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent)
|
|
366
|
-
$tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent)
|
|
367
|
-
$tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent)
|
|
368
|
-
$tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent)
|
|
369
|
-
// Mount (which triggers the `show`)
|
|
370
|
-
$tip.$mount(container.appendChild(document.createElement('div')))
|
|
371
|
-
// Template will automatically remove its markup from DOM when hidden
|
|
372
|
-
},
|
|
373
|
-
hideTemplate() {
|
|
374
|
-
// Trigger the template to start hiding
|
|
375
|
-
// The template will emit the `hide` event after this and
|
|
376
|
-
// then emit the `hidden` event once it is fully hidden
|
|
377
|
-
// The `hook:destroyed` will also be called (safety measure)
|
|
378
|
-
this.$_tip && this.$_tip.hide()
|
|
379
|
-
// Clear out any stragging active triggers
|
|
380
|
-
this.clearActiveTriggers()
|
|
381
|
-
// Reset the hover state
|
|
382
|
-
this.$_hoverState = ''
|
|
383
|
-
},
|
|
384
|
-
// Destroy the template instance and reset state
|
|
385
|
-
destroyTemplate() {
|
|
386
|
-
this.setWhileOpenListeners(false)
|
|
387
|
-
this.clearHoverTimeout()
|
|
388
|
-
this.$_hoverState = ''
|
|
389
|
-
this.clearActiveTriggers()
|
|
390
|
-
this.localPlacementTarget = null
|
|
391
|
-
try {
|
|
392
|
-
this.$_tip.$destroy()
|
|
393
|
-
} catch {}
|
|
394
|
-
this.$_tip = null
|
|
395
|
-
this.removeAriaDescribedby()
|
|
396
|
-
this.restoreTitle()
|
|
397
|
-
this.localShow = false
|
|
398
|
-
},
|
|
399
|
-
getTemplateElement() {
|
|
400
|
-
return this.$_tip ? this.$_tip.$el : null
|
|
401
|
-
},
|
|
402
|
-
handleTemplateUpdate() {
|
|
403
|
-
// Update our template title/content "props"
|
|
404
|
-
// So that the template updates accordingly
|
|
405
|
-
const $tip = this.$_tip
|
|
406
|
-
if ($tip) {
|
|
407
|
-
const props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']
|
|
408
|
-
// Only update the values if they have changed
|
|
409
|
-
props.forEach(prop => {
|
|
410
|
-
if ($tip[prop] !== this[prop]) {
|
|
411
|
-
$tip[prop] = this[prop]
|
|
412
|
-
}
|
|
413
|
-
})
|
|
414
|
-
}
|
|
415
|
-
},
|
|
416
|
-
// --- Show/Hide handlers ---
|
|
417
|
-
// Show the tooltip
|
|
418
|
-
show() {
|
|
419
|
-
const target = this.getTarget()
|
|
420
|
-
if (
|
|
421
|
-
!target ||
|
|
422
|
-
!contains(document.body, target) ||
|
|
423
|
-
!isVisible(target) ||
|
|
424
|
-
this.dropdownOpen() ||
|
|
425
|
-
((isUndefinedOrNull(this.title) || this.title === '') &&
|
|
426
|
-
(isUndefinedOrNull(this.content) || this.content === ''))
|
|
427
|
-
) {
|
|
428
|
-
// If trigger element isn't in the DOM or is not visible, or
|
|
429
|
-
// is on an open dropdown toggle, or has no content, then
|
|
430
|
-
// we exit without showing
|
|
431
|
-
return
|
|
432
|
-
}
|
|
433
|
-
// If tip already exists, exit early
|
|
434
|
-
if (this.$_tip || this.localShow) {
|
|
435
|
-
/* istanbul ignore next */
|
|
436
|
-
return
|
|
437
|
-
}
|
|
438
|
-
// In the process of showing
|
|
439
|
-
this.localShow = true
|
|
440
|
-
// Create a cancelable BvEvent
|
|
441
|
-
const showEvent = this.buildEvent(EVENT_NAME_SHOW, { cancelable: true })
|
|
442
|
-
this.emitEvent(showEvent)
|
|
443
|
-
// Don't show if event cancelled
|
|
444
|
-
/* istanbul ignore if */
|
|
445
|
-
if (showEvent.defaultPrevented) {
|
|
446
|
-
// Destroy the template (if for some reason it was created)
|
|
447
|
-
this.destroyTemplate()
|
|
448
|
-
return
|
|
449
|
-
}
|
|
450
|
-
// Fix the title attribute on target
|
|
451
|
-
this.fixTitle()
|
|
452
|
-
// Set aria-describedby on target
|
|
453
|
-
this.addAriaDescribedby()
|
|
454
|
-
// Create and show the tooltip
|
|
455
|
-
this.createTemplateAndShow()
|
|
456
|
-
},
|
|
457
|
-
hide(force = false) {
|
|
458
|
-
// Hide the tooltip
|
|
459
|
-
const tip = this.getTemplateElement()
|
|
460
|
-
/* istanbul ignore if */
|
|
461
|
-
if (!tip || !this.localShow) {
|
|
462
|
-
this.restoreTitle()
|
|
463
|
-
return
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
// Emit cancelable BvEvent 'hide'
|
|
467
|
-
// We disable cancelling if `force` is true
|
|
468
|
-
const hideEvent = this.buildEvent(EVENT_NAME_HIDE, { cancelable: !force })
|
|
469
|
-
this.emitEvent(hideEvent)
|
|
470
|
-
/* istanbul ignore if: ignore for now */
|
|
471
|
-
if (hideEvent.defaultPrevented) {
|
|
472
|
-
// Don't hide if event cancelled
|
|
473
|
-
return
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
// Tell the template to hide
|
|
477
|
-
this.hideTemplate()
|
|
478
|
-
},
|
|
479
|
-
forceHide() {
|
|
480
|
-
// Forcefully hides/destroys the template, regardless of any active triggers
|
|
481
|
-
const tip = this.getTemplateElement()
|
|
482
|
-
if (!tip || !this.localShow) {
|
|
483
|
-
/* istanbul ignore next */
|
|
484
|
-
return
|
|
485
|
-
}
|
|
486
|
-
// Disable while open listeners/watchers
|
|
487
|
-
// This is also done in the template `hide` event handler
|
|
488
|
-
this.setWhileOpenListeners(false)
|
|
489
|
-
// Clear any hover enter/leave event
|
|
490
|
-
this.clearHoverTimeout()
|
|
491
|
-
this.$_hoverState = ''
|
|
492
|
-
this.clearActiveTriggers()
|
|
493
|
-
// Disable the fade animation on the template
|
|
494
|
-
if (this.$_tip) {
|
|
495
|
-
this.$_tip.noFade = true
|
|
496
|
-
}
|
|
497
|
-
// Hide the tip (with force = true)
|
|
498
|
-
this.hide(true)
|
|
499
|
-
},
|
|
500
|
-
enable() {
|
|
501
|
-
this.$_enabled = true
|
|
502
|
-
// Create a non-cancelable BvEvent
|
|
503
|
-
this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED))
|
|
504
|
-
},
|
|
505
|
-
disable() {
|
|
506
|
-
this.$_enabled = false
|
|
507
|
-
// Create a non-cancelable BvEvent
|
|
508
|
-
this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED))
|
|
509
|
-
},
|
|
510
|
-
// --- Handlers for template events ---
|
|
511
|
-
// When template is inserted into DOM, but not yet shown
|
|
512
|
-
onTemplateShow() {
|
|
513
|
-
// Enable while open listeners/watchers
|
|
514
|
-
this.setWhileOpenListeners(true)
|
|
515
|
-
},
|
|
516
|
-
// When template show transition completes
|
|
517
|
-
onTemplateShown() {
|
|
518
|
-
const prevHoverState = this.$_hoverState
|
|
519
|
-
this.$_hoverState = ''
|
|
520
|
-
/* istanbul ignore next: occasional Node 10 coverage error */
|
|
521
|
-
if (prevHoverState === 'out') {
|
|
522
|
-
this.leave(null)
|
|
523
|
-
}
|
|
524
|
-
// Emit a non-cancelable BvEvent 'shown'
|
|
525
|
-
this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN))
|
|
526
|
-
},
|
|
527
|
-
// When template is starting to hide
|
|
528
|
-
onTemplateHide() {
|
|
529
|
-
// Disable while open listeners/watchers
|
|
530
|
-
this.setWhileOpenListeners(false)
|
|
531
|
-
},
|
|
532
|
-
// When template has completed closing (just before it self destructs)
|
|
533
|
-
onTemplateHidden() {
|
|
534
|
-
// Destroy the template
|
|
535
|
-
this.destroyTemplate()
|
|
536
|
-
// Emit a non-cancelable BvEvent 'shown'
|
|
537
|
-
this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN))
|
|
538
|
-
},
|
|
539
|
-
// --- Helper methods ---
|
|
540
|
-
getTarget() {
|
|
541
|
-
let { target } = this
|
|
542
|
-
if (isString(target)) {
|
|
543
|
-
target = getById(target.replace(/^#/, ''))
|
|
544
|
-
} else if (isFunction(target)) {
|
|
545
|
-
target = target()
|
|
546
|
-
} else if (target) {
|
|
547
|
-
target = target.$el || target
|
|
548
|
-
}
|
|
549
|
-
return isElement(target) ? target : null
|
|
550
|
-
},
|
|
551
|
-
getPlacementTarget() {
|
|
552
|
-
// This is the target that the tooltip will be placed on, which may not
|
|
553
|
-
// necessarily be the same element that has the trigger event listeners
|
|
554
|
-
// For now, this is the same as target
|
|
555
|
-
// TODO:
|
|
556
|
-
// Add in child selector support
|
|
557
|
-
// Add in visibility checks for this element
|
|
558
|
-
// Fallback to target if not found
|
|
559
|
-
return this.getTarget()
|
|
560
|
-
},
|
|
561
|
-
getTargetId() {
|
|
562
|
-
// Returns the ID of the trigger element
|
|
563
|
-
const target = this.getTarget()
|
|
564
|
-
return target && target.id ? target.id : null
|
|
565
|
-
},
|
|
566
|
-
getContainer() {
|
|
567
|
-
// Handle case where container may be a component ref
|
|
568
|
-
const container = this.container ? this.container.$el || this.container : false
|
|
569
|
-
const body = document.body
|
|
570
|
-
const target = this.getTarget()
|
|
571
|
-
// If we are in a modal, we append to the modal, else append
|
|
572
|
-
// to body, unless a container is specified
|
|
573
|
-
// TODO:
|
|
574
|
-
// Template should periodically check to see if it is in dom
|
|
575
|
-
// And if not, self destruct (if container got v-if'ed out of DOM)
|
|
576
|
-
// Or this could possibly be part of the visibility check
|
|
577
|
-
return container === false
|
|
578
|
-
? closest(CONTAINER_SELECTOR, target) || body
|
|
579
|
-
: /*istanbul ignore next */ isString(container)
|
|
580
|
-
? /*istanbul ignore next */ getById(container.replace(/^#/, '')) || body
|
|
581
|
-
: /*istanbul ignore next */ body
|
|
582
|
-
},
|
|
583
|
-
getBoundary() {
|
|
584
|
-
return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent'
|
|
585
|
-
},
|
|
586
|
-
isInModal() {
|
|
587
|
-
const target = this.getTarget()
|
|
588
|
-
return target && closest(MODAL_SELECTOR, target)
|
|
589
|
-
},
|
|
590
|
-
isDropdown() {
|
|
591
|
-
// Returns true if trigger is a dropdown
|
|
592
|
-
const target = this.getTarget()
|
|
593
|
-
return target && hasClass(target, DROPDOWN_CLASS)
|
|
594
|
-
},
|
|
595
|
-
dropdownOpen() {
|
|
596
|
-
// Returns true if trigger is a dropdown and the dropdown menu is open
|
|
597
|
-
const target = this.getTarget()
|
|
598
|
-
return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target)
|
|
599
|
-
},
|
|
600
|
-
clearHoverTimeout() {
|
|
601
|
-
clearTimeout(this.$_hoverTimeout)
|
|
602
|
-
this.$_hoverTimeout = null
|
|
603
|
-
},
|
|
604
|
-
clearVisibilityInterval() {
|
|
605
|
-
clearInterval(this.$_visibleInterval)
|
|
606
|
-
this.$_visibleInterval = null
|
|
607
|
-
},
|
|
608
|
-
clearActiveTriggers() {
|
|
609
|
-
for (const trigger in this.activeTrigger) {
|
|
610
|
-
this.activeTrigger[trigger] = false
|
|
611
|
-
}
|
|
612
|
-
},
|
|
613
|
-
addAriaDescribedby() {
|
|
614
|
-
// Add aria-describedby on trigger element, without removing any other IDs
|
|
615
|
-
const target = this.getTarget()
|
|
616
|
-
let desc = getAttr(target, 'aria-describedby') || ''
|
|
617
|
-
desc = desc
|
|
618
|
-
.split(/\s+/)
|
|
619
|
-
.concat(this.computedId)
|
|
620
|
-
.join(' ')
|
|
621
|
-
.trim()
|
|
622
|
-
// Update/add aria-described by
|
|
623
|
-
setAttr(target, 'aria-describedby', desc)
|
|
624
|
-
},
|
|
625
|
-
removeAriaDescribedby() {
|
|
626
|
-
// Remove aria-describedby on trigger element, without removing any other IDs
|
|
627
|
-
const target = this.getTarget()
|
|
628
|
-
let desc = getAttr(target, 'aria-describedby') || ''
|
|
629
|
-
desc = desc
|
|
630
|
-
.split(/\s+/)
|
|
631
|
-
.filter(d => d !== this.computedId)
|
|
632
|
-
.join(' ')
|
|
633
|
-
.trim()
|
|
634
|
-
// Update or remove aria-describedby
|
|
635
|
-
if (desc) {
|
|
636
|
-
/* istanbul ignore next */
|
|
637
|
-
setAttr(target, 'aria-describedby', desc)
|
|
638
|
-
} else {
|
|
639
|
-
removeAttr(target, 'aria-describedby')
|
|
640
|
-
}
|
|
641
|
-
},
|
|
642
|
-
fixTitle() {
|
|
643
|
-
// If the target has a `title` attribute,
|
|
644
|
-
// remove it and store it on a data attribute
|
|
645
|
-
const target = this.getTarget()
|
|
646
|
-
if (hasAttr(target, 'title')) {
|
|
647
|
-
// Get `title` attribute value and remove it from target
|
|
648
|
-
const title = getAttr(target, 'title')
|
|
649
|
-
setAttr(target, 'title', '')
|
|
650
|
-
// Only set the data attribute when the value is truthy
|
|
651
|
-
if (title) {
|
|
652
|
-
setAttr(target, DATA_TITLE_ATTR, title)
|
|
653
|
-
}
|
|
654
|
-
}
|
|
655
|
-
},
|
|
656
|
-
restoreTitle() {
|
|
657
|
-
// If the target had a `title` attribute,
|
|
658
|
-
// restore it and remove the data attribute
|
|
659
|
-
const target = this.getTarget()
|
|
660
|
-
if (hasAttr(target, DATA_TITLE_ATTR)) {
|
|
661
|
-
// Get data attribute value and remove it from target
|
|
662
|
-
const title = getAttr(target, DATA_TITLE_ATTR)
|
|
663
|
-
removeAttr(target, DATA_TITLE_ATTR)
|
|
664
|
-
// Only restore the `title` attribute when the value is truthy
|
|
665
|
-
if (title) {
|
|
666
|
-
setAttr(target, 'title', title)
|
|
667
|
-
}
|
|
668
|
-
}
|
|
669
|
-
},
|
|
670
|
-
// --- BvEvent helpers ---
|
|
671
|
-
buildEvent(type, options = {}) {
|
|
672
|
-
// Defaults to a non-cancellable event
|
|
673
|
-
return new BvEvent(type, {
|
|
674
|
-
cancelable: false,
|
|
675
|
-
target: this.getTarget(),
|
|
676
|
-
relatedTarget: this.getTemplateElement() || null,
|
|
677
|
-
componentId: this.computedId,
|
|
678
|
-
vueTarget: this,
|
|
679
|
-
// Add in option overrides
|
|
680
|
-
...options
|
|
681
|
-
})
|
|
682
|
-
},
|
|
683
|
-
emitEvent(bvEvent) {
|
|
684
|
-
const { type } = bvEvent
|
|
685
|
-
this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent)
|
|
686
|
-
this.$emit(type, bvEvent)
|
|
687
|
-
},
|
|
688
|
-
// --- Event handler setup methods ---
|
|
689
|
-
listen() {
|
|
690
|
-
// Enable trigger event handlers
|
|
691
|
-
const el = this.getTarget()
|
|
692
|
-
if (!el) {
|
|
693
|
-
/* istanbul ignore next */
|
|
694
|
-
return
|
|
695
|
-
}
|
|
696
|
-
// Listen for global show/hide events
|
|
697
|
-
this.setRootListener(true)
|
|
698
|
-
// Set up our listeners on the target trigger element
|
|
699
|
-
this.computedTriggers.forEach(trigger => {
|
|
700
|
-
if (trigger === 'click') {
|
|
701
|
-
eventOn(el, 'click', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)
|
|
702
|
-
} else if (trigger === 'focus') {
|
|
703
|
-
eventOn(el, 'focusin', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)
|
|
704
|
-
eventOn(el, 'focusout', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)
|
|
705
|
-
} else if (trigger === 'blur') {
|
|
706
|
-
// Used to close $tip when element loses focus
|
|
707
|
-
/* istanbul ignore next */
|
|
708
|
-
eventOn(el, 'focusout', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)
|
|
709
|
-
} else if (trigger === 'hover') {
|
|
710
|
-
eventOn(el, 'mouseenter', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)
|
|
711
|
-
eventOn(el, 'mouseleave', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)
|
|
712
|
-
}
|
|
713
|
-
}, this)
|
|
714
|
-
},
|
|
715
|
-
/* istanbul ignore next */
|
|
716
|
-
unListen() {
|
|
717
|
-
// Remove trigger event handlers
|
|
718
|
-
const events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave']
|
|
719
|
-
const target = this.getTarget()
|
|
720
|
-
|
|
721
|
-
// Stop listening for global show/hide/enable/disable events
|
|
722
|
-
this.setRootListener(false)
|
|
723
|
-
|
|
724
|
-
// Clear out any active target listeners
|
|
725
|
-
events.forEach(event => {
|
|
726
|
-
target && eventOff(target, event, this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)
|
|
727
|
-
}, this)
|
|
728
|
-
},
|
|
729
|
-
setRootListener(on) {
|
|
730
|
-
// Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event
|
|
731
|
-
const method = on ? 'listenOnRoot' : 'listenOffRoot'
|
|
732
|
-
const type = this.templateType
|
|
733
|
-
this[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide)
|
|
734
|
-
this[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow)
|
|
735
|
-
this[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable)
|
|
736
|
-
this[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable)
|
|
737
|
-
},
|
|
738
|
-
setWhileOpenListeners(on) {
|
|
739
|
-
// Events that are only registered when the template is showing
|
|
740
|
-
// Modal close events
|
|
741
|
-
this.setModalListener(on)
|
|
742
|
-
// Dropdown open events (if we are attached to a dropdown)
|
|
743
|
-
this.setDropdownListener(on)
|
|
744
|
-
// Periodic $element visibility check
|
|
745
|
-
// For handling when tip target is in <keepalive>, tabs, etc
|
|
746
|
-
this.visibleCheck(on)
|
|
747
|
-
// On-touch start listeners
|
|
748
|
-
this.setOnTouchStartListener(on)
|
|
749
|
-
},
|
|
750
|
-
// Handler for periodic visibility check
|
|
751
|
-
visibleCheck(on) {
|
|
752
|
-
this.clearVisibilityInterval()
|
|
753
|
-
const target = this.getTarget()
|
|
754
|
-
if (on) {
|
|
755
|
-
this.$_visibleInterval = setInterval(() => {
|
|
756
|
-
const tip = this.getTemplateElement()
|
|
757
|
-
if (tip && this.localShow && (!target.parentNode || !isVisible(target))) {
|
|
758
|
-
// Target element is no longer visible or not in DOM, so force-hide the tooltip
|
|
759
|
-
this.forceHide()
|
|
760
|
-
}
|
|
761
|
-
}, 100)
|
|
762
|
-
}
|
|
763
|
-
},
|
|
764
|
-
setModalListener(on) {
|
|
765
|
-
// Handle case where tooltip/target is in a modal
|
|
766
|
-
if (this.isInModal()) {
|
|
767
|
-
// We can listen for modal hidden events on `$root`
|
|
768
|
-
this[on ? 'listenOnRoot' : 'listenOffRoot'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide)
|
|
769
|
-
}
|
|
770
|
-
},
|
|
771
|
-
/* istanbul ignore next: JSDOM doesn't support `ontouchstart` */
|
|
772
|
-
setOnTouchStartListener(on) {
|
|
773
|
-
// If this is a touch-enabled device we add extra empty
|
|
774
|
-
// `mouseover` listeners to the body's immediate children
|
|
775
|
-
// Only needed because of broken event delegation on iOS
|
|
776
|
-
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
|
777
|
-
if ('ontouchstart' in document.documentElement) {
|
|
778
|
-
arrayFrom(document.body.children).forEach(el => {
|
|
779
|
-
eventOnOff(on, el, 'mouseover', this.$_noop)
|
|
780
|
-
})
|
|
781
|
-
}
|
|
782
|
-
},
|
|
783
|
-
setDropdownListener(on) {
|
|
784
|
-
const target = this.getTarget()
|
|
785
|
-
if (!target || !this.bvEventRoot || !this.isDropdown) {
|
|
786
|
-
return
|
|
787
|
-
}
|
|
788
|
-
// We can listen for dropdown shown events on its instance
|
|
789
|
-
// TODO:
|
|
790
|
-
// We could grab the ID from the dropdown, and listen for
|
|
791
|
-
// $root events for that particular dropdown id
|
|
792
|
-
// Dropdown shown and hidden events will need to emit
|
|
793
|
-
// Note: Dropdown auto-ID happens in a `$nextTick()` after mount
|
|
794
|
-
// So the ID lookup would need to be done in a `$nextTick()`
|
|
795
|
-
const instance = getInstanceFromElement(target)
|
|
796
|
-
|
|
797
|
-
if (instance) {
|
|
798
|
-
instance[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide)
|
|
799
|
-
}
|
|
800
|
-
},
|
|
801
|
-
// --- Event handlers ---
|
|
802
|
-
handleEvent(event) {
|
|
803
|
-
// General trigger event handler
|
|
804
|
-
// target is the trigger element
|
|
805
|
-
const target = this.getTarget()
|
|
806
|
-
if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {
|
|
807
|
-
// If disabled or not enabled, or if a dropdown that is open, don't do anything
|
|
808
|
-
// If tip is shown before element gets disabled, then tip will not
|
|
809
|
-
// close until no longer disabled or forcefully closed
|
|
810
|
-
return
|
|
811
|
-
}
|
|
812
|
-
const type = event.type
|
|
813
|
-
const triggers = this.computedTriggers
|
|
814
|
-
|
|
815
|
-
if (type === 'click' && arrayIncludes(triggers, 'click')) {
|
|
816
|
-
this.click(event)
|
|
817
|
-
} else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {
|
|
818
|
-
// `mouseenter` is a non-bubbling event
|
|
819
|
-
this.enter(event)
|
|
820
|
-
} else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {
|
|
821
|
-
// `focusin` is a bubbling event
|
|
822
|
-
// `event` includes `relatedTarget` (element losing focus)
|
|
823
|
-
this.enter(event)
|
|
824
|
-
} else if (
|
|
825
|
-
(type === 'focusout' &&
|
|
826
|
-
(arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur'))) ||
|
|
827
|
-
(type === 'mouseleave' && arrayIncludes(triggers, 'hover'))
|
|
828
|
-
) {
|
|
829
|
-
// `focusout` is a bubbling event
|
|
830
|
-
// `mouseleave` is a non-bubbling event
|
|
831
|
-
// `tip` is the template (will be null if not open)
|
|
832
|
-
const tip = this.getTemplateElement()
|
|
833
|
-
// `eventTarget` is the element which is losing focus/hover and
|
|
834
|
-
const eventTarget = event.target
|
|
835
|
-
// `relatedTarget` is the element gaining focus/hover
|
|
836
|
-
const relatedTarget = event.relatedTarget
|
|
837
|
-
/* istanbul ignore next */
|
|
838
|
-
if (
|
|
839
|
-
// From tip to target
|
|
840
|
-
(tip && contains(tip, eventTarget) && contains(target, relatedTarget)) ||
|
|
841
|
-
// From target to tip
|
|
842
|
-
(tip && contains(target, eventTarget) && contains(tip, relatedTarget)) ||
|
|
843
|
-
// Within tip
|
|
844
|
-
(tip && contains(tip, eventTarget) && contains(tip, relatedTarget)) ||
|
|
845
|
-
// Within target
|
|
846
|
-
(contains(target, eventTarget) && contains(target, relatedTarget))
|
|
847
|
-
) {
|
|
848
|
-
// If focus/hover moves within `tip` and `target`, don't trigger a leave
|
|
849
|
-
return
|
|
850
|
-
}
|
|
851
|
-
// Otherwise trigger a leave
|
|
852
|
-
this.leave(event)
|
|
853
|
-
}
|
|
854
|
-
},
|
|
855
|
-
doHide(id) {
|
|
856
|
-
// Programmatically hide tooltip or popover
|
|
857
|
-
if (!id || (this.getTargetId() === id || this.computedId === id)) {
|
|
858
|
-
// Close all tooltips or popovers, or this specific tip (with ID)
|
|
859
|
-
this.forceHide()
|
|
860
|
-
}
|
|
861
|
-
},
|
|
862
|
-
doShow(id) {
|
|
863
|
-
// Programmatically show tooltip or popover
|
|
864
|
-
if (!id || (this.getTargetId() === id || this.computedId === id)) {
|
|
865
|
-
// Open all tooltips or popovers, or this specific tip (with ID)
|
|
866
|
-
this.show()
|
|
867
|
-
}
|
|
868
|
-
},
|
|
869
|
-
/*istanbul ignore next: ignore for now */
|
|
870
|
-
doDisable(id) /*istanbul ignore next: ignore for now */ {
|
|
871
|
-
// Programmatically disable tooltip or popover
|
|
872
|
-
if (!id || (this.getTargetId() === id || this.computedId === id)) {
|
|
873
|
-
// Disable all tooltips or popovers (no ID), or this specific tip (with ID)
|
|
874
|
-
this.disable()
|
|
875
|
-
}
|
|
876
|
-
},
|
|
877
|
-
/*istanbul ignore next: ignore for now */
|
|
878
|
-
doEnable(id) /*istanbul ignore next: ignore for now */ {
|
|
879
|
-
// Programmatically enable tooltip or popover
|
|
880
|
-
if (!id || (this.getTargetId() === id || this.computedId === id)) {
|
|
881
|
-
// Enable all tooltips or popovers (no ID), or this specific tip (with ID)
|
|
882
|
-
this.enable()
|
|
883
|
-
}
|
|
884
|
-
},
|
|
885
|
-
click(event) {
|
|
886
|
-
if (!this.$_enabled || this.dropdownOpen()) {
|
|
887
|
-
/* istanbul ignore next */
|
|
888
|
-
return
|
|
889
|
-
}
|
|
890
|
-
// Get around a WebKit bug where `click` does not trigger focus events
|
|
891
|
-
// On most browsers, `click` triggers a `focusin`/`focus` event first
|
|
892
|
-
// Needed so that trigger 'click blur' works on iOS
|
|
893
|
-
// https://github.com/bootstrap-vue/bootstrap-vue/issues/5099
|
|
894
|
-
// We use `currentTarget` rather than `target` to trigger on the
|
|
895
|
-
// element, not the inner content
|
|
896
|
-
attemptFocus(event.currentTarget)
|
|
897
|
-
this.activeTrigger.click = !this.activeTrigger.click
|
|
898
|
-
if (this.isWithActiveTrigger) {
|
|
899
|
-
this.enter(null)
|
|
900
|
-
} else {
|
|
901
|
-
/* istanbul ignore next */
|
|
902
|
-
this.leave(null)
|
|
903
|
-
}
|
|
904
|
-
},
|
|
905
|
-
/* istanbul ignore next */
|
|
906
|
-
toggle() {
|
|
907
|
-
// Manual toggle handler
|
|
908
|
-
if (!this.$_enabled || this.dropdownOpen()) {
|
|
909
|
-
/* istanbul ignore next */
|
|
910
|
-
return
|
|
911
|
-
}
|
|
912
|
-
// Should we register as an active trigger?
|
|
913
|
-
// this.activeTrigger.manual = !this.activeTrigger.manual
|
|
914
|
-
if (this.localShow) {
|
|
915
|
-
this.leave(null)
|
|
916
|
-
} else {
|
|
917
|
-
this.enter(null)
|
|
918
|
-
}
|
|
919
|
-
},
|
|
920
|
-
enter(event = null) {
|
|
921
|
-
// Opening trigger handler
|
|
922
|
-
// Note: Click events are sent with event === null
|
|
923
|
-
if (event) {
|
|
924
|
-
this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true
|
|
925
|
-
}
|
|
926
|
-
/* istanbul ignore next */
|
|
927
|
-
if (this.localShow || this.$_hoverState === 'in') {
|
|
928
|
-
this.$_hoverState = 'in'
|
|
929
|
-
return
|
|
930
|
-
}
|
|
931
|
-
this.clearHoverTimeout()
|
|
932
|
-
this.$_hoverState = 'in'
|
|
933
|
-
if (!this.computedDelay.show) {
|
|
934
|
-
this.show()
|
|
935
|
-
} else {
|
|
936
|
-
// Hide any title attribute while enter delay is active
|
|
937
|
-
this.fixTitle()
|
|
938
|
-
this.$_hoverTimeout = setTimeout(() => {
|
|
939
|
-
/* istanbul ignore else */
|
|
940
|
-
if (this.$_hoverState === 'in') {
|
|
941
|
-
this.show()
|
|
942
|
-
} else if (!this.localShow) {
|
|
943
|
-
this.restoreTitle()
|
|
944
|
-
}
|
|
945
|
-
}, this.computedDelay.show)
|
|
946
|
-
}
|
|
947
|
-
},
|
|
948
|
-
leave(event = null) {
|
|
949
|
-
// Closing trigger handler
|
|
950
|
-
// Note: Click events are sent with event === null
|
|
951
|
-
if (event) {
|
|
952
|
-
this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false
|
|
953
|
-
/* istanbul ignore next */
|
|
954
|
-
if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {
|
|
955
|
-
// Special case for `blur`: we clear out the other triggers
|
|
956
|
-
this.activeTrigger.click = false
|
|
957
|
-
this.activeTrigger.hover = false
|
|
958
|
-
}
|
|
959
|
-
}
|
|
960
|
-
/* istanbul ignore next: ignore for now */
|
|
961
|
-
if (this.isWithActiveTrigger) {
|
|
962
|
-
return
|
|
963
|
-
}
|
|
964
|
-
this.clearHoverTimeout()
|
|
965
|
-
this.$_hoverState = 'out'
|
|
966
|
-
if (!this.computedDelay.hide) {
|
|
967
|
-
this.hide()
|
|
968
|
-
} else {
|
|
969
|
-
this.$_hoverTimeout = setTimeout(() => {
|
|
970
|
-
if (this.$_hoverState === 'out') {
|
|
971
|
-
this.hide()
|
|
972
|
-
}
|
|
973
|
-
}, this.computedDelay.hide)
|
|
974
|
-
}
|
|
975
|
-
}
|
|
976
|
-
}
|
|
977
|
-
})
|