@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
@@ -1,142 +0,0 @@
1
- <!-- eslint-disable vue/multi-word-component-names -->
2
- <script>
3
- /* eslint-disable no-continue */
4
- import has from 'lodash/has';
5
- import isString from 'lodash/isString';
6
-
7
- const PREFIX = '%{';
8
- const SUFFIX = '}';
9
- const START_SUFFIX = 'Start';
10
- const END_SUFFIX = 'End';
11
- const PLACE_HOLDER_REGEX = new RegExp(`(${PREFIX}[a-z]+[\\w-]*[a-z0-9]+${SUFFIX})`, 'gi');
12
-
13
- function groupPlaceholdersByStartTag(placeholders = {}) {
14
- return Object.entries(placeholders).reduce((acc, [slotName, [startTag, endTag]]) => {
15
- acc[startTag] = { slotName, endTag };
16
- return acc;
17
- }, {});
18
- }
19
-
20
- function getPlaceholderDefinition(chunk, placeholdersByStartTag) {
21
- const tagName = chunk.slice(PREFIX.length, -SUFFIX.length);
22
-
23
- if (has(placeholdersByStartTag, tagName)) {
24
- // Use provided custom placeholder definition
25
- return {
26
- ...placeholdersByStartTag[tagName],
27
- tagName,
28
- };
29
- }
30
-
31
- if (tagName.endsWith(START_SUFFIX)) {
32
- // Tag conforms to default start/end tag naming convention
33
- const slotName = tagName.slice(0, -START_SUFFIX.length);
34
-
35
- return {
36
- slotName,
37
- endTag: `${slotName}${END_SUFFIX}`,
38
- tagName,
39
- };
40
- }
41
-
42
- return {
43
- slotName: tagName,
44
- endTag: undefined,
45
- tagName,
46
- };
47
- }
48
-
49
- export default {
50
- name: 'GlSprintf',
51
- functional: true,
52
- props: {
53
- /**
54
- * A translated string with named placeholders, e.g., "Written by %{author}".
55
- */
56
- message: {
57
- type: String,
58
- required: true,
59
- },
60
- /**
61
- * An object mapping slot names to custom start/end placeholders. Use this
62
- * to avoid changing an existing message, and in turn invalidating existing
63
- * translations, in the case it uses non-default placeholders.
64
- */
65
- placeholders: {
66
- type: Object,
67
- required: false,
68
- default: undefined,
69
- validator: (value) =>
70
- Object.values(value).every(
71
- // eslint-disable-next-line unicorn/no-array-callback-reference
72
- (tagPair) => Array.isArray(tagPair) && tagPair.length === 2 && tagPair.every(isString)
73
- ),
74
- },
75
- },
76
- /**
77
- * Available slots are determined by the placeholders in the provided
78
- * message prop. For example, a message of "Written by %{author}" has
79
- * a slot called "author", and its content is used to replace "%{author}"
80
- * in the rendered output. When two placeholders indicate a start and an
81
- * end region in the message, e.g., "%{linkStart}foo%{linkEnd}", the common
82
- * base name can be used as a scoped slot, where the content between the
83
- * placeholders is passed via the `content` scoped slot prop.
84
- * @slot * (arbitrary)
85
- * @binding {string} content The content to place between start and end placeholders.
86
- */
87
- render(createElement, context) {
88
- // While a functional style is generally preferred, an imperative style is
89
- // used here, as it lends itself better to the message parsing algorithm.
90
- // This approach is also more performant, as it minimizes (relatively) object
91
- // creation/garbage collection, which is important given how frequently this
92
- // code may run on a given page.
93
-
94
- let i = 0;
95
- const vnodes = [];
96
- const slots = context.scopedSlots;
97
- const chunks = context.props.message.split(PLACE_HOLDER_REGEX);
98
- const placeholdersByStartTag = groupPlaceholdersByStartTag(context.props.placeholders);
99
-
100
- while (i < chunks.length) {
101
- const chunk = chunks[i];
102
- // Skip past this chunk now we have it
103
- i += 1;
104
-
105
- if (!PLACE_HOLDER_REGEX.test(chunk)) {
106
- // Not a placeholder, so pass through as-is
107
- vnodes.push(chunk);
108
- continue;
109
- }
110
-
111
- const { slotName, endTag, tagName } = getPlaceholderDefinition(chunk, placeholdersByStartTag);
112
-
113
- if (endTag) {
114
- // Peek ahead to find end placeholder, if any
115
- const indexOfEnd = chunks.indexOf(`${PREFIX}${endTag}${SUFFIX}`, i);
116
- if (indexOfEnd > -1) {
117
- // We have a valid start/end placeholder pair! Extract the content
118
- // between them and skip past the end placeholder
119
- const content = chunks.slice(i, indexOfEnd);
120
- i = indexOfEnd + 1;
121
-
122
- if (!has(slots, slotName)) {
123
- // Slot hasn't been provided; return placeholders and content as-is
124
- vnodes.push(chunk, ...content, chunks[indexOfEnd]);
125
- continue;
126
- }
127
-
128
- // Provide content to provided scoped slot
129
- vnodes.push(slots[slotName]({ content: content.join('') }));
130
- continue;
131
- }
132
- }
133
-
134
- // By process of elimination, chunk must be a plain placeholder
135
- vnodes.push(has(slots, tagName) ? slots[tagName]() : chunk);
136
- continue;
137
- }
138
-
139
- return vnodes;
140
- },
141
- };
142
- </script>
@@ -1,5 +0,0 @@
1
- export const POSITION = {
2
- START: 'start',
3
- MIDDLE: 'middle',
4
- END: 'end',
5
- };
@@ -1,14 +0,0 @@
1
- The `GlTruncate` component lets you truncate the long texts with ellipsis.
2
-
3
- > **Tip:** Try resizing the side panel for truncation.
4
-
5
- ## Usage
6
-
7
- ```html
8
- <gl-truncate :text="text" :position="position" />
9
- ```
10
-
11
- By default, the ellipsis position is at the `end`.
12
-
13
- Pro Tip: Truncating long filepaths from the `middle` / `start` can help preventing the important
14
- information in the end, i.e. filenames.
@@ -1,21 +0,0 @@
1
- .gl-truncate-component {
2
- display: inline-flex;
3
- max-width: 100%;
4
- }
5
-
6
- .gl-truncate-start,
7
- .gl-truncate-end {
8
- flex: 0 1 auto;
9
- white-space: nowrap;
10
- overflow: hidden;
11
- }
12
-
13
- .gl-truncate-start {
14
- direction: rtl;
15
- text-align: left;
16
- text-overflow: '';
17
- }
18
-
19
- .gl-truncate-end {
20
- text-overflow: ellipsis;
21
- }
@@ -1,109 +0,0 @@
1
- <!-- eslint-disable vue/multi-word-component-names -->
2
- <script>
3
- import { GlTooltipDirective } from '../../../directives/tooltip';
4
- import { GlResizeObserverDirective } from '../../../directives/resize_observer/resize_observer';
5
- import { POSITION } from './constants';
6
-
7
- export default {
8
- name: 'GlTruncate',
9
- POSITION,
10
- directives: {
11
- GlTooltip: GlTooltipDirective,
12
- GlResizeObserver: GlResizeObserverDirective,
13
- },
14
- props: {
15
- /**
16
- * Text to be ellipsized
17
- */
18
- text: {
19
- type: String,
20
- required: true,
21
- },
22
- /**
23
- * Ellipsis position
24
- */
25
- position: {
26
- type: String,
27
- required: false,
28
- default: POSITION.END,
29
- validator: (value) => Object.values(POSITION).includes(value),
30
- },
31
- /**
32
- * Display the full text in a tooltip only if it is being truncated
33
- */
34
- withTooltip: {
35
- type: Boolean,
36
- required: false,
37
- default: false,
38
- },
39
- },
40
- data() {
41
- return {
42
- isTruncated: false,
43
- };
44
- },
45
- computed: {
46
- middleIndex() {
47
- return Math.floor(this.text.length / 2);
48
- },
49
-
50
- first() {
51
- return this.text.slice(0, this.middleIndex);
52
- },
53
- last() {
54
- return this.text.slice(this.middleIndex);
55
- },
56
- isTooltipDisabled() {
57
- return !this.withTooltip || !this.isTruncated;
58
- },
59
- },
60
- watch: {
61
- withTooltip(withTooltip) {
62
- if (withTooltip) {
63
- this.checkTruncationState();
64
- }
65
- },
66
- },
67
- methods: {
68
- checkTruncationState() {
69
- if (this.withTooltip) {
70
- this.isTruncated = this.$refs.text.scrollWidth > this.$refs.text.offsetWidth;
71
- }
72
- },
73
- },
74
- };
75
- </script>
76
-
77
- <template>
78
- <span
79
- v-if="position === $options.POSITION.START"
80
- v-gl-tooltip="{ disabled: isTooltipDisabled }"
81
- v-gl-resize-observer:[withTooltip]="checkTruncationState"
82
- class="gl-truncate-component"
83
- :title="text"
84
- >
85
- <span ref="text" class="gl-truncate-start !gl-text-ellipsis">&lrm;{{ text }}&lrm;</span>
86
- </span>
87
-
88
- <span
89
- v-else-if="position === $options.POSITION.MIDDLE"
90
- v-gl-tooltip="{ disabled: isTooltipDisabled }"
91
- v-gl-resize-observer:[withTooltip]="checkTruncationState"
92
- class="gl-truncate-component"
93
- :title="text"
94
- >
95
- <span ref="text" class="gl-truncate-end">{{ first }}</span
96
- ><span class="gl-truncate-start">&lrm;{{ last }}&lrm;</span>
97
- </span>
98
-
99
- <span
100
- v-else
101
- v-gl-tooltip="{ disabled: isTooltipDisabled }"
102
- v-gl-resize-observer:[withTooltip]="checkTruncationState"
103
- class="gl-truncate-component"
104
- data-testid="truncate-end-container"
105
- :title="text"
106
- >
107
- <span ref="text" class="gl-truncate-end">{{ text }}</span>
108
- </span>
109
- </template>
@@ -1,5 +0,0 @@
1
- export const STATES = {
2
- INITIAL: 'initial',
3
- TRUNCATED: 'truncated',
4
- EXTENDED: 'extended',
5
- };
@@ -1,26 +0,0 @@
1
- The `GlTruncateText` component lets you truncate a large text by number of lines.
2
- The last line ends with an ellipsis if the text is truncated.
3
- Truncation can be toggled by a 'Show more' / 'Show less' button.
4
- The button will not be shown when no truncation is necessary.
5
- There is a separate property to set the number of lines initially shown on small screens.
6
- Use the `showMoreText` and `showLessText` properties to provide translated strings.
7
-
8
- > **Tip:** Try resizing the side panel to see the truncated number of lines change.
9
-
10
- ## Usage
11
-
12
- ```html
13
- <gl-truncate-text :show-more-text="__('Show more')" :show-less-text="__('Show less')" :lines="3" :mobile-lines="10">
14
- {{ largeText }}
15
- </gl-truncate-text>
16
- ```
17
-
18
- ## Usage caveats
19
-
20
- When the size of the window is large,
21
- and the text is displayed on a number of lines greater than the value of the `lines` property,
22
- but smaller than the value of the `mobileLines` property,
23
- and the `Show more` button has been clicked to show the entire content of the text,
24
- and the window is resized to a small size,
25
- then instead of disappearing,
26
- the `Show less` button will remain visible and will do nothing when clicked.
@@ -1,14 +0,0 @@
1
- /**
2
- Note: although vendor-prefixes are used here, these properties are supported by all browsers.
3
- See https://caniuse.com/css-line-clamp
4
- **/
5
- .gl-truncate-text {
6
- // stylelint-disable-next-line value-no-vendor-prefix
7
- display: -webkit-box;
8
- -webkit-line-clamp: var(--mobile-lines);
9
- -webkit-box-orient: vertical;
10
-
11
- @include gl-media-breakpoint-up(sm) {
12
- -webkit-line-clamp: var(--lines);
13
- }
14
- }
@@ -1,124 +0,0 @@
1
- <script>
2
- import { GlResizeObserverDirective } from '../../../directives/resize_observer/resize_observer';
3
- import GlButton from '../../base/button/button.vue';
4
- import { STATES } from './constants';
5
-
6
- export default {
7
- name: 'GlTruncateText',
8
- components: {
9
- GlButton,
10
- },
11
- directives: {
12
- GlResizeObserver: GlResizeObserverDirective,
13
- },
14
- props: {
15
- /**
16
- * The text for the 'Show more' button
17
- */
18
- showMoreText: {
19
- type: String,
20
- required: false,
21
- default: 'Show more',
22
- },
23
- /**
24
- * The text for the 'Show less' button
25
- */
26
- showLessText: {
27
- type: String,
28
- required: false,
29
- default: 'Show less',
30
- },
31
- /**
32
- * The number of lines that are initially visible on larger screens
33
- */
34
- lines: {
35
- type: Number,
36
- required: false,
37
- default: 3,
38
- },
39
- /**
40
- * The number of lines that are initially visible on smaller screens
41
- */
42
- mobileLines: {
43
- type: Number,
44
- required: false,
45
- default: 10,
46
- },
47
- /**
48
- * Props that are passed to the toggle button
49
- */
50
- toggleButtonProps: {
51
- type: Object,
52
- required: false,
53
- default() {
54
- return {};
55
- },
56
- },
57
- },
58
- data() {
59
- return {
60
- state: STATES.INITIAL,
61
- };
62
- },
63
- computed: {
64
- showTruncationToggle() {
65
- return this.isTruncated || this.isExtended;
66
- },
67
- truncationToggleText() {
68
- return this.isTruncated ? this.showMoreText : this.showLessText;
69
- },
70
- cssVariables() {
71
- return { '--lines': this.lines, '--mobile-lines': this.mobileLines };
72
- },
73
- truncationClasses() {
74
- return this.isExtended ? null : 'gl-truncate-text gl-overflow-hidden';
75
- },
76
- ariaExpanded() {
77
- return (!this.isTruncated).toString();
78
- },
79
- isTruncated() {
80
- return this.state === STATES.TRUNCATED;
81
- },
82
- isExtended() {
83
- return this.state === STATES.EXTENDED;
84
- },
85
- },
86
- methods: {
87
- onResize({ target }) {
88
- if (target.scrollHeight > target.offsetHeight) {
89
- this.state = STATES.TRUNCATED;
90
- } else if (this.isTruncated) {
91
- this.state = STATES.INITIAL;
92
- }
93
- },
94
- toggleTruncation() {
95
- if (this.isTruncated) {
96
- this.state = STATES.EXTENDED;
97
- } else if (this.isExtended) {
98
- this.state = STATES.TRUNCATED;
99
- }
100
- },
101
- },
102
- };
103
- </script>
104
-
105
- <template>
106
- <section>
107
- <article
108
- v-gl-resize-observer="onResize"
109
- :class="truncationClasses"
110
- :style="cssVariables"
111
- :aria-expanded="ariaExpanded"
112
- >
113
- <!-- @slot Text content -->
114
- <slot></slot>
115
- </article>
116
- <gl-button
117
- v-if="showTruncationToggle"
118
- v-bind="toggleButtonProps"
119
- variant="link"
120
- @click="toggleTruncation"
121
- >{{ truncationToggleText }}</gl-button
122
- >
123
- </section>
124
- </template>
@@ -1 +0,0 @@
1
- export { VBToggle as GlCollapseToggleDirective } from '../vendor/bootstrap-vue/src/directives/toggle/toggle';
@@ -1,46 +0,0 @@
1
- import isFunction from 'lodash/isFunction';
2
-
3
- export const DELAY_ON_HOVER = 100;
4
- let mouseOverTimer;
5
- let mouseOverHandler;
6
-
7
- const bind = (el, { value: loadHandler }) => {
8
- if (!isFunction(loadHandler)) {
9
- throw TypeError('Directive value must be a function');
10
- }
11
-
12
- const mouseOutHandler = () => {
13
- if (mouseOverTimer) {
14
- clearTimeout(mouseOverTimer);
15
- mouseOverTimer = undefined;
16
- }
17
- };
18
-
19
- mouseOverHandler = () => {
20
- el.addEventListener('mouseout', mouseOutHandler, { passive: true });
21
-
22
- mouseOverTimer = setTimeout(() => {
23
- loadHandler(el);
24
-
25
- // Only execute once
26
- el.removeEventListener('mouseover', mouseOverHandler, true);
27
- el.removeEventListener('mouseout', mouseOutHandler);
28
-
29
- mouseOverTimer = undefined;
30
- }, DELAY_ON_HOVER);
31
- };
32
-
33
- el.addEventListener('mouseover', mouseOverHandler, {
34
- capture: true,
35
- passive: true,
36
- });
37
- };
38
-
39
- const unbind = (el) => {
40
- el.removeEventListener('mouseover', mouseOverHandler, true);
41
- };
42
-
43
- export const HoverLoadDirective = {
44
- bind,
45
- unbind,
46
- };
@@ -1,22 +0,0 @@
1
- A Vue Directive to help with preloading resources when hovering over an element.
2
-
3
- ## Usage
4
-
5
- ```html
6
- <script>
7
- import { GlHoverLoadDirective } from '@gitlab/ui';
8
-
9
- export default {
10
- directives: { GlHoverLoadDirective },
11
- methods: {
12
- handlePreload() {
13
- fetch('some/endpoint');
14
- },
15
- },
16
- };
17
- </script>
18
-
19
- <template>
20
- <div v-gl-hover-load="handlePreload">Hover me to preload</div>
21
- </template>
22
- ```
@@ -1 +0,0 @@
1
- export { VBModal as GlModalDirective } from '../vendor/bootstrap-vue/src/directives/modal/modal';
@@ -1,151 +0,0 @@
1
- /**
2
- * Map<HTMLElement, { callback: Function, eventTypes: Array<string> }>
3
- */
4
- const callbacks = new Map();
5
- const click = 'click';
6
- const focusin = 'focusin';
7
- const supportedEventTypes = [click, focusin];
8
- const defaultEventType = click;
9
-
10
- /**
11
- * A Set to keep track of currently active event types.
12
- * This ensures that event listeners are only added for the event types that are in use.
13
- *
14
- * @type {Set<string>}
15
- */
16
- const activeEventTypes = new Set();
17
- let lastMousedown = null;
18
-
19
- const globalListener = (event) => {
20
- callbacks.forEach(({ callback, eventTypes }, element) => {
21
- const originalEvent = event.type === click ? lastMousedown || event : event;
22
- if (
23
- // Ignore events that aren't targeted outside the element
24
- element.contains(originalEvent.target) ||
25
- // Ignore events that aren't the specified types for this element
26
- !eventTypes.includes(event.type)
27
- ) {
28
- return;
29
- }
30
-
31
- try {
32
- callback(event);
33
- } catch (e) {
34
- if (process.env.NODE_ENV !== 'production') {
35
- // eslint-disable-next-line no-console
36
- console.error(e);
37
- }
38
- }
39
- });
40
- if (event.type === click) {
41
- lastMousedown = null;
42
- }
43
- };
44
-
45
- // We need to listen for mouse events because text selection fires click event only when selection ends.
46
- // This means that the click event target could differ from the element where it originally started.
47
- // As example: if we use mouse events we could guarantee that selecting text within a dropdown won't close it.
48
- const onMousedown = (event) => {
49
- lastMousedown = event;
50
- };
51
-
52
- const startListening = (eventTypes) => {
53
- eventTypes.forEach((eventType) => {
54
- if (!activeEventTypes.has(eventType)) {
55
- // Listening to mousedown events, ensures that a text selection doesn't trigger the
56
- // GlOutsideDirective 'click' callback if the selection started within the target element.
57
- if (eventType === click) {
58
- document.addEventListener('mousedown', onMousedown);
59
- }
60
-
61
- // Added { capture: true } to all event types to prevent the behavior discussed in https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/1686#note_412545027
62
- // Ensures the event listener handles the event in the capturing phase, avoiding issues encountered previously.
63
- // Cannot be tested with Jest or Cypress, but can be tested with Playwright in the future: https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/4272#note_1947425384
64
- document.addEventListener(eventType, globalListener, { capture: true });
65
- activeEventTypes.add(eventType);
66
- }
67
- });
68
-
69
- lastMousedown = null;
70
- };
71
-
72
- const stopListening = (eventTypesToUnbind) => {
73
- eventTypesToUnbind.forEach((eventType) => {
74
- if (activeEventTypes.has(eventType)) {
75
- if ([...callbacks.values()].every(({ eventTypes }) => !eventTypes.includes(eventType))) {
76
- document.removeEventListener(eventType, globalListener);
77
- activeEventTypes.delete(eventType);
78
- }
79
- }
80
- });
81
-
82
- if (eventTypesToUnbind.includes(click) && !activeEventTypes.has(click)) {
83
- document.removeEventListener('mousedown', onMousedown);
84
- }
85
- };
86
-
87
- function parseBinding({ arg, value, modifiers }) {
88
- const modifiersList = Object.keys(modifiers);
89
-
90
- if (process.env.NODE_ENV !== 'production') {
91
- if (typeof value !== 'function') {
92
- throw new Error(`[GlOutsideDirective] Value must be a function; got ${typeof value}!`);
93
- }
94
-
95
- if (typeof arg !== 'undefined') {
96
- throw new Error(
97
- `[GlOutsideDirective] Arguments are not supported. Consider using modifiers instead.`
98
- );
99
- }
100
-
101
- const unsupportedModifiers = modifiersList.filter(
102
- (modifier) => !supportedEventTypes.includes(modifier)
103
- );
104
-
105
- if (unsupportedModifiers.length > 0) {
106
- throw new Error(
107
- `[GlOutsideDirective] Cannot bind ${unsupportedModifiers.join(', ')} events; supported event types are: ${supportedEventTypes.join(
108
- ', '
109
- )}`
110
- );
111
- }
112
- }
113
-
114
- return {
115
- callback: value,
116
- eventTypes: modifiersList.length > 0 ? modifiersList : [defaultEventType],
117
- };
118
- }
119
-
120
- const bind = (el, bindings) => {
121
- const { callback, eventTypes } = parseBinding(bindings);
122
-
123
- if (callbacks.has(el)) {
124
- // This element is already bound. This is possible if two components, which
125
- // share the same root node, (i.e., one is a higher-order component
126
- // wrapping another) _both_ have this directive applied.
127
- //
128
- // Because Vue binds directives in the direction towards the root, only the
129
- // deepest instance of this directive will be bound.
130
- //
131
- // A future iteration may add support for binding all instances on a given
132
- // element.
133
- return;
134
- }
135
-
136
- callbacks.set(el, { callback, eventTypes });
137
- startListening(eventTypes);
138
- };
139
-
140
- const unbind = (el) => {
141
- const entry = callbacks.get(el);
142
- if (entry) {
143
- callbacks.delete(el);
144
- stopListening(entry.eventTypes);
145
- }
146
- };
147
-
148
- export const OutsideDirective = {
149
- bind,
150
- unbind,
151
- };