@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,43 @@
1
+ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
2
+
3
+ var script = {
4
+ name: 'GlForm'
5
+ };
6
+
7
+ /* script */
8
+ const __vue_script__ = script;
9
+
10
+ /* template */
11
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',_vm._g({},_vm.$listeners),[_vm._t("default")],2)};
12
+ var __vue_staticRenderFns__ = [];
13
+
14
+ /* style */
15
+ const __vue_inject_styles__ = undefined;
16
+ /* scoped */
17
+ const __vue_scope_id__ = undefined;
18
+ /* module identifier */
19
+ const __vue_module_identifier__ = undefined;
20
+ /* functional template */
21
+ const __vue_is_functional_template__ = false;
22
+ /* style inject */
23
+
24
+ /* style inject SSR */
25
+
26
+ /* style inject shadow dom */
27
+
28
+
29
+
30
+ const __vue_component__ = /*#__PURE__*/__vue_normalize__(
31
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
32
+ __vue_inject_styles__,
33
+ __vue_script__,
34
+ __vue_scope_id__,
35
+ __vue_is_functional_template__,
36
+ __vue_module_identifier__,
37
+ false,
38
+ undefined,
39
+ undefined,
40
+ undefined
41
+ );
42
+
43
+ export { __vue_component__ as default };
@@ -0,0 +1,107 @@
1
+ import { debounce } from 'lodash-es';
2
+ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
+
4
+ var script = {
5
+ name: 'GlFormCharacterCount',
6
+ props: {
7
+ /**
8
+ * Input value
9
+ */
10
+ value: {
11
+ type: String,
12
+ required: false,
13
+ default: ''
14
+ },
15
+ /**
16
+ * Character count limit for the input.
17
+ */
18
+ limit: {
19
+ type: Number,
20
+ required: true
21
+ },
22
+ /**
23
+ * id attribute for the character count text. Input should have `:aria-describedby="countTextId"`
24
+ */
25
+ countTextId: {
26
+ type: String,
27
+ required: true
28
+ }
29
+ },
30
+ data() {
31
+ return {
32
+ remainingCount: this.initialRemainingCount(),
33
+ remainingCountSrOnly: this.initialRemainingCount()
34
+ };
35
+ },
36
+ computed: {
37
+ isOverLimit() {
38
+ return this.remainingCount < 0;
39
+ },
40
+ isOverLimitSrOnly() {
41
+ return this.remainingCountSrOnly < 0;
42
+ },
43
+ countTextClass() {
44
+ return this.isOverLimit ? 'gl-text-danger' : 'gl-text-subtle';
45
+ }
46
+ },
47
+ watch: {
48
+ value(newValue) {
49
+ this.remainingCount = this.limit - this.valueLength(newValue);
50
+ this.debouncedUpdateRemainingCountSrOnly(newValue);
51
+ }
52
+ },
53
+ created() {
54
+ // Debounce updating the remaining character count for a second so
55
+ // screen readers announce the remaining text after the text in the textarea.
56
+ this.debouncedUpdateRemainingCountSrOnly = debounce(this.updateRemainingCountSrOnly, 1000);
57
+ },
58
+ methods: {
59
+ valueLength(value) {
60
+ return (value === null || value === void 0 ? void 0 : value.length) || 0;
61
+ },
62
+ updateRemainingCountSrOnly(newValue) {
63
+ this.remainingCountSrOnly = this.limit - this.valueLength(newValue);
64
+ },
65
+ initialRemainingCount() {
66
+ return this.limit - this.valueLength(this.value);
67
+ }
68
+ }
69
+ };
70
+
71
+ /* script */
72
+ const __vue_script__ = script;
73
+
74
+ /* template */
75
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('small',{class:['form-text', _vm.countTextClass],attrs:{"aria-hidden":"true"}},[(_vm.isOverLimit)?_vm._t("over-limit-text",null,{"count":Math.abs(_vm.remainingCount)}):_vm._t("remaining-count-text",null,{"count":_vm.remainingCount})],2),_vm._v(" "),_c('div',{staticClass:"gl-sr-only",attrs:{"id":_vm.countTextId,"aria-live":"polite","data-testid":"count-text-sr-only"}},[(_vm.isOverLimitSrOnly)?_vm._t("over-limit-text",null,{"count":Math.abs(_vm.remainingCountSrOnly)}):_vm._t("remaining-count-text",null,{"count":_vm.remainingCountSrOnly})],2)])};
76
+ var __vue_staticRenderFns__ = [];
77
+
78
+ /* style */
79
+ const __vue_inject_styles__ = undefined;
80
+ /* scoped */
81
+ const __vue_scope_id__ = undefined;
82
+ /* module identifier */
83
+ const __vue_module_identifier__ = undefined;
84
+ /* functional template */
85
+ const __vue_is_functional_template__ = false;
86
+ /* style inject */
87
+
88
+ /* style inject SSR */
89
+
90
+ /* style inject shadow dom */
91
+
92
+
93
+
94
+ const __vue_component__ = /*#__PURE__*/__vue_normalize__(
95
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
96
+ __vue_inject_styles__,
97
+ __vue_script__,
98
+ __vue_scope_id__,
99
+ __vue_is_functional_template__,
100
+ __vue_module_identifier__,
101
+ false,
102
+ undefined,
103
+ undefined,
104
+ undefined
105
+ );
106
+
107
+ export { __vue_component__ as default };
@@ -0,0 +1,342 @@
1
+ import { uniqueId, isBoolean } from 'lodash-es';
2
+ import { looseIndexOf, looseEqual } from '../../../../utils/equality_utils';
3
+ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
4
+
5
+ var script = {
6
+ name: 'GlFormCheckbox',
7
+ inject: {
8
+ getCheckboxGroup: {
9
+ default: () => () => null
10
+ }
11
+ },
12
+ inheritAttrs: false,
13
+ model: {
14
+ prop: 'checked',
15
+ event: 'input'
16
+ },
17
+ props: {
18
+ /**
19
+ * Used to set the `id` attribute on the rendered content, and used as the base to generate any additional element IDs as needed.
20
+ */
21
+ id: {
22
+ type: String,
23
+ required: false,
24
+ default: undefined
25
+ },
26
+ /**
27
+ * The current value of the checkbox(es). Must be an array when there are multiple checkboxes bound to the same v-model.
28
+ */
29
+ checked: {
30
+ type: undefined,
31
+ required: false,
32
+ default: null
33
+ },
34
+ /**
35
+ * When set to `true`, disables the component's functionality and places it in a disabled state.
36
+ */
37
+ disabled: {
38
+ type: Boolean,
39
+ required: false,
40
+ default: false
41
+ },
42
+ /**
43
+ * Sets the value of the `name` attribute on the form control.
44
+ */
45
+ name: {
46
+ type: String,
47
+ required: false,
48
+ default: undefined
49
+ },
50
+ /**
51
+ * Adds the `required` attribute to the form control.
52
+ */
53
+ required: {
54
+ type: Boolean,
55
+ required: false,
56
+ default: false
57
+ },
58
+ /**
59
+ * Controls the validation state appearance of the component. `true` for valid, `false` for invalid, or `null` for no validation state.
60
+ */
61
+ state: {
62
+ type: Boolean,
63
+ required: false,
64
+ default: null
65
+ },
66
+ /**
67
+ * Sets the value of `aria-label` attribute on the rendered element.
68
+ */
69
+ ariaLabel: {
70
+ type: String,
71
+ required: false,
72
+ default: undefined
73
+ },
74
+ /**
75
+ * The ID of the element that provides a label for this component. Used as the value for the `aria-labelledby` attribute.
76
+ */
77
+ ariaLabelledby: {
78
+ type: String,
79
+ required: false,
80
+ default: undefined
81
+ },
82
+ /**
83
+ * Renders the checkbox in an indeterminate state. Syncable via the .sync modifier.
84
+ */
85
+ indeterminate: {
86
+ type: Boolean,
87
+ required: false,
88
+ default: false
89
+ },
90
+ /**
91
+ * Value returned when this checkbox is checked.
92
+ */
93
+ value: {
94
+ // `value` prop can be any type
95
+ type: undefined,
96
+ required: false,
97
+ default: true
98
+ },
99
+ /**
100
+ * Value returned when this checkbox is unchecked. Note not applicable when multiple checkboxes bound to the same v-model array.
101
+ */
102
+ uncheckedValue: {
103
+ // `uncheckedValue` prop can be any type
104
+ type: undefined,
105
+ required: false,
106
+ default: false
107
+ }
108
+ },
109
+ data() {
110
+ const group = this.getCheckboxGroup();
111
+ return {
112
+ internalId: this.id ? this.id : uniqueId('gitlab_ui_checkbox_'),
113
+ localChecked: group ? group.checked : this.checked
114
+ };
115
+ },
116
+ computed: {
117
+ computedLocalChecked: {
118
+ get() {
119
+ return this.isGroup ? this.group.localChecked : this.localChecked;
120
+ },
121
+ set(value) {
122
+ if (this.isGroup) {
123
+ this.group.localChecked = value;
124
+ } else {
125
+ this.localChecked = value;
126
+ }
127
+ }
128
+ },
129
+ group() {
130
+ return this.getCheckboxGroup();
131
+ },
132
+ isGroup() {
133
+ // Is this check a child of check-group?
134
+ return Boolean(this.group);
135
+ },
136
+ computedState() {
137
+ if (this.isGroup) return this.group.computedState;
138
+ return isBoolean(this.state) ? this.state : null;
139
+ },
140
+ stateClass() {
141
+ if (this.computedState === true) return 'is-valid';
142
+ if (this.computedState === false) return 'is-invalid';
143
+ return null;
144
+ },
145
+ computedAriaInvalid() {
146
+ return this.computedState === false ? 'true' : null;
147
+ },
148
+ isChecked() {
149
+ const {
150
+ value,
151
+ computedLocalChecked: checked
152
+ } = this;
153
+ return Array.isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value);
154
+ },
155
+ isDisabled() {
156
+ // Child can be disabled while parent isn't, but is always disabled if group is
157
+ return this.isGroup ? this.group.disabled || this.disabled : this.disabled;
158
+ },
159
+ isRequired() {
160
+ // Required only works when a name is provided for the input(s)
161
+ // Child can only be required when parent is
162
+ // Groups will always have a name (either user supplied or auto generated)
163
+ return this.computedName && (this.isGroup ? this.group.required : this.required);
164
+ },
165
+ computedName() {
166
+ // Group name preferred over local name
167
+ return (this.isGroup ? this.group.groupName : this.name) || null;
168
+ },
169
+ computedAttrs() {
170
+ const {
171
+ isDisabled: disabled,
172
+ isRequired: required,
173
+ value,
174
+ isChecked: checked
175
+ } = this;
176
+ return {
177
+ ...this.$attrs,
178
+ id: this.internalId,
179
+ name: this.computedName,
180
+ disabled,
181
+ required,
182
+ value,
183
+ checked,
184
+ 'aria-required': required || null,
185
+ 'aria-invalid': this.computedAriaInvalid,
186
+ 'aria-label': this.ariaLabel || null,
187
+ 'aria-labelledby': this.ariaLabelledby || null
188
+ };
189
+ }
190
+ },
191
+ watch: {
192
+ checked() {
193
+ this.checkedWatcher(...arguments);
194
+ },
195
+ indeterminate(newValue, oldValue) {
196
+ if (!looseEqual(newValue, oldValue)) {
197
+ this.setIndeterminate(newValue);
198
+ }
199
+ },
200
+ computedLocalChecked() {
201
+ this.computedLocalCheckedWatcher(...arguments);
202
+ }
203
+ },
204
+ mounted() {
205
+ // Set initial indeterminate state
206
+ this.setIndeterminate(this.indeterminate);
207
+ },
208
+ methods: {
209
+ checkedWatcher(newValue) {
210
+ if (!looseEqual(newValue, this.computedLocalChecked)) {
211
+ this.computedLocalChecked = newValue;
212
+ }
213
+ },
214
+ computedLocalCheckedWatcher(newValue, oldValue) {
215
+ if (!looseEqual(newValue, oldValue)) {
216
+ /**
217
+ * Emitted when checked state is changed.
218
+ *
219
+ * @event input
220
+ */
221
+ this.$emit('input', newValue);
222
+ const {
223
+ input
224
+ } = this.$refs;
225
+ if (input) {
226
+ this.$emit('update:indeterminate', input.indeterminate);
227
+ }
228
+ }
229
+ },
230
+ handleChange(_ref) {
231
+ let {
232
+ target: {
233
+ checked,
234
+ indeterminate
235
+ }
236
+ } = _ref;
237
+ const {
238
+ value,
239
+ uncheckedValue
240
+ } = this;
241
+
242
+ // Update `computedLocalChecked`
243
+ let localChecked = this.computedLocalChecked;
244
+ if (Array.isArray(localChecked)) {
245
+ const index = looseIndexOf(localChecked, value);
246
+ if (checked && index < 0) {
247
+ // Add value to array
248
+ localChecked = localChecked.concat(value);
249
+ } else if (!checked && index > -1) {
250
+ // Remove value from array
251
+ localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1));
252
+ }
253
+ } else {
254
+ localChecked = checked ? value : uncheckedValue;
255
+ }
256
+ this.computedLocalChecked = localChecked;
257
+
258
+ // Fire events in a `$nextTick()` to ensure the `v-model` is updated
259
+ this.$nextTick(() => {
260
+ /**
261
+ * Emitted when selected value(s) is changed due to user interaction.
262
+ *
263
+ * @event change
264
+ */
265
+ this.$emit('change', localChecked);
266
+
267
+ // If this is a child of a group, we emit a change event on it as well
268
+ if (this.isGroup) {
269
+ /**
270
+ * Emitted when selected value(s) is changed due to user interaction.
271
+ *
272
+ * @event change
273
+ */
274
+ this.group.$emit('change', localChecked);
275
+ }
276
+ this.$emit('indeterminate', indeterminate);
277
+ });
278
+ },
279
+ setIndeterminate(state) {
280
+ // Indeterminate only supported in single checkbox mode
281
+ const computedState = Array.isArray(this.computedLocalChecked) ? false : state;
282
+ const {
283
+ input
284
+ } = this.$refs;
285
+ if (input) {
286
+ input.indeterminate = computedState;
287
+ // Emit update event to prop
288
+ this.$emit('update:indeterminate', computedState);
289
+ }
290
+ },
291
+ focus() {
292
+ if (!this.disabled) {
293
+ var _this$$refs$input;
294
+ (_this$$refs$input = this.$refs.input) === null || _this$$refs$input === void 0 ? void 0 : _this$$refs$input.focus();
295
+ }
296
+ },
297
+ blur() {
298
+ if (!this.disabled) {
299
+ var _this$$refs$input2;
300
+ (_this$$refs$input2 = this.$refs.input) === null || _this$$refs$input2 === void 0 ? void 0 : _this$$refs$input2.blur();
301
+ }
302
+ }
303
+ }
304
+ };
305
+
306
+ /* script */
307
+ const __vue_script__ = script;
308
+
309
+ /* template */
310
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-form-checkbox custom-checkbox custom-control"},[_c('input',_vm._b({key:"input",ref:"input",staticClass:"custom-control-input",class:_vm.stateClass,attrs:{"type":"checkbox"},on:{"change":_vm.handleChange}},'input',_vm.computedAttrs,false)),_vm._v(" "),_c('label',{staticClass:"custom-control-label",attrs:{"for":_vm.internalId}},[_vm._t("default"),_vm._v(" "),(Boolean(_vm.$scopedSlots.help))?_c('p',{staticClass:"help-text"},[_vm._t("help")],2):_vm._e()],2)])};
311
+ var __vue_staticRenderFns__ = [];
312
+
313
+ /* style */
314
+ const __vue_inject_styles__ = undefined;
315
+ /* scoped */
316
+ const __vue_scope_id__ = undefined;
317
+ /* module identifier */
318
+ const __vue_module_identifier__ = undefined;
319
+ /* functional template */
320
+ const __vue_is_functional_template__ = false;
321
+ /* style inject */
322
+
323
+ /* style inject SSR */
324
+
325
+ /* style inject shadow dom */
326
+
327
+
328
+
329
+ const __vue_component__ = /*#__PURE__*/__vue_normalize__(
330
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
331
+ __vue_inject_styles__,
332
+ __vue_script__,
333
+ __vue_scope_id__,
334
+ __vue_is_functional_template__,
335
+ __vue_module_identifier__,
336
+ false,
337
+ undefined,
338
+ undefined,
339
+ undefined
340
+ );
341
+
342
+ export { __vue_component__ as default };
@@ -0,0 +1,188 @@
1
+ import { uniqueId, isBoolean, omit, pick } from 'lodash-es';
2
+ import { looseEqual } from '../../../../utils/equality_utils';
3
+ import { SafeHtmlDirective } from '../../../../directives/safe_html/safe_html';
4
+ import { normalizeOptions } from '../../../../utils/form_options_utils';
5
+ import GlFormCheckbox from './form_checkbox';
6
+ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
7
+
8
+ // Attributes to pass down to checks/radios instead of applying them to the group
9
+ const PASS_DOWN_ATTRS = ['aria-describedby', 'aria-labelledby'];
10
+ var script = {
11
+ name: 'GlFormCheckboxGroup',
12
+ components: {
13
+ GlFormCheckbox
14
+ },
15
+ directives: {
16
+ SafeHtml: SafeHtmlDirective
17
+ },
18
+ provide() {
19
+ return {
20
+ getCheckboxGroup: () => this
21
+ };
22
+ },
23
+ inheritAttrs: false,
24
+ model: {
25
+ prop: 'checked',
26
+ event: 'input'
27
+ },
28
+ props: {
29
+ /**
30
+ * Used to set the `id` attribute on the rendered content, and used as the base to generate any additional element IDs as needed.
31
+ */
32
+ id: {
33
+ type: String,
34
+ required: false,
35
+ default: undefined
36
+ },
37
+ /**
38
+ * The current value of the checkbox.
39
+ */
40
+ checked: {
41
+ type: Array,
42
+ required: false,
43
+ default: () => []
44
+ },
45
+ /**
46
+ * Array of items to render in the component
47
+ */
48
+ options: {
49
+ type: Array,
50
+ required: false,
51
+ default: () => []
52
+ },
53
+ /**
54
+ * When set to `true`, disables the component's functionality and places it in a disabled state.
55
+ */
56
+ disabled: {
57
+ type: Boolean,
58
+ required: false,
59
+ default: false
60
+ },
61
+ /**
62
+ * Sets the value of the `name` attribute on the form control.
63
+ */
64
+ name: {
65
+ type: String,
66
+ required: false,
67
+ default: undefined
68
+ },
69
+ /**
70
+ * Adds the `required` attribute to the form control.
71
+ */
72
+ required: {
73
+ type: Boolean,
74
+ required: false,
75
+ default: false
76
+ },
77
+ /**
78
+ * Controls the validation state appearance of the component. `true` for valid, `false` for invalid, or `null` for no validation state.
79
+ */
80
+ state: {
81
+ type: Boolean,
82
+ required: false,
83
+ default: null
84
+ },
85
+ /**
86
+ * Optional value to set for the 'aria-invalid' attribute. Supported values are 'true' and 'false'. If not set, the 'state' prop will dictate the value
87
+ */
88
+ ariaInvalid: {
89
+ type: [Boolean, String],
90
+ required: false,
91
+ default: false
92
+ }
93
+ },
94
+ data() {
95
+ return {
96
+ internalId: this.id ? this.id : uniqueId('gitlab_ui_checkbox_group_'),
97
+ localChecked: this.checked
98
+ };
99
+ },
100
+ computed: {
101
+ formOptions() {
102
+ return normalizeOptions(this.options);
103
+ },
104
+ computedState() {
105
+ return isBoolean(this.state) ? this.state : null;
106
+ },
107
+ computedAriaInvalid() {
108
+ const {
109
+ ariaInvalid
110
+ } = this;
111
+ if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {
112
+ return 'true';
113
+ }
114
+ return this.computedState === false ? 'true' : ariaInvalid;
115
+ },
116
+ computedAttrs() {
117
+ return {
118
+ ...omit(this.$attrs, PASS_DOWN_ATTRS),
119
+ id: this.internalId,
120
+ 'aria-invalid': this.computedAriaInvalid,
121
+ 'aria-required': this.required || null
122
+ };
123
+ },
124
+ passDownAttrs() {
125
+ return pick(this.$attrs, PASS_DOWN_ATTRS);
126
+ },
127
+ groupName() {
128
+ // Checkboxes tied to the same model must have the same name, especially for
129
+ // ARIA accessibility. This is accessed from the child GlFormCheckboxes.
130
+ return this.name || this.internalId;
131
+ }
132
+ },
133
+ watch: {
134
+ checked(newValue) {
135
+ if (!looseEqual(newValue, this.localChecked)) {
136
+ this.localChecked = newValue;
137
+ }
138
+ },
139
+ localChecked(newValue, oldValue) {
140
+ if (!looseEqual(newValue, oldValue)) {
141
+ /**
142
+ * Emitted when the checked value is changed.
143
+ *
144
+ * @event input
145
+ */
146
+ this.$emit('input', newValue);
147
+ }
148
+ }
149
+ }
150
+ };
151
+
152
+ /* script */
153
+ const __vue_script__ = script;
154
+
155
+ /* template */
156
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._b({staticClass:"gl-form-checkbox-group gl-outline-none",attrs:{"role":"group","tabindex":"-1"}},'div',_vm.computedAttrs,false),[_vm._t("first"),_vm._v(" "),_vm._l((_vm.formOptions),function(option,idx){return _c('gl-form-checkbox',_vm._b({key:idx,attrs:{"value":option.value,"disabled":option.disabled}},'gl-form-checkbox',_vm.passDownAttrs,false),[(option.html)?_c('span',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(option.html),expression:"option.html"}]}):_c('span',[_vm._v(_vm._s(option.text))])])}),_vm._v(" "),_vm._t("default")],2)};
157
+ var __vue_staticRenderFns__ = [];
158
+
159
+ /* style */
160
+ const __vue_inject_styles__ = undefined;
161
+ /* scoped */
162
+ const __vue_scope_id__ = undefined;
163
+ /* module identifier */
164
+ const __vue_module_identifier__ = undefined;
165
+ /* functional template */
166
+ const __vue_is_functional_template__ = false;
167
+ /* style inject */
168
+
169
+ /* style inject SSR */
170
+
171
+ /* style inject shadow dom */
172
+
173
+
174
+
175
+ const __vue_component__ = /*#__PURE__*/__vue_normalize__(
176
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
177
+ __vue_inject_styles__,
178
+ __vue_script__,
179
+ __vue_scope_id__,
180
+ __vue_is_functional_template__,
181
+ __vue_module_identifier__,
182
+ false,
183
+ undefined,
184
+ undefined,
185
+ undefined
186
+ );
187
+
188
+ export { __vue_component__ as default };