@gitlab/duo-ui 0.1.0 → 0.2.0

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 (717) hide show
  1. package/CHANGELOG.md +11706 -0
  2. package/dist/components/experimental/duo/chat/components/duo_chat_context/constants.js +11 -0
  3. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_details_modal/duo_chat_context_item_details_modal.js +118 -0
  4. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.js +265 -0
  5. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_category_items.js +68 -0
  6. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.js +87 -0
  7. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.js +137 -0
  8. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items_loading.js +53 -0
  9. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.js +121 -0
  10. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.js +153 -0
  11. package/dist/components/experimental/duo/chat/components/duo_chat_context/mock_context_data.js +191 -0
  12. package/dist/components/experimental/duo/chat/components/duo_chat_context/utils.js +106 -0
  13. package/dist/components/experimental/duo/chat/components/duo_chat_conversation/duo_chat_conversation.js +101 -0
  14. package/dist/components/experimental/duo/chat/components/duo_chat_loader/duo_chat_loader.js +101 -0
  15. package/dist/components/experimental/duo/chat/components/duo_chat_message/buttons_utils.js +25 -0
  16. package/dist/components/experimental/duo/chat/components/duo_chat_message/copy_code_element.js +16 -0
  17. package/dist/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.js +263 -0
  18. package/dist/components/experimental/duo/chat/components/duo_chat_message/insert_code_snippet_element.js +56 -0
  19. package/dist/components/experimental/duo/chat/components/duo_chat_message/utils.js +8 -0
  20. package/dist/components/experimental/duo/chat/components/duo_chat_message_sources/duo_chat_message_sources.js +106 -0
  21. package/dist/components/experimental/duo/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.js +64 -0
  22. package/dist/components/experimental/duo/chat/constants.js +30 -0
  23. package/dist/components/experimental/duo/chat/duo_chat.js +524 -0
  24. package/dist/components/experimental/duo/chat/markdown_renderer.js +18 -0
  25. package/dist/components/experimental/duo/chat/mock_data.js +162 -0
  26. package/dist/components/experimental/duo/user_feedback/user_feedback.js +97 -0
  27. package/dist/components/experimental/duo/user_feedback/user_feedback_modal.js +149 -0
  28. package/dist/components/experimental/duo/workflow/components/duo_workflow_panel/duo_workflow_panel.js +95 -0
  29. package/dist/components/experimental/duo/workflow/components/duo_workflow_prompt/duo_workflow_prompt.js +235 -0
  30. package/dist/tailwind.css +2 -0
  31. package/dist/tailwind.css.map +1 -0
  32. package/package.json +7 -15
  33. package/src/components/experimental/duo/chat/mock_data.js +1 -1
  34. package/src/config.js +3 -43
  35. package/src/index.js +3 -130
  36. package/src/tokens/build/json/tokens.json +13548 -13548
  37. package/src/vendor/bootstrap/LICENSE +22 -0
  38. package/src/vendor/bootstrap-vue/LICENSE +21 -0
  39. package/src/vendor/bootstrap-vue/nuxt/index.js +164 -0
  40. package/src/vendor/bootstrap-vue/nuxt/plugin.template.js +29 -0
  41. package/src/vendor/bootstrap-vue/package.json +201 -0
  42. package/src/vendor/bootstrap-vue/src/bv-config.d.ts +4 -0
  43. package/src/vendor/bootstrap-vue/src/components/badge/README.md +126 -0
  44. package/src/vendor/bootstrap-vue/src/components/badge/badge.spec.js +141 -0
  45. package/src/vendor/bootstrap-vue/src/components/badge/index.d.ts +7 -0
  46. package/src/vendor/bootstrap-vue/src/components/badge/package.json +29 -0
  47. package/src/vendor/bootstrap-vue/src/components/breadcrumb/README.md +93 -0
  48. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-item.spec.js +123 -0
  49. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-link.spec.js +117 -0
  50. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb.spec.js +183 -0
  51. package/src/vendor/bootstrap-vue/src/components/breadcrumb/index.d.ts +13 -0
  52. package/src/vendor/bootstrap-vue/src/components/breadcrumb/package.json +62 -0
  53. package/src/vendor/bootstrap-vue/src/components/button/README.md +281 -0
  54. package/src/vendor/bootstrap-vue/src/components/button/button-close.spec.js +210 -0
  55. package/src/vendor/bootstrap-vue/src/components/button/button.spec.js +385 -0
  56. package/src/vendor/bootstrap-vue/src/components/button/index.d.ts +10 -0
  57. package/src/vendor/bootstrap-vue/src/components/button/package.json +105 -0
  58. package/src/vendor/bootstrap-vue/src/components/button-group/README.md +112 -0
  59. package/src/vendor/bootstrap-vue/src/components/button-group/button-group.spec.js +98 -0
  60. package/src/vendor/bootstrap-vue/src/components/button-group/index.d.ts +7 -0
  61. package/src/vendor/bootstrap-vue/src/components/button-group/package.json +29 -0
  62. package/src/vendor/bootstrap-vue/src/components/collapse/README.md +321 -0
  63. package/src/vendor/bootstrap-vue/src/components/collapse/collapse.spec.js +558 -0
  64. package/src/vendor/bootstrap-vue/src/components/collapse/index.d.ts +9 -0
  65. package/src/vendor/bootstrap-vue/src/components/collapse/package.json +111 -0
  66. package/src/vendor/bootstrap-vue/src/components/dropdown/README.md +730 -0
  67. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.spec.js +58 -0
  68. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.spec.js +110 -0
  69. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.spec.js +94 -0
  70. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.spec.js +73 -0
  71. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.spec.js +117 -0
  72. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.spec.js +147 -0
  73. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.spec.js +59 -0
  74. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.spec.js +1121 -0
  75. package/src/vendor/bootstrap-vue/src/components/dropdown/index.d.ts +32 -0
  76. package/src/vendor/bootstrap-vue/src/components/dropdown/package.json +368 -0
  77. package/src/vendor/bootstrap-vue/src/components/form/README.md +370 -0
  78. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.spec.js +170 -0
  79. package/src/vendor/bootstrap-vue/src/components/form/form-text.spec.js +93 -0
  80. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.spec.js +157 -0
  81. package/src/vendor/bootstrap-vue/src/components/form/form.spec.js +97 -0
  82. package/src/vendor/bootstrap-vue/src/components/form/index.d.ts +16 -0
  83. package/src/vendor/bootstrap-vue/src/components/form/package.json +112 -0
  84. package/src/vendor/bootstrap-vue/src/components/form-checkbox/README.md +862 -0
  85. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.spec.js +642 -0
  86. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.spec.js +1331 -0
  87. package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.d.ts +10 -0
  88. package/src/vendor/bootstrap-vue/src/components/form-checkbox/package.json +172 -0
  89. package/src/vendor/bootstrap-vue/src/components/form-group/README.md +337 -0
  90. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.spec.js +477 -0
  91. package/src/vendor/bootstrap-vue/src/components/form-group/index.d.ts +7 -0
  92. package/src/vendor/bootstrap-vue/src/components/form-group/package.json +183 -0
  93. package/src/vendor/bootstrap-vue/src/components/form-input/README.md +612 -0
  94. package/src/vendor/bootstrap-vue/src/components/form-input/form-input.spec.js +986 -0
  95. package/src/vendor/bootstrap-vue/src/components/form-input/index.d.ts +9 -0
  96. package/src/vendor/bootstrap-vue/src/components/form-input/package.json +135 -0
  97. package/src/vendor/bootstrap-vue/src/components/form-radio/README.md +566 -0
  98. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.spec.js +469 -0
  99. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.spec.js +952 -0
  100. package/src/vendor/bootstrap-vue/src/components/form-radio/index.d.ts +10 -0
  101. package/src/vendor/bootstrap-vue/src/components/form-radio/package.json +162 -0
  102. package/src/vendor/bootstrap-vue/src/components/form-select/README.md +504 -0
  103. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.spec.js +138 -0
  104. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.spec.js +75 -0
  105. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.spec.js +723 -0
  106. package/src/vendor/bootstrap-vue/src/components/form-select/index.d.ts +13 -0
  107. package/src/vendor/bootstrap-vue/src/components/form-select/package.json +132 -0
  108. package/src/vendor/bootstrap-vue/src/components/form-textarea/README.md +453 -0
  109. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.spec.js +1000 -0
  110. package/src/vendor/bootstrap-vue/src/components/form-textarea/index.d.ts +9 -0
  111. package/src/vendor/bootstrap-vue/src/components/form-textarea/package.json +122 -0
  112. package/src/vendor/bootstrap-vue/src/components/index.d.ts +31 -0
  113. package/src/vendor/bootstrap-vue/src/components/input-group/README.md +334 -0
  114. package/src/vendor/bootstrap-vue/src/components/input-group/index.d.ts +19 -0
  115. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-append.spec.js +84 -0
  116. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-prepend.spec.js +84 -0
  117. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-text.spec.js +45 -0
  118. package/src/vendor/bootstrap-vue/src/components/input-group/input-group.spec.js +153 -0
  119. package/src/vendor/bootstrap-vue/src/components/input-group/package.json +109 -0
  120. package/src/vendor/bootstrap-vue/src/components/layout/README.md +791 -0
  121. package/src/vendor/bootstrap-vue/src/components/layout/col.spec.js +192 -0
  122. package/src/vendor/bootstrap-vue/src/components/layout/form-row.spec.js +45 -0
  123. package/src/vendor/bootstrap-vue/src/components/layout/index.d.ts +10 -0
  124. package/src/vendor/bootstrap-vue/src/components/layout/package.json +99 -0
  125. package/src/vendor/bootstrap-vue/src/components/link/README.md +76 -0
  126. package/src/vendor/bootstrap-vue/src/components/link/index.d.ts +10 -0
  127. package/src/vendor/bootstrap-vue/src/components/link/link.spec.js +434 -0
  128. package/src/vendor/bootstrap-vue/src/components/link/package.json +57 -0
  129. package/src/vendor/bootstrap-vue/src/components/modal/MODIFICATIONS.md +27 -0
  130. package/src/vendor/bootstrap-vue/src/components/modal/README.md +1068 -0
  131. package/src/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.spec.js +82 -0
  132. package/src/vendor/bootstrap-vue/src/components/modal/index.d.ts +82 -0
  133. package/src/vendor/bootstrap-vue/src/components/modal/modal.spec.js +1418 -0
  134. package/src/vendor/bootstrap-vue/src/components/modal/package.json +548 -0
  135. package/src/vendor/bootstrap-vue/src/components/nav/README.md +480 -0
  136. package/src/vendor/bootstrap-vue/src/components/nav/index.d.ts +17 -0
  137. package/src/vendor/bootstrap-vue/src/components/nav/nav-item-dropdown.spec.js +268 -0
  138. package/src/vendor/bootstrap-vue/src/components/nav/nav-item.spec.js +127 -0
  139. package/src/vendor/bootstrap-vue/src/components/nav/nav.spec.js +244 -0
  140. package/src/vendor/bootstrap-vue/src/components/nav/package.json +190 -0
  141. package/src/vendor/bootstrap-vue/src/components/navbar/README.md +333 -0
  142. package/src/vendor/bootstrap-vue/src/components/navbar/index.d.ts +10 -0
  143. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-brand.spec.js +50 -0
  144. package/src/vendor/bootstrap-vue/src/components/navbar/navbar.spec.js +130 -0
  145. package/src/vendor/bootstrap-vue/src/components/navbar/package.json +54 -0
  146. package/src/vendor/bootstrap-vue/src/components/popover/README.md +919 -0
  147. package/src/vendor/bootstrap-vue/src/components/popover/index.d.ts +7 -0
  148. package/src/vendor/bootstrap-vue/src/components/popover/package.json +261 -0
  149. package/src/vendor/bootstrap-vue/src/components/popover/popover.spec.js +199 -0
  150. package/src/vendor/bootstrap-vue/src/components/progress/MODIFICATIONS.md +23 -0
  151. package/src/vendor/bootstrap-vue/src/components/progress/README.md +363 -0
  152. package/src/vendor/bootstrap-vue/src/components/progress/index.d.ts +10 -0
  153. package/src/vendor/bootstrap-vue/src/components/progress/package.json +109 -0
  154. package/src/vendor/bootstrap-vue/src/components/progress/progress-bar.spec.js +270 -0
  155. package/src/vendor/bootstrap-vue/src/components/progress/progress.spec.js +71 -0
  156. package/src/vendor/bootstrap-vue/src/components/table/README.md +3157 -0
  157. package/src/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.spec.js +112 -0
  158. package/src/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.spec.js +93 -0
  159. package/src/vendor/bootstrap-vue/src/components/table/index.d.ts +237 -0
  160. package/src/vendor/bootstrap-vue/src/components/table/package.json +1763 -0
  161. package/src/vendor/bootstrap-vue/src/components/table/table-busy.spec.js +150 -0
  162. package/src/vendor/bootstrap-vue/src/components/table/table-caption.spec.js +176 -0
  163. package/src/vendor/bootstrap-vue/src/components/table/table-colgroup.spec.js +81 -0
  164. package/src/vendor/bootstrap-vue/src/components/table/table-filtering.spec.js +409 -0
  165. package/src/vendor/bootstrap-vue/src/components/table/table-item-formatter.spec.js +56 -0
  166. package/src/vendor/bootstrap-vue/src/components/table/table-lite.spec.js +682 -0
  167. package/src/vendor/bootstrap-vue/src/components/table/table-pagination.spec.js +133 -0
  168. package/src/vendor/bootstrap-vue/src/components/table/table-primarykey.spec.js +83 -0
  169. package/src/vendor/bootstrap-vue/src/components/table/table-provider.spec.js +411 -0
  170. package/src/vendor/bootstrap-vue/src/components/table/table-row-details.spec.js +459 -0
  171. package/src/vendor/bootstrap-vue/src/components/table/table-selectable.spec.js +1182 -0
  172. package/src/vendor/bootstrap-vue/src/components/table/table-simple.spec.js +206 -0
  173. package/src/vendor/bootstrap-vue/src/components/table/table-sorting.spec.js +858 -0
  174. package/src/vendor/bootstrap-vue/src/components/table/table-sticky-column.spec.js +377 -0
  175. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-bottom-row.spec.js +94 -0
  176. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-row-events.spec.js +529 -0
  177. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-top-row.spec.js +88 -0
  178. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-transition.spec.js +83 -0
  179. package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-custom.spec.js +91 -0
  180. package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-events.spec.js +137 -0
  181. package/src/vendor/bootstrap-vue/src/components/table/table-thead-events.spec.js +155 -0
  182. package/src/vendor/bootstrap-vue/src/components/table/table-thead-top.spec.js +96 -0
  183. package/src/vendor/bootstrap-vue/src/components/table/table.spec.js +692 -0
  184. package/src/vendor/bootstrap-vue/src/components/tabs/README.md +575 -0
  185. package/src/vendor/bootstrap-vue/src/components/tabs/index.d.ts +13 -0
  186. package/src/vendor/bootstrap-vue/src/components/tabs/package.json +205 -0
  187. package/src/vendor/bootstrap-vue/src/components/tabs/tab.spec.js +330 -0
  188. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.spec.js +836 -0
  189. package/src/vendor/bootstrap-vue/src/components/toast/README.md +656 -0
  190. package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.spec.js +131 -0
  191. package/src/vendor/bootstrap-vue/src/components/toast/index.d.ts +70 -0
  192. package/src/vendor/bootstrap-vue/src/components/toast/package.json +188 -0
  193. package/src/vendor/bootstrap-vue/src/components/toast/toast.spec.js +346 -0
  194. package/src/vendor/bootstrap-vue/src/components/toast/toaster.spec.js +77 -0
  195. package/src/vendor/bootstrap-vue/src/components/tooltip/README.md +559 -0
  196. package/src/vendor/bootstrap-vue/src/components/tooltip/index.d.ts +7 -0
  197. package/src/vendor/bootstrap-vue/src/components/tooltip/package.json +258 -0
  198. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.spec.js +1529 -0
  199. package/src/vendor/bootstrap-vue/src/components/transition/package.json +5 -0
  200. package/src/vendor/bootstrap-vue/src/components/transporter/package.json +5 -0
  201. package/src/vendor/bootstrap-vue/src/components/transporter/transporter.spec.js +85 -0
  202. package/src/vendor/bootstrap-vue/src/directives/modal/index.d.ts +8 -0
  203. package/src/vendor/bootstrap-vue/src/directives/modal/modal.spec.js +191 -0
  204. package/src/vendor/bootstrap-vue/src/directives/toggle/README.md +146 -0
  205. package/src/vendor/bootstrap-vue/src/directives/toggle/index.d.ts +7 -0
  206. package/src/vendor/bootstrap-vue/src/directives/toggle/package.json +26 -0
  207. package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.spec.js +452 -0
  208. package/src/vendor/bootstrap-vue/src/directives/tooltip/README.md +521 -0
  209. package/src/vendor/bootstrap-vue/src/directives/tooltip/index.d.ts +7 -0
  210. package/src/vendor/bootstrap-vue/src/directives/tooltip/package.json +131 -0
  211. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.spec.js +223 -0
  212. package/src/vendor/bootstrap-vue/src/directives/visible/README.md +244 -0
  213. package/src/vendor/bootstrap-vue/src/directives/visible/index.d.ts +7 -0
  214. package/src/vendor/bootstrap-vue/src/directives/visible/package.json +24 -0
  215. package/src/vendor/bootstrap-vue/src/index.d.ts +61 -0
  216. package/src/vendor/bootstrap-vue/src/mixins/attrs.spec.js +194 -0
  217. package/src/vendor/bootstrap-vue/src/mixins/click-out.spec.js +52 -0
  218. package/src/vendor/bootstrap-vue/src/mixins/focus-in.spec.js +53 -0
  219. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.spec.js +117 -0
  220. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.spec.js +77 -0
  221. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.spec.js +115 -0
  222. package/src/vendor/bootstrap-vue/src/mixins/listeners.spec.js +245 -0
  223. package/src/vendor/bootstrap-vue/src/utils/bv-event.class.spec.js +66 -0
  224. package/src/vendor/bootstrap-vue/src/utils/clone-deep.spec.js +70 -0
  225. package/src/vendor/bootstrap-vue/src/utils/config.spec.js +169 -0
  226. package/src/vendor/bootstrap-vue/src/utils/css-escape.spec.js +82 -0
  227. package/src/vendor/bootstrap-vue/src/utils/dom.spec.js +291 -0
  228. package/src/vendor/bootstrap-vue/src/utils/events.spec.js +41 -0
  229. package/src/vendor/bootstrap-vue/src/utils/get.spec.js +109 -0
  230. package/src/vendor/bootstrap-vue/src/utils/inspect.spec.js +251 -0
  231. package/src/vendor/bootstrap-vue/src/utils/loose-equal.spec.js +203 -0
  232. package/src/vendor/bootstrap-vue/src/utils/normalize-slot.spec.js +63 -0
  233. package/src/vendor/bootstrap-vue/src/utils/number.spec.js +72 -0
  234. package/src/vendor/bootstrap-vue/src/utils/object.spec.js +61 -0
  235. package/src/vendor/bootstrap-vue/src/utils/props.spec.js +112 -0
  236. package/src/vendor/bootstrap-vue/src/utils/router.spec.js +248 -0
  237. package/src/vendor/bootstrap-vue/src/utils/string.spec.js +65 -0
  238. package/src/vendor/bootstrap-vue/src/utils/stringify-object-values.spec.js +47 -0
  239. package/src/vendor/bootstrap-vue/src/utils/warn.spec.js +54 -0
  240. package/src/vendor/bootstrap-vue/src/vue-injections.d.ts +13 -0
  241. package/translations.js +0 -26
  242. package/dist/tokens/css/tokens.css +0 -953
  243. package/dist/tokens/css/tokens.dark.css +0 -953
  244. package/dist/tokens/js/tokens.dark.js +0 -951
  245. package/dist/tokens/js/tokens.js +0 -951
  246. package/dist/tokens/json/tokens.dark.json +0 -21803
  247. package/dist/tokens/json/tokens.json +0 -21803
  248. package/dist/tokens/scss/_tokens.dark.scss +0 -950
  249. package/dist/tokens/scss/_tokens.scss +0 -950
  250. package/dist/tokens/scss/_tokens_custom_properties.scss +0 -951
  251. package/dist/tokens/tailwind/tokens.cjs +0 -336
  252. package/src/charts.js +0 -14
  253. package/src/components/base/accordion/accordion.md +0 -3
  254. package/src/components/base/accordion/accordion.vue +0 -43
  255. package/src/components/base/accordion/accordion_item.md +0 -3
  256. package/src/components/base/accordion/accordion_item.scss +0 -16
  257. package/src/components/base/accordion/accordion_item.vue +0 -122
  258. package/src/components/base/alert/alert.md +0 -35
  259. package/src/components/base/alert/alert.scss +0 -179
  260. package/src/components/base/alert/alert.vue +0 -241
  261. package/src/components/base/animated_icon/animated_chevron_right_down_icon.vue +0 -28
  262. package/src/components/base/animated_icon/animated_duo_chat_icon.vue +0 -39
  263. package/src/components/base/animated_icon/animated_icon.md +0 -4
  264. package/src/components/base/animated_icon/animated_icon.scss +0 -456
  265. package/src/components/base/animated_icon/animated_notifications_icon.vue +0 -49
  266. package/src/components/base/animated_icon/animated_sidebar_icon.vue +0 -35
  267. package/src/components/base/animated_icon/animated_smile_icon.vue +0 -37
  268. package/src/components/base/animated_icon/animated_sort_icon.vue +0 -84
  269. package/src/components/base/animated_icon/animated_star_icon.vue +0 -27
  270. package/src/components/base/animated_icon/animated_todo_icon.vue +0 -49
  271. package/src/components/base/animated_icon/animated_upload_icon.vue +0 -41
  272. package/src/components/base/animated_icon/base_animated_icon.vue +0 -39
  273. package/src/components/base/avatar/avatar.md +0 -1
  274. package/src/components/base/avatar/avatar.scss +0 -228
  275. package/src/components/base/avatar/avatar.vue +0 -151
  276. package/src/components/base/avatar_labeled/avatar_labeled.md +0 -20
  277. package/src/components/base/avatar_labeled/avatar_labeled.scss +0 -30
  278. package/src/components/base/avatar_labeled/avatar_labeled.vue +0 -92
  279. package/src/components/base/avatar_link/avatar_link.md +0 -33
  280. package/src/components/base/avatar_link/avatar_link.scss +0 -41
  281. package/src/components/base/avatar_link/avatar_link.vue +0 -15
  282. package/src/components/base/avatars_inline/avatars_inline.md +0 -38
  283. package/src/components/base/avatars_inline/avatars_inline.scss +0 -64
  284. package/src/components/base/avatars_inline/avatars_inline.vue +0 -110
  285. package/src/components/base/badge/badge.md +0 -38
  286. package/src/components/base/badge/badge.scss +0 -251
  287. package/src/components/base/badge/badge.vue +0 -91
  288. package/src/components/base/banner/banner.md +0 -35
  289. package/src/components/base/banner/banner.scss +0 -35
  290. package/src/components/base/banner/banner.vue +0 -131
  291. package/src/components/base/breadcrumb/breadcrumb.md +0 -23
  292. package/src/components/base/breadcrumb/breadcrumb.scss +0 -62
  293. package/src/components/base/breadcrumb/breadcrumb.vue +0 -229
  294. package/src/components/base/breadcrumb/breadcrumb_item.vue +0 -44
  295. package/src/components/base/broadcast_message/broadcast_message.md +0 -25
  296. package/src/components/base/broadcast_message/broadcast_message.scss +0 -135
  297. package/src/components/base/broadcast_message/broadcast_message.vue +0 -98
  298. package/src/components/base/broadcast_message/constants.js +0 -3
  299. package/src/components/base/button/button.md +0 -61
  300. package/src/components/base/button/button.scss +0 -699
  301. package/src/components/base/button/button.vue +0 -143
  302. package/src/components/base/button_group/button_group.md +0 -28
  303. package/src/components/base/button_group/button_group.vue +0 -16
  304. package/src/components/base/card/card.md +0 -4
  305. package/src/components/base/card/card.scss +0 -46
  306. package/src/components/base/card/card.vue +0 -49
  307. package/src/components/base/collapse/collapse.md +0 -26
  308. package/src/components/base/collapse/collapse.vue +0 -29
  309. package/src/components/base/datepicker/datepicker.md +0 -8
  310. package/src/components/base/datepicker/datepicker.scss +0 -228
  311. package/src/components/base/datepicker/datepicker.vue +0 -454
  312. package/src/components/base/daterange_picker/daterange_picker.md +0 -32
  313. package/src/components/base/daterange_picker/daterange_picker.scss +0 -20
  314. package/src/components/base/daterange_picker/daterange_picker.vue +0 -345
  315. package/src/components/base/drawer/drawer.md +0 -17
  316. package/src/components/base/drawer/drawer.scss +0 -153
  317. package/src/components/base/drawer/drawer.vue +0 -136
  318. package/src/components/base/dropdown/dropdown.md +0 -72
  319. package/src/components/base/dropdown/dropdown.scss +0 -210
  320. package/src/components/base/dropdown/dropdown.vue +0 -323
  321. package/src/components/base/dropdown/dropdown_divider.scss +0 -20
  322. package/src/components/base/dropdown/dropdown_divider.vue +0 -15
  323. package/src/components/base/dropdown/dropdown_form.vue +0 -17
  324. package/src/components/base/dropdown/dropdown_item.md +0 -2
  325. package/src/components/base/dropdown/dropdown_item.scss +0 -102
  326. package/src/components/base/dropdown/dropdown_item.vue +0 -114
  327. package/src/components/base/dropdown/dropdown_section_header.md +0 -7
  328. package/src/components/base/dropdown/dropdown_section_header.scss +0 -22
  329. package/src/components/base/dropdown/dropdown_section_header.vue +0 -17
  330. package/src/components/base/dropdown/dropdown_text.md +0 -7
  331. package/src/components/base/dropdown/dropdown_text.scss +0 -6
  332. package/src/components/base/dropdown/dropdown_text.vue +0 -17
  333. package/src/components/base/filtered_search/common_story_options.js +0 -12
  334. package/src/components/base/filtered_search/filtered_search.md +0 -76
  335. package/src/components/base/filtered_search/filtered_search.scss +0 -51
  336. package/src/components/base/filtered_search/filtered_search.vue +0 -475
  337. package/src/components/base/filtered_search/filtered_search_suggestion.md +0 -15
  338. package/src/components/base/filtered_search/filtered_search_suggestion.scss +0 -11
  339. package/src/components/base/filtered_search/filtered_search_suggestion.vue +0 -64
  340. package/src/components/base/filtered_search/filtered_search_suggestion_list.md +0 -13
  341. package/src/components/base/filtered_search/filtered_search_suggestion_list.scss +0 -36
  342. package/src/components/base/filtered_search/filtered_search_suggestion_list.vue +0 -122
  343. package/src/components/base/filtered_search/filtered_search_term.md +0 -7
  344. package/src/components/base/filtered_search/filtered_search_term.scss +0 -19
  345. package/src/components/base/filtered_search/filtered_search_term.vue +0 -243
  346. package/src/components/base/filtered_search/filtered_search_token.md +0 -23
  347. package/src/components/base/filtered_search/filtered_search_token.scss +0 -63
  348. package/src/components/base/filtered_search/filtered_search_token.vue +0 -484
  349. package/src/components/base/filtered_search/filtered_search_token_segment.md +0 -14
  350. package/src/components/base/filtered_search/filtered_search_token_segment.scss +0 -25
  351. package/src/components/base/filtered_search/filtered_search_token_segment.vue +0 -468
  352. package/src/components/base/filtered_search/filtered_search_utils.js +0 -251
  353. package/src/components/base/form/form.md +0 -2
  354. package/src/components/base/form/form.vue +0 -17
  355. package/src/components/base/form/form_character_count/form_character_count.md +0 -53
  356. package/src/components/base/form/form_character_count/form_character_count.vue +0 -97
  357. package/src/components/base/form/form_checkbox/form_checkbox.md +0 -6
  358. package/src/components/base/form/form_checkbox/form_checkbox.scss +0 -221
  359. package/src/components/base/form/form_checkbox/form_checkbox.vue +0 -58
  360. package/src/components/base/form/form_checkbox/form_checkbox_group.vue +0 -44
  361. package/src/components/base/form/form_checkbox_tree/checkbox_tree_node.vue +0 -58
  362. package/src/components/base/form/form_checkbox_tree/form_checkbox_tree.md +0 -73
  363. package/src/components/base/form/form_checkbox_tree/form_checkbox_tree.vue +0 -116
  364. package/src/components/base/form/form_checkbox_tree/models/constants.js +0 -12
  365. package/src/components/base/form/form_checkbox_tree/models/node.js +0 -48
  366. package/src/components/base/form/form_checkbox_tree/models/tree.js +0 -186
  367. package/src/components/base/form/form_combobox/constants.js +0 -50
  368. package/src/components/base/form/form_combobox/form_combobox.md +0 -52
  369. package/src/components/base/form/form_combobox/form_combobox.scss +0 -5
  370. package/src/components/base/form/form_combobox/form_combobox.vue +0 -280
  371. package/src/components/base/form/form_date/form_date.md +0 -26
  372. package/src/components/base/form/form_date/form_date.scss +0 -7
  373. package/src/components/base/form/form_date/form_date.vue +0 -135
  374. package/src/components/base/form/form_fields/form_field_validator.vue +0 -59
  375. package/src/components/base/form/form_fields/form_fields.md +0 -41
  376. package/src/components/base/form/form_fields/form_fields.vue +0 -258
  377. package/src/components/base/form/form_fields/mappers.js +0 -11
  378. package/src/components/base/form/form_fields/validators.js +0 -49
  379. package/src/components/base/form/form_group/form_group.md +0 -1
  380. package/src/components/base/form/form_group/form_group.scss +0 -59
  381. package/src/components/base/form/form_group/form_group.vue +0 -76
  382. package/src/components/base/form/form_input/form_input.md +0 -1
  383. package/src/components/base/form/form_input/form_input.scss +0 -74
  384. package/src/components/base/form/form_input/form_input.vue +0 -98
  385. package/src/components/base/form/form_input_group/form_input_group.md +0 -67
  386. package/src/components/base/form/form_input_group/form_input_group.vue +0 -103
  387. package/src/components/base/form/form_input_group/form_input_group_mixin.js +0 -39
  388. package/src/components/base/form/form_radio/form_radio.md +0 -23
  389. package/src/components/base/form/form_radio/form_radio.scss +0 -1
  390. package/src/components/base/form/form_radio/form_radio.vue +0 -51
  391. package/src/components/base/form/form_radio_group/form_radio_group.md +0 -63
  392. package/src/components/base/form/form_radio_group/form_radio_group.scss +0 -4
  393. package/src/components/base/form/form_radio_group/form_radio_group.vue +0 -64
  394. package/src/components/base/form/form_select/constants.js +0 -5
  395. package/src/components/base/form/form_select/form_select.md +0 -1
  396. package/src/components/base/form/form_select/form_select.scss +0 -117
  397. package/src/components/base/form/form_select/form_select.vue +0 -61
  398. package/src/components/base/form/form_textarea/form_textarea.md +0 -3
  399. package/src/components/base/form/form_textarea/form_textarea.vue +0 -141
  400. package/src/components/base/form/input_group_text/input_group_text.md +0 -4
  401. package/src/components/base/form/input_group_text/input_group_text.vue +0 -17
  402. package/src/components/base/icon/icon.md +0 -27
  403. package/src/components/base/icon/icon.scss +0 -8
  404. package/src/components/base/icon/icon.vue +0 -98
  405. package/src/components/base/infinite_scroll/infinite_scroll.md +0 -104
  406. package/src/components/base/infinite_scroll/infinite_scroll.scss +0 -11
  407. package/src/components/base/infinite_scroll/infinite_scroll.vue +0 -169
  408. package/src/components/base/keyset_pagination/keyset_pagination.md +0 -49
  409. package/src/components/base/keyset_pagination/keyset_pagination.scss +0 -9
  410. package/src/components/base/keyset_pagination/keyset_pagination.vue +0 -152
  411. package/src/components/base/label/label.md +0 -15
  412. package/src/components/base/label/label.scss +0 -156
  413. package/src/components/base/label/label.vue +0 -160
  414. package/src/components/base/link/link.md +0 -22
  415. package/src/components/base/link/link.scss +0 -13
  416. package/src/components/base/link/link.vue +0 -25
  417. package/src/components/base/loading_icon/loading_icon.md +0 -3
  418. package/src/components/base/loading_icon/loading_icon.scss +0 -139
  419. package/src/components/base/loading_icon/loading_icon.vue +0 -96
  420. package/src/components/base/markdown/markdown.md +0 -73
  421. package/src/components/base/markdown/markdown.scss +0 -223
  422. package/src/components/base/markdown/markdown.vue +0 -18
  423. package/src/components/base/markdown/markdown_typescale_demo.html +0 -155
  424. package/src/components/base/modal/modal.md +0 -30
  425. package/src/components/base/modal/modal.scss +0 -130
  426. package/src/components/base/modal/modal.vue +0 -269
  427. package/src/components/base/nav/nav.md +0 -11
  428. package/src/components/base/nav/nav.scss +0 -7
  429. package/src/components/base/nav/nav.vue +0 -17
  430. package/src/components/base/nav/nav_item.vue +0 -17
  431. package/src/components/base/nav/nav_item_dropdown.vue +0 -40
  432. package/src/components/base/navbar/navbar.md +0 -4
  433. package/src/components/base/navbar/navbar.scss +0 -0
  434. package/src/components/base/navbar/navbar.vue +0 -17
  435. package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue +0 -507
  436. package/src/components/base/new_dropdowns/base_dropdown/constants.js +0 -2
  437. package/src/components/base/new_dropdowns/constants.js +0 -20
  438. package/src/components/base/new_dropdowns/disclosure/constants.js +0 -6
  439. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.md +0 -168
  440. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.scss +0 -17
  441. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.vue +0 -458
  442. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.vue +0 -104
  443. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.vue +0 -131
  444. package/src/components/base/new_dropdowns/disclosure/mock_data.js +0 -201
  445. package/src/components/base/new_dropdowns/disclosure/utils.js +0 -70
  446. package/src/components/base/new_dropdowns/dropdown.scss +0 -243
  447. package/src/components/base/new_dropdowns/dropdown_item.scss +0 -134
  448. package/src/components/base/new_dropdowns/listbox/listbox.md +0 -159
  449. package/src/components/base/new_dropdowns/listbox/listbox.scss +0 -53
  450. package/src/components/base/new_dropdowns/listbox/listbox.vue +0 -940
  451. package/src/components/base/new_dropdowns/listbox/listbox_group.vue +0 -35
  452. package/src/components/base/new_dropdowns/listbox/listbox_item.vue +0 -77
  453. package/src/components/base/new_dropdowns/listbox/listbox_search_input.vue +0 -76
  454. package/src/components/base/new_dropdowns/listbox/mock_data.js +0 -139
  455. package/src/components/base/new_dropdowns/listbox/utils.js +0 -25
  456. package/src/components/base/paginated_list/paginated_list.md +0 -1
  457. package/src/components/base/paginated_list/paginated_list.vue +0 -179
  458. package/src/components/base/pagination/pagination.md +0 -45
  459. package/src/components/base/pagination/pagination.scss +0 -57
  460. package/src/components/base/pagination/pagination.vue +0 -498
  461. package/src/components/base/path/data.js +0 -43
  462. package/src/components/base/path/path.md +0 -41
  463. package/src/components/base/path/path.scss +0 -163
  464. package/src/components/base/path/path.vue +0 -191
  465. package/src/components/base/popover/popover.scss +0 -102
  466. package/src/components/base/popover/popover.vue +0 -111
  467. package/src/components/base/progress_bar/progress_bar.scss +0 -19
  468. package/src/components/base/progress_bar/progress_bar.vue +0 -15
  469. package/src/components/base/search_box_by_click/search_box_by_click.md +0 -1
  470. package/src/components/base/search_box_by_click/search_box_by_click.scss +0 -49
  471. package/src/components/base/search_box_by_click/search_box_by_click.vue +0 -296
  472. package/src/components/base/search_box_by_type/search_box_by_type.md +0 -1
  473. package/src/components/base/search_box_by_type/search_box_by_type.scss +0 -70
  474. package/src/components/base/search_box_by_type/search_box_by_type.vue +0 -159
  475. package/src/components/base/segmented_control/segmented_control.md +0 -1
  476. package/src/components/base/segmented_control/segmented_control.scss +0 -179
  477. package/src/components/base/segmented_control/segmented_control.vue +0 -77
  478. package/src/components/base/skeleton_loader/skeleton_loader.md +0 -46
  479. package/src/components/base/skeleton_loader/skeleton_loader.scss +0 -17
  480. package/src/components/base/skeleton_loader/skeleton_loader.vue +0 -249
  481. package/src/components/base/sorting/sorting.md +0 -80
  482. package/src/components/base/sorting/sorting.vue +0 -160
  483. package/src/components/base/table/constants.js +0 -48
  484. package/src/components/base/table/table.md +0 -72
  485. package/src/components/base/table/table.scss +0 -145
  486. package/src/components/base/table/table.vue +0 -144
  487. package/src/components/base/table_lite/table_lite.md +0 -68
  488. package/src/components/base/table_lite/table_lite.vue +0 -43
  489. package/src/components/base/tabs/constants.js +0 -1
  490. package/src/components/base/tabs/tab/tab.vue +0 -57
  491. package/src/components/base/tabs/tabs/scrollable_tabs.vue +0 -140
  492. package/src/components/base/tabs/tabs/tabs.md +0 -76
  493. package/src/components/base/tabs/tabs/tabs.scss +0 -164
  494. package/src/components/base/tabs/tabs/tabs.vue +0 -282
  495. package/src/components/base/toast/toast.js +0 -93
  496. package/src/components/base/toast/toast.md +0 -48
  497. package/src/components/base/toast/toast.scss +0 -62
  498. package/src/components/base/toggle/toggle.md +0 -4
  499. package/src/components/base/toggle/toggle.scss +0 -177
  500. package/src/components/base/toggle/toggle.vue +0 -194
  501. package/src/components/base/token/token.md +0 -12
  502. package/src/components/base/token/token.scss +0 -44
  503. package/src/components/base/token/token.vue +0 -67
  504. package/src/components/base/token_selector/helpers.js +0 -3
  505. package/src/components/base/token_selector/token_container.vue +0 -184
  506. package/src/components/base/token_selector/token_selector.md +0 -78
  507. package/src/components/base/token_selector/token_selector.scss +0 -19
  508. package/src/components/base/token_selector/token_selector.vue +0 -489
  509. package/src/components/base/token_selector/token_selector_dropdown.vue +0 -257
  510. package/src/components/base/tooltip/tooltip.md +0 -52
  511. package/src/components/base/tooltip/tooltip.scss +0 -52
  512. package/src/components/base/tooltip/tooltip.vue +0 -31
  513. package/src/components/charts/area/area.vue +0 -372
  514. package/src/components/charts/bar/bar.md +0 -3
  515. package/src/components/charts/bar/bar.vue +0 -237
  516. package/src/components/charts/chart/chart.md +0 -19
  517. package/src/components/charts/chart/chart.vue +0 -188
  518. package/src/components/charts/column/column.vue +0 -204
  519. package/src/components/charts/discrete_scatter/discrete_scatter.vue +0 -207
  520. package/src/components/charts/gauge/gauge.md +0 -8
  521. package/src/components/charts/gauge/gauge.scss +0 -0
  522. package/src/components/charts/gauge/gauge.vue +0 -178
  523. package/src/components/charts/heatmap/heatmap.md +0 -7
  524. package/src/components/charts/heatmap/heatmap.scss +0 -7
  525. package/src/components/charts/heatmap/heatmap.vue +0 -290
  526. package/src/components/charts/heatmap/index.js +0 -3
  527. package/src/components/charts/legend/legend.md +0 -16
  528. package/src/components/charts/legend/legend.scss +0 -97
  529. package/src/components/charts/legend/legend.vue +0 -284
  530. package/src/components/charts/line/line.md +0 -7
  531. package/src/components/charts/line/line.vue +0 -368
  532. package/src/components/charts/series_label/series_label.md +0 -1
  533. package/src/components/charts/series_label/series_label.scss +0 -23
  534. package/src/components/charts/series_label/series_label.vue +0 -85
  535. package/src/components/charts/single_stat/single_stat.md +0 -8
  536. package/src/components/charts/single_stat/single_stat.scss +0 -17
  537. package/src/components/charts/single_stat/single_stat.vue +0 -158
  538. package/src/components/charts/sparkline/sparkline.md +0 -8
  539. package/src/components/charts/sparkline/sparkline.vue +0 -308
  540. package/src/components/charts/stacked_column/stacked_column.md +0 -10
  541. package/src/components/charts/stacked_column/stacked_column.vue +0 -330
  542. package/src/components/charts/tooltip/tooltip.md +0 -3
  543. package/src/components/charts/tooltip/tooltip.scss +0 -9
  544. package/src/components/charts/tooltip/tooltip.vue +0 -253
  545. package/src/components/experimental/experiment_badge/constants.js +0 -2
  546. package/src/components/experimental/experiment_badge/experiment_badge.md +0 -9
  547. package/src/components/experimental/experiment_badge/experiment_badge.vue +0 -113
  548. package/src/components/mixins/button_mixin.js +0 -9
  549. package/src/components/mixins/safe_link_mixin.js +0 -28
  550. package/src/components/mixins/tooltip_mixin.js +0 -21
  551. package/src/components/regions/dashboard_skeleton/dashboard_skeleton.md +0 -4
  552. package/src/components/regions/dashboard_skeleton/dashboard_skeleton.vue +0 -40
  553. package/src/components/regions/empty_state/empty_state.md +0 -4
  554. package/src/components/regions/empty_state/empty_state.scss +0 -3
  555. package/src/components/regions/empty_state/empty_state.vue +0 -187
  556. package/src/components/shared_components/charts/tooltip_default_format.scss +0 -18
  557. package/src/components/shared_components/charts/tooltip_default_format.vue +0 -32
  558. package/src/components/shared_components/clear_icon_button/clear_icon_button.scss +0 -10
  559. package/src/components/shared_components/clear_icon_button/clear_icon_button.vue +0 -43
  560. package/src/components/shared_components/close_button/close_button.vue +0 -29
  561. package/src/components/utilities/animated_number/animated_number.md +0 -6
  562. package/src/components/utilities/animated_number/animated_number.vue +0 -99
  563. package/src/components/utilities/friendly_wrap/friendly_wrap.md +0 -66
  564. package/src/components/utilities/friendly_wrap/friendly_wrap.vue +0 -33
  565. package/src/components/utilities/intersection_observer/intersection_observer.md +0 -16
  566. package/src/components/utilities/intersection_observer/intersection_observer.vue +0 -67
  567. package/src/components/utilities/intersperse/intersperse.md +0 -90
  568. package/src/components/utilities/intersperse/intersperse.vue +0 -60
  569. package/src/components/utilities/sprintf/sprintf.md +0 -243
  570. package/src/components/utilities/sprintf/sprintf.vue +0 -142
  571. package/src/components/utilities/truncate/constants.js +0 -5
  572. package/src/components/utilities/truncate/truncate.md +0 -14
  573. package/src/components/utilities/truncate/truncate.scss +0 -21
  574. package/src/components/utilities/truncate/truncate.vue +0 -109
  575. package/src/components/utilities/truncate_text/constants.js +0 -5
  576. package/src/components/utilities/truncate_text/truncate_text.md +0 -26
  577. package/src/components/utilities/truncate_text/truncate_text.scss +0 -14
  578. package/src/components/utilities/truncate_text/truncate_text.vue +0 -124
  579. package/src/directives/collapse_toggle.js +0 -1
  580. package/src/directives/hover_load/hover_load.js +0 -46
  581. package/src/directives/hover_load/hover_load.md +0 -22
  582. package/src/directives/modal.js +0 -1
  583. package/src/directives/outside/outside.js +0 -151
  584. package/src/directives/outside/outside.md +0 -140
  585. package/src/directives/resize_observer/resize_observer.js +0 -45
  586. package/src/directives/resize_observer/resize_observer.md +0 -54
  587. package/src/directives/safe_html/constants.js +0 -14
  588. package/src/directives/safe_html/safe_html.js +0 -35
  589. package/src/directives/safe_html/safe_html.md +0 -58
  590. package/src/directives/safe_link/mock_data.js +0 -33
  591. package/src/directives/safe_link/safe_link.js +0 -56
  592. package/src/directives/safe_link/safe_link.md +0 -37
  593. package/src/directives/tooltip.js +0 -1
  594. package/src/internal/color_contrast/color_contrast.md +0 -8
  595. package/src/internal/color_contrast/color_contrast.vue +0 -52
  596. package/src/scss/README.md +0 -1
  597. package/src/scss/body.scss +0 -4
  598. package/src/scss/bootstrap.scss +0 -34
  599. package/src/scss/bootstrap_vue.scss +0 -25
  600. package/src/scss/components.scss +0 -83
  601. package/src/scss/fonts.scss +0 -67
  602. package/src/scss/functions.scss +0 -63
  603. package/src/scss/gitlab_ui.scss +0 -19
  604. package/src/scss/mixins.scss +0 -262
  605. package/src/scss/storybook.scss +0 -43
  606. package/src/scss/storybook_dark_mode.scss +0 -21
  607. package/src/scss/tokens.scss +0 -2
  608. package/src/scss/typescale/_index.scss +0 -103
  609. package/src/scss/typescale/typeface_demo.html +0 -70
  610. package/src/scss/typescale/typescale.md +0 -82
  611. package/src/scss/typescale/typescale_demo.html +0 -78
  612. package/src/scss/typescale/typescale_demo.scss +0 -8
  613. package/src/scss/utilities.scss +0 -9196
  614. package/src/scss/utility-mixins/accessibility.scss +0 -19
  615. package/src/scss/utility-mixins/animation.scss +0 -90
  616. package/src/scss/utility-mixins/background.scss +0 -421
  617. package/src/scss/utility-mixins/border.scss +0 -498
  618. package/src/scss/utility-mixins/box-shadow.scss +0 -220
  619. package/src/scss/utility-mixins/clearfix.scss +0 -9
  620. package/src/scss/utility-mixins/color.scss +0 -228
  621. package/src/scss/utility-mixins/composite.scss +0 -24
  622. package/src/scss/utility-mixins/cursor.scss +0 -36
  623. package/src/scss/utility-mixins/deprecated.scss +0 -20
  624. package/src/scss/utility-mixins/display.scss +0 -192
  625. package/src/scss/utility-mixins/flex.scss +0 -360
  626. package/src/scss/utility-mixins/grid.scss +0 -50
  627. package/src/scss/utility-mixins/image.scss +0 -8
  628. package/src/scss/utility-mixins/index.scss +0 -47
  629. package/src/scss/utility-mixins/list-style.scss +0 -12
  630. package/src/scss/utility-mixins/opacity.scss +0 -32
  631. package/src/scss/utility-mixins/outline.scss +0 -12
  632. package/src/scss/utility-mixins/overflow.scss +0 -45
  633. package/src/scss/utility-mixins/pointer-events.scss +0 -12
  634. package/src/scss/utility-mixins/sizing.scss +0 -582
  635. package/src/scss/utility-mixins/spacing.scss +0 -1564
  636. package/src/scss/utility-mixins/svg.scss +0 -79
  637. package/src/scss/utility-mixins/text.scss +0 -183
  638. package/src/scss/utility-mixins/transform.scss +0 -58
  639. package/src/scss/utility-mixins/transition.scss +0 -44
  640. package/src/scss/utility-mixins/typography.scss +0 -381
  641. package/src/scss/utility-mixins/vertical-align.scss +0 -22
  642. package/src/scss/utility-mixins/visibility.scss +0 -12
  643. package/src/scss/utility-mixins/z-index.scss +0 -37
  644. package/src/scss/variables.scss +0 -337
  645. package/src/tokens/action.tokens.json +0 -566
  646. package/src/tokens/background.tokens.json +0 -62
  647. package/src/tokens/border.tokens.json +0 -43
  648. package/src/tokens/build/css/tokens.css +0 -953
  649. package/src/tokens/build/css/tokens.dark.css +0 -953
  650. package/src/tokens/build/js/tokens.dark.js +0 -951
  651. package/src/tokens/build/js/tokens.js +0 -951
  652. package/src/tokens/build/json/tokens.dark.json +0 -21803
  653. package/src/tokens/build/scss/_tokens.dark.scss +0 -950
  654. package/src/tokens/build/scss/_tokens.scss +0 -950
  655. package/src/tokens/build/scss/_tokens_custom_properties.scss +0 -951
  656. package/src/tokens/build/tailwind/tokens.cjs +0 -336
  657. package/src/tokens/color.alpha.tokens.json +0 -70
  658. package/src/tokens/color.constant.tokens.json +0 -660
  659. package/src/tokens/color.data_viz.tokens.json +0 -509
  660. package/src/tokens/common_story_options.js +0 -25
  661. package/src/tokens/contextual/alert.tokens.json +0 -209
  662. package/src/tokens/contextual/avatar.tokens.json +0 -112
  663. package/src/tokens/contextual/badge.tokens.json +0 -879
  664. package/src/tokens/contextual/banner.tokens.json +0 -38
  665. package/src/tokens/contextual/breadcrumb.tokens.json +0 -11
  666. package/src/tokens/contextual/broadcast.tokens.json +0 -222
  667. package/src/tokens/contextual/button.tokens.json +0 -874
  668. package/src/tokens/contextual/datepicker.tokens.json +0 -25
  669. package/src/tokens/contextual/dropdown.tokens.json +0 -148
  670. package/src/tokens/contextual/filtered-search.tokens.json +0 -72
  671. package/src/tokens/contextual/label.tokens.json +0 -118
  672. package/src/tokens/contextual/link.tokens.json +0 -46
  673. package/src/tokens/contextual/progress-bar.tokens.json +0 -38
  674. package/src/tokens/contextual/skeleton-loader.tokens.json +0 -24
  675. package/src/tokens/contextual/spinner.tokens.json +0 -38
  676. package/src/tokens/contextual/table.tokens.json +0 -24
  677. package/src/tokens/contextual/tabs.tokens.json +0 -18
  678. package/src/tokens/contextual/toggle.tokens.json +0 -59
  679. package/src/tokens/contextual/token.tokens.json +0 -21
  680. package/src/tokens/control.tokens.json +0 -177
  681. package/src/tokens/deprecated.color.theme.tokens.json +0 -736
  682. package/src/tokens/deprecated.color.tokens.json +0 -800
  683. package/src/tokens/deprecated.color.transparency.tokens.json +0 -110
  684. package/src/tokens/feedback.tokens.json +0 -200
  685. package/src/tokens/focus-ring.tokens.json +0 -21
  686. package/src/tokens/icon.tokens.json +0 -78
  687. package/src/tokens/line_height.tokens.json +0 -74
  688. package/src/tokens/shadow.tokens.json +0 -14
  689. package/src/tokens/status.tokens.json +0 -196
  690. package/src/tokens/text.tokens.json +0 -105
  691. package/src/tokens/tokens_story.vue +0 -84
  692. package/src/tokens/tokens_table.vue +0 -248
  693. package/src/utils/breakpoints.js +0 -21
  694. package/src/utils/charts/config.js +0 -514
  695. package/src/utils/charts/constants.js +0 -61
  696. package/src/utils/charts/mock_data.js +0 -259
  697. package/src/utils/charts/story_config.js +0 -21
  698. package/src/utils/charts/theme.js +0 -344
  699. package/src/utils/charts/utils.js +0 -49
  700. package/src/utils/constants.js +0 -347
  701. package/src/utils/data_utils.js +0 -28
  702. package/src/utils/datetime_utility.js +0 -63
  703. package/src/utils/i18n.js +0 -62
  704. package/src/utils/is_slot_empty.js +0 -40
  705. package/src/utils/number_utils.js +0 -120
  706. package/src/utils/play_utils.js +0 -9
  707. package/src/utils/set_utils.js +0 -24
  708. package/src/utils/stories_constants.js +0 -30
  709. package/src/utils/stories_utils.js +0 -5
  710. package/src/utils/story_decorators/container.js +0 -14
  711. package/src/utils/string_utils.js +0 -79
  712. package/src/utils/svgs/svg_paths.js +0 -10
  713. package/src/utils/use_fake_date.js +0 -27
  714. package/src/utils/use_mock_intersection_observer.js +0 -96
  715. package/src/utils/utils.js +0 -206
  716. package/src/utils.js +0 -4
  717. package/tailwind.defaults.js +0 -543
@@ -0,0 +1,919 @@
1
+ # Popover
2
+
3
+ > The Popover feature, which provides a tooltip-like behavior, can be easily applied to any
4
+ > interactive element via the `<b-popover>` component.
5
+
6
+ ```html
7
+ <div class="text-center my-3">
8
+ <b-button id="popover-target-1">
9
+ Hover Me
10
+ </b-button>
11
+ <b-popover target="popover-target-1" triggers="hover" placement="top">
12
+ <template #title>Popover Title</template>
13
+ I am popover <b>component</b> content!
14
+ </b-popover>
15
+ </div>
16
+
17
+ <!-- b-popover.vue -->
18
+ ```
19
+
20
+ ## Overview
21
+
22
+ Things to know when using popover component:
23
+
24
+ - Popovers rely on the 3rd party library [Popper.js](https://popper.js.org/) for positioning.
25
+ - Popovers require BootstrapVue's custom SCSS/CSS in order to function correctly, and for variants.
26
+ - Specify `container` as `null` (default, appends to `<body>`) to avoid rendering problems in more
27
+ complex components (like input groups, button groups, etc.). You can use `container` to optionally
28
+ specify a different element to append the rendered popover to.
29
+ - Triggering popovers on hidden elements will not work.
30
+ - Popovers for `disabled` elements must be triggered on a wrapper element.
31
+ - When triggered from hyperlinks that span multiple lines, popovers will be centered. Use
32
+ `white-space: nowrap;` on your `<a>`s, `<b-link>`s and `<router-link>`s to avoid this behavior.
33
+
34
+ ## Target
35
+
36
+ The target is the _trigger_ element (or component) that will trigger the popover. The target is
37
+ specified via the `target` prop, and can be any of the following:
38
+
39
+ - A string identifying the ID of the trigger element (or ID of the root element of a component)
40
+ - A reference (ref) to an `HTMLElement` or an `SVGElement` (e.g. via `this.$refs.refName`)
41
+ - A reference (ref) to a component that has either an `HTMLElement` or `SVGElement` as its root
42
+ element (e.g. via `this.$refs.refName`)
43
+ - A function (callback) that returns a reference to an `HTMLElement` or `SVGElement`
44
+
45
+ For more information on references, see the official
46
+ [Vue documentation](https://vuejs.org/v2/api/#vm-refs).
47
+
48
+ **Notes:**
49
+
50
+ The target element **must** exist in the document before `<b-popover>` is mounted. If the target
51
+ element is not found during mount, the popover will never open. Always place your `<b-popover>`
52
+ component lower in the DOM than your target element. This rule also applies if a callback function
53
+ is used as target element, since that callback is called only once on mount.
54
+
55
+ `HTMLElement` refers to standard HTML elements such as `<div>`, `<button>`, etc, while `SVGElement`
56
+ refers to `<svg>` or supported child elements of SVGs.
57
+
58
+ ## Positioning
59
+
60
+ Twelve options are available for positioning: `top`, `topleft`, `topright`, `right`, `righttop`,
61
+ `rightbottom`, `bottom`, `bottomleft`, `bottomright`, `left`, `lefttop`, and `leftbottom` aligned.
62
+ Positioning is relative to the trigger element.
63
+
64
+ <div class="bd-example bd-example-popover-static">
65
+ <div class="popover b-popover bs-popover-top bs-popover-top-docs">
66
+ <div class="arrow" style="left: calc(50% - 8px)"></div>
67
+ <h3 class="popover-header">Popover top</h3>
68
+ <div class="popover-body">
69
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
70
+ quam venenatis vestibulum.
71
+ </div>
72
+ </div>
73
+ <div class="popover b-popover bs-popover-top bs-popover-top-docs">
74
+ <div class="arrow" style="right: 0px"></div>
75
+ <h3 class="popover-header">Popover topleft</h3>
76
+ <div class="popover-body">
77
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
78
+ quam venenatis vestibulum.
79
+ </div>
80
+ </div>
81
+ <div class="popover b-popover bs-popover-top bs-popover-top-docs">
82
+ <div class="arrow" style="left: 0px"></div>
83
+ <h3 class="popover-header">Popover topright</h3>
84
+ <div class="popover-body">
85
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
86
+ quam venenatis vestibulum.
87
+ </div>
88
+ </div>
89
+
90
+ <div class="popover b-popover bs-popover-right bs-popover-right-docs">
91
+ <div class="arrow" style="top: calc(50% - 4px)"></div>
92
+ <h3 class="popover-header">Popover right</h3>
93
+ <div class="popover-body">
94
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
95
+ quam venenatis vestibulum.
96
+ </div>
97
+ </div>
98
+ <div class="popover b-popover bs-popover-right bs-popover-right-docs">
99
+ <div class="arrow" style="bottom: 0px"></div>
100
+ <h3 class="popover-header">Popover righttop</h3>
101
+ <div class="popover-body">
102
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
103
+ quam venenatis vestibulum.
104
+ </div>
105
+ </div>
106
+ <div class="popover b-popover bs-popover-right bs-popover-right-docs">
107
+ <div class="arrow" style="top: 0px"></div>
108
+ <h3 class="popover-header">Popover rightbottom</h3>
109
+ <div class="popover-body">
110
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
111
+ quam venenatis vestibulum.
112
+ </div>
113
+ </div>
114
+
115
+ <div class="popover b-popover bs-popover-bottom bs-popover-bottom-docs">
116
+ <div class="arrow" style="left: calc(50% - 8px)"></div>
117
+ <h3 class="popover-header">Popover bottom</h3>
118
+ <div class="popover-body">
119
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
120
+ quam venenatis vestibulum.
121
+ </div>
122
+ </div>
123
+ <div class="popover b-popover bs-popover-bottom bs-popover-bottom-docs">
124
+ <div class="arrow" style="right: 0px"></div>
125
+ <h3 class="popover-header">Popover bottomleft</h3>
126
+ <div class="popover-body">
127
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
128
+ quam venenatis vestibulum.
129
+ </div>
130
+ </div>
131
+ <div class="popover b-popover bs-popover-bottom bs-popover-bottom-docs">
132
+ <div class="arrow" style="left: 0px"></div>
133
+ <h3 class="popover-header">Popover bottomright</h3>
134
+ <div class="popover-body">
135
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
136
+ quam venenatis vestibulum.
137
+ </div>
138
+ </div>
139
+
140
+ <div class="popover b-popover bs-popover-left bs-popover-left-docs">
141
+ <div class="arrow" style="top: calc(50% - 4px)"></div>
142
+ <h3 class="popover-header">Popover left</h3>
143
+ <div class="popover-body">
144
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
145
+ quam venenatis vestibulum.
146
+ </div>
147
+ </div>
148
+ <div class="popover b-popover bs-popover-left bs-popover-left-docs">
149
+ <div class="arrow" style="bottom: 0px"></div>
150
+ <h3 class="popover-header">Popover lefttop</h3>
151
+ <div class="popover-body">
152
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
153
+ quam venenatis vestibulum.
154
+ </div>
155
+ </div>
156
+ <div class="popover b-popover bs-popover-left bs-popover-left-docs">
157
+ <div class="arrow" style="top: 0px"></div>
158
+ <h3 class="popover-header">Popover leftbottom</h3>
159
+ <div class="popover-body">
160
+ Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia
161
+ quam venenatis vestibulum.
162
+ </div>
163
+ </div>
164
+
165
+ <div class="clearfix"></div>
166
+ </div>
167
+
168
+ ## Triggers
169
+
170
+ Popovers can be triggered (opened/closed) via any combination of `click`, `hover` and `focus`. The
171
+ default trigger is `click`. Or a trigger of `manual` can be specified, where the popover can only be
172
+ opened or closed [programmatically](#programmatically-disabling-popover).
173
+
174
+ If a popover has more than one trigger, then all triggers must be cleared before the popover will
175
+ close. I.e. if a popover has the trigger `focus click`, and it was opened by `focus`, and the user
176
+ then clicks the trigger element, they must click it again **and** move focus to close the popover.
177
+
178
+ ### Caveats with `focus` trigger on `<button>` elements
179
+
180
+ For proper cross-browser and cross-platform behavior when using only the `focus` trigger, you must
181
+ use an element that renders the `<a>` tag, not the `<button>` tag, and you also must include a
182
+ `tabindex="0"` attribute.
183
+
184
+ The following will generate an `<a>` that looks like a button:
185
+
186
+ ```html
187
+ <b-button
188
+ href="#"
189
+ tabindex="0"
190
+ v-b-popover.focus="'Popover content'"
191
+ title="Popover title"
192
+ >
193
+ Link button with popover directive
194
+ </b-button>
195
+
196
+ <b-button id="link-button" href="#" tabindex="0">
197
+ Link button with popover component
198
+ </b-button>
199
+ <b-popover target="link-button" title="Popover title" triggers="focus">
200
+ Popover content
201
+ </b-popover>
202
+ ```
203
+
204
+ ### Dismiss on next click (self-dismissing)
205
+
206
+ Use the `focus` trigger by itself to dismiss popovers on the next click that the user makes. `focus`
207
+ also makes the popover activate on both `focus` and `click` (as a click makes the element receive
208
+ focus on most browsers, assuming it is in the tab sequence of the page).
209
+
210
+ You can, however, specify your trigger as `click blur`, which will make only a click activate the
211
+ popover, and either a click on the element, _or_ losing focus to another element or part of the
212
+ document will close the popover.
213
+
214
+ The special `blur` trigger **must** be used in combination with the `click` trigger.
215
+
216
+ ## `<b-popover>` Component basic usage
217
+
218
+ ```html
219
+ <template>
220
+ <b-container fluid>
221
+ <h5 class="my-3">Placement</h5>
222
+ <b-row>
223
+ <b-col
224
+ v-for="placement in placements"
225
+ :key="placement"
226
+ md="4"
227
+ class="py-4 text-center"
228
+ >
229
+ <b-button :id="`popover-1-${placement}`" variant="primary">{{ placement }}</b-button>
230
+ <b-popover
231
+ :target="`popover-1-${placement}`"
232
+ :placement="placement"
233
+ title="Popover!"
234
+ triggers="hover focus"
235
+ :content="`Placement ${placement}`"
236
+ ></b-popover>
237
+ </b-col>
238
+ </b-row>
239
+
240
+ <h5 class="my-3">Content via properties or slots</h5>
241
+ <b-row>
242
+ <b-col md="6" class="py-4 text-center">
243
+ <b-button id="popover-2" variant="primary">Using properties</b-button>
244
+ <b-popover
245
+ target="popover-2"
246
+ title="Prop Examples"
247
+ triggers="hover focus"
248
+ content="Embedding content using properties is easy"
249
+ ></b-popover>
250
+ </b-col>
251
+
252
+ <b-col md="6" class="py-4 text-center">
253
+ <b-button id="popover-3" variant="primary">Using slots</b-button>
254
+ <b-popover target="popover-3" triggers="hover focus">
255
+ <template #title>Content via Slots</template>
256
+ Embedding content <span class="text-danger">using slots</span> affords you
257
+ <em>greater <strong>control.</strong></em> and basic HTML support.
258
+ </b-popover>
259
+ </b-col>
260
+ </b-row>
261
+ </b-container>
262
+ </template>
263
+
264
+ <script>
265
+ export default {
266
+ data() {
267
+ return {
268
+ placements: [
269
+ 'topright',
270
+ 'top',
271
+ 'topleft',
272
+ 'bottomright',
273
+ 'bottom',
274
+ 'bottomleft',
275
+ 'righttop',
276
+ 'right',
277
+ 'lefttop',
278
+ 'rightbottom',
279
+ 'left',
280
+ 'leftbottom'
281
+ ]
282
+ }
283
+ }
284
+ }
285
+ </script>
286
+
287
+ <!-- b-popover-placements.vue -->
288
+ ```
289
+
290
+ ### Component options via props
291
+
292
+ | Prop | Default | Description | Supported values |
293
+ | -------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
294
+ | `target` | `null` | Element string ID, or a reference to an element or component, that you want to trigger the popover. **Required** | Any valid in-document unique element ID, or in-document element/component reference |
295
+ | `title` | `null` | Popover title (text only, no HTML). If HTML or reactivity is required, use the `title` named slot | Plain text |
296
+ | `content` | `null` | Popover content (text only, no HTML). If HTML or reactivity is required, use the default slot | Plain text |
297
+ | `placement` | `'right'` | Positioning of the popover, relative to the trigger element. | `auto`, `top`, `bottom`, `left`, `right`, `topleft`, `topright`, `bottomleft`, `bottomright`, `lefttop`, `leftbottom`, `righttop`, `rightbottom` |
298
+ | `fallback-placement` | `'flip'` | Auto-flip placement behaviour of the popover, relative to the trigger element. | `flip`, `clockwise`, `counterclockwise`, or an array of valid placements evaluated from left to right |
299
+ | `disabled` | `false` | Programmatic control of the Popover display state. Recommended to use with [sync modifier](https://vuejs.org/v2/guide/components.html#sync-Modifier). | `true`, `false` |
300
+ | `triggers` | `'click'` | Space separated list of event(s), which will trigger open/close of popover using built-in handling | `hover`, `focus`, `click`. Note `blur` is a special use case to close popover on next click. |
301
+ | `no-fade` | `false` | Disable fade animation when set to `true` | `true` or `false` |
302
+ | `delay` | `50` | Delay showing and hiding of popover by specified number of milliseconds. Can also be defined as an object in the form of `{ show: 100, hide: 400 }` allowing different show and hide delays | `0` and up, integers only. |
303
+ | `offset` | `0` | Shift the center of the popover by specified number of pixels. Also affects the position of the popover arrow. | Any negative or positive integer |
304
+ | `container` | `null` | Element string ID to append rendered popover into. If `null` or element not found, popover is appended to `<body>` (default) | Any valid in-document unique element ID. |
305
+ | `boundary` | `'scrollParent'` | The container that the popover will be constrained visually. The default should suffice in most cases, but you may need to change this if your target element is in a small container with overflow scroll | `'scrollParent'` (default), `'viewport'`, `'window'`, or a reference to an HTML element. |
306
+ | `boundary-padding` | `5` | Amount of pixel used to define a minimum distance between the boundaries and the popover. This makes sure the popover always has a little padding between the edges of its container. | Any positive number |
307
+ | `variant` | `null` | Contextual color variant for the popover | Any contextual theme color variant name |
308
+ | `custom-class` | `null` | A custom classname to apply to the popover outer wrapper element | A string |
309
+ | `id` | `null` | An ID to use on the popover root element. If none is provided, one will automatically be generated. If you do provide an ID, it _must_ be guaranteed to be unique on the rendered page. | A valid unique element ID string |
310
+
311
+ ### Variants and custom class
312
+
313
+ BootstrapVue's popovers support contextual color variants via our custom CSS, via the `variant`
314
+ prop:
315
+
316
+ ```html
317
+ <div class="text-center">
318
+ <b-button id="popover-button-variant" href="#" tabindex="0">Button</b-button>
319
+ <b-popover target="popover-button-variant" variant="danger" triggers="focus">
320
+ <template #title>Danger!</template>
321
+ Danger variant popover
322
+ </b-popover>
323
+ </div>
324
+
325
+ <!-- b-popover-variant.vue -->
326
+ ```
327
+
328
+ Bootstrap default theme variants are: `danger`, `warning`, `success`, `primary`, `secondary`,
329
+ `info`, `light`, and `dark`. You can change or add additional variants via Bootstrap
330
+ [SCSS variables](/docs/reference/theming)
331
+
332
+ A custom class can be applied to the popover outer wrapper `<div>` by using the `custom-class` prop:
333
+
334
+ ```html
335
+ <div class="text-center">
336
+ <b-button id="my-button">Button</b-button>
337
+ <b-popover target="my-button" custom-class="my-popover-class">
338
+ <template #title>Popover Title</template>
339
+ Popover content
340
+ </b-popover>
341
+ </div>
342
+ ```
343
+
344
+ `variant` and `custom-class` are reactive and can be changed while the popover is open.
345
+
346
+ ### Programmatically show and hide popover
347
+
348
+ You can manually control the visibility of a popover via the syncable Boolean `show` prop. Setting
349
+ it to `true` will show the popover, while setting it to `false` will hide the popover.
350
+
351
+ ```html
352
+ <template>
353
+ <div class="d-flex flex-column text-md-center">
354
+ <div class="p-2">
355
+ <b-button id="popover-button-sync" variant="primary">I have a popover</b-button>
356
+ </div>
357
+
358
+ <div class="p-2">
359
+ <b-button class="px-1" @click="show = !show">Toggle Popover</b-button>
360
+
361
+ <b-popover :show.sync="show" target="popover-button-sync" title="Popover">
362
+ Hello <strong>World!</strong>
363
+ </b-popover>
364
+ </div>
365
+ </div>
366
+ </template>
367
+
368
+ <script>
369
+ export default {
370
+ data() {
371
+ return {
372
+ show: false
373
+ }
374
+ }
375
+ }
376
+ </script>
377
+
378
+ <!-- b-popover-show-sync.vue -->
379
+ ```
380
+
381
+ Programmatic control can also be affected by submitting `'open'` and `'close'` events to the popover
382
+ by reference.
383
+
384
+ ```html
385
+ <template>
386
+ <div class="d-flex flex-column text-md-center">
387
+ <div class="p-2">
388
+ <b-button id="popover-button-event" variant="primary">I have a popover</b-button>
389
+ </div>
390
+
391
+ <div class="p-2">
392
+ <b-button class="px-1" @click="onOpen">Open</b-button>
393
+ <b-button class="px-1" @click="onClose">Close</b-button>
394
+ </div>
395
+
396
+ <b-popover ref="popover" target="popover-button-event" title="Popover">
397
+ Hello <strong>World!</strong>
398
+ </b-popover>
399
+ </div>
400
+ </template>
401
+
402
+ <script>
403
+ export default {
404
+ methods: {
405
+ onOpen() {
406
+ this.$refs.popover.$emit('open')
407
+ },
408
+ onClose() {
409
+ this.$refs.popover.$emit('close')
410
+ }
411
+ }
412
+ }
413
+ </script>
414
+
415
+ <!-- b-popover-show-event.vue -->
416
+ ```
417
+
418
+ To make the popover shown on initial render, simply add the `show` prop on `<b-popover>`:
419
+
420
+ ```html
421
+ <div class="text-center">
422
+ <b-button id="popover-button-open" variant="primary">Button</b-button>
423
+
424
+ <b-popover show target="popover-button-open" title="Popover">
425
+ I start <strong>open</strong>
426
+ </b-popover>
427
+ </div>
428
+
429
+ <!-- b-popover-show-open.vue -->
430
+ ```
431
+
432
+ A popover which is opened programmatically via the 'show' property or by an event call can only be
433
+ closed programmatically. Built-in triggers will work inadequately, because trigger event will try to
434
+ open the popover even though it is already opened.
435
+
436
+ In the below example, when the first Popover is opened with the 'open' event, it will take two
437
+ button clicks to close it. Play with the below demo to understand this. When you desire graceful
438
+ handling of both programmatic control of the Popover component as well as user interaction triggers,
439
+ you should disable built-in triggers and handle control yourself as demonstrated by the second
440
+ Popover.
441
+
442
+ ```html
443
+ <template>
444
+ <div class="d-flex flex-column text-md-center">
445
+ <div class="p-2">
446
+ <b-button id="popover-manual-1" variant="primary" ref="button">Unreliable</b-button>
447
+
448
+ <b-popover target="popover-manual-1" :show.sync="pop1" triggers="click">
449
+ I can be stubborn sometimes.
450
+ </b-popover>
451
+ </div>
452
+
453
+ <div class="p-2">
454
+ <b-button id="popover-manual-2" variant="primary" ref="button" @click="pop2 = !pop2">
455
+ Comfortably Numb
456
+ </b-button>
457
+
458
+ <b-popover target="popover-manual-2" :show.sync="pop2" triggers="">
459
+ I do believe it's working, good.
460
+ </b-popover>
461
+ </div>
462
+
463
+ <div class="p-2">
464
+ <b-button class="px-1" @click="popOpen">Open</b-button>
465
+ <b-button class="px-1" @click="popClose">Close</b-button>
466
+ <b-button class="px-1" @click="popToggle">Toggle</b-button>
467
+ </div>
468
+ </div>
469
+ </template>
470
+
471
+ <script>
472
+ export default {
473
+ data() {
474
+ return {
475
+ pop1: false,
476
+ pop2: false
477
+ }
478
+ },
479
+ methods: {
480
+ popOpen() {
481
+ this.pop1 = this.pop2 = true
482
+ },
483
+ popClose() {
484
+ this.pop1 = this.pop2 = false
485
+ },
486
+ popToggle() {
487
+ this.pop1 = !this.pop1
488
+ this.pop2 = !this.pop2
489
+ }
490
+ }
491
+ }
492
+ </script>
493
+
494
+ <!-- b-popover-advanced-caution.vue -->
495
+ ```
496
+
497
+ You can also use `$root` events to trigger the showing and hiding of popover(s). See the **Hiding
498
+ and showing popovers via \$root events** section below for details.
499
+
500
+ ### Programmatically disabling popover
501
+
502
+ You can disable popover via the syncable Boolean prop `disabled` (default value is `false`) Setting
503
+ it to `true` will disable the popover. If the popover is currently visible when disabled is set to
504
+ `false`, it will remain visible until it is enabled or programmatically closed. If the popover is
505
+ disabled/enabled via \$root events (see below), your `disabled` value will be updated as long as you
506
+ have provided the `.sync` prop modifier.
507
+
508
+ ```html
509
+ <template>
510
+ <div class="d-flex flex-column text-md-center">
511
+ <div class="p-2">
512
+ <b-button id="popover-button-disable" variant="primary">I have a popover</b-button>
513
+ </div>
514
+
515
+ <div class="p-2">
516
+ <b-button @click="disabled = !disabled">
517
+ {{ disabled ? 'Enable' : 'Disable' }} Popover by prop
518
+ </b-button>
519
+ <b-button @click="disableByRef">
520
+ {{ disabled ? 'Enable' : 'Disable' }} Popover by $ref event
521
+ </b-button>
522
+
523
+ <b-popover
524
+ :disabled.sync="disabled"
525
+ target="popover-button-disable"
526
+ title="Popover"
527
+ ref="popover"
528
+ >
529
+ Hello <strong>World!</strong>
530
+ </b-popover>
531
+ </div>
532
+ </div>
533
+ </template>
534
+
535
+ <script>
536
+ export default {
537
+ data() {
538
+ return {
539
+ disabled: false
540
+ }
541
+ },
542
+ methods: {
543
+ disableByRef() {
544
+ if (this.disabled) {
545
+ this.$refs.popover.$emit('enable')
546
+ } else {
547
+ this.$refs.popover.$emit('disable')
548
+ }
549
+ }
550
+ }
551
+ }
552
+ </script>
553
+
554
+ <!-- b-popover-disable.vue -->
555
+ ```
556
+
557
+ Programmatic control can also be affected by submitting `'enable'` and `'disable'` events to the
558
+ popover by reference.
559
+
560
+ ```html
561
+ <template>
562
+ <div class="d-flex flex-column text-md-center">
563
+ <div class="p-2">
564
+ <b-button id="popover-button-disable-event" variant="primary">I have a popover</b-button>
565
+ </div>
566
+
567
+ <div class="p-2">
568
+ <b-button class="px-1" @click="onEnable">Enable</b-button>
569
+ <b-button class="px-1" @click="onDisable">Disable</b-button>
570
+ </div>
571
+
572
+ <b-popover ref="popover" target="popover-button-disable-event" title="Popover">
573
+ Hello <strong>World!</strong>
574
+ </b-popover>
575
+ </div>
576
+ </template>
577
+
578
+ <script>
579
+ export default {
580
+ methods: {
581
+ onEnable() {
582
+ this.$refs.popover.$emit('enable')
583
+ },
584
+ onDisable() {
585
+ this.$refs.popover.$emit('disable')
586
+ }
587
+ }
588
+ }
589
+ </script>
590
+
591
+ <!-- b-popover-disabled-event.vue -->
592
+ ```
593
+
594
+ When disabled, the popover can be opened programmatically (either via the `show` prop, methods or
595
+ events).
596
+
597
+ You can also use `$root` events to trigger disabling and enabling of popover(s). See the **Disabling
598
+ and enabling popovers via \$root events** section below for details.
599
+
600
+ ## Advanced `<b-popover>` usage with reactive content
601
+
602
+ You can even make your `<b-popover>` content interactive. Just remember not to use the `focus` or
603
+ triggers (use only `click`).
604
+
605
+ If you absolutely must use a trigger other than `click` (or want to disable closing of the popover
606
+ when the trigger element is clicked a second time), then you can either:
607
+
608
+ - Listen for the `hide` event on the `<b-popover>` element, and call the `preventDefault()` method
609
+ (when appropriate) on the `BvEvent` object passed to your `hide` handler;
610
+ - Disable your trigger element (if possible) as soon as the popover begins to open (via the `show`
611
+ event), and re-enable it when appropriate (i.e. via the `hide` or `hidden` event).
612
+
613
+ For practical purposes, **interactive content popovers should be minimal**. The maximum width of the
614
+ popover is hard coded by Bootstrap v4 CSS to `276px`. Tall popovers on small screens can be harder
615
+ to deal with on mobile devices (such as smart-phones).
616
+
617
+ ```html
618
+ <template>
619
+ <div id="my-container">
620
+ <div class="my-3">
621
+ <!-- Our triggering (target) element -->
622
+ <b-button id="popover-reactive-1" variant="primary" ref="button">
623
+ Reactive Content Using Slots
624
+ </b-button>
625
+ </div>
626
+
627
+ <!-- Output from the popover interaction -->
628
+ <b-card title="Returned values:" v-if="input1Return && input2Return">
629
+ <p class="card-text" style="max-width: 20rem;">
630
+ Name: <strong>{{ input1Return }}</strong><br>
631
+ Color: <strong>{{ input2Return }}</strong>
632
+ </p>
633
+ </b-card>
634
+
635
+ <!-- Our popover title and content render container -->
636
+ <!-- We use placement 'auto' so popover fits in the best spot on viewport -->
637
+ <!-- We specify the same container as the trigger button, so that popover is close to button -->
638
+ <b-popover
639
+ target="popover-reactive-1"
640
+ triggers="click"
641
+ :show.sync="popoverShow"
642
+ placement="auto"
643
+ container="my-container"
644
+ ref="popover"
645
+ @show="onShow"
646
+ @shown="onShown"
647
+ @hidden="onHidden"
648
+ >
649
+ <template #title>
650
+ <b-button @click="onClose" class="close" aria-label="Close">
651
+ <span class="d-inline-block" aria-hidden="true">&times;</span>
652
+ </b-button>
653
+ Interactive Content
654
+ </template>
655
+
656
+ <div>
657
+ <b-form-group
658
+ label="Name"
659
+ label-for="popover-input-1"
660
+ label-cols="3"
661
+ :state="input1state"
662
+ class="mb-1"
663
+ description="Enter your name"
664
+ invalid-feedback="This field is required"
665
+ >
666
+ <b-form-input
667
+ ref="input1"
668
+ id="popover-input-1"
669
+ v-model="input1"
670
+ :state="input1state"
671
+ size="sm"
672
+ ></b-form-input>
673
+ </b-form-group>
674
+
675
+ <b-form-group
676
+ label="Color"
677
+ label-for="popover-input-2"
678
+ label-cols="3"
679
+ :state="input2state"
680
+ class="mb-1"
681
+ description="Pick a color"
682
+ invalid-feedback="This field is required"
683
+ >
684
+ <b-form-select
685
+ id="popover-input-2"
686
+ v-model="input2"
687
+ :state="input2state"
688
+ :options="options"
689
+ size="sm"
690
+ ></b-form-select>
691
+ </b-form-group>
692
+
693
+ <b-alert show class="small">
694
+ <strong>Current Values:</strong><br>
695
+ Name: <strong>{{ input1 }}</strong><br>
696
+ Color: <strong>{{ input2 }}</strong>
697
+ </b-alert>
698
+
699
+ <b-button @click="onClose" size="sm" variant="danger">Cancel</b-button>
700
+ <b-button @click="onOk" size="sm" variant="primary">Ok</b-button>
701
+ </div>
702
+ </b-popover>
703
+ </div>
704
+ </template>
705
+
706
+ <script>
707
+ export default {
708
+ data() {
709
+ return {
710
+ input1: '',
711
+ input1state: null,
712
+ input2: '',
713
+ input2state: null,
714
+ options: [{ text: '- Choose 1 -', value: '' }, 'Red', 'Green', 'Blue'],
715
+ input1Return: '',
716
+ input2Return: '',
717
+ popoverShow: false
718
+ }
719
+ },
720
+ watch: {
721
+ input1(val) {
722
+ if (val) {
723
+ this.input1state = true
724
+ }
725
+ },
726
+ input2(val) {
727
+ if (val) {
728
+ this.input2state = true
729
+ }
730
+ }
731
+ },
732
+ methods: {
733
+ onClose() {
734
+ this.popoverShow = false
735
+ },
736
+ onOk() {
737
+ if (!this.input1) {
738
+ this.input1state = false
739
+ }
740
+ if (!this.input2) {
741
+ this.input2state = false
742
+ }
743
+ if (this.input1 && this.input2) {
744
+ this.onClose()
745
+ // Return our popover form results
746
+ this.input1Return = this.input1
747
+ this.input2Return = this.input2
748
+ }
749
+ },
750
+ onShow() {
751
+ // This is called just before the popover is shown
752
+ // Reset our popover form variables
753
+ this.input1 = ''
754
+ this.input2 = ''
755
+ this.input1state = null
756
+ this.input2state = null
757
+ this.input1Return = ''
758
+ this.input2Return = ''
759
+ },
760
+ onShown() {
761
+ // Called just after the popover has been shown
762
+ // Transfer focus to the first input
763
+ this.focusRef(this.$refs.input1)
764
+ },
765
+ onHidden() {
766
+ // Called just after the popover has finished hiding
767
+ // Bring focus back to the button
768
+ this.focusRef(this.$refs.button)
769
+ },
770
+ focusRef(ref) {
771
+ // Some references may be a component, functional component, or plain element
772
+ // This handles that check before focusing, assuming a `focus()` method exists
773
+ // We do this in a double `$nextTick()` to ensure components have
774
+ // updated & popover positioned first
775
+ this.$nextTick(() => {
776
+ this.$nextTick(() => {
777
+ ;(ref.$el || ref).focus()
778
+ })
779
+ })
780
+ }
781
+ }
782
+ }
783
+ </script>
784
+
785
+ <!-- b-popover-advanced.vue -->
786
+ ```
787
+
788
+ ## 'Global' \$root instance events
789
+
790
+ Using `$root` instance it is possible to emit and listen events somewhere out of a component, where
791
+ `<b-collapse>` is used. In short, `$root` behaves like a global event emitters and listener. Details
792
+ about `$root` instance can be found in
793
+ [the official Vue docs](https://vuejs.org/v2/guide/components-edge-cases.html#Accessing-the-Root-Instance).
794
+
795
+ ### Hiding and showing popovers via \$root events
796
+
797
+ You can close (hide) **all open popovers** by emitting the `bv::hide::popover` event on \$root:
798
+
799
+ ```js
800
+ this.$root.$emit('bv::hide::popover')
801
+ ```
802
+
803
+ To close a **specific popover**, pass the trigger element's `id`, or the `id` of the popover (if one
804
+ was provided via the `id` prop), as the first argument:
805
+
806
+ ```js
807
+ this.$root.$emit('bv::hide::popover', 'my-trigger-button-id')
808
+ ```
809
+
810
+ To open (show) a **specific popover**, pass the trigger element's `id`, or the `id` of the popover
811
+ (if one was provided via the `id` prop), as the first argument when emitting the `bv::show::popover`
812
+ event:
813
+
814
+ ```js
815
+ this.$root.$emit('bv::show::popover', 'my-trigger-button-id')
816
+ ```
817
+
818
+ To open all popovers simultaneously, omit the `id` argument when emitting the `bv::show::popover`
819
+ event.
820
+
821
+ These events work for both the component **and** directive versions of popover.
822
+
823
+ **Note:** _The **trigger element** must exist in the DOM and be in a visible state in order for the
824
+ popover to instantiate and show._
825
+
826
+ ### Disabling and enabling popovers via \$root events
827
+
828
+ You can disable **all** popovers by emitting the `bv::disable::popover` event on \$root:
829
+
830
+ ```js
831
+ this.$root.$emit('bv::disable::popover')
832
+ ```
833
+
834
+ To disable a **specific popover**, pass the trigger element's `id`, or the `id` of the popover (if
835
+ one was provided via the `id` prop), as the first argument:
836
+
837
+ ```js
838
+ this.$root.$emit('bv::disable::popover', 'my-trigger-button-id')
839
+ ```
840
+
841
+ To enable a **specific popover**, pass the trigger element's `id`, or the `id` of the popover (if
842
+ one was provided via the `id` prop), as the first argument when emitting the `bv::enable::popover`
843
+ event:
844
+
845
+ ```js
846
+ this.$root.$emit('bv::enable::popover', 'my-trigger-button-id')
847
+ ```
848
+
849
+ To enable all popovers simultaneously, omit the `id` argument when emitting the
850
+ `bv::enable::popover` event.
851
+
852
+ These events work for both the component and directive versions of popover.
853
+
854
+ **Note:** _The **trigger element** must exist in the DOM in order for the popover to be enabled or
855
+ disabled._
856
+
857
+ ### Listening to popover changes via \$root events
858
+
859
+ To listen to any popover opening, use:
860
+
861
+ ```js
862
+ export default {
863
+ mounted() {
864
+ this.$root.$on('bv::popover::show', bvEventObj => {
865
+ console.log('bvEventObj:', bvEventObj)
866
+ })
867
+ }
868
+ }
869
+ ```
870
+
871
+ Refer to the [Events](/docs/components/popover#component-reference) section of documentation for the
872
+ full list of events.
873
+
874
+ ## Accessibility
875
+
876
+ Popovers, in their current implementation, are not overly accessible when used as interactive
877
+ components. Content may not be actively read to screen reader users, and the popover markup might
878
+ not be located close to the trigger element in the DOM (as popovers usually get appended to the end
879
+ of `<body>`).
880
+
881
+ When using popovers as interactive component, you should transfer focus into the popover if
882
+ possible. When the popover is closed, you should return focus back to your triggering element
883
+ (assuming `focus` is not used as a trigger method), as we have done in the above example.
884
+
885
+ You may also want to implement focus containment in the popover content while the user is
886
+ interacting with it (keeping focus inside the popover until it is closed by the user).
887
+
888
+ **Note:** The animation effect of this component is dependent on the `prefers-reduced-motion` media
889
+ query. See the
890
+ [reduced motion section of our accessibility documentation](/docs/reference/accessibility) for
891
+ additional details.
892
+
893
+ ### Making popovers work for keyboard and assistive technology users
894
+
895
+ To allow keyboard users to activate your popovers, you should only add them to HTML elements that
896
+ are traditionally keyboard-focusable and interactive (such as links or form controls). Although
897
+ arbitrary HTML elements (such as `<span>`s) can be made focusable by adding the `tabindex="0"`
898
+ attribute, this will add potentially annoying and confusing tab stops on non-interactive elements
899
+ for keyboard users, and most assistive technologies currently do not announce the popover's content
900
+ in this situation. Additionally, do not rely solely on `hover` as the trigger for your popovers, as
901
+ this will make them impossible to trigger for keyboard users.
902
+
903
+ While you can insert rich, structured HTML and/or components in popovers via slots, we strongly
904
+ recommend that you avoid adding an excessive amount of content. The way popovers currently work is
905
+ that, once displayed, their content is tied to the trigger element with the `aria-describedby`
906
+ attribute. As a result, the entirety of the popover's content will be announced (read) to assistive
907
+ technology users as one long, uninterrupted stream.
908
+
909
+ Additionally, while it is possible to also include interactive controls (such as form elements or
910
+ links) in your popover, be aware that currently the popover does not manage keyboard focus order.
911
+ When a keyboard user opens a popover, focus remains on the triggering element, and as the popover
912
+ usually does not immediately follow the trigger in the document's structure, there is no guarantee
913
+ that moving forward/pressing <kbd>Tab</kbd> will move a keyboard user into the popover itself. In
914
+ short, simply adding interactive controls to a popover is likely to make these controls
915
+ unreachable/unusable for keyboard users and users of assistive technologies, or at the very least
916
+ make for an illogical overall focus order. **In these cases, consider using a `<b-modal>` dialog
917
+ instead**.
918
+
919
+ <!-- Component reference added automatically from component package.json -->