@gitlab/ui 132.0.1 → 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 (393) 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 +4 -3
  383. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +2 -2
  384. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +2 -2
  385. package/src/vendor/bootstrap-vue/src/components/layout/col.js +2 -2
  386. package/src/vendor/bootstrap-vue/src/components/modal/modal.js +2 -2
  387. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +2 -2
  388. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +8 -9
  389. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.js +1 -2
  390. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.js +1 -2
  391. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.js +1 -2
  392. package/src/vendor/bootstrap-vue/src/utils/array.js +0 -1
  393. package/src/vendor/bootstrap-vue/src/utils/locale.js +1 -2
@@ -0,0 +1,67 @@
1
+ import { PROP_TYPE_ANY } from '../constants/props';
2
+ import { identity } from './identity';
3
+ import { isUndefined, isObject, isArray } from './inspect';
4
+ import { hasOwnProperty, clone, keys } from './object';
5
+ import { upperFirst } from './string';
6
+
7
+ // Suffix can be a falsey value so nothing is appended to string
8
+ // (helps when looping over props & some shouldn't change)
9
+ // Use data last parameters to allow for currying
10
+ const suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : '');
11
+
12
+ // Generates a prop object
13
+ const makeProp = function () {
14
+ let type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PROP_TYPE_ANY;
15
+ let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
16
+ let requiredOrValidator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
17
+ let validator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
18
+ const required = requiredOrValidator === true;
19
+ validator = required ? validator : requiredOrValidator;
20
+ return {
21
+ ...(type ? {
22
+ type
23
+ } : {}),
24
+ ...(required ? {
25
+ required
26
+ } : isUndefined(value) ? {} : {
27
+ default: isObject(value) ? () => value : value
28
+ }),
29
+ ...(isUndefined(validator) ? {} : {
30
+ validator
31
+ })
32
+ };
33
+ };
34
+
35
+ // Copies props from one array/object to a new array/object
36
+ // Prop values are also cloned as new references to prevent possible
37
+ // mutation of original prop object values
38
+ // Optionally accepts a function to transform the prop name
39
+ const copyProps = function (props) {
40
+ let transformFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;
41
+ if (isArray(props)) {
42
+ return props.map(transformFn);
43
+ }
44
+ const copied = {};
45
+ for (const prop in props) {
46
+ /* istanbul ignore else */
47
+ if (hasOwnProperty(props, prop)) {
48
+ // If the prop value is an object, do a shallow clone
49
+ // to prevent potential mutations to the original object
50
+ copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop];
51
+ }
52
+ }
53
+ return copied;
54
+ };
55
+
56
+ // Given an array of properties or an object of property keys,
57
+ // plucks all the values off the target object, returning a new object
58
+ // that has props that reference the original prop values
59
+ const pluckProps = function (keysToPluck, objToPluck) {
60
+ let transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : identity;
61
+ return (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {
62
+ memo[transformFn(prop)] = objToPluck[prop];
63
+ return memo;
64
+ }, {});
65
+ };
66
+
67
+ export { copyProps, makeProp, pluckProps, suffixPropName };
@@ -0,0 +1,150 @@
1
+ import { RX_QUERY_START, RX_PLUS, RX_ENCODE_REVERSE, RX_ENCODED_COMMA } from '../constants/regex';
2
+ import { isVue3 } from '../vue';
3
+ import { isTag } from './dom';
4
+ import { isPlainObject, isUndefined, isNull, isArray, isString } from './inspect';
5
+ import { keys } from './object';
6
+ import { safeVueInstance } from './safe-vue-instance';
7
+ import { toString } from './string';
8
+
9
+ const ANCHOR_TAG = 'a';
10
+
11
+ // Method to replace reserved chars
12
+ const encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);
13
+
14
+ // Fixed encodeURIComponent which is more conformant to RFC3986:
15
+ // - escapes [!'()*]
16
+ // - preserve commas
17
+ const encode = str => encodeURIComponent(toString(str)).replace(RX_ENCODE_REVERSE, encodeReserveReplacer).replace(RX_ENCODED_COMMA, ',');
18
+ const decode = decodeURIComponent;
19
+
20
+ // Stringifies an object of query parameters
21
+ // See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js
22
+ const stringifyQueryObj = obj => {
23
+ if (!isPlainObject(obj)) {
24
+ return '';
25
+ }
26
+ const query = keys(obj).map(key => {
27
+ const value = obj[key];
28
+ if (isUndefined(value)) {
29
+ return '';
30
+ } else if (isNull(value)) {
31
+ return encode(key);
32
+ } else if (isArray(value)) {
33
+ return value.reduce((results, value2) => {
34
+ if (isNull(value2)) {
35
+ results.push(encode(key));
36
+ } else if (!isUndefined(value2)) {
37
+ // Faster than string interpolation
38
+ results.push(encode(key) + '=' + encode(value2));
39
+ }
40
+ return results;
41
+ }, []).join('&');
42
+ }
43
+ // Faster than string interpolation
44
+ return encode(key) + '=' + encode(value);
45
+ })
46
+ /* must check for length, as we only want to filter empty strings, not things that look falsey! */.filter(x => x.length > 0).join('&');
47
+ return query ? `?${query}` : '';
48
+ };
49
+ const parseQuery = query => {
50
+ const parsed = {};
51
+ query = toString(query).trim().replace(RX_QUERY_START, '');
52
+ if (!query) {
53
+ return parsed;
54
+ }
55
+ query.split('&').forEach(param => {
56
+ const parts = param.replace(RX_PLUS, ' ').split('=');
57
+ const key = decode(parts.shift());
58
+ const value = parts.length > 0 ? decode(parts.join('=')) : null;
59
+ if (isUndefined(parsed[key])) {
60
+ parsed[key] = value;
61
+ } else if (isArray(parsed[key])) {
62
+ parsed[key].push(value);
63
+ } else {
64
+ parsed[key] = [parsed[key], value];
65
+ }
66
+ });
67
+ return parsed;
68
+ };
69
+ const isLink = props => !!(props.href || props.to);
70
+ const routerLink = {
71
+ functional: true,
72
+ _name: 'router-link',
73
+ render(h, ctx) {
74
+ // $hasNormal is Vue.js 2 legacy way to check if default slot is scoped or not
75
+ // in bootstrap-vue codebase we never use scoped slots router-link rendering
76
+ return h('router-link', ctx.data, {
77
+ ...ctx.children,
78
+ $hasNormal: true
79
+ });
80
+ }
81
+ };
82
+ const isRouterLink = tag => !!(tag && !isTag(tag, 'a'));
83
+ const computeTag = (_ref, thisOrParent) => {
84
+ let {
85
+ to,
86
+ disabled,
87
+ routerComponentName
88
+ } = _ref;
89
+ const hasRouter = !!safeVueInstance(thisOrParent).$router;
90
+ const hasNuxt = !!safeVueInstance(thisOrParent).$nuxt;
91
+ if (!hasRouter || hasRouter && (disabled || !to)) {
92
+ return ANCHOR_TAG;
93
+ }
94
+
95
+ // TODO:
96
+ // Check registered components for existence of user supplied router link component name
97
+ // We would need to check PascalCase, kebab-case, and camelCase versions of name:
98
+ // const name = routerComponentName
99
+ // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]
100
+ // exists = names.some(name => !!thisOrParent.$options.components[name])
101
+ // And may want to cache the result for performance or we just let the render fail
102
+ // if the component is not registered
103
+ const actualRouterLink = isVue3(thisOrParent) ? routerLink : 'router-link';
104
+ return routerComponentName || (hasNuxt ? 'nuxt-link' : actualRouterLink);
105
+ };
106
+ const computeRel = function () {
107
+ let {
108
+ target,
109
+ rel
110
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
111
+ return target === '_blank' && isNull(rel) ? 'noopener' : rel || null;
112
+ };
113
+ const computeHref = function () {
114
+ let {
115
+ href,
116
+ to
117
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
118
+ let tag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ANCHOR_TAG;
119
+ let fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '#';
120
+ let toFallback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/';
121
+ // Return `href` when explicitly provided
122
+ if (href) {
123
+ return href;
124
+ }
125
+
126
+ // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router
127
+ // When deferring to Vue Router's `<router-link>`, don't use the `href` attribute at all
128
+ // We return `null`, and then remove `href` from the attributes passed to `<router-link>`
129
+ if (isRouterLink(tag)) {
130
+ return null;
131
+ }
132
+
133
+ // Fallback to `to` prop (if `to` is a string)
134
+ if (isString(to)) {
135
+ return to || toFallback;
136
+ }
137
+ // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)
138
+ if (isPlainObject(to) && (to.path || to.query || to.hash)) {
139
+ const path = toString(to.path);
140
+ const query = stringifyQueryObj(to.query);
141
+ let hash = toString(to.hash);
142
+ hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`;
143
+ return `${path}${query}${hash}` || toFallback;
144
+ }
145
+
146
+ // If nothing is provided return the fallback
147
+ return fallback;
148
+ };
149
+
150
+ export { computeHref, computeRel, computeTag, isLink, isRouterLink, parseQuery, stringifyQueryObj };
@@ -0,0 +1,14 @@
1
+ import { isVue3 } from '../vue';
2
+
3
+ function safeVueInstance(target) {
4
+ if (!isVue3(target)) {
5
+ return target;
6
+ }
7
+ return new Proxy(target, {
8
+ get(target, prop) {
9
+ return prop in target ? target[prop] : undefined;
10
+ }
11
+ });
12
+ }
13
+
14
+ export { safeVueInstance };
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Consistent and stable sort function across JavaScript platforms
3
+ *
4
+ * Inconsistent sorts can cause SSR problems between client and server
5
+ * such as in <b-table> if sortBy is applied to the data on server side render.
6
+ * Chrome and V8 native sorts are inconsistent/unstable
7
+ *
8
+ * This function uses native sort with fallback to index compare when the a and b
9
+ * compare returns 0
10
+ *
11
+ * Algorithm based on:
12
+ * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645
13
+ *
14
+ * @param {array} array to sort
15
+ * @param {function} sort compare function
16
+ * @return {array}
17
+ */
18
+ const stableSort = (array, compareFn) => {
19
+ // Using `.bind(compareFn)` on the wrapped anonymous function improves
20
+ // performance by avoiding the function call setup. We don't use an arrow
21
+ // function here as it binds `this` to the `stableSort` context rather than
22
+ // the `compareFn` context, which wouldn't give us the performance increase.
23
+ return array.map((a, index) => [index, a]).sort(function (a, b) {
24
+ return this(a[1], b[1]) || a[0] - b[0];
25
+ }.bind(compareFn)).map(e => e[1]);
26
+ };
27
+
28
+ export { stableSort };
@@ -0,0 +1,47 @@
1
+ import { RX_HYPHENATE, RX_UNDERSCORE, RX_LOWER_UPPER, RX_START_SPACE_WORD, RX_REGEXP_REPLACE, RX_TRIM_LEFT, RX_TRIM_RIGHT } from '../constants/regex';
2
+ import { isString, isUndefinedOrNull, isArray, isPlainObject } from './inspect';
3
+
4
+ // String utilities
5
+
6
+ // --- Utilities ---
7
+
8
+ // Converts PascalCase or camelCase to kebab-case
9
+ const kebabCase = str => {
10
+ return str.replace(RX_HYPHENATE, '-$1').toLowerCase();
11
+ };
12
+
13
+ // Converts a string, including strings in camelCase or snake_case, into Start Case
14
+ // It keeps original single quote and hyphen in the word
15
+ // https://github.com/UrbanCompass/to-start-case
16
+ const startCase = str => str.replace(RX_UNDERSCORE, ' ').replace(RX_LOWER_UPPER, (str, $1, $2) => $1 + ' ' + $2).replace(RX_START_SPACE_WORD, (str, $1, $2) => $1 + $2.toUpperCase());
17
+
18
+ // Uppercases the first letter of a string and returns a new string
19
+ const upperFirst = str => {
20
+ str = isString(str) ? str.trim() : String(str);
21
+ return str.charAt(0).toUpperCase() + str.slice(1);
22
+ };
23
+
24
+ // Escape characters to be used in building a regular expression
25
+ const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\$&');
26
+
27
+ // Convert a value to a string that can be rendered
28
+ // `undefined`/`null` will be converted to `''`
29
+ // Plain objects and arrays will be JSON stringified
30
+ const toString = function (val) {
31
+ let spaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
32
+ return isUndefinedOrNull(val) ? '' : isArray(val) || isPlainObject(val) && val.toString === Object.prototype.toString ? JSON.stringify(val, null, spaces) : String(val);
33
+ };
34
+
35
+ // Remove leading white space from a string
36
+ const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '');
37
+
38
+ // Remove Trailing white space from a string
39
+ const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '');
40
+
41
+ // Remove leading and trailing white space from a string
42
+ const trim = str => toString(str).trim();
43
+
44
+ // Lower case a string
45
+ const lowerCase = str => toString(str).toLowerCase();
46
+
47
+ export { escapeRegExp, kebabCase, lowerCase, startCase, toString, trim, trimLeft, trimRight, upperFirst };
@@ -0,0 +1,31 @@
1
+ import { isUndefinedOrNull, isObject, isDate } from './inspect';
2
+ import { keys } from './object';
3
+ import { toString } from './string';
4
+
5
+ // Recursively stringifies the values of an object, space separated, in an
6
+ // SSR safe deterministic way (keys are sorted before stringification)
7
+ //
8
+ // ex:
9
+ // { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }
10
+ // becomes
11
+ // 'one 3 2 zzz 10 12 11'
12
+ //
13
+ // Strings are returned as-is
14
+ // Numbers get converted to string
15
+ // `null` and `undefined` values are filtered out
16
+ // Dates are converted to their native string format
17
+ const stringifyObjectValues = value => {
18
+ if (isUndefinedOrNull(value)) {
19
+ return '';
20
+ }
21
+ // Arrays are also object, and keys just returns the array indexes
22
+ // Date objects we convert to strings
23
+ if (isObject(value) && !isDate(value)) {
24
+ return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables
25
+ .map(k => stringifyObjectValues(value[k])).filter(v => !!v) // Ignore empty strings
26
+ .join(' ');
27
+ }
28
+ return toString(value);
29
+ };
30
+
31
+ export { stringifyObjectValues };
@@ -0,0 +1,45 @@
1
+ import { IS_BROWSER, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env';
2
+ import { getNoWarn } from './env';
3
+
4
+ /**
5
+ * Log a warning message to the console with BootstrapVue formatting
6
+ * @param {string} message
7
+ */
8
+ const warn = function (message) /* istanbul ignore next */{
9
+ let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
10
+ if (!getNoWarn()) {
11
+ console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`);
12
+ }
13
+ };
14
+
15
+ /**
16
+ * Warn when no Promise support is given
17
+ * @param {string} source
18
+ * @returns {boolean} warned
19
+ */
20
+ const warnNotClient = source => {
21
+ /* istanbul ignore else */
22
+ if (IS_BROWSER) {
23
+ return false;
24
+ } else {
25
+ warn(`${source}: Can not be called during SSR.`);
26
+ return true;
27
+ }
28
+ };
29
+
30
+ /**
31
+ * Warn when no MutationObserver support is given
32
+ * @param {string} source
33
+ * @returns {boolean} warned
34
+ */
35
+ const warnNoMutationObserverSupport = source => {
36
+ /* istanbul ignore else */
37
+ if (HAS_MUTATION_OBSERVER_SUPPORT) {
38
+ return false;
39
+ } else {
40
+ warn(`${source}: Requires MutationObserver support.`);
41
+ return true;
42
+ }
43
+ };
44
+
45
+ export { warn, warnNoMutationObserverSupport, warnNotClient };
@@ -0,0 +1,55 @@
1
+ import Vue from 'vue';
2
+ import { mergeData as mergeData$1 } from 'vue-functional-data-merge';
3
+
4
+ // --- Constants ---
5
+ const COMPONENT_UID_KEY = '_uid';
6
+ const isGlobalVue3 = Vue.version.startsWith('3');
7
+ const REF_FOR_KEY = isGlobalVue3 ? 'ref_for' : 'refInFor';
8
+ if (isGlobalVue3) {
9
+ const originalVModelDynamicCreated = Vue.vModelDynamic.created;
10
+ const originalVModelDynamicBeforeUpdate = Vue.vModelDynamic.beforeUpdate;
11
+ let assignSymbol;
12
+
13
+ // See https://github.com/vuejs/vue-next/pull/4121 for details
14
+ Vue.vModelDynamic.created = function (el, binding, vnode) {
15
+ originalVModelDynamicCreated.call(this, el, binding, vnode);
16
+ if (!el._assign) {
17
+ el._assign = () => {};
18
+ }
19
+
20
+ // Added check for Symbol('_assign') to fix in compat 3.3.5+ based on https://github.com/bootstrap-vue/bootstrap-vue/issues/7181
21
+ if (!assignSymbol) {
22
+ assignSymbol = Object.getOwnPropertySymbols(el).find(s => s.description === '_assign');
23
+ }
24
+ if (!el[assignSymbol]) {
25
+ el[assignSymbol] = function () {};
26
+ }
27
+ };
28
+ Vue.vModelDynamic.beforeUpdate = function (el, binding, vnode) {
29
+ originalVModelDynamicBeforeUpdate.call(this, el, binding, vnode);
30
+ if (!el._assign) {
31
+ el._assign = () => {};
32
+ }
33
+
34
+ // Added check for Symbol('_assign') to fix in 3.3.5+ based on https://github.com/bootstrap-vue/bootstrap-vue/issues/7181
35
+ if (!assignSymbol) {
36
+ assignSymbol = Object.getOwnPropertySymbols(el).find(s => s.description === '_assign');
37
+ }
38
+ if (!el[assignSymbol]) {
39
+ el[assignSymbol] = function () {};
40
+ }
41
+ };
42
+ }
43
+ const isVue3 = instance => Boolean(instance.$);
44
+ const extend = Vue.extend.bind(Vue);
45
+ function mergeData() {
46
+ var _result$attrs, _result$props;
47
+ const result = mergeData$1(...arguments);
48
+ return {
49
+ ...result,
50
+ ...((_result$attrs = result.attrs) !== null && _result$attrs !== void 0 ? _result$attrs : {}),
51
+ ...((_result$props = result.props) !== null && _result$props !== void 0 ? _result$props : {})
52
+ };
53
+ }
54
+
55
+ export { COMPONENT_UID_KEY, REF_FOR_KEY, extend, isGlobalVue3, isVue3, mergeData };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "132.0.1",
3
+ "version": "132.0.2",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -36,6 +36,7 @@
36
36
  "scripts": {
37
37
  "build": "NODE_ENV=production rollup -c",
38
38
  "prebuild": "yarn build-tokens",
39
+ "prepack": "yarn build",
39
40
  "copy-fonts": "make copy-fonts",
40
41
  "build-tokens": "make tokens",
41
42
  "sync-tokens": "node --env-file=.figma.env bin/figma_sync_tokens.mjs",
@@ -90,7 +91,7 @@
90
91
  "chokidar": "^4.0.3",
91
92
  "sane": "^5.0.1",
92
93
  "jackspeak": "2.1.1",
93
- "postcss": "8.5.9",
94
+ "postcss": "8.5.10",
94
95
  "json5": "2.2.3",
95
96
  "rollup-plugin-vue/@vue/component-compiler/postcss-modules-sync/generic-names/loader-utils": "3.3.1"
96
97
  },
@@ -153,7 +154,7 @@
153
154
  "pikaday": "^1.8.0",
154
155
  "playwright": "^1.59.1",
155
156
  "playwright-core": "^1.59.1",
156
- "postcss": "8.5.9",
157
+ "postcss": "8.5.10",
157
158
  "postcss-loader": "8.2.1",
158
159
  "postcss-scss": "4.0.9",
159
160
  "react": "18.3.1",
@@ -7,7 +7,7 @@ import {
7
7
  PROP_TYPE_STRING
8
8
  } from '../../constants/props'
9
9
  import { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots'
10
- import { arrayIncludes } from '../../utils/array'
10
+
11
11
  import { htmlOrText } from '../../utils/html'
12
12
  import { toString } from '../../utils/string'
13
13
  import { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown'
@@ -67,7 +67,7 @@ export const props = sortKeys({
67
67
  required: false,
68
68
  default: 'button',
69
69
  validator: value => {
70
- return arrayIncludes(['button', 'submit', 'reset'], value)
70
+ return ['button', 'submit', 'reset'].includes(value)
71
71
  }
72
72
  },
73
73
  splitClass: {
@@ -14,7 +14,7 @@ import {
14
14
  SLOT_NAME_LABEL,
15
15
  SLOT_NAME_VALID_FEEDBACK
16
16
  } from '../../constants/slots'
17
- import { arrayIncludes } from '../../utils/array'
17
+
18
18
  import { getBreakpointsUpCached } from '../../utils/config'
19
19
  import { cssEscape } from '../../utils/css-escape'
20
20
  import {
@@ -185,7 +185,7 @@ export const BFormGroup = {
185
185
  // and ensuring the ID's are unique
186
186
  const ids = (getAttr($input, attr) || '')
187
187
  .split(RX_SPACE_SPLIT)
188
- .filter(id => !arrayIncludes(oldIds, id))
188
+ .filter(id => !oldIds.includes(id))
189
189
  .concat(newIds)
190
190
  .filter((id, index, ids) => ids.indexOf(id) === index)
191
191
  .filter(identity)
@@ -7,7 +7,7 @@ import {
7
7
  PROP_TYPE_STRING
8
8
  } from '../../constants/props'
9
9
  import { RX_COL_CLASS } from '../../constants/regex'
10
- import { arrayIncludes } from '../../utils/array'
10
+
11
11
  import { getBreakpointsUpCached } from '../../utils/config'
12
12
  import { identity } from '../../utils/identity'
13
13
  import { isUndefinedOrNull } from '../../utils/inspect'
@@ -89,7 +89,7 @@ export const generateProps = () => {
89
89
  ...breakpointOrder,
90
90
  // Flex alignment
91
91
  alignSelf: makeProp(PROP_TYPE_STRING, null, value => {
92
- return arrayIncludes(ALIGN_SELF_VALUES, value)
92
+ return ALIGN_SELF_VALUES.includes(value)
93
93
  }),
94
94
  // Generic flexbox 'col' (xs)
95
95
  col: makeProp(PROP_TYPE_BOOLEAN, false),
@@ -31,7 +31,7 @@ import {
31
31
  SLOT_NAME_MODAL_OK,
32
32
  SLOT_NAME_MODAL_TITLE
33
33
  } from '../../constants/slots'
34
- import { arrayIncludes, concat } from '../../utils/array'
34
+ import { concat } from '../../utils/array'
35
35
  import {
36
36
  attemptFocus,
37
37
  closest,
@@ -112,7 +112,7 @@ export const props = sortKeys({
112
112
  required: false,
113
113
  default: null,
114
114
  validator: value => {
115
- return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)
115
+ return isUndefinedOrNull(value) || BUTTONS.includes(value)
116
116
  }
117
117
  },
118
118
  bodyClass: {
@@ -34,7 +34,7 @@ import {
34
34
  SLOT_NAME_TOOLBAR_START,
35
35
  SLOT_NAME_TITLE
36
36
  } from '../../constants/slots'
37
- import { arrayIncludes } from '../../utils/array'
37
+
38
38
  import { BvEvent } from '../../utils/bv-event.class'
39
39
  import { attemptFocus, selectAll, requestAF } from '../../utils/dom'
40
40
  import { stopEvent } from '../../utils/events'
@@ -410,7 +410,7 @@ export const BTabs = /*#__PURE__*/ extend({
410
410
  },
411
411
  methods: {
412
412
  registerTab($tab) {
413
- if (!arrayIncludes(this.registeredTabs, $tab)) {
413
+ if (!this.registeredTabs.includes($tab)) {
414
414
  this.registeredTabs.push($tab)
415
415
  }
416
416
  },
@@ -22,7 +22,7 @@ import {
22
22
  } from '../../../constants/events'
23
23
  import { onInstanceDestroy } from '../../../utils/on-instance-destroy'
24
24
  import { useParentMixin } from '../../../mixins/use-parent'
25
- import { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array'
25
+ import { concat, from as arrayFrom } from '../../../utils/array'
26
26
  import { getInstanceFromElement } from '../../../utils/element-to-vue-instance-registry'
27
27
  import {
28
28
  attemptFocus,
@@ -208,7 +208,7 @@ export const BVTooltip = /*#__PURE__*/ extend({
208
208
  this.unListen()
209
209
  // Clear any active triggers that are no longer in the list of triggers
210
210
  oldTriggers.forEach(trigger => {
211
- if (!arrayIncludes(newTriggers, trigger)) {
211
+ if (!newTriggers.includes(trigger)) {
212
212
  if (this.activeTrigger[trigger]) {
213
213
  this.activeTrigger[trigger] = false
214
214
  }
@@ -805,19 +805,18 @@ export const BVTooltip = /*#__PURE__*/ extend({
805
805
  const type = event.type
806
806
  const triggers = this.computedTriggers
807
807
 
808
- if (type === 'click' && arrayIncludes(triggers, 'click')) {
808
+ if (type === 'click' && triggers.includes('click')) {
809
809
  this.click(event)
810
- } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {
810
+ } else if (type === 'mouseenter' && triggers.includes('hover')) {
811
811
  // `mouseenter` is a non-bubbling event
812
812
  this.enter(event)
813
- } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {
813
+ } else if (type === 'focusin' && triggers.includes('focus')) {
814
814
  // `focusin` is a bubbling event
815
815
  // `event` includes `relatedTarget` (element losing focus)
816
816
  this.enter(event)
817
817
  } else if (
818
- (type === 'focusout' &&
819
- (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur'))) ||
820
- (type === 'mouseleave' && arrayIncludes(triggers, 'hover'))
818
+ (type === 'focusout' && (triggers.includes('focus') || triggers.includes('blur'))) ||
819
+ (type === 'mouseleave' && triggers.includes('hover'))
821
820
  ) {
822
821
  // `focusout` is a bubbling event
823
822
  // `mouseleave` is a non-bubbling event
@@ -944,7 +943,7 @@ export const BVTooltip = /*#__PURE__*/ extend({
944
943
  if (event) {
945
944
  this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false
946
945
  /* istanbul ignore next */
947
- if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {
946
+ if (event.type === 'focusout' && this.computedTriggers.includes('blur')) {
948
947
  // Special case for `blur`: we clear out the other triggers
949
948
  this.activeTrigger.click = false
950
949
  this.activeTrigger.hover = false
@@ -1,7 +1,6 @@
1
1
  import { extend } from '../vue'
2
2
  import { IS_BROWSER } from '../constants/env'
3
3
  import { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events'
4
- import { arrayIncludes } from '../utils/array'
5
4
  import { eventOn, eventOff } from '../utils/events'
6
5
  import { keys } from '../utils/object'
7
6
 
@@ -33,7 +32,7 @@ export const listenOnDocumentMixin = extend({
33
32
  registerDocumentListener(event, callback) {
34
33
  if (this[PROP]) {
35
34
  this[PROP][event] = this[PROP][event] || []
36
- if (!arrayIncludes(this[PROP][event], callback)) {
35
+ if (!this[PROP][event].includes(callback)) {
37
36
  this[PROP][event].push(callback)
38
37
  }
39
38
  }
@@ -1,5 +1,4 @@
1
1
  import { extend } from '../vue'
2
- import { arrayIncludes } from '../utils/array'
3
2
  import { keys } from '../utils/object'
4
3
  import { getEventRoot } from '../utils/get-event-root'
5
4
  // --- Constants ---
@@ -35,7 +34,7 @@ export const listenOnRootMixin = extend({
35
34
  registerRootListener(event, callback) {
36
35
  if (this[PROP]) {
37
36
  this[PROP][event] = this[PROP][event] || []
38
- if (!arrayIncludes(this[PROP][event], callback)) {
37
+ if (!this[PROP][event].includes(callback)) {
39
38
  this[PROP][event].push(callback)
40
39
  }
41
40
  }