@gitlab/ui 130.1.1 → 131.0.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 (33) hide show
  1. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +9 -0
  2. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +18 -2
  3. package/dist/components/base/toast/index.js +66 -0
  4. package/dist/components/base/toast/toast.js +117 -89
  5. package/dist/components/base/toast/toaster.js +87 -0
  6. package/dist/components/charts/single_stat/single_stat.js +13 -1
  7. package/dist/components/index.js +1 -1
  8. package/dist/index.css +2 -2
  9. package/dist/index.css.map +1 -1
  10. package/dist/tailwind.css +1 -1
  11. package/dist/tailwind.css.map +1 -1
  12. package/package.json +4 -1
  13. package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue +9 -0
  14. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.vue +23 -1
  15. package/src/components/base/toast/index.js +66 -0
  16. package/src/components/base/toast/toast.scss +31 -5
  17. package/src/components/base/toast/toast.vue +131 -0
  18. package/src/components/base/toast/toaster.vue +70 -0
  19. package/src/components/charts/single_stat/single_stat.vue +31 -3
  20. package/src/components/index.js +1 -1
  21. package/src/scss/bootstrap_vue.scss +0 -1
  22. package/dist/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.js +0 -234
  23. package/dist/vendor/bootstrap-vue/src/components/toast/index.js +0 -19
  24. package/dist/vendor/bootstrap-vue/src/components/toast/toast.js +0 -407
  25. package/dist/vendor/bootstrap-vue/src/components/toast/toaster.js +0 -142
  26. package/src/components/base/toast/toast.js +0 -102
  27. package/src/vendor/bootstrap-vue/src/components/toast/_toast.scss +0 -77
  28. package/src/vendor/bootstrap-vue/src/components/toast/_toaster.scss +0 -108
  29. package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.js +0 -231
  30. package/src/vendor/bootstrap-vue/src/components/toast/index.js +0 -12
  31. package/src/vendor/bootstrap-vue/src/components/toast/index.scss +0 -2
  32. package/src/vendor/bootstrap-vue/src/components/toast/toast.js +0 -439
  33. package/src/vendor/bootstrap-vue/src/components/toast/toaster.js +0 -136
package/dist/tailwind.css CHANGED
@@ -1,2 +1,2 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.gl-animate-skeleton-loader{background-color:var(--gl-skeleton-loader-background-color);background-image:linear-gradient(to right,var(--gl-skeleton-loader-background-color) 0,var(--gl-skeleton-loader-shimmer-color) 23%,var(--gl-skeleton-loader-shimmer-color) 27%,var(--gl-skeleton-loader-background-color) 50%);background-position:-32rem 0;background-repeat:no-repeat;background-size:32rem 100%;max-width:32rem;overflow:hidden}@media (prefers-reduced-motion:no-preference){.gl-animate-skeleton-loader{animation:gl-keyframes-skeleton-loader 2.5s linear;animation-delay:inherit;animation-iteration-count:3}}@keyframes gl-keyframes-skeleton-loader{0%{background-position-x:-32rem}to{background-position-x:32rem}}.gl-border{border-color:var(--gl-border-color-default);border-style:solid}.gl-border-t{border-top-color:var(--gl-border-color-default);border-top-style:solid}.gl-border-b{border-bottom-color:var(--gl-border-color-default);border-bottom-style:solid}.gl-heading-1{color:var(--gl-heading-1-color);font-size:var(--gl-heading-1-font-size);font-weight:var(--gl-heading-1-font-weight);letter-spacing:var(--gl-heading-1-letter-spacing);line-height:var(--gl-heading-1-line-height);margin-bottom:var(--gl-heading-1-margin-bottom);margin-top:var(--gl-heading-1-margin-top)}.gl-heading-3{color:var(--gl-heading-3-color);font-size:var(--gl-heading-3-font-size);font-weight:var(--gl-heading-3-font-weight);letter-spacing:var(--gl-heading-3-letter-spacing);line-height:var(--gl-heading-3-line-height);margin-bottom:var(--gl-heading-3-margin-bottom);margin-top:var(--gl-heading-3-margin-top)}.gl-heading-scale-300{color:var(--gl-heading-scale-300-color);font-size:var(--gl-heading-scale-300-font-size);font-weight:var(--gl-heading-scale-300-font-weight);letter-spacing:var(--gl-heading-scale-300-letter-spacing);line-height:var(--gl-heading-scale-300-line-height);margin-top:var(--gl-heading-scale-300-margin-top)}.gl-heading-scale-500{color:var(--gl-heading-scale-500-color);font-size:var(--gl-heading-scale-500-font-size);font-weight:var(--gl-heading-scale-500-font-weight);letter-spacing:var(--gl-heading-scale-500-letter-spacing);line-height:var(--gl-heading-scale-500-line-height);margin-top:var(--gl-heading-scale-500-margin-top)}.gl-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.gl-pointer-events-auto{pointer-events:auto}.gl-invisible{visibility:hidden}.gl-collapse{visibility:collapse}.gl-static{position:static}.gl-fixed{position:fixed}.\!gl-absolute{position:absolute!important}.gl-absolute{position:absolute}.gl-relative{position:relative}.gl-sticky{position:sticky}.gl-top-0{top:var(--gl-spacing-scale-0)}.\!gl-z-9999{z-index:var(--gl-zindex-9999)!important}.gl-z-9999{z-index:var(--gl-zindex-9999)}.gl-float-right{float:right}.\!gl-m-0{margin:var(--gl-spacing-scale-0)!important}.gl-m-0{margin:var(--gl-spacing-scale-0)}.gl-m-7{margin:var(--gl-spacing-scale-7)}.gl-m-auto{margin:auto}.\!gl-mx-2{margin-left:var(--gl-spacing-scale-2)!important;margin-right:var(--gl-spacing-scale-2)!important}.-gl-mx-1{margin-left:calc(var(--gl-spacing-scale-1)*-1);margin-right:calc(var(--gl-spacing-scale-1)*-1)}.-gl-mx-2{margin-left:calc(var(--gl-spacing-scale-2)*-1);margin-right:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mx-3{margin-left:calc(var(--gl-spacing-scale-3)*-1);margin-right:calc(var(--gl-spacing-scale-3)*-1)}.-gl-mx-4{margin-left:calc(var(--gl-spacing-scale-4)*-1);margin-right:calc(var(--gl-spacing-scale-4)*-1)}.-gl-my-1{margin-bottom:calc(var(--gl-spacing-scale-1)*-1);margin-top:calc(var(--gl-spacing-scale-1)*-1)}.-gl-my-3{margin-bottom:calc(var(--gl-spacing-scale-3)*-1);margin-top:calc(var(--gl-spacing-scale-3)*-1)}.gl-mx-0{margin-left:var(--gl-spacing-scale-0);margin-right:var(--gl-spacing-scale-0)}.gl-mx-2{margin-left:var(--gl-spacing-scale-2);margin-right:var(--gl-spacing-scale-2)}.gl-mx-4{margin-left:var(--gl-spacing-scale-4);margin-right:var(--gl-spacing-scale-4)}.gl-mx-auto{margin-left:auto;margin-right:auto}.gl-my-0{margin-bottom:var(--gl-spacing-scale-0);margin-top:var(--gl-spacing-scale-0)}.gl-my-2{margin-bottom:var(--gl-spacing-scale-2);margin-top:var(--gl-spacing-scale-2)}.gl-my-3{margin-bottom:var(--gl-spacing-scale-3);margin-top:var(--gl-spacing-scale-3)}.gl-my-4{margin-bottom:var(--gl-spacing-scale-4);margin-top:var(--gl-spacing-scale-4)}.\!gl-mb-0{margin-bottom:var(--gl-spacing-scale-0)!important}.\!gl-mb-4{margin-bottom:var(--gl-spacing-scale-4)!important}.\!gl-mt-2{margin-top:var(--gl-spacing-scale-2)!important}.-gl-ml-2{margin-left:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mr-3{margin-right:calc(var(--gl-spacing-scale-3)*-1)}.-gl-mt-2{margin-top:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mt-3{margin-top:calc(var(--gl-spacing-scale-3)*-1)}.gl-mb-0{margin-bottom:var(--gl-spacing-scale-0)}.gl-mb-2{margin-bottom:var(--gl-spacing-scale-2)}.gl-mb-3{margin-bottom:var(--gl-spacing-scale-3)}.gl-mb-4{margin-bottom:var(--gl-spacing-scale-4)}.gl-mb-5{margin-bottom:var(--gl-spacing-scale-5)}.gl-mb-8{margin-bottom:var(--gl-spacing-scale-8)}.gl-ml-1{margin-left:var(--gl-spacing-scale-1)}.gl-ml-2{margin-left:var(--gl-spacing-scale-2)}.gl-ml-3{margin-left:var(--gl-spacing-scale-3)}.gl-ml-5{margin-left:var(--gl-spacing-scale-5)}.gl-mr-2{margin-right:var(--gl-spacing-scale-2)}.gl-mr-3{margin-right:var(--gl-spacing-scale-3)}.gl-mr-4{margin-right:var(--gl-spacing-scale-4)}.gl-mr-auto{margin-right:auto}.gl-mt-0{margin-top:var(--gl-spacing-scale-0)}.gl-mt-1{margin-top:var(--gl-spacing-scale-1)}.gl-mt-2{margin-top:var(--gl-spacing-scale-2)}.gl-mt-3{margin-top:var(--gl-spacing-scale-3)}.gl-mt-4{margin-top:var(--gl-spacing-scale-4)}.gl-mt-5{margin-top:var(--gl-spacing-scale-5)}.gl-mt-6{margin-top:var(--gl-spacing-scale-6)}.gl-mt-7{margin-top:var(--gl-spacing-scale-7)}.\!gl-block{display:block!important}.gl-block{display:block}.gl-inline-block{display:inline-block}.\!gl-flex{display:flex!important}.gl-flex{display:flex}.gl-inline-flex{display:inline-flex}.gl-table{display:table}.gl-hidden{display:none}.gl-h-0{height:var(--gl-spacing-scale-0)}.gl-h-11{height:var(--gl-spacing-scale-11)}.gl-h-4{height:var(--gl-spacing-scale-4)}.gl-h-62{height:var(--gl-spacing-scale-62)}.gl-h-\[768px\]{height:768px}.gl-h-auto{height:auto}.gl-h-full{height:100%}.gl-min-h-13{min-height:var(--gl-spacing-scale-13)}.gl-min-h-8{min-height:var(--gl-spacing-scale-8)}.\!gl-w-31{width:var(--gl-spacing-scale-31)!important}.\!gl-w-auto{width:auto!important}.gl-w-20{width:var(--gl-spacing-scale-20)}.gl-w-3\/4{width:75%}.gl-w-30{width:var(--gl-spacing-scale-30)}.gl-w-4\/10{width:40%}.gl-w-5{width:var(--gl-spacing-scale-5)}.gl-w-auto{width:auto}.gl-w-full{width:100%}.gl-min-w-0{min-width:var(--gl-spacing-scale-0)}.gl-min-w-15{min-width:var(--gl-spacing-scale-15)}.gl-min-w-5{min-width:var(--gl-spacing-scale-5)}.\!gl-max-w-20{max-width:var(--gl-spacing-scale-20)!important}.\!gl-max-w-26{max-width:var(--gl-spacing-scale-26)!important}.\!gl-max-w-30{max-width:var(--gl-spacing-scale-30)!important}.gl-max-w-1\/2{max-width:50%}.gl-max-w-48{max-width:var(--gl-spacing-scale-48)}.gl-max-w-75{max-width:var(--gl-spacing-scale-75)}.gl-max-w-80{max-width:var(--gl-spacing-scale-80)}.gl-max-w-full{max-width:100%}.gl-max-w-sm{max-width:24rem}.gl-flex-auto{flex:1 1 auto}.gl-flex-shrink-0,.gl-shrink-0{flex-shrink:0}.gl-flex-grow,.gl-grow{flex-grow:1}.gl-basis-0{flex-basis:var(--gl-spacing-scale-0)}.\!gl-cursor-grabbing{cursor:grabbing!important}.\!gl-cursor-not-allowed{cursor:not-allowed!important}.\!gl-cursor-text{cursor:text!important}.gl-cursor-default{cursor:default}.gl-cursor-grab{cursor:grab}.gl-cursor-pointer{cursor:pointer}.gl-cursor-text{cursor:text}.gl-select-none{-webkit-user-select:none;user-select:none}.gl-list-none{list-style-type:none}.gl-flex-row{flex-direction:row}.gl-flex-col{flex-direction:column}.gl-flex-wrap{flex-wrap:wrap}.gl-flex-nowrap{flex-wrap:nowrap}.gl-content-center{align-content:center}.gl-items-start{align-items:flex-start}.gl-items-end{align-items:flex-end}.gl-items-center{align-items:center}.gl-items-baseline{align-items:baseline}.\!gl-justify-start{justify-content:flex-start!important}.gl-justify-end{justify-content:flex-end}.gl-justify-center{justify-content:center}.gl-justify-between{justify-content:space-between}.gl-gap-2{gap:var(--gl-spacing-scale-2)}.gl-gap-3{gap:var(--gl-spacing-scale-3)}.gl-gap-5{gap:var(--gl-spacing-scale-5)}.gl-gap-6{gap:var(--gl-spacing-scale-6)}.gl-gap-x-3{column-gap:var(--gl-spacing-scale-3)}.gl-self-start{align-self:flex-start}.gl-self-center{align-self:center}.gl-overflow-auto{overflow:auto}.gl-overflow-hidden{overflow:hidden}.gl-overflow-visible{overflow:visible}.gl-overflow-y-auto{overflow-y:auto}.gl-overflow-x-hidden{overflow-x:hidden}.gl-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!gl-text-ellipsis{text-overflow:ellipsis!important}.gl-text-ellipsis{text-overflow:ellipsis}.gl-whitespace-nowrap{white-space:nowrap}.gl-whitespace-pre-line{white-space:pre-line}.gl-break-words{overflow-wrap:break-word}.\!gl-rounded-control{border-radius:var(--gl-control-border-radius)!important}.\!gl-rounded-lg{border-radius:var(--gl-border-radius-lg)!important}.\!gl-rounded-none{border-radius:var(--gl-border-radius-none)!important}.gl-rounded-action{border-radius:var(--gl-action-border-radius)}.gl-rounded-base{border-radius:.25rem}.gl-rounded-default{border-radius:var(--gl-border-radius-default)}.gl-rounded-full{border-radius:var(--gl-border-radius-full)}.gl-rounded-lg{border-radius:var(--gl-border-radius-lg)}.gl-rounded-t-default{border-top-left-radius:var(--gl-border-radius-default);border-top-right-radius:var(--gl-border-radius-default)}.gl-border{border-width:1px}.gl-border-2{border-width:2px}.\!gl-border-b-0{border-bottom-width:0!important}.gl-border-b,.gl-border-b-1{border-bottom-width:1px}.gl-border-t,.gl-border-t-1{border-top-width:1px}.gl-border-t-2{border-top-width:2px}.gl-border-dashed{border-style:dashed}.gl-border-none{border-style:none}.gl-border-default{border-color:var(--gl-border-color-default)}.gl-border-gray-500{border-color:var(--gray-500)}.gl-border-b-dropdown-divider{border-bottom-color:var(--gl-dropdown-divider-color)}.gl-border-t-blue-500{border-top-color:var(--blue-500)}.gl-border-t-dropdown-divider{border-top-color:var(--gl-dropdown-divider-color)}.gl-border-t-red-500{border-top-color:var(--red-500)}.\!gl-bg-data-viz-green-700{background-color:var(--data-viz-green-700)!important}.\!gl-bg-data-viz-magenta-950{background-color:var(--data-viz-magenta-950)!important}.\!gl-bg-red-50{background-color:var(--red-50)!important}.gl-bg-blue-100{background-color:var(--blue-100)}.gl-bg-default{background-color:var(--gl-background-color-default)}.gl-bg-dropdown{background-color:var(--gl-dropdown-background-color)}.gl-bg-feedback-warning{background-color:var(--gl-feedback-warning-background-color)}.gl-bg-gray-50{background-color:var(--gray-50)}.gl-bg-gray-900{background-color:var(--gray-900)}.gl-bg-gray-950{background-color:var(--gray-950)}.gl-bg-green-100{background-color:var(--green-100)}.gl-bg-purple-50{background-color:var(--purple-50)}.gl-bg-red-100{background-color:var(--red-100)}.gl-bg-status-neutral{background-color:var(--gl-status-neutral-background-color)}.gl-bg-strong{background-color:var(--gl-background-color-strong)}.gl-bg-transparent{background-color:transparent}.gl-fill-current{fill:currentColor}.gl-fill-icon-danger{fill:var(--gl-icon-color-danger)}.gl-fill-icon-default{fill:var(--gl-icon-color-default)}.gl-fill-icon-disabled{fill:var(--gl-icon-color-disabled)}.gl-fill-icon-info{fill:var(--gl-icon-color-info)}.gl-fill-icon-link{fill:var(--gl-icon-color-link)}.gl-fill-icon-strong{fill:var(--gl-icon-color-strong)}.gl-fill-icon-subtle{fill:var(--gl-icon-color-subtle)}.gl-fill-icon-success{fill:var(--gl-icon-color-success)}.gl-fill-icon-warning{fill:var(--gl-icon-color-warning)}.\!gl-p-0{padding:var(--gl-spacing-scale-0)!important}.\!gl-p-2{padding:var(--gl-spacing-scale-2)!important}.\!gl-p-4{padding:var(--gl-spacing-scale-4)!important}.gl-p-0{padding:var(--gl-spacing-scale-0)}.gl-p-1{padding:var(--gl-spacing-scale-1)}.gl-p-2{padding:var(--gl-spacing-scale-2)}.gl-p-3{padding:var(--gl-spacing-scale-3)}.gl-p-4{padding:var(--gl-spacing-scale-4)}.gl-p-5{padding:var(--gl-spacing-scale-5)}.gl-p-7{padding:var(--gl-spacing-scale-7)}.\!gl-px-2{padding-left:var(--gl-spacing-scale-2)!important;padding-right:var(--gl-spacing-scale-2)!important}.\!gl-px-3{padding-left:var(--gl-spacing-scale-3)!important;padding-right:var(--gl-spacing-scale-3)!important}.\!gl-py-2{padding-bottom:var(--gl-spacing-scale-2)!important;padding-top:var(--gl-spacing-scale-2)!important}.gl-px-1{padding-left:var(--gl-spacing-scale-1);padding-right:var(--gl-spacing-scale-1)}.gl-px-2{padding-left:var(--gl-spacing-scale-2);padding-right:var(--gl-spacing-scale-2)}.gl-px-3{padding-left:var(--gl-spacing-scale-3);padding-right:var(--gl-spacing-scale-3)}.gl-px-4{padding-left:var(--gl-spacing-scale-4);padding-right:var(--gl-spacing-scale-4)}.gl-px-5{padding-left:var(--gl-spacing-scale-5);padding-right:var(--gl-spacing-scale-5)}.gl-py-1{padding-bottom:var(--gl-spacing-scale-1);padding-top:var(--gl-spacing-scale-1)}.gl-py-2{padding-bottom:var(--gl-spacing-scale-2);padding-top:var(--gl-spacing-scale-2)}.gl-py-3{padding-bottom:var(--gl-spacing-scale-3);padding-top:var(--gl-spacing-scale-3)}.gl-py-4{padding-bottom:var(--gl-spacing-scale-4);padding-top:var(--gl-spacing-scale-4)}.gl-py-5{padding-bottom:var(--gl-spacing-scale-5);padding-top:var(--gl-spacing-scale-5)}.gl-py-6{padding-bottom:var(--gl-spacing-scale-6);padding-top:var(--gl-spacing-scale-6)}.\!gl-pr-7{padding-right:var(--gl-spacing-scale-7)!important}.\!gl-pr-9{padding-right:var(--gl-spacing-scale-9)!important}.\!gl-pt-0{padding-top:var(--gl-spacing-scale-0)!important}.gl-pb-10{padding-bottom:var(--gl-spacing-scale-10)}.gl-pb-2{padding-bottom:var(--gl-spacing-scale-2)}.gl-pb-3{padding-bottom:var(--gl-spacing-scale-3)}.gl-pl-0{padding-left:var(--gl-spacing-scale-0)}.gl-pl-2{padding-left:var(--gl-spacing-scale-2)}.gl-pl-4{padding-left:var(--gl-spacing-scale-4)}.gl-pl-5{padding-left:var(--gl-spacing-scale-5)}.gl-pl-6{padding-left:var(--gl-spacing-scale-6)}.gl-pl-7{padding-left:var(--gl-spacing-scale-7)}.gl-pr-2{padding-right:var(--gl-spacing-scale-2)}.gl-pr-5{padding-right:var(--gl-spacing-scale-5)}.gl-pr-6{padding-right:var(--gl-spacing-scale-6)}.gl-pr-8{padding-right:var(--gl-spacing-scale-8)}.gl-pt-1{padding-top:var(--gl-spacing-scale-1)}.gl-pt-2{padding-top:var(--gl-spacing-scale-2)}.gl-pt-3{padding-top:var(--gl-spacing-scale-3)}.gl-pt-4{padding-top:var(--gl-spacing-scale-4)}.gl-pt-8{padding-top:var(--gl-spacing-scale-8)}.\!gl-text-left{text-align:left!important}.gl-text-center{text-align:center}.gl-text-right{text-align:right}.gl-align-middle{vertical-align:middle}.\!gl-align-text-bottom{vertical-align:text-bottom!important}.gl-font-monospace{font-family:var(--gl-font-family-monospace)}.gl-font-regular{font-family:var(--gl-font-family-regular)}.\!gl-text-sm{font-size:var(--gl-font-size-sm)!important}.gl-text-base{font-size:var(--gl-font-size-base)}.gl-text-size-h-display{font-size:1.75rem}.gl-text-sm{font-size:var(--gl-font-size-sm)}.gl-font-bold{font-weight:var(--gl-font-weight-bold)}.gl-font-heading{font-weight:var(--gl-font-weight-heading)}.gl-font-normal{font-weight:var(--gl-font-weight-normal)}.gl-capitalize{text-transform:capitalize}.gl-leading-1{line-height:1}.gl-leading-36{line-height:var(--gl-line-height-36)}.gl-leading-normal{line-height:1rem}.\!gl-text-red-700{color:var(--red-700)!important}.\!gl-text-subtle{color:var(--gl-text-color-subtle)!important}.\!gl-text-white{color:var(--white)!important}.gl-text-blue-100{color:var(--blue-100)}.gl-text-blue-500{color:var(--blue-500)}.gl-text-danger{color:var(--gl-text-color-danger)}.gl-text-default{color:var(--gl-text-color-default)}.gl-text-gray-500{color:var(--gray-500)}.gl-text-gray-700{color:var(--gray-700)}.gl-text-green-500{color:var(--green-500)}.gl-text-green-600{color:var(--green-600)}.gl-text-heading{color:var(--gl-text-color-heading)}.gl-text-inherit{color:inherit}.gl-text-neutral-0{color:var(--gl-color-neutral-0)}.gl-text-neutral-950{color:var(--gl-color-neutral-950)}.gl-text-orange-500{color:var(--orange-500)}.gl-text-red-500{color:var(--red-500)}.gl-text-strong{color:var(--gl-text-color-strong)}.gl-text-subtle{color:var(--gl-text-color-subtle)}.gl-text-tertiary{color:var(--gl-text-tertiary)}.gl-text-white{color:var(--white)}.\!gl-opacity-0{opacity:var(--gl-opacity-0)!important}.gl-opacity-10{opacity:var(--gl-opacity-10)}.gl-outline-none{outline:2px solid transparent;outline-offset:2px}.gl-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 0 0.5px var(--gl-shadow-color-default,#05050629)) drop-shadow(0 0.5px 1px var(--gl-shadow-color-default,#05050629)) drop-shadow(0 1px 3px var(--gl-shadow-color-default,#05050629));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.gl-transition-all{transition-duration:.2s;transition-property:all;transition-timing-function:ease}.gl-font-monospace{font-family:var(--default-mono-font,"GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-variant-ligatures:none}.gl-border-b-solid{border-bottom-style:solid}.gl-border-t-solid{border-top-style:solid}.gl-focus{box-shadow:0 0 0 1px var(--gl-focus-ring-inner-color),0 0 0 3px var(--gl-focus-ring-outer-color);outline:none}.gl-\@container{container-type:inline-size}.hover\:\!gl-cursor-not-allowed:hover{cursor:not-allowed!important}.hover\:gl-cursor-pointer:hover{cursor:pointer}.focus\:\!gl-focus-inset:focus{box-shadow:inset 0 0 0 2px var(--gl-focus-ring-outer-color),inset 0 0 0 3px var(--gl-focus-ring-inner-color),inset 0 0 0 1px var(--gl-focus-ring-inner-color)!important;outline:none!important}@media (min-width:576px){.\@sm\:gl-block{display:block}.\@sm\:gl-flex-nowrap{flex-wrap:nowrap}.\@sm\:gl-gap-3{gap:var(--gl-spacing-scale-3)}.sm\:\!gl-hidden{display:none!important}}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.gl-animate-skeleton-loader{background-color:var(--gl-skeleton-loader-background-color);background-image:linear-gradient(to right,var(--gl-skeleton-loader-background-color) 0,var(--gl-skeleton-loader-shimmer-color) 23%,var(--gl-skeleton-loader-shimmer-color) 27%,var(--gl-skeleton-loader-background-color) 50%);background-position:-32rem 0;background-repeat:no-repeat;background-size:32rem 100%;max-width:32rem;overflow:hidden}@media (prefers-reduced-motion:no-preference){.gl-animate-skeleton-loader{animation:gl-keyframes-skeleton-loader 2.5s linear;animation-delay:inherit;animation-iteration-count:3}}@keyframes gl-keyframes-skeleton-loader{0%{background-position-x:-32rem}to{background-position-x:32rem}}.gl-border{border-color:var(--gl-border-color-default);border-style:solid}.gl-border-t{border-top-color:var(--gl-border-color-default);border-top-style:solid}.gl-border-b{border-bottom-color:var(--gl-border-color-default);border-bottom-style:solid}.gl-heading-1{color:var(--gl-heading-1-color);font-size:var(--gl-heading-1-font-size);font-weight:var(--gl-heading-1-font-weight);letter-spacing:var(--gl-heading-1-letter-spacing);line-height:var(--gl-heading-1-line-height);margin-bottom:var(--gl-heading-1-margin-bottom);margin-top:var(--gl-heading-1-margin-top)}.gl-heading-3{color:var(--gl-heading-3-color);font-size:var(--gl-heading-3-font-size);font-weight:var(--gl-heading-3-font-weight);letter-spacing:var(--gl-heading-3-letter-spacing);line-height:var(--gl-heading-3-line-height);margin-bottom:var(--gl-heading-3-margin-bottom);margin-top:var(--gl-heading-3-margin-top)}.gl-heading-scale-300{color:var(--gl-heading-scale-300-color);font-size:var(--gl-heading-scale-300-font-size);font-weight:var(--gl-heading-scale-300-font-weight);letter-spacing:var(--gl-heading-scale-300-letter-spacing);line-height:var(--gl-heading-scale-300-line-height);margin-top:var(--gl-heading-scale-300-margin-top)}.gl-heading-scale-500{color:var(--gl-heading-scale-500-color);font-size:var(--gl-heading-scale-500-font-size);font-weight:var(--gl-heading-scale-500-font-weight);letter-spacing:var(--gl-heading-scale-500-letter-spacing);line-height:var(--gl-heading-scale-500-line-height);margin-top:var(--gl-heading-scale-500-margin-top)}.gl-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.gl-pointer-events-auto{pointer-events:auto}.gl-invisible{visibility:hidden}.gl-collapse{visibility:collapse}.gl-static{position:static}.gl-fixed{position:fixed}.\!gl-absolute{position:absolute!important}.gl-absolute{position:absolute}.gl-relative{position:relative}.gl-sticky{position:sticky}.gl-top-0{top:var(--gl-spacing-scale-0)}.\!gl-z-9999{z-index:var(--gl-zindex-9999)!important}.gl-z-9999{z-index:var(--gl-zindex-9999)}.gl-float-right{float:right}.\!gl-m-0{margin:var(--gl-spacing-scale-0)!important}.gl-m-0{margin:var(--gl-spacing-scale-0)}.gl-m-7{margin:var(--gl-spacing-scale-7)}.gl-m-auto{margin:auto}.\!gl-mx-2{margin-left:var(--gl-spacing-scale-2)!important;margin-right:var(--gl-spacing-scale-2)!important}.-gl-mx-1{margin-left:calc(var(--gl-spacing-scale-1)*-1);margin-right:calc(var(--gl-spacing-scale-1)*-1)}.-gl-mx-2{margin-left:calc(var(--gl-spacing-scale-2)*-1);margin-right:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mx-3{margin-left:calc(var(--gl-spacing-scale-3)*-1);margin-right:calc(var(--gl-spacing-scale-3)*-1)}.-gl-mx-4{margin-left:calc(var(--gl-spacing-scale-4)*-1);margin-right:calc(var(--gl-spacing-scale-4)*-1)}.-gl-my-1{margin-bottom:calc(var(--gl-spacing-scale-1)*-1);margin-top:calc(var(--gl-spacing-scale-1)*-1)}.-gl-my-3{margin-bottom:calc(var(--gl-spacing-scale-3)*-1);margin-top:calc(var(--gl-spacing-scale-3)*-1)}.gl-mx-0{margin-left:var(--gl-spacing-scale-0);margin-right:var(--gl-spacing-scale-0)}.gl-mx-2{margin-left:var(--gl-spacing-scale-2);margin-right:var(--gl-spacing-scale-2)}.gl-mx-4{margin-left:var(--gl-spacing-scale-4);margin-right:var(--gl-spacing-scale-4)}.gl-mx-auto{margin-left:auto;margin-right:auto}.gl-my-0{margin-bottom:var(--gl-spacing-scale-0);margin-top:var(--gl-spacing-scale-0)}.gl-my-2{margin-bottom:var(--gl-spacing-scale-2);margin-top:var(--gl-spacing-scale-2)}.gl-my-3{margin-bottom:var(--gl-spacing-scale-3);margin-top:var(--gl-spacing-scale-3)}.gl-my-4{margin-bottom:var(--gl-spacing-scale-4);margin-top:var(--gl-spacing-scale-4)}.\!gl-mb-0{margin-bottom:var(--gl-spacing-scale-0)!important}.\!gl-mb-4{margin-bottom:var(--gl-spacing-scale-4)!important}.\!gl-mt-2{margin-top:var(--gl-spacing-scale-2)!important}.-gl-ml-2{margin-left:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mr-3{margin-right:calc(var(--gl-spacing-scale-3)*-1)}.-gl-mt-2{margin-top:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mt-3{margin-top:calc(var(--gl-spacing-scale-3)*-1)}.gl-mb-0{margin-bottom:var(--gl-spacing-scale-0)}.gl-mb-2{margin-bottom:var(--gl-spacing-scale-2)}.gl-mb-3{margin-bottom:var(--gl-spacing-scale-3)}.gl-mb-4{margin-bottom:var(--gl-spacing-scale-4)}.gl-mb-5{margin-bottom:var(--gl-spacing-scale-5)}.gl-mb-8{margin-bottom:var(--gl-spacing-scale-8)}.gl-ml-1{margin-left:var(--gl-spacing-scale-1)}.gl-ml-2{margin-left:var(--gl-spacing-scale-2)}.gl-ml-3{margin-left:var(--gl-spacing-scale-3)}.gl-ml-5{margin-left:var(--gl-spacing-scale-5)}.gl-mr-2{margin-right:var(--gl-spacing-scale-2)}.gl-mr-3{margin-right:var(--gl-spacing-scale-3)}.gl-mr-4{margin-right:var(--gl-spacing-scale-4)}.gl-mr-auto{margin-right:auto}.gl-mt-0{margin-top:var(--gl-spacing-scale-0)}.gl-mt-1{margin-top:var(--gl-spacing-scale-1)}.gl-mt-2{margin-top:var(--gl-spacing-scale-2)}.gl-mt-3{margin-top:var(--gl-spacing-scale-3)}.gl-mt-4{margin-top:var(--gl-spacing-scale-4)}.gl-mt-5{margin-top:var(--gl-spacing-scale-5)}.gl-mt-6{margin-top:var(--gl-spacing-scale-6)}.gl-mt-7{margin-top:var(--gl-spacing-scale-7)}.\!gl-block{display:block!important}.gl-block{display:block}.gl-inline-block{display:inline-block}.\!gl-flex{display:flex!important}.gl-flex{display:flex}.gl-inline-flex{display:inline-flex}.gl-table{display:table}.gl-hidden{display:none}.gl-h-0{height:var(--gl-spacing-scale-0)}.gl-h-11{height:var(--gl-spacing-scale-11)}.gl-h-4{height:var(--gl-spacing-scale-4)}.gl-h-62{height:var(--gl-spacing-scale-62)}.gl-h-\[768px\]{height:768px}.gl-h-auto{height:auto}.gl-h-full{height:100%}.gl-min-h-13{min-height:var(--gl-spacing-scale-13)}.gl-min-h-8{min-height:var(--gl-spacing-scale-8)}.\!gl-w-31{width:var(--gl-spacing-scale-31)!important}.\!gl-w-auto{width:auto!important}.gl-w-20{width:var(--gl-spacing-scale-20)}.gl-w-3\/4{width:75%}.gl-w-30{width:var(--gl-spacing-scale-30)}.gl-w-4\/10{width:40%}.gl-w-5{width:var(--gl-spacing-scale-5)}.gl-w-auto{width:auto}.gl-w-full{width:100%}.gl-min-w-0{min-width:var(--gl-spacing-scale-0)}.gl-min-w-15{min-width:var(--gl-spacing-scale-15)}.gl-min-w-5{min-width:var(--gl-spacing-scale-5)}.\!gl-max-w-20{max-width:var(--gl-spacing-scale-20)!important}.\!gl-max-w-26{max-width:var(--gl-spacing-scale-26)!important}.\!gl-max-w-30{max-width:var(--gl-spacing-scale-30)!important}.gl-max-w-1\/2{max-width:50%}.gl-max-w-48{max-width:var(--gl-spacing-scale-48)}.gl-max-w-75{max-width:var(--gl-spacing-scale-75)}.gl-max-w-80{max-width:var(--gl-spacing-scale-80)}.gl-max-w-full{max-width:100%}.gl-max-w-sm{max-width:24rem}.gl-flex-auto{flex:1 1 auto}.gl-flex-shrink-0,.gl-shrink-0{flex-shrink:0}.gl-flex-grow,.gl-grow{flex-grow:1}.gl-basis-0{flex-basis:var(--gl-spacing-scale-0)}.\!gl-cursor-default{cursor:default!important}.\!gl-cursor-grabbing{cursor:grabbing!important}.\!gl-cursor-not-allowed{cursor:not-allowed!important}.\!gl-cursor-text{cursor:text!important}.gl-cursor-default{cursor:default}.gl-cursor-grab{cursor:grab}.gl-cursor-pointer{cursor:pointer}.gl-cursor-text{cursor:text}.gl-select-none{-webkit-user-select:none;user-select:none}.gl-list-none{list-style-type:none}.gl-flex-row{flex-direction:row}.gl-flex-col{flex-direction:column}.gl-flex-wrap{flex-wrap:wrap}.gl-flex-nowrap{flex-wrap:nowrap}.gl-content-center{align-content:center}.gl-items-start{align-items:flex-start}.gl-items-end{align-items:flex-end}.gl-items-center{align-items:center}.gl-items-baseline{align-items:baseline}.\!gl-justify-start{justify-content:flex-start!important}.gl-justify-end{justify-content:flex-end}.gl-justify-center{justify-content:center}.gl-justify-between{justify-content:space-between}.gl-gap-2{gap:var(--gl-spacing-scale-2)}.gl-gap-3{gap:var(--gl-spacing-scale-3)}.gl-gap-5{gap:var(--gl-spacing-scale-5)}.gl-gap-6{gap:var(--gl-spacing-scale-6)}.gl-gap-x-3{column-gap:var(--gl-spacing-scale-3)}.gl-self-start{align-self:flex-start}.gl-self-center{align-self:center}.gl-overflow-auto{overflow:auto}.gl-overflow-hidden{overflow:hidden}.gl-overflow-visible{overflow:visible}.gl-overflow-y-auto{overflow-y:auto}.gl-overflow-x-hidden{overflow-x:hidden}.gl-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!gl-text-ellipsis{text-overflow:ellipsis!important}.gl-text-ellipsis{text-overflow:ellipsis}.gl-whitespace-nowrap{white-space:nowrap}.gl-whitespace-pre-line{white-space:pre-line}.gl-break-words{overflow-wrap:break-word}.\!gl-rounded-control{border-radius:var(--gl-control-border-radius)!important}.\!gl-rounded-lg{border-radius:var(--gl-border-radius-lg)!important}.\!gl-rounded-none{border-radius:var(--gl-border-radius-none)!important}.gl-rounded-action{border-radius:var(--gl-action-border-radius)}.gl-rounded-base{border-radius:.25rem}.gl-rounded-default{border-radius:var(--gl-border-radius-default)}.gl-rounded-full{border-radius:var(--gl-border-radius-full)}.gl-rounded-lg{border-radius:var(--gl-border-radius-lg)}.gl-rounded-t-default{border-top-left-radius:var(--gl-border-radius-default);border-top-right-radius:var(--gl-border-radius-default)}.gl-border{border-width:1px}.gl-border-0{border-width:0}.gl-border-2{border-width:2px}.\!gl-border-b-0{border-bottom-width:0!important}.gl-border-b,.gl-border-b-1{border-bottom-width:1px}.gl-border-t,.gl-border-t-1{border-top-width:1px}.gl-border-t-2{border-top-width:2px}.gl-border-dashed{border-style:dashed}.gl-border-none{border-style:none}.gl-border-default{border-color:var(--gl-border-color-default)}.gl-border-gray-500{border-color:var(--gray-500)}.gl-border-b-dropdown-divider{border-bottom-color:var(--gl-dropdown-divider-color)}.gl-border-t-blue-500{border-top-color:var(--blue-500)}.gl-border-t-dropdown-divider{border-top-color:var(--gl-dropdown-divider-color)}.gl-border-t-red-500{border-top-color:var(--red-500)}.\!gl-bg-data-viz-green-700{background-color:var(--data-viz-green-700)!important}.\!gl-bg-data-viz-magenta-950{background-color:var(--data-viz-magenta-950)!important}.\!gl-bg-red-50{background-color:var(--red-50)!important}.gl-bg-blue-100{background-color:var(--blue-100)}.gl-bg-default{background-color:var(--gl-background-color-default)}.gl-bg-dropdown{background-color:var(--gl-dropdown-background-color)}.gl-bg-feedback-warning{background-color:var(--gl-feedback-warning-background-color)}.gl-bg-gray-50{background-color:var(--gray-50)}.gl-bg-gray-900{background-color:var(--gray-900)}.gl-bg-gray-950{background-color:var(--gray-950)}.gl-bg-green-100{background-color:var(--green-100)}.gl-bg-purple-50{background-color:var(--purple-50)}.gl-bg-red-100{background-color:var(--red-100)}.gl-bg-status-neutral{background-color:var(--gl-status-neutral-background-color)}.gl-bg-strong{background-color:var(--gl-background-color-strong)}.gl-bg-transparent{background-color:transparent}.gl-fill-current{fill:currentColor}.gl-fill-icon-danger{fill:var(--gl-icon-color-danger)}.gl-fill-icon-default{fill:var(--gl-icon-color-default)}.gl-fill-icon-disabled{fill:var(--gl-icon-color-disabled)}.gl-fill-icon-info{fill:var(--gl-icon-color-info)}.gl-fill-icon-link{fill:var(--gl-icon-color-link)}.gl-fill-icon-strong{fill:var(--gl-icon-color-strong)}.gl-fill-icon-subtle{fill:var(--gl-icon-color-subtle)}.gl-fill-icon-success{fill:var(--gl-icon-color-success)}.gl-fill-icon-warning{fill:var(--gl-icon-color-warning)}.\!gl-p-0{padding:var(--gl-spacing-scale-0)!important}.\!gl-p-2{padding:var(--gl-spacing-scale-2)!important}.\!gl-p-4{padding:var(--gl-spacing-scale-4)!important}.gl-p-0{padding:var(--gl-spacing-scale-0)}.gl-p-1{padding:var(--gl-spacing-scale-1)}.gl-p-2{padding:var(--gl-spacing-scale-2)}.gl-p-3{padding:var(--gl-spacing-scale-3)}.gl-p-4{padding:var(--gl-spacing-scale-4)}.gl-p-5{padding:var(--gl-spacing-scale-5)}.gl-p-7{padding:var(--gl-spacing-scale-7)}.\!gl-px-2{padding-left:var(--gl-spacing-scale-2)!important;padding-right:var(--gl-spacing-scale-2)!important}.\!gl-px-3{padding-left:var(--gl-spacing-scale-3)!important;padding-right:var(--gl-spacing-scale-3)!important}.\!gl-py-2{padding-bottom:var(--gl-spacing-scale-2)!important;padding-top:var(--gl-spacing-scale-2)!important}.gl-px-1{padding-left:var(--gl-spacing-scale-1);padding-right:var(--gl-spacing-scale-1)}.gl-px-2{padding-left:var(--gl-spacing-scale-2);padding-right:var(--gl-spacing-scale-2)}.gl-px-3{padding-left:var(--gl-spacing-scale-3);padding-right:var(--gl-spacing-scale-3)}.gl-px-4{padding-left:var(--gl-spacing-scale-4);padding-right:var(--gl-spacing-scale-4)}.gl-px-5{padding-left:var(--gl-spacing-scale-5);padding-right:var(--gl-spacing-scale-5)}.gl-py-1{padding-bottom:var(--gl-spacing-scale-1);padding-top:var(--gl-spacing-scale-1)}.gl-py-2{padding-bottom:var(--gl-spacing-scale-2);padding-top:var(--gl-spacing-scale-2)}.gl-py-3{padding-bottom:var(--gl-spacing-scale-3);padding-top:var(--gl-spacing-scale-3)}.gl-py-4{padding-bottom:var(--gl-spacing-scale-4);padding-top:var(--gl-spacing-scale-4)}.gl-py-5{padding-bottom:var(--gl-spacing-scale-5);padding-top:var(--gl-spacing-scale-5)}.gl-py-6{padding-bottom:var(--gl-spacing-scale-6);padding-top:var(--gl-spacing-scale-6)}.\!gl-pr-7{padding-right:var(--gl-spacing-scale-7)!important}.\!gl-pr-9{padding-right:var(--gl-spacing-scale-9)!important}.\!gl-pt-0{padding-top:var(--gl-spacing-scale-0)!important}.gl-pb-10{padding-bottom:var(--gl-spacing-scale-10)}.gl-pb-2{padding-bottom:var(--gl-spacing-scale-2)}.gl-pb-3{padding-bottom:var(--gl-spacing-scale-3)}.gl-pl-0{padding-left:var(--gl-spacing-scale-0)}.gl-pl-2{padding-left:var(--gl-spacing-scale-2)}.gl-pl-4{padding-left:var(--gl-spacing-scale-4)}.gl-pl-5{padding-left:var(--gl-spacing-scale-5)}.gl-pl-6{padding-left:var(--gl-spacing-scale-6)}.gl-pl-7{padding-left:var(--gl-spacing-scale-7)}.gl-pr-2{padding-right:var(--gl-spacing-scale-2)}.gl-pr-5{padding-right:var(--gl-spacing-scale-5)}.gl-pr-6{padding-right:var(--gl-spacing-scale-6)}.gl-pr-8{padding-right:var(--gl-spacing-scale-8)}.gl-pt-1{padding-top:var(--gl-spacing-scale-1)}.gl-pt-2{padding-top:var(--gl-spacing-scale-2)}.gl-pt-3{padding-top:var(--gl-spacing-scale-3)}.gl-pt-4{padding-top:var(--gl-spacing-scale-4)}.gl-pt-8{padding-top:var(--gl-spacing-scale-8)}.\!gl-text-left{text-align:left!important}.gl-text-center{text-align:center}.gl-text-right{text-align:right}.gl-align-middle{vertical-align:middle}.\!gl-align-text-bottom{vertical-align:text-bottom!important}.gl-font-monospace{font-family:var(--gl-font-family-monospace)}.gl-font-regular{font-family:var(--gl-font-family-regular)}.\!gl-text-sm{font-size:var(--gl-font-size-sm)!important}.gl-text-base{font-size:var(--gl-font-size-base)}.gl-text-size-h-display{font-size:1.75rem}.gl-text-sm{font-size:var(--gl-font-size-sm)}.gl-font-bold{font-weight:var(--gl-font-weight-bold)}.gl-font-heading{font-weight:var(--gl-font-weight-heading)}.gl-font-normal{font-weight:var(--gl-font-weight-normal)}.gl-capitalize{text-transform:capitalize}.gl-leading-0{line-height:0}.gl-leading-1{line-height:1}.gl-leading-36{line-height:var(--gl-line-height-36)}.gl-leading-normal{line-height:1rem}.\!gl-text-red-700{color:var(--red-700)!important}.\!gl-text-subtle{color:var(--gl-text-color-subtle)!important}.\!gl-text-white{color:var(--white)!important}.gl-text-blue-100{color:var(--blue-100)}.gl-text-blue-500{color:var(--blue-500)}.gl-text-danger{color:var(--gl-text-color-danger)}.gl-text-default{color:var(--gl-text-color-default)}.gl-text-gray-500{color:var(--gray-500)}.gl-text-gray-700{color:var(--gray-700)}.gl-text-green-500{color:var(--green-500)}.gl-text-green-600{color:var(--green-600)}.gl-text-heading{color:var(--gl-text-color-heading)}.gl-text-inherit{color:inherit}.gl-text-neutral-0{color:var(--gl-color-neutral-0)}.gl-text-neutral-950{color:var(--gl-color-neutral-950)}.gl-text-orange-500{color:var(--orange-500)}.gl-text-red-500{color:var(--red-500)}.gl-text-strong{color:var(--gl-text-color-strong)}.gl-text-subtle{color:var(--gl-text-color-subtle)}.gl-text-tertiary{color:var(--gl-text-tertiary)}.gl-text-white{color:var(--white)}.\!gl-opacity-0{opacity:var(--gl-opacity-0)!important}.gl-opacity-10{opacity:var(--gl-opacity-10)}.gl-outline-none{outline:2px solid transparent;outline-offset:2px}.gl-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 0 0.5px var(--gl-shadow-color-default,#05050629)) drop-shadow(0 0.5px 1px var(--gl-shadow-color-default,#05050629)) drop-shadow(0 1px 3px var(--gl-shadow-color-default,#05050629));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.gl-transition-all{transition-duration:.2s;transition-property:all;transition-timing-function:ease}.gl-font-monospace{font-family:var(--default-mono-font,"GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-variant-ligatures:none}.gl-border-b-solid{border-bottom-style:solid}.gl-border-t-solid{border-top-style:solid}.gl-focus{box-shadow:0 0 0 1px var(--gl-focus-ring-inner-color),0 0 0 3px var(--gl-focus-ring-outer-color);outline:none}.gl-\@container{container-type:inline-size}.hover\:\!gl-cursor-not-allowed:hover{cursor:not-allowed!important}.hover\:gl-cursor-pointer:hover{cursor:pointer}.focus\:\!gl-focus-inset:focus{box-shadow:inset 0 0 0 2px var(--gl-focus-ring-outer-color),inset 0 0 0 3px var(--gl-focus-ring-inner-color),inset 0 0 0 1px var(--gl-focus-ring-inner-color)!important;outline:none!important}@media (min-width:576px){.\@sm\:gl-block{display:block}.\@sm\:gl-flex-nowrap{flex-wrap:nowrap}.\@sm\:gl-gap-3{gap:var(--gl-spacing-scale-3)}.sm\:\!gl-hidden{display:none!important}}
2
2
  /*# sourceMappingURL=tailwind.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["tailwind.css"],"names":[],"mappings":"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","file":"tailwind.css","sourcesContent":["@tailwind base;\n@tailwind components;\n@tailwind utilities;\n"]}
1
+ {"version":3,"sources":["tailwind.css"],"names":[],"mappings":"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","file":"tailwind.css","sourcesContent":["@tailwind base;\n@tailwind components;\n@tailwind utilities;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "130.1.1",
3
+ "version": "131.0.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -28,6 +28,7 @@
28
28
  "!src/vendor",
29
29
  "src/vendor/bootstrap-vue/src/**/*.{js,scss}",
30
30
  "src/vendor/bootstrap/scss/**/*.scss",
31
+ "!*.figma.{js,ts}",
31
32
  "!*.stories.js",
32
33
  "!*.snap",
33
34
  "!*.spec.{js,scss}"
@@ -38,6 +39,7 @@
38
39
  "copy-fonts": "make copy-fonts",
39
40
  "build-tokens": "make tokens",
40
41
  "sync-tokens": "node --env-file=.figma.env bin/figma_sync_tokens.mjs",
42
+ "figma:connect": "node --env-file=.figma.env node_modules/.bin/figma connect",
41
43
  "clean": "rm -r dist storybook",
42
44
  "cy:edge": "cypress run --browser edge --env grepTags=-@storybook",
43
45
  "cy:run": "cypress run --browser firefox --env grepTags=-@storybook",
@@ -99,6 +101,7 @@
99
101
  "@babel/preset-env": "^7.29.2",
100
102
  "@babel/preset-react": "^7.28.5",
101
103
  "@cypress/grep": "^4.1.1",
104
+ "@figma/code-connect": "^1.4.2",
102
105
  "@gitlab/fonts": "^1.3.1",
103
106
  "@gitlab/svgs": "*",
104
107
  "@jest/test-sequencer": "30.3.0",
@@ -195,6 +195,14 @@ export default {
195
195
  required: false,
196
196
  default: null,
197
197
  },
198
+ /**
199
+ * The `aria-label` attribute value for the toggle `button`.
200
+ */
201
+ ariaLabel: {
202
+ type: String,
203
+ required: false,
204
+ default: null,
205
+ },
198
206
  /**
199
207
  * Custom value to be passed to the offset middleware.
200
208
  * https://floating-ui.com/docs/offset
@@ -302,6 +310,7 @@ export default {
302
310
  'aria-expanded': String(this.visible),
303
311
  'aria-haspopup': this.ariaHaspopup,
304
312
  'aria-labelledby': this.toggleLabelledBy,
313
+ 'aria-label': this.ariaLabel || undefined,
305
314
  'aria-activedescendant': this.ariaActiveDescendant,
306
315
  };
307
316
  },
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { clamp, uniqueId } from 'lodash-es';
3
- import { stopEvent, filterVisible } from '../../../../utils/utils';
3
+ import { stopEvent, filterVisible, logWarning } from '../../../../utils/utils';
4
4
  import {
5
5
  GL_DROPDOWN_SHOWN,
6
6
  GL_DROPDOWN_HIDDEN,
@@ -163,6 +163,17 @@ export default {
163
163
  required: false,
164
164
  default: null,
165
165
  },
166
+ /**
167
+ * The `aria-label` attribute value for the toggle button.
168
+ * Use when there is no visible label element to reference with `toggleAriaLabelledBy`.
169
+ * Do not provide both `toggleAriaLabel` and `toggleAriaLabelledBy`.
170
+ * When both are present, `toggleAriaLabelledBy` takes precedence per the WAI-ARIA spec.
171
+ */
172
+ toggleAriaLabel: {
173
+ type: String,
174
+ required: false,
175
+ default: null,
176
+ },
166
177
  /**
167
178
  * The `aria-labelledby` attribute value for the list of options
168
179
  * Provide the string of ids seperated by space
@@ -251,6 +262,16 @@ export default {
251
262
  },
252
263
  },
253
264
  mounted() {
265
+ if (this.toggleAriaLabel && this.toggleAriaLabelledBy) {
266
+ logWarning(
267
+ 'Do not provide both `toggleAriaLabel` and `toggleAriaLabelledBy`. ' +
268
+ 'When both are present, `toggleAriaLabelledBy` takes precedence and `toggleAriaLabel` is ignored. ' +
269
+ 'See https://design.gitlab.com/components/dropdown-disclosure/#accessibility',
270
+ {
271
+ name: 'GlDisclosureDropdown',
272
+ },
273
+ );
274
+ }
254
275
  if (this.startOpened) {
255
276
  this.open();
256
277
  }
@@ -374,6 +395,7 @@ export default {
374
395
  <gl-base-dropdown
375
396
  ref="baseDropdown"
376
397
  :aria-labelledby="toggleAriaLabelledBy"
398
+ :aria-label="toggleAriaLabelledBy ? undefined : toggleAriaLabel"
377
399
  :arrow-element="$refs.disclosureArrow"
378
400
  :toggle-id="toggleId"
379
401
  :toggle-text="toggleText"
@@ -0,0 +1,66 @@
1
+ /* eslint-disable import/no-default-export */
2
+ import Vue from 'vue';
3
+ import { createNewChildComponent } from '../../../vendor/bootstrap-vue/src/utils/create-new-child-component';
4
+ import GlToaster from './toaster.vue';
5
+
6
+ let toastsCount = 0;
7
+ let toasterInstance = null;
8
+
9
+ function ensureToaster(vm) {
10
+ if (toasterInstance) {
11
+ const portalTarget = document.getElementById('gl-toaster');
12
+ if (portalTarget && document.body.contains(portalTarget)) {
13
+ return toasterInstance;
14
+ }
15
+ toasterInstance.$destroy();
16
+ toasterInstance = null;
17
+ }
18
+
19
+ const ToasterComponent = Vue.extend(GlToaster);
20
+ toasterInstance = createNewChildComponent(vm, ToasterComponent);
21
+ toasterInstance.$mount(document.createElement('div'));
22
+
23
+ return toasterInstance;
24
+ }
25
+
26
+ function showToast(message, options = {}) {
27
+ const toaster = ensureToaster(this);
28
+
29
+ // eslint-disable-next-line @gitlab/tailwind-no-interpolation -- Not a CSS utility
30
+ const id = `gl-toast-${toastsCount}`;
31
+ toastsCount += 1;
32
+
33
+ const hide = () => toaster.hideToast(id);
34
+ const toast = { id, hide };
35
+
36
+ const autoHideDelay = !Number.isNaN(options?.autoHideDelay) ? options.autoHideDelay : undefined;
37
+
38
+ toaster.addToast({
39
+ id,
40
+ message,
41
+ action: options.action || null,
42
+ autoHideDelay,
43
+ onComplete: options.onComplete || null,
44
+ });
45
+
46
+ return toast;
47
+ }
48
+
49
+ /**
50
+ * Note: This is not a typical Vue component and needs to be registered before instantiating a Vue app.
51
+ * Once registered, the toast will be globally available throughout your app.
52
+ *
53
+ * See https://design.gitlab.com/storybook for detailed documentation.
54
+ */
55
+ export default {
56
+ install(V) {
57
+ V.mixin({
58
+ beforeCreate() {
59
+ if (this.$toast) {
60
+ return;
61
+ }
62
+ this.$toast = { show: showToast.bind(this) };
63
+ },
64
+ });
65
+ },
66
+ };
@@ -1,10 +1,25 @@
1
1
  /*
2
- * These styles are specific to the gl-toast component.
3
- * Documentation: https://design.gitlab.com/components/toast
4
- */
2
+ * These styles are specific to the gl-toast component.
3
+ * Documentation: https://design.gitlab.com/components/toast
4
+ */
5
5
  .b-toaster {
6
+ z-index: 1100;
7
+
6
8
  &.b-toaster-bottom-left {
9
+ position: fixed;
10
+ left: 0;
11
+ right: 0;
12
+ bottom: 0;
13
+ margin: 0;
14
+ padding: 0;
15
+ height: 0;
16
+ overflow: visible;
17
+
7
18
  .b-toaster-slot {
19
+ position: absolute;
20
+ max-width: $toast-max-width;
21
+ padding: 0;
22
+ margin: 0;
8
23
  @apply gl-w-auto;
9
24
  @apply gl-flex;
10
25
  @apply gl-flex-col;
@@ -16,13 +31,14 @@
16
31
 
17
32
  // Fallback for Firefox
18
33
  // Fixes a bug where the view transition
19
- // doesnt work properly
34
+ // doesn't work properly
20
35
  @supports (-moz-appearance: none) {
21
36
  view-transition-name: unset;
22
37
  }
23
38
 
24
39
  @include media-breakpoint-down(xs) {
25
40
  @apply gl-w-full;
41
+ @apply gl-px-3;
26
42
  left: 0;
27
43
  right: 0;
28
44
  }
@@ -30,15 +46,20 @@
30
46
  }
31
47
 
32
48
  .b-toast {
49
+ display: block;
50
+ position: relative;
51
+ max-width: $toast-max-width;
52
+
33
53
  // Fallback for Firefox
34
54
  // Fixes a bug where the view transition
35
- // doesnt work properly
55
+ // doesn't work properly
36
56
  @supports (-moz-appearance: none) {
37
57
  transition: all $gl-transition-duration-medium $gl-easing-out-cubic;
38
58
  }
39
59
  }
40
60
 
41
61
  .gl-toast {
62
+ opacity: 1;
42
63
  @apply gl-text-base;
43
64
  @apply gl-py-5;
44
65
  @apply gl-px-6;
@@ -50,9 +71,14 @@
50
71
  @apply gl-rounded-feedback;
51
72
  background-color: var(--gl-feedback-strong-background-color);
52
73
  color: var(--gl-feedback-strong-text-color);
74
+
75
+ &.fade:not(.show) {
76
+ opacity: 0;
77
+ }
53
78
  }
54
79
 
55
80
  .toast-body {
81
+ display: block;
56
82
  @apply gl-font-300;
57
83
  @apply gl-pr-3;
58
84
  order: 1;
@@ -0,0 +1,131 @@
1
+ <script>
2
+ import CloseButton from '../../shared_components/close_button/close_button.vue';
3
+
4
+ const MIN_DURATION = 1000;
5
+ const DEFAULT_AUTO_HIDE_DELAY = 5000;
6
+ const hasAnimateSupport = typeof Element !== 'undefined' && Boolean(Element.prototype.animate);
7
+
8
+ export default {
9
+ name: 'GlToast',
10
+ components: {
11
+ CloseButton,
12
+ },
13
+ props: {
14
+ toastId: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ message: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ action: {
23
+ type: Object,
24
+ required: false,
25
+ default: null,
26
+ },
27
+ autoHideDelay: {
28
+ type: Number,
29
+ required: false,
30
+ default: DEFAULT_AUTO_HIDE_DELAY,
31
+ },
32
+ },
33
+ data() {
34
+ return {
35
+ visible: true,
36
+ };
37
+ },
38
+ computed: {
39
+ effectiveDelay() {
40
+ return Math.max(this.autoHideDelay, MIN_DURATION);
41
+ },
42
+ },
43
+ created() {
44
+ this.useCssTransition = hasAnimateSupport;
45
+ this.dismissTimer = null;
46
+ this.deadline = 0;
47
+ this.timeRemaining = this.effectiveDelay;
48
+ this.isHiding = false;
49
+ },
50
+ beforeDestroy() {
51
+ clearTimeout(this.dismissTimer);
52
+ },
53
+ methods: {
54
+ startDismissTimer() {
55
+ clearTimeout(this.dismissTimer);
56
+ this.deadline = Date.now() + this.timeRemaining;
57
+ this.dismissTimer = setTimeout(() => this.hide(), this.timeRemaining);
58
+ },
59
+ onPause() {
60
+ if (!this.dismissTimer) return;
61
+ clearTimeout(this.dismissTimer);
62
+ this.dismissTimer = null;
63
+ this.timeRemaining = Math.max(this.deadline - Date.now(), MIN_DURATION);
64
+ },
65
+ onResume() {
66
+ if (!this.timeRemaining || this.dismissTimer) return;
67
+ this.startDismissTimer();
68
+ },
69
+ hide() {
70
+ if (this.isHiding) return;
71
+ this.isHiding = true;
72
+ clearTimeout(this.dismissTimer);
73
+ this.dismissTimer = null;
74
+ this.visible = false;
75
+ },
76
+ onAfterLeave() {
77
+ this.$emit('hidden', this.toastId);
78
+ },
79
+ onActionClick(e) {
80
+ if (this.action && this.action.onClick) {
81
+ this.action.onClick(e, { id: this.toastId, hide: () => this.hide() });
82
+ }
83
+ },
84
+ },
85
+ };
86
+ </script>
87
+
88
+ <template>
89
+ <div
90
+ :id="`${toastId}_toast_outer`"
91
+ class="b-toast b-toast-append"
92
+ role="status"
93
+ aria-live="polite"
94
+ aria-atomic="true"
95
+ >
96
+ <transition
97
+ enter-active-class="fade"
98
+ enter-to-class="show"
99
+ leave-class="show"
100
+ leave-active-class="fade"
101
+ appear
102
+ appear-active-class="fade"
103
+ appear-to-class="show"
104
+ :css="useCssTransition"
105
+ @after-appear="startDismissTimer"
106
+ @after-leave="onAfterLeave"
107
+ >
108
+ <div
109
+ v-if="visible"
110
+ :id="toastId"
111
+ class="toast gl-toast"
112
+ tabindex="0"
113
+ @mouseenter="onPause"
114
+ @mouseleave="onResume"
115
+ >
116
+ <div class="toast-body">{{ message }}</div>
117
+ <header class="toast-header">
118
+ <a
119
+ v-if="action"
120
+ :role="action.href ? undefined : 'button'"
121
+ :href="action.href"
122
+ class="gl-toast-action"
123
+ @click="onActionClick"
124
+ >{{ action.text }}</a
125
+ >
126
+ <close-button class="gl-toast-close-button" @click="hide" />
127
+ </header>
128
+ </div>
129
+ </transition>
130
+ </div>
131
+ </template>
@@ -0,0 +1,70 @@
1
+ <script>
2
+ import { MountingPortal } from 'portal-vue';
3
+ import GlToast from './toast.vue';
4
+
5
+ const hasViewTransitions =
6
+ typeof document !== 'undefined' && typeof document.startViewTransition === 'function';
7
+
8
+ export default {
9
+ name: 'GlToaster',
10
+ components: {
11
+ MountingPortal,
12
+ GlToast,
13
+ },
14
+ expose: ['addToast', 'hideToast', 'removeToast'],
15
+ data() {
16
+ return {
17
+ toasts: [],
18
+ };
19
+ },
20
+ methods: {
21
+ addToast(config) {
22
+ const add = () => this.toasts.push(config);
23
+
24
+ if (hasViewTransitions && this.toasts.length > 0) {
25
+ document.startViewTransition(add);
26
+ } else {
27
+ add();
28
+ }
29
+ },
30
+ hideToast(id) {
31
+ const refs = this.$refs.toastRefs;
32
+ if (!refs) return;
33
+ const toastComponents = Array.isArray(refs) ? refs : [refs];
34
+ const component = toastComponents.find((c) => c.toastId === id);
35
+ if (component) {
36
+ component.hide();
37
+ }
38
+ },
39
+ removeToast(id) {
40
+ const idx = this.toasts.findIndex((t) => t.id === id);
41
+ if (idx !== -1) {
42
+ const toast = this.toasts[idx];
43
+ this.toasts.splice(idx, 1);
44
+ if (toast.onComplete) {
45
+ toast.onComplete({ componentId: id });
46
+ }
47
+ }
48
+ },
49
+ },
50
+ };
51
+ </script>
52
+
53
+ <template>
54
+ <mounting-portal mount-to="body" append>
55
+ <div id="gl-toaster" class="b-toaster b-toaster-bottom-left">
56
+ <div class="b-toaster-slot">
57
+ <gl-toast
58
+ v-for="toast in toasts"
59
+ ref="toastRefs"
60
+ :key="toast.id"
61
+ :toast-id="toast.id"
62
+ :message="toast.message"
63
+ :action="toast.action"
64
+ :auto-hide-delay="toast.autoHideDelay"
65
+ @hidden="removeToast"
66
+ />
67
+ </div>
68
+ </div>
69
+ </mounting-portal>
70
+ </template>
@@ -4,6 +4,7 @@ import GlBadge from '../../base/badge/badge.vue';
4
4
  import GlIcon from '../../base/icon/icon.vue';
5
5
  import GlAnimatedNumber from '../../utilities/animated_number/animated_number.vue';
6
6
  import { formatNumberToLocale } from '../../../utils/number_utils';
7
+ import { GlTooltipDirective } from '../../../directives/tooltip/tooltip';
7
8
 
8
9
  export default {
9
10
  name: 'GlSingleStat',
@@ -12,6 +13,9 @@ export default {
12
13
  GlBadge,
13
14
  GlAnimatedNumber,
14
15
  },
16
+ directives: {
17
+ GlTooltip: GlTooltipDirective,
18
+ },
15
19
  props: {
16
20
  title: {
17
21
  type: String,
@@ -63,6 +67,14 @@ export default {
63
67
  required: false,
64
68
  default: null,
65
69
  },
70
+ /**
71
+ * Tooltip text for the meta badge. When provided, the badge is wrapped in a button to ensure keyboard accessibility.
72
+ */
73
+ metaTooltip: {
74
+ type: String,
75
+ required: false,
76
+ default: '',
77
+ },
66
78
  shouldAnimate: {
67
79
  type: Boolean,
68
80
  required: false,
@@ -155,9 +167,25 @@ export default {
155
167
  :name="metaIcon"
156
168
  data-testid="meta-icon"
157
169
  />
158
- <gl-badge v-if="showBadge" :variant="variant" :icon="metaIcon" data-testid="meta-badge">{{
159
- metaText
160
- }}</gl-badge>
170
+ <button
171
+ v-if="showBadge && metaTooltip"
172
+ v-gl-tooltip.viewport
173
+ type="button"
174
+ class="!gl-cursor-default gl-border-0 gl-bg-transparent gl-p-0 gl-leading-0"
175
+ :title="metaTooltip"
176
+ data-testid="meta-badge-button"
177
+ >
178
+ <gl-badge :variant="variant" :icon="metaIcon" data-testid="meta-badge">{{
179
+ metaText
180
+ }}</gl-badge>
181
+ </button>
182
+ <gl-badge
183
+ v-else-if="showBadge"
184
+ :variant="variant"
185
+ :icon="metaIcon"
186
+ data-testid="meta-badge"
187
+ >{{ metaText }}</gl-badge
188
+ >
161
189
  </div>
162
190
  </div>
163
191
  </template>
@@ -33,7 +33,7 @@ export { default as GlBadge } from './base/badge/badge.vue';
33
33
  export { default as GlBanner } from './base/banner/banner.vue';
34
34
  export { default as GlButton } from './base/button/button.vue';
35
35
  export { default as GlTooltip } from './base/tooltip/tooltip.vue';
36
- export { default as GlToast } from './base/toast/toast';
36
+ export { default as GlToast } from './base/toast';
37
37
  export { default as GlDashboardSkeleton } from './regions/dashboard_skeleton/dashboard_skeleton.vue';
38
38
  export { default as GlEmptyState } from './regions/empty_state/empty_state.vue';
39
39
  export { default as GlForm } from './base/form/form.vue';
@@ -10,5 +10,4 @@ $bv-enable-popover-variants: false;
10
10
  @import "../vendor/bootstrap-vue/src/components/modal/index.scss";
11
11
  @import "../vendor/bootstrap-vue/src/components/popover/index.scss";
12
12
  @import "../vendor/bootstrap-vue/src/components/table/index.scss";
13
- @import "../vendor/bootstrap-vue/src/components/toast/index.scss";
14
13
  @import "../vendor/bootstrap-vue/src/components/tooltip/index.scss";