@gitlab/ui 132.0.0 → 132.0.2

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.
Files changed (403) hide show
  1. package/dist/charts.js +13 -0
  2. package/dist/components/base/accordion/accordion.js +69 -0
  3. package/dist/components/base/accordion/accordion_item.js +160 -0
  4. package/dist/components/base/accordion/constants.js +3 -0
  5. package/dist/components/base/alert/alert.js +263 -0
  6. package/dist/components/base/animated_icon/animated_chevron_down_up_icon.js +45 -0
  7. package/dist/components/base/animated_icon/animated_chevron_lg_down_up_icon.js +45 -0
  8. package/dist/components/base/animated_icon/animated_chevron_lg_right_down_icon.js +45 -0
  9. package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +45 -0
  10. package/dist/components/base/animated_icon/animated_duo_chat_icon.js +45 -0
  11. package/dist/components/base/animated_icon/animated_loader_icon.js +45 -0
  12. package/dist/components/base/animated_icon/animated_notifications_icon.js +45 -0
  13. package/dist/components/base/animated_icon/animated_sidebar_icon.js +45 -0
  14. package/dist/components/base/animated_icon/animated_smile_icon.js +45 -0
  15. package/dist/components/base/animated_icon/animated_sort_icon.js +45 -0
  16. package/dist/components/base/animated_icon/animated_star_icon.js +45 -0
  17. package/dist/components/base/animated_icon/animated_todo_icon.js +45 -0
  18. package/dist/components/base/animated_icon/animated_upload_icon.js +45 -0
  19. package/dist/components/base/animated_icon/base_animated_icon.js +77 -0
  20. package/dist/components/base/attribute_list/attribute_list.js +100 -0
  21. package/dist/components/base/avatar/avatar.js +175 -0
  22. package/dist/components/base/avatar/utils.js +17 -0
  23. package/dist/components/base/avatar_labeled/avatar_labeled.js +198 -0
  24. package/dist/components/base/avatar_link/avatar_link.js +47 -0
  25. package/dist/components/base/avatars_inline/avatars_inline.js +139 -0
  26. package/dist/components/base/badge/badge.js +197 -0
  27. package/dist/components/base/banner/banner.js +149 -0
  28. package/dist/components/base/breadcrumb/breadcrumb.js +282 -0
  29. package/dist/components/base/breadcrumb/breadcrumb_item.js +96 -0
  30. package/dist/components/base/broadcast_message/broadcast_message.js +113 -0
  31. package/dist/components/base/broadcast_message/constants.js +5 -0
  32. package/dist/components/base/button/button.js +419 -0
  33. package/dist/components/base/button_group/button_group.js +53 -0
  34. package/dist/components/base/card/card.js +69 -0
  35. package/dist/components/base/collapse/collapse.js +163 -0
  36. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +92 -0
  37. package/dist/components/base/datepicker/datepicker.js +475 -0
  38. package/dist/components/base/daterange_picker/daterange_picker.js +394 -0
  39. package/dist/components/base/drawer/drawer.js +156 -0
  40. package/dist/components/base/dropdown/dropdown.js +330 -0
  41. package/dist/components/base/dropdown/dropdown_divider.js +48 -0
  42. package/dist/components/base/dropdown/dropdown_form.js +48 -0
  43. package/dist/components/base/dropdown/dropdown_item.js +175 -0
  44. package/dist/components/base/dropdown/dropdown_section_header.js +48 -0
  45. package/dist/components/base/dropdown/dropdown_text.js +48 -0
  46. package/dist/components/base/filtered_search/common_story_options.js +14 -0
  47. package/dist/components/base/filtered_search/filtered_search.js +428 -0
  48. package/dist/components/base/filtered_search/filtered_search_suggestion.js +95 -0
  49. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +139 -0
  50. package/dist/components/base/filtered_search/filtered_search_term.js +217 -0
  51. package/dist/components/base/filtered_search/filtered_search_token.js +383 -0
  52. package/dist/components/base/filtered_search/filtered_search_token_segment.js +444 -0
  53. package/dist/components/base/filtered_search/filtered_search_utils.js +241 -0
  54. package/dist/components/base/form/form.js +43 -0
  55. package/dist/components/base/form/form_character_count/form_character_count.js +107 -0
  56. package/dist/components/base/form/form_checkbox/form_checkbox.js +342 -0
  57. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +188 -0
  58. package/dist/components/base/form/form_combobox/constants.js +55 -0
  59. package/dist/components/base/form/form_combobox/form_combobox.js +239 -0
  60. package/dist/components/base/form/form_date/form_date.js +143 -0
  61. package/dist/components/base/form/form_fields/form_field_validator.js +93 -0
  62. package/dist/components/base/form/form_fields/form_fields.js +289 -0
  63. package/dist/components/base/form/form_fields/form_fields_loop.js +75 -0
  64. package/dist/components/base/form/form_fields/mappers.js +13 -0
  65. package/dist/components/base/form/form_fields/validators.js +48 -0
  66. package/dist/components/base/form/form_group/form_group.js +119 -0
  67. package/dist/components/base/form/form_input/form_input.js +695 -0
  68. package/dist/components/base/form/form_input_group/form_input_group.js +120 -0
  69. package/dist/components/base/form/form_input_group/form_input_group_mixin.js +41 -0
  70. package/dist/components/base/form/form_radio/form_radio.js +259 -0
  71. package/dist/components/base/form/form_radio_group/form_radio_group.js +189 -0
  72. package/dist/components/base/form/form_select/constants.js +12 -0
  73. package/dist/components/base/form/form_select/form_select.js +96 -0
  74. package/dist/components/base/form/form_textarea/form_textarea.js +166 -0
  75. package/dist/components/base/form/input_group_text/input_group_text.js +43 -0
  76. package/dist/components/base/icon/icon.js +113 -0
  77. package/dist/components/base/illustration/illustration.js +80 -0
  78. package/dist/components/base/infinite_scroll/infinite_scroll.js +196 -0
  79. package/dist/components/base/keyset_pagination/keyset_pagination.js +152 -0
  80. package/dist/components/base/label/label.js +174 -0
  81. package/dist/components/base/link/link.js +330 -0
  82. package/dist/components/base/loading_icon/loading_icon.js +120 -0
  83. package/dist/components/base/markdown/markdown.js +50 -0
  84. package/dist/components/base/modal/modal.js +259 -0
  85. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +716 -0
  86. package/dist/components/base/new_dropdowns/base_dropdown/constants.js +5 -0
  87. package/dist/components/base/new_dropdowns/base_dropdown/dropdown_container.js +32 -0
  88. package/dist/components/base/new_dropdowns/constants.js +24 -0
  89. package/dist/components/base/new_dropdowns/disclosure/constants.js +8 -0
  90. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +400 -0
  91. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +112 -0
  92. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +196 -0
  93. package/dist/components/base/new_dropdowns/disclosure/mock_data.js +168 -0
  94. package/dist/components/base/new_dropdowns/disclosure/utils.js +84 -0
  95. package/dist/components/base/new_dropdowns/listbox/listbox.js +997 -0
  96. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +58 -0
  97. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +112 -0
  98. package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +94 -0
  99. package/dist/components/base/new_dropdowns/listbox/mock_data.js +131 -0
  100. package/dist/components/base/new_dropdowns/listbox/utils.js +33 -0
  101. package/dist/components/base/pagination/pagination.js +397 -0
  102. package/dist/components/base/path/data.js +34 -0
  103. package/dist/components/base/path/path.js +177 -0
  104. package/dist/components/base/popover/popover.js +142 -0
  105. package/dist/components/base/progress_bar/progress_bar.js +117 -0
  106. package/dist/components/base/search_box_by_click/search_box_by_click.js +245 -0
  107. package/dist/components/base/search_box_by_type/search_box_by_type.js +187 -0
  108. package/dist/components/base/segmented_control/segmented_control.js +73 -0
  109. package/dist/components/base/skeleton_loader/skeleton_loader.js +232 -0
  110. package/dist/components/base/sorting/sorting.js +180 -0
  111. package/dist/components/base/table/constants.js +5 -0
  112. package/dist/components/base/table/table.js +187 -0
  113. package/dist/components/base/table_lite/table_lite.js +80 -0
  114. package/dist/components/base/tabs/constants.js +3 -0
  115. package/dist/components/base/tabs/tab/tab.js +113 -0
  116. package/dist/components/base/tabs/tabs/scrollable_tabs.js +162 -0
  117. package/dist/components/base/tabs/tabs/tabs.js +223 -0
  118. package/dist/components/base/toast/index.js +66 -0
  119. package/dist/components/base/toast/toast.js +125 -0
  120. package/dist/components/base/toast/toaster.js +87 -0
  121. package/dist/components/base/toggle/toggle.js +178 -0
  122. package/dist/components/base/token/token.js +97 -0
  123. package/dist/components/base/token_selector/helpers.js +5 -0
  124. package/dist/components/base/token_selector/token_container.js +160 -0
  125. package/dist/components/base/token_selector/token_selector.js +454 -0
  126. package/dist/components/base/token_selector/token_selector_dropdown.js +223 -0
  127. package/dist/components/base/tooltip/tooltip.js +54 -0
  128. package/dist/components/charts/area/area.js +329 -0
  129. package/dist/components/charts/bar/bar.js +207 -0
  130. package/dist/components/charts/chart/chart.js +215 -0
  131. package/dist/components/charts/column/column.js +221 -0
  132. package/dist/components/charts/discrete_scatter/discrete_scatter.js +199 -0
  133. package/dist/components/charts/gauge/gauge.js +205 -0
  134. package/dist/components/charts/heatmap/heatmap.js +299 -0
  135. package/dist/components/charts/heatmap/index.js +2 -0
  136. package/dist/components/charts/legend/legend.js +245 -0
  137. package/dist/components/charts/line/line.js +340 -0
  138. package/dist/components/charts/series_label/series_label.js +101 -0
  139. package/dist/components/charts/shared/tooltip/tooltip.js +369 -0
  140. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +53 -0
  141. package/dist/components/charts/single_stat/single_stat.js +164 -0
  142. package/dist/components/charts/sparkline/sparkline.js +299 -0
  143. package/dist/components/charts/stacked_column/stacked_column.js +380 -0
  144. package/dist/components/dashboards/dashboard_layout/dashboard_layout.js +125 -0
  145. package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +326 -0
  146. package/dist/components/dashboards/dashboard_layout/validators.js +14 -0
  147. package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +236 -0
  148. package/dist/components/dashboards/mock_data.js +49 -0
  149. package/dist/components/experimental/experiment_badge/constants.js +4 -0
  150. package/dist/components/experimental/experiment_badge/experiment_badge.js +102 -0
  151. package/dist/components/extended/multi_step_form_template/multi_step_form_template.js +87 -0
  152. package/dist/components/index.js +107 -0
  153. package/dist/components/mixins/button_mixin.js +11 -0
  154. package/dist/components/mixins/safe_link_mixin.js +30 -0
  155. package/dist/components/mixins/tooltip_mixin.js +21 -0
  156. package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +53 -0
  157. package/dist/components/regions/empty_state/empty_state.js +181 -0
  158. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +64 -0
  159. package/dist/components/shared_components/clipboard_button/clipboard_button.js +100 -0
  160. package/dist/components/shared_components/close_button/close_button.js +55 -0
  161. package/dist/components/utilities/animated_number/animated_number.js +131 -0
  162. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +75 -0
  163. package/dist/components/utilities/intersection_observer/intersection_observer.js +88 -0
  164. package/dist/components/utilities/intersperse/intersperse.js +104 -0
  165. package/dist/components/utilities/sprintf/sprintf.js +171 -0
  166. package/dist/components/utilities/truncate/constants.js +8 -0
  167. package/dist/components/utilities/truncate/truncate.js +154 -0
  168. package/dist/components/utilities/truncate_text/constants.js +7 -0
  169. package/dist/components/utilities/truncate_text/truncate_text.js +146 -0
  170. package/dist/config.js +53 -0
  171. package/dist/directives/hover_load/hover_load.js +45 -0
  172. package/dist/directives/index.js +8 -0
  173. package/dist/directives/modal.js +1 -0
  174. package/dist/directives/outside/outside.js +149 -0
  175. package/dist/directives/resize_observer/resize_observer.js +58 -0
  176. package/dist/directives/safe_html/constants.js +6 -0
  177. package/dist/directives/safe_html/safe_html.js +39 -0
  178. package/dist/directives/safe_link/mock_data.js +10 -0
  179. package/dist/directives/safe_link/safe_link.js +67 -0
  180. package/dist/directives/tooltip/container.js +7 -0
  181. package/dist/directives/tooltip/tooltip.js +18 -0
  182. package/dist/index.css +7 -0
  183. package/dist/index.css.map +1 -0
  184. package/dist/index.js +2 -0
  185. package/dist/tailwind.css +2 -0
  186. package/dist/tailwind.css.map +1 -0
  187. package/dist/tokens/build/js/tokens.dark.js +1410 -0
  188. package/dist/tokens/build/js/tokens.js +1410 -0
  189. package/dist/tokens/common_story_options.js +29 -0
  190. package/dist/tokens/tokens_story.js +76 -0
  191. package/dist/utils/breakpoints.js +20 -0
  192. package/dist/utils/charts/config.js +616 -0
  193. package/dist/utils/charts/constants.js +69 -0
  194. package/dist/utils/charts/mock_data.js +191 -0
  195. package/dist/utils/charts/story_config.js +24 -0
  196. package/dist/utils/charts/theme.js +200 -0
  197. package/dist/utils/charts/utils.js +54 -0
  198. package/dist/utils/constants.js +331 -0
  199. package/dist/utils/data_utils.js +19 -0
  200. package/dist/utils/datetime_utility.js +61 -0
  201. package/dist/utils/equality_utils.js +84 -0
  202. package/dist/utils/form_options_utils.js +46 -0
  203. package/dist/utils/i18n.js +65 -0
  204. package/dist/utils/is_slot_empty.js +34 -0
  205. package/dist/utils/number_utils.js +132 -0
  206. package/dist/utils/play_utils.js +11 -0
  207. package/dist/utils/set_utils.js +25 -0
  208. package/dist/utils/stories_constants.js +29 -0
  209. package/dist/utils/stories_utils.js +62 -0
  210. package/dist/utils/story_decorators/container.js +19 -0
  211. package/dist/utils/string_utils.js +69 -0
  212. package/dist/utils/svgs/svg_paths.js +7 -0
  213. package/dist/utils/test_utils.js +33 -0
  214. package/dist/utils/use_fake_date.js +29 -0
  215. package/dist/utils/use_mock_intersection_observer.js +105 -0
  216. package/dist/utils/utils.js +205 -0
  217. package/dist/utils/vue_utils.js +57 -0
  218. package/dist/utils.js +5 -0
  219. package/dist/vendor/bootstrap-vue/src/bv-config.js +8 -0
  220. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +81 -0
  221. package/dist/vendor/bootstrap-vue/src/components/button/button.js +204 -0
  222. package/dist/vendor/bootstrap-vue/src/components/button/index.js +2 -0
  223. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +41 -0
  224. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +52 -0
  225. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +75 -0
  226. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +52 -0
  227. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +85 -0
  228. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +97 -0
  229. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +60 -0
  230. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +270 -0
  231. package/dist/vendor/bootstrap-vue/src/components/dropdown/index.js +8 -0
  232. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +53 -0
  233. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +55 -0
  234. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +53 -0
  235. package/dist/vendor/bootstrap-vue/src/components/form/form.js +56 -0
  236. package/dist/vendor/bootstrap-vue/src/components/form/index.js +4 -0
  237. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +347 -0
  238. package/dist/vendor/bootstrap-vue/src/components/form-group/index.js +1 -0
  239. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +54 -0
  240. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +41 -0
  241. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +143 -0
  242. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +56 -0
  243. package/dist/vendor/bootstrap-vue/src/components/form-select/index.js +3 -0
  244. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +217 -0
  245. package/dist/vendor/bootstrap-vue/src/components/form-textarea/index.js +1 -0
  246. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +155 -0
  247. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +34 -0
  248. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +2 -0
  249. package/dist/vendor/bootstrap-vue/src/components/link/index.js +1 -0
  250. package/dist/vendor/bootstrap-vue/src/components/link/link.js +283 -0
  251. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +21 -0
  252. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +212 -0
  253. package/dist/vendor/bootstrap-vue/src/components/modal/index.js +1 -0
  254. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +1059 -0
  255. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +55 -0
  256. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +31 -0
  257. package/dist/vendor/bootstrap-vue/src/components/popover/index.js +1 -0
  258. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +49 -0
  259. package/dist/vendor/bootstrap-vue/src/components/table/helpers/constants.js +22 -0
  260. package/dist/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +64 -0
  261. package/dist/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +40 -0
  262. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +43 -0
  263. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +83 -0
  264. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +50 -0
  265. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +32 -0
  266. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +82 -0
  267. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +292 -0
  268. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +154 -0
  269. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +44 -0
  270. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +191 -0
  271. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +213 -0
  272. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +274 -0
  273. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +39 -0
  274. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +186 -0
  275. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +338 -0
  276. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +243 -0
  277. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +50 -0
  278. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +218 -0
  279. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +42 -0
  280. package/dist/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +86 -0
  281. package/dist/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +31 -0
  282. package/dist/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +11 -0
  283. package/dist/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +14 -0
  284. package/dist/vendor/bootstrap-vue/src/components/table/index.js +9 -0
  285. package/dist/vendor/bootstrap-vue/src/components/table/table-lite.js +51 -0
  286. package/dist/vendor/bootstrap-vue/src/components/table/table-simple.js +44 -0
  287. package/dist/vendor/bootstrap-vue/src/components/table/table.js +67 -0
  288. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +116 -0
  289. package/dist/vendor/bootstrap-vue/src/components/table/td.js +204 -0
  290. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +96 -0
  291. package/dist/vendor/bootstrap-vue/src/components/table/th.js +26 -0
  292. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +99 -0
  293. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +121 -0
  294. package/dist/vendor/bootstrap-vue/src/components/tabs/index.js +2 -0
  295. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +238 -0
  296. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +690 -0
  297. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +251 -0
  298. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +118 -0
  299. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +932 -0
  300. package/dist/vendor/bootstrap-vue/src/components/tooltip/index.js +1 -0
  301. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +337 -0
  302. package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +103 -0
  303. package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +205 -0
  304. package/dist/vendor/bootstrap-vue/src/constants/components.js +55 -0
  305. package/dist/vendor/bootstrap-vue/src/constants/config.js +11 -0
  306. package/dist/vendor/bootstrap-vue/src/constants/env.js +36 -0
  307. package/dist/vendor/bootstrap-vue/src/constants/events.js +56 -0
  308. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +11 -0
  309. package/dist/vendor/bootstrap-vue/src/constants/popper.js +10 -0
  310. package/dist/vendor/bootstrap-vue/src/constants/props.js +24 -0
  311. package/dist/vendor/bootstrap-vue/src/constants/regex.js +35 -0
  312. package/dist/vendor/bootstrap-vue/src/constants/safe-types.js +15 -0
  313. package/dist/vendor/bootstrap-vue/src/constants/slots.js +36 -0
  314. package/dist/vendor/bootstrap-vue/src/directives/modal/index.js +1 -0
  315. package/dist/vendor/bootstrap-vue/src/directives/modal/modal.js +112 -0
  316. package/dist/vendor/bootstrap-vue/src/directives/tooltip/index.js +1 -0
  317. package/dist/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +267 -0
  318. package/dist/vendor/bootstrap-vue/src/directives/visible/index.js +1 -0
  319. package/dist/vendor/bootstrap-vue/src/directives/visible/visible.js +187 -0
  320. package/dist/vendor/bootstrap-vue/src/mixins/attrs.js +5 -0
  321. package/dist/vendor/bootstrap-vue/src/mixins/click-out.js +54 -0
  322. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +470 -0
  323. package/dist/vendor/bootstrap-vue/src/mixins/focus-in.js +46 -0
  324. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +73 -0
  325. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +26 -0
  326. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +91 -0
  327. package/dist/vendor/bootstrap-vue/src/mixins/form-selection.js +62 -0
  328. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +26 -0
  329. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +50 -0
  330. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +293 -0
  331. package/dist/vendor/bootstrap-vue/src/mixins/form-validity.js +50 -0
  332. package/dist/vendor/bootstrap-vue/src/mixins/has-listener.js +29 -0
  333. package/dist/vendor/bootstrap-vue/src/mixins/id.js +57 -0
  334. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-document.js +62 -0
  335. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-root.js +120 -0
  336. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-window.js +62 -0
  337. package/dist/vendor/bootstrap-vue/src/mixins/listeners.js +25 -0
  338. package/dist/vendor/bootstrap-vue/src/mixins/model.js +10 -0
  339. package/dist/vendor/bootstrap-vue/src/mixins/normalize-slot.js +30 -0
  340. package/dist/vendor/bootstrap-vue/src/mixins/scoped-style.js +18 -0
  341. package/dist/vendor/bootstrap-vue/src/mixins/use-parent.js +14 -0
  342. package/dist/vendor/bootstrap-vue/src/utils/array.js +27 -0
  343. package/dist/vendor/bootstrap-vue/src/utils/bv-event.class.js +60 -0
  344. package/dist/vendor/bootstrap-vue/src/utils/cache.js +60 -0
  345. package/dist/vendor/bootstrap-vue/src/utils/clone-deep.js +18 -0
  346. package/dist/vendor/bootstrap-vue/src/utils/config-set.js +86 -0
  347. package/dist/vendor/bootstrap-vue/src/utils/config.js +71 -0
  348. package/dist/vendor/bootstrap-vue/src/utils/create-new-child-component.js +133 -0
  349. package/dist/vendor/bootstrap-vue/src/utils/css-escape.js +70 -0
  350. package/dist/vendor/bootstrap-vue/src/utils/dom.js +298 -0
  351. package/dist/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +28 -0
  352. package/dist/vendor/bootstrap-vue/src/utils/env.js +16 -0
  353. package/dist/vendor/bootstrap-vue/src/utils/events.js +78 -0
  354. package/dist/vendor/bootstrap-vue/src/utils/get-event-root.js +5 -0
  355. package/dist/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +3 -0
  356. package/dist/vendor/bootstrap-vue/src/utils/get-scope-id.js +9 -0
  357. package/dist/vendor/bootstrap-vue/src/utils/get.js +63 -0
  358. package/dist/vendor/bootstrap-vue/src/utils/html.js +16 -0
  359. package/dist/vendor/bootstrap-vue/src/utils/identity.js +3 -0
  360. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +35 -0
  361. package/dist/vendor/bootstrap-vue/src/utils/locale.js +18 -0
  362. package/dist/vendor/bootstrap-vue/src/utils/loose-equal.js +59 -0
  363. package/dist/vendor/bootstrap-vue/src/utils/loose-index-of.js +13 -0
  364. package/dist/vendor/bootstrap-vue/src/utils/math.js +9 -0
  365. package/dist/vendor/bootstrap-vue/src/utils/memoize.js +14 -0
  366. package/dist/vendor/bootstrap-vue/src/utils/model.js +33 -0
  367. package/dist/vendor/bootstrap-vue/src/utils/noop.js +3 -0
  368. package/dist/vendor/bootstrap-vue/src/utils/normalize-slot.js +51 -0
  369. package/dist/vendor/bootstrap-vue/src/utils/number.js +23 -0
  370. package/dist/vendor/bootstrap-vue/src/utils/object.js +72 -0
  371. package/dist/vendor/bootstrap-vue/src/utils/observe-dom.js +76 -0
  372. package/dist/vendor/bootstrap-vue/src/utils/on-instance-destroy.js +22 -0
  373. package/dist/vendor/bootstrap-vue/src/utils/plugins.js +124 -0
  374. package/dist/vendor/bootstrap-vue/src/utils/props.js +67 -0
  375. package/dist/vendor/bootstrap-vue/src/utils/router.js +150 -0
  376. package/dist/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +14 -0
  377. package/dist/vendor/bootstrap-vue/src/utils/stable-sort.js +28 -0
  378. package/dist/vendor/bootstrap-vue/src/utils/string.js +47 -0
  379. package/dist/vendor/bootstrap-vue/src/utils/stringify-object-values.js +31 -0
  380. package/dist/vendor/bootstrap-vue/src/utils/warn.js +45 -0
  381. package/dist/vendor/bootstrap-vue/src/vue.js +55 -0
  382. package/package.json +6 -5
  383. package/src/components/base/link/link.vue +5 -8
  384. package/src/utils/constants.js +0 -3
  385. package/src/utils/vue_utils.js +56 -0
  386. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +2 -2
  387. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +2 -2
  388. package/src/vendor/bootstrap-vue/src/components/layout/col.js +2 -2
  389. package/src/vendor/bootstrap-vue/src/components/modal/modal.js +219 -52
  390. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +30 -11
  391. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +3 -3
  392. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +1 -2
  393. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +4 -4
  394. package/src/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +2 -3
  395. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +2 -2
  396. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +8 -9
  397. package/src/vendor/bootstrap-vue/src/constants/config.js +2 -2
  398. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +1 -1
  399. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.js +1 -2
  400. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.js +1 -2
  401. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.js +1 -2
  402. package/src/vendor/bootstrap-vue/src/utils/array.js +0 -1
  403. package/src/vendor/bootstrap-vue/src/utils/locale.js +1 -2
@@ -0,0 +1,11 @@
1
+ const NAME = 'BvConfig';
2
+ const PROP_NAME = '$bvConfig';
3
+ const DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl'];
4
+
5
+ // in milliseconds
6
+ const TOOLTIP_DELAY = Object.freeze({
7
+ show: 500,
8
+ hide: 0
9
+ });
10
+
11
+ export { DEFAULT_BREAKPOINT, NAME, PROP_NAME, TOOLTIP_DELAY };
@@ -0,0 +1,36 @@
1
+ const HAS_WINDOW_SUPPORT = typeof window !== 'undefined';
2
+ const HAS_DOCUMENT_SUPPORT = typeof document !== 'undefined';
3
+ const HAS_NAVIGATOR_SUPPORT = typeof navigator !== 'undefined';
4
+ /* istanbul ignore next: JSDOM always returns false */
5
+ const HAS_MUTATION_OBSERVER_SUPPORT = typeof MutationObserver !== 'undefined' || typeof WebKitMutationObserver !== 'undefined' || typeof MozMutationObserver !== 'undefined';
6
+ const IS_BROWSER = HAS_WINDOW_SUPPORT && HAS_DOCUMENT_SUPPORT && HAS_NAVIGATOR_SUPPORT;
7
+ const WINDOW = HAS_WINDOW_SUPPORT ? window : {};
8
+ const DOCUMENT = HAS_DOCUMENT_SUPPORT ? document : {};
9
+ const NAVIGATOR = HAS_NAVIGATOR_SUPPORT ? navigator : {};
10
+ const USER_AGENT = (NAVIGATOR.userAgent || '').toLowerCase();
11
+ const IS_JSDOM = USER_AGENT.indexOf('jsdom') > 0;
12
+
13
+ // Determine if the browser supports the option passive for events
14
+ const HAS_PASSIVE_EVENT_SUPPORT = (() => {
15
+ let passiveEventSupported = false;
16
+ if (IS_BROWSER) {
17
+ try {
18
+ const options = {
19
+ // This function will be called when the browser
20
+ // attempts to access the passive property
21
+ get passive() {
22
+ /* istanbul ignore next: will never be called in JSDOM */
23
+ passiveEventSupported = true;
24
+ }
25
+ };
26
+ WINDOW.addEventListener('test', options, options);
27
+ WINDOW.removeEventListener('test', options, options);
28
+ } catch {
29
+ /* istanbul ignore next: will never be called in JSDOM */
30
+ passiveEventSupported = false;
31
+ }
32
+ }
33
+ return passiveEventSupported;
34
+ })();
35
+
36
+ export { DOCUMENT, HAS_DOCUMENT_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT, HAS_NAVIGATOR_SUPPORT, HAS_PASSIVE_EVENT_SUPPORT, HAS_WINDOW_SUPPORT, IS_BROWSER, IS_JSDOM, NAVIGATOR, USER_AGENT, WINDOW };
@@ -0,0 +1,56 @@
1
+ const EVENT_NAME_ACTIVATE_TAB = 'activate-tab';
2
+ const EVENT_NAME_BLUR = 'blur';
3
+ const EVENT_NAME_CANCEL = 'cancel';
4
+ const EVENT_NAME_CHANGE = 'change';
5
+ const EVENT_NAME_CHANGED = 'changed';
6
+ const EVENT_NAME_CLICK = 'click';
7
+ const EVENT_NAME_CLOSE = 'close';
8
+ const EVENT_NAME_CONTEXT = 'context';
9
+ const EVENT_NAME_CONTEXT_CHANGED = 'context-changed';
10
+ const EVENT_NAME_DESTROYED = 'destroyed';
11
+ const EVENT_NAME_DISABLE = 'disable';
12
+ const EVENT_NAME_DISABLED = 'disabled';
13
+ const EVENT_NAME_ENABLE = 'enable';
14
+ const EVENT_NAME_ENABLED = 'enabled';
15
+ const EVENT_NAME_FILTERED = 'filtered';
16
+ const EVENT_NAME_FIRST = 'first';
17
+ const EVENT_NAME_FOCUS = 'focus';
18
+ const EVENT_NAME_FOCUSIN = 'focusin';
19
+ const EVENT_NAME_FOCUSOUT = 'focusout';
20
+ const EVENT_NAME_HEAD_CLICKED = 'head-clicked';
21
+ const EVENT_NAME_HIDDEN = 'hidden';
22
+ const EVENT_NAME_HIDE = 'hide';
23
+ const EVENT_NAME_INPUT = 'input';
24
+ const EVENT_NAME_LAST = 'last';
25
+ const EVENT_NAME_MOUSEENTER = 'mouseenter';
26
+ const EVENT_NAME_MOUSELEAVE = 'mouseleave';
27
+ const EVENT_NAME_NEXT = 'next';
28
+ const EVENT_NAME_OK = 'ok';
29
+ const EVENT_NAME_OPEN = 'open';
30
+ const EVENT_NAME_PREV = 'prev';
31
+ const EVENT_NAME_REFRESH = 'refresh';
32
+ const EVENT_NAME_REFRESHED = 'refreshed';
33
+ const EVENT_NAME_ROW_CLICKED = 'row-clicked';
34
+ const EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu';
35
+ const EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked';
36
+ const EVENT_NAME_ROW_HOVERED = 'row-hovered';
37
+ const EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked';
38
+ const EVENT_NAME_ROW_SELECTED = 'row-selected';
39
+ const EVENT_NAME_ROW_UNHOVERED = 'row-unhovered';
40
+ const EVENT_NAME_SHOW = 'show';
41
+ const EVENT_NAME_SHOWN = 'shown';
42
+ const EVENT_NAME_SORT_CHANGED = 'sort-changed';
43
+ const EVENT_NAME_TOGGLE = 'toggle';
44
+ const EVENT_NAME_UPDATE = 'update';
45
+ const MODEL_EVENT_NAME_PREFIX = 'update:';
46
+ const ROOT_EVENT_NAME_PREFIX = 'bv';
47
+ const ROOT_EVENT_NAME_SEPARATOR = '::';
48
+ const EVENT_OPTIONS_PASSIVE = {
49
+ passive: true
50
+ };
51
+ const EVENT_OPTIONS_NO_CAPTURE = {
52
+ passive: true,
53
+ capture: false
54
+ };
55
+
56
+ export { EVENT_NAME_ACTIVATE_TAB, EVENT_NAME_BLUR, EVENT_NAME_CANCEL, EVENT_NAME_CHANGE, EVENT_NAME_CHANGED, EVENT_NAME_CLICK, EVENT_NAME_CLOSE, EVENT_NAME_CONTEXT, EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_DESTROYED, EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FILTERED, EVENT_NAME_FIRST, EVENT_NAME_FOCUS, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HEAD_CLICKED, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_INPUT, EVENT_NAME_LAST, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_NEXT, EVENT_NAME_OK, EVENT_NAME_OPEN, EVENT_NAME_PREV, EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_MIDDLE_CLICKED, EVENT_NAME_ROW_SELECTED, EVENT_NAME_ROW_UNHOVERED, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_SORT_CHANGED, EVENT_NAME_TOGGLE, EVENT_NAME_UPDATE, EVENT_OPTIONS_NO_CAPTURE, EVENT_OPTIONS_PASSIVE, MODEL_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR };
@@ -0,0 +1,11 @@
1
+ const CODE_DOWN = 40;
2
+ const CODE_END = 35;
3
+ const CODE_ENTER = 13;
4
+ const CODE_ESC = 27;
5
+ const CODE_HOME = 36;
6
+ const CODE_LEFT = 37;
7
+ const CODE_RIGHT = 39;
8
+ const CODE_SPACE = 32;
9
+ const CODE_UP = 38;
10
+
11
+ export { CODE_DOWN, CODE_END, CODE_ENTER, CODE_ESC, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP };
@@ -0,0 +1,10 @@
1
+ const PLACEMENT_TOP_START = 'top-start';
2
+ const PLACEMENT_TOP_END = 'top-end';
3
+ const PLACEMENT_BOTTOM_START = 'bottom-start';
4
+ const PLACEMENT_BOTTOM_END = 'bottom-end';
5
+ const PLACEMENT_RIGHT_START = 'right-start';
6
+ const PLACEMENT_RIGHT_END = 'right-end';
7
+ const PLACEMENT_LEFT_START = 'left-start';
8
+ const PLACEMENT_LEFT_END = 'left-end';
9
+
10
+ export { PLACEMENT_BOTTOM_END, PLACEMENT_BOTTOM_START, PLACEMENT_LEFT_END, PLACEMENT_LEFT_START, PLACEMENT_RIGHT_END, PLACEMENT_RIGHT_START, PLACEMENT_TOP_END, PLACEMENT_TOP_START };
@@ -0,0 +1,24 @@
1
+ // General types
2
+ const PROP_TYPE_ANY = undefined;
3
+ const PROP_TYPE_ARRAY = Array;
4
+ const PROP_TYPE_BOOLEAN = Boolean;
5
+ const PROP_TYPE_FUNCTION = Function;
6
+ const PROP_TYPE_NUMBER = Number;
7
+ const PROP_TYPE_OBJECT = Object;
8
+ const PROP_TYPE_REG_EXP = RegExp;
9
+ const PROP_TYPE_STRING = String;
10
+
11
+ // Multiple types
12
+ const PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION];
13
+ const PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT];
14
+ const PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING];
15
+ const PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING];
16
+ const PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER];
17
+ const PROP_TYPE_BOOLEAN_NUMBER_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING];
18
+ const PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING];
19
+ const PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING];
20
+ const PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING];
21
+ const PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION];
22
+ const PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING];
23
+
24
+ export { PROP_TYPE_ANY, PROP_TYPE_ARRAY, PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_ARRAY_OBJECT, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER, PROP_TYPE_NUMBER_OBJECT_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_OBJECT_FUNCTION, PROP_TYPE_OBJECT_STRING, PROP_TYPE_REG_EXP, PROP_TYPE_STRING };
@@ -0,0 +1,35 @@
1
+ // --- General ---
2
+
3
+ const RX_ARRAY_NOTATION = /\[(\d+)]/g;
4
+ const RX_BV_PREFIX = /^(BV?)/;
5
+ const RX_DIGITS = /^\d+$/;
6
+ const RX_HASH = /^#/;
7
+ const RX_HASH_ID = /^#[A-Za-z]+[\w\-:.]*$/;
8
+ const RX_HTML_TAGS = /(<([^>]+)>)/gi;
9
+ const RX_HYPHENATE = /\B([A-Z])/g;
10
+ const RX_LOWER_UPPER = /([a-z])([A-Z])/g;
11
+ const RX_NUMBER = /^[0-9]*\.?[0-9]+$/;
12
+ const RX_PLUS = /\+/g;
13
+ const RX_REGEXP_REPLACE = /[-/\\^$*+?.()|[\]{}]/g;
14
+ const RX_SPACES = /[\s\uFEFF\xA0]+/g;
15
+ const RX_SPACE_SPLIT = /\s+/;
16
+ const RX_START_SPACE_WORD = /(\s|^)(\w)/g;
17
+ const RX_TRIM_LEFT = /^\s+/;
18
+ const RX_TRIM_RIGHT = /\s+$/;
19
+ const RX_UNDERSCORE = /_/g;
20
+
21
+ // --- URL ---
22
+
23
+ const RX_ENCODED_COMMA = /%2C/g;
24
+ const RX_ENCODE_REVERSE = /[!'()*]/g;
25
+ const RX_QUERY_START = /^(\?|#|&)/;
26
+
27
+ // --- Grid ---
28
+
29
+ const RX_COL_CLASS = /^col-/;
30
+
31
+ // --- Locale ---
32
+
33
+ const RX_STRIP_LOCALE_MODS = /-u-.+/;
34
+
35
+ export { RX_ARRAY_NOTATION, RX_BV_PREFIX, RX_COL_CLASS, RX_DIGITS, RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_HASH, RX_HASH_ID, RX_HTML_TAGS, RX_HYPHENATE, RX_LOWER_UPPER, RX_NUMBER, RX_PLUS, RX_QUERY_START, RX_REGEXP_REPLACE, RX_SPACES, RX_SPACE_SPLIT, RX_START_SPACE_WORD, RX_STRIP_LOCALE_MODS, RX_TRIM_LEFT, RX_TRIM_RIGHT, RX_UNDERSCORE };
@@ -0,0 +1,15 @@
1
+ import { HAS_WINDOW_SUPPORT, WINDOW } from './env';
2
+
3
+ /* istanbul ignore next */
4
+ const Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : class Element extends Object {};
5
+
6
+ /* istanbul ignore next */
7
+ const HTMLElement = HAS_WINDOW_SUPPORT ? WINDOW.HTMLElement : class HTMLElement extends Element {};
8
+
9
+ /* istanbul ignore next */
10
+ const SVGElement = HAS_WINDOW_SUPPORT ? WINDOW.SVGElement : class SVGElement extends Element {};
11
+
12
+ /* istanbul ignore next */
13
+ const File = HAS_WINDOW_SUPPORT ? WINDOW.File : class File extends Object {};
14
+
15
+ export { Element, File, HTMLElement, SVGElement };
@@ -0,0 +1,36 @@
1
+ const SLOT_NAME_APPEND = 'append';
2
+ const SLOT_NAME_BOTTOM_ROW = 'bottom-row';
3
+ const SLOT_NAME_BUTTON_CONTENT = 'button-content';
4
+ const SLOT_NAME_CUSTOM_FOOT = 'custom-foot';
5
+ const SLOT_NAME_DEFAULT = 'default';
6
+ const SLOT_NAME_DESCRIPTION = 'description';
7
+ const SLOT_NAME_EMPTY = 'empty';
8
+ const SLOT_NAME_EMPTYFILTERED = 'emptyfiltered';
9
+ const SLOT_NAME_FIRST = 'first';
10
+ const SLOT_NAME_HEADER = 'header';
11
+ const SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback';
12
+ const SLOT_NAME_LABEL = 'label';
13
+ const SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop';
14
+ const SLOT_NAME_MODAL_CANCEL = 'modal-cancel';
15
+ const SLOT_NAME_MODAL_FOOTER = 'modal-footer';
16
+ const SLOT_NAME_MODAL_HEADER = 'modal-header';
17
+ const SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close';
18
+ const SLOT_NAME_MODAL_OK = 'modal-ok';
19
+ const SLOT_NAME_MODAL_TITLE = 'modal-title';
20
+ const SLOT_NAME_PREPEND = 'prepend';
21
+ const SLOT_NAME_ROW_DETAILS = 'row-details';
22
+ const SLOT_NAME_TABLE_BUSY = 'table-busy';
23
+ const SLOT_NAME_TABLE_CAPTION = 'table-caption';
24
+ const SLOT_NAME_TABLE_COLGROUP = 'table-colgroup';
25
+ const SLOT_NAME_TABS_END = 'tabs-end';
26
+ const SLOT_NAME_TABS_START = 'tabs-start';
27
+ const SLOT_NAME_TOOLBAR_END = 'toolbar-end';
28
+ const SLOT_NAME_TOOLBAR_START = 'toolbar-start';
29
+ const SLOT_NAME_TEXT = 'text';
30
+ const SLOT_NAME_THEAD_TOP = 'thead-top';
31
+ const SLOT_NAME_TITLE = 'title';
32
+ const SLOT_NAME_TOAST_TITLE = 'toast-title';
33
+ const SLOT_NAME_TOP_ROW = 'top-row';
34
+ const SLOT_NAME_VALID_FEEDBACK = 'valid-feedback';
35
+
36
+ export { SLOT_NAME_APPEND, SLOT_NAME_BOTTOM_ROW, SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_CUSTOM_FOOT, SLOT_NAME_DEFAULT, SLOT_NAME_DESCRIPTION, SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_FIRST, SLOT_NAME_HEADER, SLOT_NAME_INVALID_FEEDBACK, SLOT_NAME_LABEL, SLOT_NAME_MODAL_BACKDROP, SLOT_NAME_MODAL_CANCEL, SLOT_NAME_MODAL_FOOTER, SLOT_NAME_MODAL_HEADER, SLOT_NAME_MODAL_HEADER_CLOSE, SLOT_NAME_MODAL_OK, SLOT_NAME_MODAL_TITLE, SLOT_NAME_PREPEND, SLOT_NAME_ROW_DETAILS, SLOT_NAME_TABLE_BUSY, SLOT_NAME_TABLE_CAPTION, SLOT_NAME_TABLE_COLGROUP, SLOT_NAME_TABS_END, SLOT_NAME_TABS_START, SLOT_NAME_TEXT, SLOT_NAME_THEAD_TOP, SLOT_NAME_TITLE, SLOT_NAME_TOAST_TITLE, SLOT_NAME_TOOLBAR_END, SLOT_NAME_TOOLBAR_START, SLOT_NAME_TOP_ROW, SLOT_NAME_VALID_FEEDBACK };
@@ -0,0 +1 @@
1
+ export { VBModal } from './modal';
@@ -0,0 +1,112 @@
1
+ import { NAME_MODAL } from '../../constants/components';
2
+ import { EVENT_NAME_SHOW, EVENT_OPTIONS_PASSIVE } from '../../constants/events';
3
+ import { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';
4
+ import { matches, select, hasAttr, setAttr, getAttr, isDisabled } from '../../utils/dom';
5
+ import { getRootActionEventName, eventOff, eventOn } from '../../utils/events';
6
+ import { isString } from '../../utils/inspect';
7
+ import { keys } from '../../utils/object';
8
+ import { getEventRoot } from '../../utils/get-event-root';
9
+ import { getInstanceFromDirective } from '../../utils/get-instance-from-directive';
10
+
11
+ // Emitted show event for modal
12
+ const ROOT_ACTION_EVENT_NAME_SHOW = getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW);
13
+
14
+ // Prop name we use to store info on root element
15
+ const PROPERTY = '__bv_modal_directive__';
16
+ const getTarget = _ref => {
17
+ let {
18
+ modifiers = {},
19
+ arg,
20
+ value
21
+ } = _ref;
22
+ // Try value, then arg, otherwise pick last modifier
23
+ return isString(value) ? value : isString(arg) ? arg : keys(modifiers).reverse()[0];
24
+ };
25
+ const getTriggerElement = el => {
26
+ // If root element is a dropdown-item or nav-item, we
27
+ // need to target the inner link or button instead
28
+ return el && matches(el, '.dropdown-menu > li, li.nav-item') ? select('a, button', el) || el : el;
29
+ };
30
+ const setRole = trigger => {
31
+ // Ensure accessibility on non button elements
32
+ if (trigger && trigger.tagName !== 'BUTTON') {
33
+ // Only set a role if the trigger element doesn't have one
34
+ if (!hasAttr(trigger, 'role')) {
35
+ setAttr(trigger, 'role', 'button');
36
+ }
37
+ // Add a tabindex is not a button or link, and tabindex is not provided
38
+ if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {
39
+ setAttr(trigger, 'tabindex', '0');
40
+ }
41
+ }
42
+ };
43
+ const bind = (el, binding, vnode) => {
44
+ const target = getTarget(binding);
45
+ const trigger = getTriggerElement(el);
46
+ if (target && trigger) {
47
+ const handler = event => {
48
+ // `currentTarget` is the element with the listener on it
49
+ const currentTarget = event.currentTarget;
50
+ if (!isDisabled(currentTarget)) {
51
+ const type = event.type;
52
+ const key = event.keyCode;
53
+ // Open modal only if trigger is not disabled
54
+ if (type === 'click' || type === 'keydown' && (key === CODE_ENTER || key === CODE_SPACE)) {
55
+ getEventRoot(getInstanceFromDirective(vnode, binding)).$emit(ROOT_ACTION_EVENT_NAME_SHOW, target, currentTarget);
56
+ }
57
+ }
58
+ };
59
+ el[PROPERTY] = {
60
+ handler,
61
+ target,
62
+ trigger
63
+ };
64
+ // If element is not a button, we add `role="button"` for accessibility
65
+ setRole(trigger);
66
+ // Listen for click events
67
+ eventOn(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE);
68
+ if (trigger.tagName !== 'BUTTON' && getAttr(trigger, 'role') === 'button') {
69
+ // If trigger isn't a button but has role button,
70
+ // we also listen for `keydown.space` && `keydown.enter`
71
+ eventOn(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE);
72
+ }
73
+ }
74
+ };
75
+ const unbind = el => {
76
+ const oldProp = el[PROPERTY] || {};
77
+ const trigger = oldProp.trigger;
78
+ const handler = oldProp.handler;
79
+ if (trigger && handler) {
80
+ eventOff(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE);
81
+ eventOff(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE);
82
+ eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE);
83
+ eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);
84
+ }
85
+ delete el[PROPERTY];
86
+ };
87
+ const componentUpdated = (el, binding, vnode) => {
88
+ const oldProp = el[PROPERTY] || {};
89
+ const target = getTarget(binding);
90
+ const trigger = getTriggerElement(el);
91
+ if (target !== oldProp.target || trigger !== oldProp.trigger) {
92
+ // We bind and rebind if the target or trigger changes
93
+ unbind(el);
94
+ bind(el, binding, vnode);
95
+ }
96
+ // If trigger element is not a button, ensure `role="button"`
97
+ // is still set for accessibility
98
+ setRole(trigger);
99
+ };
100
+ const updated = () => {};
101
+
102
+ /*
103
+ * Export our directive
104
+ */
105
+ const VBModal = {
106
+ inserted: componentUpdated,
107
+ updated,
108
+ componentUpdated,
109
+ unbind
110
+ };
111
+
112
+ export { VBModal };
@@ -0,0 +1 @@
1
+ export { VBTooltip } from './tooltip';
@@ -0,0 +1,267 @@
1
+ import { IS_BROWSER } from '../../constants/env';
2
+ import { EVENT_NAME_SHOW } from '../../constants/events';
3
+ import { concat } from '../../utils/array';
4
+ import { isVue3 } from '../../vue';
5
+ import { getScopeId } from '../../utils/get-scope-id';
6
+ import { TOOLTIP_DELAY } from '../../constants/config';
7
+ import { identity } from '../../utils/identity';
8
+ import { getInstanceFromDirective } from '../../utils/get-instance-from-directive';
9
+ import { isFunction, isString, isNumber, isPlainObject, isUndefined, isUndefinedOrNull } from '../../utils/inspect';
10
+ import { looseEqual } from '../../utils/loose-equal';
11
+ import { toInteger } from '../../utils/number';
12
+ import { keys } from '../../utils/object';
13
+ import { createNewChildComponent, eventProp } from '../../utils/create-new-child-component';
14
+ import { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip';
15
+
16
+ // Key which we use to store tooltip object on element
17
+ const BV_TOOLTIP = '__BV_Tooltip__';
18
+
19
+ // Default trigger
20
+ const DefaultTrigger = 'hover focus';
21
+
22
+ // Valid event triggers
23
+ const validTriggers = {
24
+ focus: true,
25
+ hover: true,
26
+ click: true,
27
+ blur: true,
28
+ manual: true
29
+ };
30
+
31
+ // Directive modifier test regular expressions. Pre-compile for performance
32
+ const htmlRE = /^html$/i;
33
+ const noninteractiveRE = /^noninteractive$/i;
34
+ const noFadeRE = /^nofade$/i;
35
+ const placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;
36
+ const boundaryRE = /^(window|viewport|scrollParent)$/i;
37
+ const delayRE = /^d\d+$/i;
38
+ const delayShowRE = /^ds\d+$/i;
39
+ const delayHideRE = /^dh\d+$/i;
40
+ const offsetRE = /^o-?\d+$/i;
41
+ const variantRE = /^v-.+$/i;
42
+ const spacesRE = /\s+/;
43
+
44
+ // Build a Tooltip config based on bindings (if any)
45
+ // Arguments and modifiers take precedence over passed value config object
46
+ const parseBindings = (bindings, vnode) => /* istanbul ignore next: not easy to test */{
47
+ // We start out with a basic config
48
+ let config = {
49
+ title: undefined,
50
+ trigger: '',
51
+ // Default set below if needed
52
+ placement: 'top',
53
+ fallbackPlacement: 'flip',
54
+ container: false,
55
+ // Default of body
56
+ animation: true,
57
+ offset: 0,
58
+ id: null,
59
+ html: false,
60
+ interactive: true,
61
+ disabled: false,
62
+ delay: {
63
+ ...TOOLTIP_DELAY
64
+ },
65
+ boundary: 'scrollParent',
66
+ boundaryPadding: 5,
67
+ variant: undefined,
68
+ customClass: 'gl-tooltip'
69
+ };
70
+ // Process `bindings.value`
71
+ if (isString(bindings.value) || isNumber(bindings.value)) {
72
+ // Value is tooltip content (HTML optionally supported)
73
+ config.title = bindings.value;
74
+ } else if (isFunction(bindings.value)) {
75
+ // Title generator function
76
+ config.title = bindings.value;
77
+ } else if (isPlainObject(bindings.value)) {
78
+ // Value is config object, so merge
79
+ config = {
80
+ ...config,
81
+ ...bindings.value
82
+ };
83
+ }
84
+
85
+ // If title is not provided, try title attribute
86
+ if (isUndefined(config.title)) {
87
+ // Try attribute
88
+ const attrs = isVue3(getInstanceFromDirective(vnode, bindings)) ? vnode.props : (vnode.data || {}).attrs;
89
+ config.title = attrs && !isUndefinedOrNull(attrs.title) ? attrs.title : undefined;
90
+ }
91
+
92
+ // Normalize delay
93
+ if (!isPlainObject(config.delay)) {
94
+ config.delay = {
95
+ show: toInteger(config.delay, 0),
96
+ hide: toInteger(config.delay, 0)
97
+ };
98
+ }
99
+
100
+ // If argument, assume element ID of container element
101
+ if (bindings.arg) {
102
+ // Element ID specified as arg
103
+ // We must prepend '#' to become a CSS selector
104
+ config.container = `#${bindings.arg}`;
105
+ }
106
+
107
+ // Process modifiers
108
+ keys(bindings.modifiers).forEach(mod => {
109
+ if (htmlRE.test(mod)) {
110
+ // Title allows HTML
111
+ config.html = true;
112
+ } else if (noninteractiveRE.test(mod)) {
113
+ // Noninteractive
114
+ config.interactive = false;
115
+ } else if (noFadeRE.test(mod)) {
116
+ // No animation
117
+ config.animation = false;
118
+ } else if (placementRE.test(mod)) {
119
+ // Placement of tooltip
120
+ config.placement = mod;
121
+ } else if (boundaryRE.test(mod)) {
122
+ // Boundary of tooltip
123
+ mod = mod === 'scrollparent' ? 'scrollParent' : mod;
124
+ config.boundary = mod;
125
+ } else if (delayRE.test(mod)) {
126
+ // Delay value
127
+ const delay = toInteger(mod.slice(1), 0);
128
+ config.delay.show = delay;
129
+ config.delay.hide = delay;
130
+ } else if (delayShowRE.test(mod)) {
131
+ // Delay show value
132
+ config.delay.show = toInteger(mod.slice(2), 0);
133
+ } else if (delayHideRE.test(mod)) {
134
+ // Delay hide value
135
+ config.delay.hide = toInteger(mod.slice(2), 0);
136
+ } else if (offsetRE.test(mod)) {
137
+ // Offset value, negative allowed
138
+ config.offset = toInteger(mod.slice(1), 0);
139
+ } else if (variantRE.test(mod)) {
140
+ // Variant
141
+ config.variant = mod.slice(2) || null;
142
+ }
143
+ });
144
+
145
+ // Special handling of event trigger modifiers trigger is
146
+ // a space separated list
147
+ const selectedTriggers = {};
148
+
149
+ // Parse current config object trigger
150
+ concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(trigger => {
151
+ if (validTriggers[trigger]) {
152
+ selectedTriggers[trigger] = true;
153
+ }
154
+ });
155
+
156
+ // Parse modifiers for triggers
157
+ keys(bindings.modifiers).forEach(mod => {
158
+ mod = mod.toLowerCase();
159
+ if (validTriggers[mod]) {
160
+ // If modifier is a valid trigger
161
+ selectedTriggers[mod] = true;
162
+ }
163
+ });
164
+
165
+ // Sanitize triggers
166
+ config.trigger = keys(selectedTriggers).join(' ');
167
+ if (config.trigger === 'blur') {
168
+ // Blur by itself is useless, so convert it to 'focus'
169
+ config.trigger = 'focus';
170
+ }
171
+ if (!config.trigger) {
172
+ // Use default trigger
173
+ config.trigger = DefaultTrigger;
174
+ }
175
+
176
+ // Return the config
177
+ return config;
178
+ };
179
+
180
+ // Add/update Tooltip on our element
181
+ const applyTooltip = (el, bindings, vnode) => {
182
+ if (!IS_BROWSER) {
183
+ /* istanbul ignore next */
184
+ return;
185
+ }
186
+ const config = parseBindings(bindings, vnode);
187
+ if (!el[BV_TOOLTIP]) {
188
+ const parent = getInstanceFromDirective(vnode, bindings);
189
+ el[BV_TOOLTIP] = createNewChildComponent(parent, BVTooltip, {
190
+ // Add the parent's scoped style attribute data
191
+ _scopeId: getScopeId(parent, undefined),
192
+ propsData: {
193
+ [eventProp(EVENT_NAME_SHOW)]: () => /* istanbul ignore next: for now */{
194
+ // Before showing the tooltip, we update the title if it is a function
195
+ if (isFunction(config.title)) {
196
+ el[BV_TOOLTIP].updateData({
197
+ title: config.title(el)
198
+ });
199
+ }
200
+ }
201
+ }
202
+ });
203
+ el[BV_TOOLTIP].__bv_prev_data__ = {};
204
+ }
205
+ const data = {
206
+ title: config.title,
207
+ triggers: config.trigger,
208
+ placement: config.placement,
209
+ fallbackPlacement: config.fallbackPlacement,
210
+ variant: config.variant,
211
+ customClass: config.customClass,
212
+ container: config.container,
213
+ boundary: config.boundary,
214
+ delay: config.delay,
215
+ offset: config.offset,
216
+ noFade: !config.animation,
217
+ id: config.id,
218
+ interactive: config.interactive,
219
+ disabled: config.disabled,
220
+ html: config.html
221
+ };
222
+ const oldData = el[BV_TOOLTIP].__bv_prev_data__;
223
+ el[BV_TOOLTIP].__bv_prev_data__ = data;
224
+ if (!looseEqual(data, oldData)) {
225
+ // We only update the instance if data has changed
226
+ const newData = {
227
+ target: el
228
+ };
229
+ keys(data).forEach(prop => {
230
+ // We only pass data properties that have changed
231
+ if (data[prop] !== oldData[prop]) {
232
+ // if title is a function, we execute it here
233
+ newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];
234
+ }
235
+ });
236
+ el[BV_TOOLTIP].updateData(newData);
237
+ }
238
+ };
239
+
240
+ // Remove Tooltip on our element
241
+ const removeTooltip = el => {
242
+ if (el[BV_TOOLTIP]) {
243
+ el[BV_TOOLTIP].$destroy();
244
+ el[BV_TOOLTIP] = null;
245
+ }
246
+ delete el[BV_TOOLTIP];
247
+ };
248
+
249
+ // Export our directive
250
+ const VBTooltip = {
251
+ bind(el, bindings, vnode) {
252
+ applyTooltip(el, bindings, vnode);
253
+ },
254
+ // We use `componentUpdated` here instead of `update`, as the former
255
+ // waits until the containing component and children have finished updating
256
+ componentUpdated(el, bindings, vnode) {
257
+ // Performed in a `$nextTick()` to prevent render update loops
258
+ getInstanceFromDirective(vnode, bindings).$nextTick(() => {
259
+ applyTooltip(el, bindings, vnode);
260
+ });
261
+ },
262
+ unbind(el) {
263
+ removeTooltip(el);
264
+ }
265
+ };
266
+
267
+ export { VBTooltip };
@@ -0,0 +1 @@
1
+ export { VBVisible } from './visible';