@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,120 @@
1
+ import GlDropdown from '../../dropdown/dropdown';
2
+ import GlDropdownItem from '../../dropdown/dropdown_item';
3
+ import GlFormInput from '../form_input/form_input';
4
+ import { InputGroupMixin } from './form_input_group_mixin';
5
+ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
6
+
7
+ var script = {
8
+ name: 'GlFormInputGroup',
9
+ components: {
10
+ GlFormInput,
11
+ GlDropdown,
12
+ GlDropdownItem
13
+ },
14
+ mixins: [InputGroupMixin],
15
+ inheritAttrs: false,
16
+ props: {
17
+ /**
18
+ * Automatically selects the content of the input field on click.
19
+ */
20
+ selectOnClick: {
21
+ type: Boolean,
22
+ required: false,
23
+ default: false
24
+ },
25
+ /**
26
+ * Array of options. Each option should have `name` and `value` information: {name: "Foo", value: "Bar"})
27
+ */
28
+ predefinedOptions: {
29
+ type: Array,
30
+ required: false,
31
+ default: () => [{
32
+ value: '',
33
+ name: ''
34
+ }],
35
+ validator: options => options.every(opt => Object.keys(opt).includes('name', 'value'))
36
+ },
37
+ /**
38
+ * Accessible label for the input field. Used for the aria-label attribute.
39
+ */
40
+ label: {
41
+ type: String,
42
+ required: false,
43
+ default: undefined
44
+ },
45
+ /**
46
+ * Additional CSS class(es) to apply to the input element.
47
+ */
48
+ inputClass: {
49
+ type: [String, Array, Object],
50
+ required: false,
51
+ default: ''
52
+ },
53
+ /**
54
+ * HTML attributes to apply to the wrapper element.
55
+ */
56
+ wrapperAttributes: {
57
+ type: Object,
58
+ required: false,
59
+ default: () => ({})
60
+ }
61
+ },
62
+ data() {
63
+ return {
64
+ activeOption: this.predefinedOptions && this.predefinedOptions[0].name
65
+ };
66
+ },
67
+ methods: {
68
+ handleClick() {
69
+ if (this.selectOnClick) {
70
+ this.$refs.input.$el.select();
71
+ }
72
+ },
73
+ updateValue(option) {
74
+ const {
75
+ name,
76
+ value
77
+ } = option;
78
+ this.activeOption = name;
79
+ this.localValue = value;
80
+ }
81
+ }
82
+ };
83
+
84
+ /* script */
85
+ const __vue_script__ = script;
86
+
87
+ /* template */
88
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._b({staticClass:"input-group",attrs:{"role":"group"}},'div',_vm.wrapperAttributes,false),[(_vm.activeOption || _vm.$scopedSlots.prepend)?_c('div',{staticClass:"input-group-prepend"},[_vm._t("prepend"),_vm._v(" "),(_vm.activeOption)?_c('gl-dropdown',{attrs:{"text":_vm.activeOption}},_vm._l((_vm.predefinedOptions),function(option){return _c('gl-dropdown-item',{key:option.value,attrs:{"is-check-item":"","is-checked":_vm.activeOption === option.name},on:{"click":function($event){return _vm.updateValue(option)}}},[_vm._v("\n "+_vm._s(option.name)+"\n ")])}),1):_vm._e()],2):_vm._e(),_vm._v(" "),_vm._t("default",function(){return [_c('gl-form-input',_vm._g(_vm._b({ref:"input",class:_vm.inputClass,attrs:{"aria-label":_vm.label},on:{"click":_vm.handleClick},model:{value:(_vm.localValue),callback:function ($$v) {_vm.localValue=$$v;},expression:"localValue"}},'gl-form-input',_vm.$attrs,false),_vm.$listeners))]}),_vm._v(" "),(_vm.$scopedSlots.append)?_c('div',{staticClass:"input-group-append"},[_vm._t("append")],2):_vm._e()],2)};
89
+ var __vue_staticRenderFns__ = [];
90
+
91
+ /* style */
92
+ const __vue_inject_styles__ = undefined;
93
+ /* scoped */
94
+ const __vue_scope_id__ = undefined;
95
+ /* module identifier */
96
+ const __vue_module_identifier__ = undefined;
97
+ /* functional template */
98
+ const __vue_is_functional_template__ = false;
99
+ /* style inject */
100
+
101
+ /* style inject SSR */
102
+
103
+ /* style inject shadow dom */
104
+
105
+
106
+
107
+ const __vue_component__ = /*#__PURE__*/__vue_normalize__(
108
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
109
+ __vue_inject_styles__,
110
+ __vue_script__,
111
+ __vue_scope_id__,
112
+ __vue_is_functional_template__,
113
+ __vue_module_identifier__,
114
+ false,
115
+ undefined,
116
+ undefined,
117
+ undefined
118
+ );
119
+
120
+ export { __vue_component__ as default };
@@ -0,0 +1,41 @@
1
+ const InputGroupMixin = {
2
+ props: {
3
+ value: {
4
+ type: [String, Number],
5
+ default: ''
6
+ }
7
+ },
8
+ data() {
9
+ return {
10
+ localValue: this.stringifyValue(this.value)
11
+ };
12
+ },
13
+ watch: {
14
+ value(newVal) {
15
+ if (newVal !== this.localValue) {
16
+ this.localValue = this.stringifyValue(newVal);
17
+ }
18
+ },
19
+ localValue(newVal) {
20
+ if (newVal !== this.value) {
21
+ this.$emit('input', newVal);
22
+ }
23
+ }
24
+ },
25
+ mounted() {
26
+ const value = this.stringifyValue(this.value);
27
+ if (this.activeOption) {
28
+ const activeOption = this.predefinedOptions.find(opt => opt.name === this.activeOption);
29
+ this.localValue = activeOption.value;
30
+ } else if (value !== this.localValue) {
31
+ this.localValue = value;
32
+ }
33
+ },
34
+ methods: {
35
+ stringifyValue(value) {
36
+ return value === undefined || value === null ? '' : String(value);
37
+ }
38
+ }
39
+ };
40
+
41
+ export { InputGroupMixin };
@@ -0,0 +1,259 @@
1
+ import { uniqueId, isBoolean } from 'lodash-es';
2
+ import { looseEqual } from '../../../../utils/equality_utils';
3
+ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
4
+
5
+ var script = {
6
+ name: 'GlFormRadio',
7
+ inject: {
8
+ getRadioGroup: {
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 radio. When bound to multiple radios, this is the value of the currently selected radio.
28
+ */
29
+ checked: {
30
+ // `checked` prop can be any type
31
+ type: undefined,
32
+ required: false,
33
+ default: null
34
+ },
35
+ /**
36
+ * When set to `true`, disables the component's functionality and places it in a disabled state.
37
+ */
38
+ disabled: {
39
+ type: Boolean,
40
+ required: false,
41
+ default: false
42
+ },
43
+ /**
44
+ * Sets the value of the `name` attribute on the form control.
45
+ */
46
+ name: {
47
+ type: String,
48
+ required: false,
49
+ default: undefined
50
+ },
51
+ /**
52
+ * Adds the `required` attribute to the form control.
53
+ */
54
+ required: {
55
+ type: Boolean,
56
+ required: false,
57
+ default: false
58
+ },
59
+ /**
60
+ * Controls the validation state appearance of the component. `true` for valid, `false` for invalid, or `null` for no validation state.
61
+ */
62
+ state: {
63
+ type: Boolean,
64
+ required: false,
65
+ default: null
66
+ },
67
+ /**
68
+ * Value returned when this radio is selected.
69
+ */
70
+ value: {
71
+ // `value` prop can be any type
72
+ type: undefined,
73
+ required: false,
74
+ default: true
75
+ }
76
+ },
77
+ data() {
78
+ const group = this.getRadioGroup();
79
+ return {
80
+ internalId: this.id ? this.id : uniqueId('gitlab_ui_radio_'),
81
+ localChecked: group ? group.checked : this.checked
82
+ };
83
+ },
84
+ computed: {
85
+ computedLocalChecked: {
86
+ get() {
87
+ return this.isGroup ? this.group.localChecked : this.localChecked;
88
+ },
89
+ set(value) {
90
+ if (this.isGroup) {
91
+ this.group.localChecked = value;
92
+ } else {
93
+ this.localChecked = value;
94
+ }
95
+ }
96
+ },
97
+ group() {
98
+ return this.getRadioGroup();
99
+ },
100
+ isGroup() {
101
+ // Is this radio a child of radio-group?
102
+ return Boolean(this.group);
103
+ },
104
+ computedState() {
105
+ if (this.isGroup) return this.group.computedState;
106
+ return isBoolean(this.state) ? this.state : null;
107
+ },
108
+ stateClass() {
109
+ if (this.computedState === true) return 'is-valid';
110
+ if (this.computedState === false) return 'is-invalid';
111
+ return null;
112
+ },
113
+ computedAriaInvalid() {
114
+ return this.computedState === false ? 'true' : null;
115
+ },
116
+ isChecked() {
117
+ return looseEqual(this.computedLocalChecked, this.value);
118
+ },
119
+ isDisabled() {
120
+ // Child can be disabled while parent isn't, but is always disabled if group is
121
+ return this.isGroup ? this.group.disabled || this.disabled : this.disabled;
122
+ },
123
+ isRequired() {
124
+ // Required only works when a name is provided for the input(s)
125
+ // Child can only be required when parent is
126
+ // Groups will always have a name (either user supplied or auto generated)
127
+ return this.computedName && (this.isGroup ? this.group.required : this.required);
128
+ },
129
+ computedName() {
130
+ // Group name preferred over local name
131
+ return (this.isGroup ? this.group.groupName : this.name) || null;
132
+ },
133
+ computedAttrs() {
134
+ const {
135
+ isDisabled: disabled,
136
+ isRequired: required,
137
+ value,
138
+ isChecked: checked
139
+ } = this;
140
+ return {
141
+ ...this.$attrs,
142
+ id: this.internalId,
143
+ name: this.computedName,
144
+ disabled,
145
+ required,
146
+ value,
147
+ checked,
148
+ 'aria-required': required || null,
149
+ 'aria-invalid': this.computedAriaInvalid
150
+ };
151
+ }
152
+ },
153
+ watch: {
154
+ checked() {
155
+ this.checkedWatcher(...arguments);
156
+ },
157
+ computedLocalChecked() {
158
+ this.computedLocalCheckedWatcher(...arguments);
159
+ }
160
+ },
161
+ methods: {
162
+ checkedWatcher(newValue) {
163
+ if (!looseEqual(newValue, this.computedLocalChecked)) {
164
+ this.computedLocalChecked = newValue;
165
+ }
166
+ },
167
+ computedLocalCheckedWatcher(newValue, oldValue) {
168
+ if (!looseEqual(newValue, oldValue)) {
169
+ /**
170
+ * Emitted when the selected value is changed
171
+ *
172
+ * @event input
173
+ * @type {boolean} current selected value of radio group
174
+ */
175
+ this.$emit('input', newValue);
176
+ }
177
+ },
178
+ handleChange() {
179
+ const {
180
+ value
181
+ } = this;
182
+
183
+ // Update `computedLocalChecked`
184
+ this.computedLocalChecked = value;
185
+
186
+ // Fire events in a `$nextTick()` to ensure the `v-model` is updated
187
+ this.$nextTick(() => {
188
+ /**
189
+ * Emitted when the selected value is changed due to user interaction
190
+ *
191
+ * @event change
192
+ * @type {boolean} current selected value of radio group
193
+ */
194
+ this.$emit('change', value);
195
+
196
+ // If this is a child of a group, we emit a change event on it as well
197
+ if (this.isGroup) {
198
+ /**
199
+ * Emitted when the selected value is changed due to user interaction
200
+ *
201
+ * @event change
202
+ * @type {boolean} current selected value of radio group
203
+ */
204
+ this.group.$emit('change', value);
205
+ }
206
+ });
207
+ },
208
+ focus() {
209
+ if (!this.disabled) {
210
+ var _this$$refs$input;
211
+ (_this$$refs$input = this.$refs.input) === null || _this$$refs$input === void 0 ? void 0 : _this$$refs$input.focus();
212
+ }
213
+ },
214
+ blur() {
215
+ if (!this.disabled) {
216
+ var _this$$refs$input2;
217
+ (_this$$refs$input2 = this.$refs.input) === null || _this$$refs$input2 === void 0 ? void 0 : _this$$refs$input2.blur();
218
+ }
219
+ }
220
+ }
221
+ };
222
+
223
+ /* script */
224
+ const __vue_script__ = script;
225
+
226
+ /* template */
227
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-form-radio custom-radio custom-control"},[_c('input',_vm._b({key:"input",ref:"input",staticClass:"custom-control-input",class:_vm.stateClass,attrs:{"type":"radio"},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)])};
228
+ var __vue_staticRenderFns__ = [];
229
+
230
+ /* style */
231
+ const __vue_inject_styles__ = undefined;
232
+ /* scoped */
233
+ const __vue_scope_id__ = undefined;
234
+ /* module identifier */
235
+ const __vue_module_identifier__ = undefined;
236
+ /* functional template */
237
+ const __vue_is_functional_template__ = false;
238
+ /* style inject */
239
+
240
+ /* style inject SSR */
241
+
242
+ /* style inject shadow dom */
243
+
244
+
245
+
246
+ const __vue_component__ = /*#__PURE__*/__vue_normalize__(
247
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
248
+ __vue_inject_styles__,
249
+ __vue_script__,
250
+ __vue_scope_id__,
251
+ __vue_is_functional_template__,
252
+ __vue_module_identifier__,
253
+ false,
254
+ undefined,
255
+ undefined,
256
+ undefined
257
+ );
258
+
259
+ export { __vue_component__ as default };
@@ -0,0 +1,189 @@
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 GlFormRadio from '../form_radio/form_radio';
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: 'GlFormRadioGroup',
12
+ components: {
13
+ GlFormRadio
14
+ },
15
+ directives: {
16
+ SafeHtml: SafeHtmlDirective
17
+ },
18
+ provide() {
19
+ return {
20
+ getRadioGroup: () => 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 radio.
39
+ */
40
+ checked: {
41
+ // `checked` prop can be any type
42
+ type: undefined,
43
+ required: false,
44
+ default: null
45
+ },
46
+ /**
47
+ * Array of items to render in the component
48
+ */
49
+ options: {
50
+ type: Array,
51
+ required: false,
52
+ default: () => []
53
+ },
54
+ /**
55
+ * When set to `true`, disables the component's functionality and places it in a disabled state.
56
+ */
57
+ disabled: {
58
+ type: Boolean,
59
+ required: false,
60
+ default: false
61
+ },
62
+ /**
63
+ * Sets the value of the `name` attribute on the form control.
64
+ */
65
+ name: {
66
+ type: String,
67
+ required: false,
68
+ default: undefined
69
+ },
70
+ /**
71
+ * Adds the `required` attribute to the form control.
72
+ */
73
+ required: {
74
+ type: Boolean,
75
+ required: false,
76
+ default: false
77
+ },
78
+ /**
79
+ * Controls the validation state appearance of the component. `true` for valid, `false` for invalid, or `null` for no validation state.
80
+ */
81
+ state: {
82
+ type: Boolean,
83
+ required: false,
84
+ default: null
85
+ },
86
+ /**
87
+ * 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
88
+ */
89
+ ariaInvalid: {
90
+ type: [Boolean, String],
91
+ required: false,
92
+ default: false
93
+ }
94
+ },
95
+ data() {
96
+ return {
97
+ internalId: this.id ? this.id : uniqueId('gitlab_ui_radio_group_'),
98
+ localChecked: this.checked
99
+ };
100
+ },
101
+ computed: {
102
+ formOptions() {
103
+ return normalizeOptions(this.options);
104
+ },
105
+ computedState() {
106
+ return isBoolean(this.state) ? this.state : null;
107
+ },
108
+ computedAriaInvalid() {
109
+ const {
110
+ ariaInvalid
111
+ } = this;
112
+ if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {
113
+ return 'true';
114
+ }
115
+ return this.computedState === false ? 'true' : ariaInvalid;
116
+ },
117
+ computedAttrs() {
118
+ return {
119
+ ...omit(this.$attrs, PASS_DOWN_ATTRS),
120
+ id: this.internalId,
121
+ 'aria-invalid': this.computedAriaInvalid,
122
+ 'aria-required': this.required || null
123
+ };
124
+ },
125
+ passDownAttrs() {
126
+ return pick(this.$attrs, PASS_DOWN_ATTRS);
127
+ },
128
+ groupName() {
129
+ // Radios tied to the same model must have the same name, especially for
130
+ // ARIA accessibility. This is accessed from the child GlFormRadios.
131
+ return this.name || this.internalId;
132
+ }
133
+ },
134
+ watch: {
135
+ checked(newValue) {
136
+ if (!looseEqual(newValue, this.localChecked)) {
137
+ this.localChecked = newValue;
138
+ }
139
+ },
140
+ localChecked(newValue, oldValue) {
141
+ if (!looseEqual(newValue, oldValue)) {
142
+ /**
143
+ * Emitted when the selected value is changed.
144
+ *
145
+ * @event input
146
+ */
147
+ this.$emit('input', newValue);
148
+ }
149
+ }
150
+ }
151
+ };
152
+
153
+ /* script */
154
+ const __vue_script__ = script;
155
+
156
+ /* template */
157
+ 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-radio-group gl-outline-none",attrs:{"role":"radiogroup","tabindex":"-1"}},'div',_vm.computedAttrs,false),[_vm._t("first"),_vm._v(" "),_vm._l((_vm.formOptions),function(option,idx){return _c('gl-form-radio',_vm._b({key:idx,attrs:{"value":option.value,"disabled":option.disabled}},'gl-form-radio',_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)};
158
+ var __vue_staticRenderFns__ = [];
159
+
160
+ /* style */
161
+ const __vue_inject_styles__ = undefined;
162
+ /* scoped */
163
+ const __vue_scope_id__ = undefined;
164
+ /* module identifier */
165
+ const __vue_module_identifier__ = undefined;
166
+ /* functional template */
167
+ const __vue_is_functional_template__ = false;
168
+ /* style inject */
169
+
170
+ /* style inject SSR */
171
+
172
+ /* style inject shadow dom */
173
+
174
+
175
+
176
+ const __vue_component__ = /*#__PURE__*/__vue_normalize__(
177
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
178
+ __vue_inject_styles__,
179
+ __vue_script__,
180
+ __vue_scope_id__,
181
+ __vue_is_functional_template__,
182
+ __vue_module_identifier__,
183
+ false,
184
+ undefined,
185
+ undefined,
186
+ undefined
187
+ );
188
+
189
+ export { __vue_component__ as default };
@@ -0,0 +1,12 @@
1
+ const formSelectOptions = [{
2
+ value: 'Pizza',
3
+ text: 'Pizza'
4
+ }, {
5
+ value: 'Tacos',
6
+ text: 'Tacos'
7
+ }, {
8
+ value: 'Burger',
9
+ text: 'Burger'
10
+ }];
11
+
12
+ export { formSelectOptions };