@gitlab/ui 122.12.0 → 122.13.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.
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-scale-500{color:var(--gl-text-color-heading);font-size:clamp(1.125rem,.9027777778rem + .462962963vw,1.25rem);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-top:0}.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,0)}.\!gl-z-9999{z-index:9999!important}.gl-z-9999{z-index:9999}.gl-float-right{float:right}.\!gl-m-0{margin:var(--gl-spacing-scale-0,0)!important}.gl-m-0{margin:var(--gl-spacing-scale-0,0)}.gl-m-7{margin:var(--gl-spacing-scale-7,2rem)}.gl-m-auto{margin:auto}.\!gl-mx-2{margin-left:var(--gl-spacing-scale-2,.25rem)!important;margin-right:var(--gl-spacing-scale-2,.25rem)!important}.-gl-mx-1{margin-left:calc(var(--gl-spacing-scale-1, .125rem)*-1);margin-right:calc(var(--gl-spacing-scale-1, .125rem)*-1)}.-gl-mx-3{margin-left:calc(var(--gl-spacing-scale-3, .5rem)*-1);margin-right:calc(var(--gl-spacing-scale-3, .5rem)*-1)}.-gl-mx-4{margin-left:calc(var(--gl-spacing-scale-4, .75rem)*-1);margin-right:calc(var(--gl-spacing-scale-4, .75rem)*-1)}.-gl-my-1{margin-bottom:calc(var(--gl-spacing-scale-1, .125rem)*-1);margin-top:calc(var(--gl-spacing-scale-1, .125rem)*-1)}.-gl-my-3{margin-bottom:calc(var(--gl-spacing-scale-3, .5rem)*-1);margin-top:calc(var(--gl-spacing-scale-3, .5rem)*-1)}.gl-mx-2{margin-left:var(--gl-spacing-scale-2,.25rem);margin-right:var(--gl-spacing-scale-2,.25rem)}.gl-mx-4{margin-left:var(--gl-spacing-scale-4,.75rem);margin-right:var(--gl-spacing-scale-4,.75rem)}.gl-mx-auto{margin-left:auto;margin-right:auto}.gl-my-0{margin-bottom:var(--gl-spacing-scale-0,0);margin-top:var(--gl-spacing-scale-0,0)}.gl-my-3{margin-bottom:var(--gl-spacing-scale-3,.5rem);margin-top:var(--gl-spacing-scale-3,.5rem)}.gl-my-4{margin-bottom:var(--gl-spacing-scale-4,.75rem);margin-top:var(--gl-spacing-scale-4,.75rem)}.\!gl-mb-4{margin-bottom:var(--gl-spacing-scale-4,.75rem)!important}.\!gl-mt-2{margin-top:var(--gl-spacing-scale-2,.25rem)!important}.-gl-ml-2{margin-left:calc(var(--gl-spacing-scale-2, .25rem)*-1)}.-gl-mr-3{margin-right:calc(var(--gl-spacing-scale-3, .5rem)*-1)}.-gl-mt-2{margin-top:calc(var(--gl-spacing-scale-2, .25rem)*-1)}.gl-mb-0{margin-bottom:var(--gl-spacing-scale-0,0)}.gl-mb-2{margin-bottom:var(--gl-spacing-scale-2,.25rem)}.gl-mb-3{margin-bottom:var(--gl-spacing-scale-3,.5rem)}.gl-mb-4{margin-bottom:var(--gl-spacing-scale-4,.75rem)}.gl-mb-5{margin-bottom:var(--gl-spacing-scale-5,1rem)}.gl-mb-8{margin-bottom:var(--gl-spacing-scale-8,2.5rem)}.gl-ml-1{margin-left:var(--gl-spacing-scale-1,.125rem)}.gl-ml-2{margin-left:var(--gl-spacing-scale-2,.25rem)}.gl-ml-3{margin-left:var(--gl-spacing-scale-3,.5rem)}.gl-ml-5{margin-left:var(--gl-spacing-scale-5,1rem)}.gl-mr-2{margin-right:var(--gl-spacing-scale-2,.25rem)}.gl-mr-3{margin-right:var(--gl-spacing-scale-3,.5rem)}.gl-mr-4{margin-right:var(--gl-spacing-scale-4,.75rem)}.gl-mr-auto{margin-right:auto}.gl-mt-0{margin-top:var(--gl-spacing-scale-0,0)}.gl-mt-2{margin-top:var(--gl-spacing-scale-2,.25rem)}.gl-mt-3{margin-top:var(--gl-spacing-scale-3,.5rem)}.gl-mt-4{margin-top:var(--gl-spacing-scale-4,.75rem)}.gl-mt-5{margin-top:var(--gl-spacing-scale-5,1rem)}.gl-mt-6{margin-top:var(--gl-spacing-scale-6,1.5rem)}.\!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!important}.gl-hidden{display:none}.gl-h-0{height:var(--gl-spacing-scale-0,0)}.gl-h-11{height:var(--gl-spacing-scale-11,4rem)}.gl-h-4{height:var(--gl-spacing-scale-4,.75rem)}.gl-h-62{height:var(--gl-spacing-scale-62,31rem)}.gl-h-\[768px\]{height:768px}.gl-h-auto{height:auto}.gl-h-full{height:100%}.gl-min-h-8{min-height:var(--gl-spacing-scale-8,2.5rem)}.\!gl-w-31{width:var(--gl-spacing-scale-31,15.5rem)!important}.\!gl-w-auto{width:auto!important}.gl-w-20{width:var(--gl-spacing-scale-20,10rem)}.gl-w-3\/4{width:75%}.gl-w-30{width:var(--gl-spacing-scale-30,15rem)}.gl-w-4\/10{width:40%}.gl-w-5{width:var(--gl-spacing-scale-5,1rem)}.gl-w-auto{width:auto}.gl-w-full{width:100%}.gl-min-w-0{min-width:var(--gl-spacing-scale-0,0)}.gl-min-w-5{min-width:var(--gl-spacing-scale-5,1rem)}.\!gl-max-w-20{max-width:var(--gl-spacing-scale-20,10rem)!important}.\!gl-max-w-26{max-width:var(--gl-spacing-scale-26,13rem)!important}.\!gl-max-w-30{max-width:var(--gl-spacing-scale-30,15rem)!important}.gl-max-w-1\/2{max-width:50%}.gl-max-w-48{max-width:var(--gl-spacing-scale-48,24rem)}.gl-max-w-75{max-width:var(--gl-spacing-scale-75,37.5rem)}.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-grow{flex-grow:1}.gl-basis-0{flex-basis:var(--gl-spacing-scale-0,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,.25rem)}.gl-gap-3{gap:var(--gl-spacing-scale-3,.5rem)}.gl-gap-5{gap:var(--gl-spacing-scale-5,1rem)}.gl-gap-6{gap:var(--gl-spacing-scale-6,1.5rem)}.gl-gap-x-3{column-gap:var(--gl-spacing-scale-3,.5rem)}.gl-self-start{align-self:flex-start}.gl-self-center{align-self:center}.gl-overflow-hidden{overflow:hidden}.\!gl-overflow-visible{overflow:visible!important}.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,var(--gl-border-radius-default,.25rem))!important}.\!gl-rounded-default{border-radius:var(--gl-border-radius-default,var(--gl-border-radius-md,.25rem))!important}.\!gl-rounded-lg{border-radius:var(--gl-border-radius-lg,var(--gl-spacing-scale-3,.5rem))!important}.\!gl-rounded-none{border-radius:var(--gl-border-radius-none,var(--gl-spacing-scale-0,0))!important}.gl-rounded-base{border-radius:.25rem}.gl-rounded-default{border-radius:var(--gl-border-radius-default,var(--gl-border-radius-md,.25rem))}.gl-rounded-full{border-radius:var(--gl-border-radius-full,9999px)}.gl-rounded-lg{border-radius:var(--gl-border-radius-lg,var(--gl-spacing-scale-3,.5rem))}.gl-rounded-t-default{border-top-left-radius:var(--gl-border-radius-default,var(--gl-border-radius-md,.25rem));border-top-right-radius:var(--gl-border-radius-default,var(--gl-border-radius-md,.25rem))}.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,var(--gl-color-neutral-100,#dcdcde))}.gl-border-dropdown{border-color:var(--gl-dropdown-border-color,var(--gl-border-color-strong,#bfbfc3))}.gl-border-gray-500{border-color:var(--gray-500,#737278)}.gl-border-b-dropdown-divider{border-bottom-color:var(--gl-dropdown-divider-color,var(--gl-border-color-default,#dcdcde))}.gl-border-t-blue-500{border-top-color:var(--blue-500,#1f75cb)}.gl-border-t-dropdown-divider{border-top-color:var(--gl-dropdown-divider-color,var(--gl-border-color-default,#dcdcde))}.gl-border-t-red-500{border-top-color:var(--red-500,#dd2b0e)}.\!gl-bg-data-viz-green-700{background-color:var(--data-viz-green-700,#366800)!important}.\!gl-bg-data-viz-magenta-950{background-color:var(--data-viz-magenta-950,#541d31)!important}.\!gl-bg-red-50{background-color:var(--red-50,#fcf1ef)!important}.gl-bg-blue-100{background-color:var(--blue-100,#cbe2f9)}.gl-bg-default{background-color:var(--gl-background-color-default,var(--gl-color-neutral-0,#fff))}.gl-bg-dropdown{background-color:var(--gl-dropdown-background-color,var(--gl-background-color-overlap,#fff))}.gl-bg-feedback-warning{background-color:var(--gl-feedback-warning-background-color,var(--gl-color-orange-50,#fdf1dd))}.gl-bg-gray-50{background-color:var(--gray-50,#ececef)}.gl-bg-gray-900{background-color:var(--gray-900,#28272d)}.gl-bg-gray-950{background-color:var(--gray-950,#18171d)}.gl-bg-green-100{background-color:var(--green-100,#c3e6cd)}.gl-bg-purple-50{background-color:var(--purple-50,#f4f0ff)}.gl-bg-red-100{background-color:var(--red-100,#fdd4cd)}.gl-bg-status-neutral{background-color:var(--gl-status-neutral-background-color,var(--gl-color-neutral-100,#dcdcde))}.gl-bg-strong{background-color:var(--gl-background-color-strong,var(--gl-color-neutral-50,#ececef))}.gl-bg-transparent{background-color:transparent}.gl-bg-white{background-color:var(--white,#fff)}.gl-fill-current{fill:currentColor}.gl-fill-icon-danger{fill:var(--gl-icon-color-danger,var(--gl-text-color-danger,#c02f12))}.gl-fill-icon-default{fill:var(--gl-icon-color-default,var(--gl-text-color-default,#3a383f))}.gl-fill-icon-disabled{fill:var(--gl-icon-color-disabled,var(--gl-text-color-disabled,#89888d))}.gl-fill-icon-info{fill:var(--gl-icon-color-info,var(--gl-color-blue-700,#2f5ca0))}.gl-fill-icon-link{fill:var(--gl-icon-color-link,var(--gl-text-color-link,#2f5ca0))}.gl-fill-icon-strong{fill:var(--gl-icon-color-strong,var(--gl-text-color-strong,#18171d))}.gl-fill-icon-subtle{fill:var(--gl-icon-color-subtle,var(--gl-text-color-subtle,#626168))}.gl-fill-icon-success{fill:var(--gl-icon-color-success,var(--gl-text-color-success,#2f7549))}.gl-fill-icon-warning{fill:var(--gl-icon-color-warning,var(--gl-text-color-warning,#995715))}.\!gl-p-0{padding:var(--gl-spacing-scale-0,0)!important}.\!gl-p-2{padding:var(--gl-spacing-scale-2,.25rem)!important}.\!gl-p-4{padding:var(--gl-spacing-scale-4,.75rem)!important}.gl-p-0{padding:var(--gl-spacing-scale-0,0)}.gl-p-1{padding:var(--gl-spacing-scale-1,.125rem)}.gl-p-2{padding:var(--gl-spacing-scale-2,.25rem)}.gl-p-3{padding:var(--gl-spacing-scale-3,.5rem)}.gl-p-4{padding:var(--gl-spacing-scale-4,.75rem)}.gl-p-5{padding:var(--gl-spacing-scale-5,1rem)}.gl-p-7{padding:var(--gl-spacing-scale-7,2rem)}.\!gl-px-2{padding-left:var(--gl-spacing-scale-2,.25rem)!important;padding-right:var(--gl-spacing-scale-2,.25rem)!important}.\!gl-px-3{padding-left:var(--gl-spacing-scale-3,.5rem)!important;padding-right:var(--gl-spacing-scale-3,.5rem)!important}.\!gl-py-2{padding-bottom:var(--gl-spacing-scale-2,.25rem)!important;padding-top:var(--gl-spacing-scale-2,.25rem)!important}.gl-px-1{padding-left:var(--gl-spacing-scale-1,.125rem);padding-right:var(--gl-spacing-scale-1,.125rem)}.gl-px-2{padding-left:var(--gl-spacing-scale-2,.25rem);padding-right:var(--gl-spacing-scale-2,.25rem)}.gl-px-3{padding-left:var(--gl-spacing-scale-3,.5rem);padding-right:var(--gl-spacing-scale-3,.5rem)}.gl-px-4{padding-left:var(--gl-spacing-scale-4,.75rem);padding-right:var(--gl-spacing-scale-4,.75rem)}.gl-px-5{padding-left:var(--gl-spacing-scale-5,1rem);padding-right:var(--gl-spacing-scale-5,1rem)}.gl-py-2{padding-bottom:var(--gl-spacing-scale-2,.25rem);padding-top:var(--gl-spacing-scale-2,.25rem)}.gl-py-3{padding-bottom:var(--gl-spacing-scale-3,.5rem);padding-top:var(--gl-spacing-scale-3,.5rem)}.gl-py-4{padding-bottom:var(--gl-spacing-scale-4,.75rem);padding-top:var(--gl-spacing-scale-4,.75rem)}.gl-py-5{padding-bottom:var(--gl-spacing-scale-5,1rem);padding-top:var(--gl-spacing-scale-5,1rem)}.gl-py-6{padding-bottom:var(--gl-spacing-scale-6,1.5rem);padding-top:var(--gl-spacing-scale-6,1.5rem)}.\!gl-pr-7{padding-right:var(--gl-spacing-scale-7,2rem)!important}.\!gl-pr-9{padding-right:var(--gl-spacing-scale-9,3rem)!important}.\!gl-pt-0{padding-top:var(--gl-spacing-scale-0,0)!important}.gl-pb-10{padding-bottom:var(--gl-spacing-scale-10,3.5rem)}.gl-pb-2{padding-bottom:var(--gl-spacing-scale-2,.25rem)}.gl-pb-3{padding-bottom:var(--gl-spacing-scale-3,.5rem)}.gl-pl-0{padding-left:var(--gl-spacing-scale-0,0)}.gl-pl-2{padding-left:var(--gl-spacing-scale-2,.25rem)}.gl-pl-4{padding-left:var(--gl-spacing-scale-4,.75rem)}.gl-pl-5{padding-left:var(--gl-spacing-scale-5,1rem)}.gl-pl-6{padding-left:var(--gl-spacing-scale-6,1.5rem)}.gl-pl-7{padding-left:var(--gl-spacing-scale-7,2rem)}.gl-pr-2{padding-right:var(--gl-spacing-scale-2,.25rem)}.gl-pr-5{padding-right:var(--gl-spacing-scale-5,1rem)}.gl-pr-6{padding-right:var(--gl-spacing-scale-6,1.5rem)}.gl-pr-8{padding-right:var(--gl-spacing-scale-8,2.5rem)}.gl-pt-1{padding-top:var(--gl-spacing-scale-1,.125rem)}.gl-pt-2{padding-top:var(--gl-spacing-scale-2,.25rem)}.gl-pt-3{padding-top:var(--gl-spacing-scale-3,.5rem)}.gl-pt-4{padding-top:var(--gl-spacing-scale-4,.75rem)}.\!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-regular{font-family:var(--default-regular-font,"GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\!gl-text-sm{font-size:.75rem!important}.gl-text-base{font-size:.875rem}.gl-text-size-h-display{font-size:1.75rem}.gl-text-sm{font-size:.75rem}.gl-font-bold{font-weight:600}.gl-font-normal{font-weight:400}.gl-capitalize{text-transform:capitalize}.gl-leading-1{line-height:1}.gl-leading-36{line-height:2.25rem}.gl-leading-normal{line-height:1rem}.\!gl-text-red-700{color:var(--red-700,#a32c12)!important}.\!gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))!important}.\!gl-text-white{color:var(--white,#fff)!important}.gl-text-blue-100{color:var(--blue-100,#cbe2f9)}.gl-text-blue-500{color:var(--blue-500,#1f75cb)}.gl-text-danger{color:var(--gl-text-color-danger,var(--gl-color-red-600,#c02f12))}.gl-text-default{color:var(--gl-text-color-default,var(--gl-color-neutral-800,#3a383f))}.gl-text-gray-500{color:var(--gray-500,#737278)}.gl-text-gray-700{color:var(--gray-700,#4c4b51)}.gl-text-gray-900{color:var(--gray-900,#28272d)}.gl-text-green-500{color:var(--green-500,#108548)}.gl-text-green-600{color:var(--green-600,#2f7549)}.gl-text-inherit{color:inherit}.gl-text-neutral-0{color:var(--gl-color-neutral-0,#fff)}.gl-text-neutral-950{color:var(--gl-color-neutral-950,#18171d)}.gl-text-orange-500{color:var(--orange-500,#ab6100)}.gl-text-red-500{color:var(--red-500,#dd2b0e)}.gl-text-secondary{color:var(--gl-text-secondary,#737278)}.gl-text-strong{color:var(--gl-text-color-strong,var(--gl-color-neutral-950,#18171d))}.gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))}.gl-text-tertiary{color:var(--gl-text-tertiary,#89888d)}.gl-text-white{color:var(--white,#fff)}.\!gl-opacity-0{opacity:var(--gl-opacity-0,0)!important}.gl-opacity-10{opacity:var(--gl-opacity-10,1)}.gl-outline-none{outline:2px solid transparent;outline-offset:2px}.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}.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,.5rem)}.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-scale-500{color:var(--gl-text-color-heading);font-size:clamp(1.125rem,.9027777778rem + .462962963vw,1.25rem);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-top:0}.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,0)}.\!gl-z-9999{z-index:9999!important}.gl-z-9999{z-index:9999}.gl-float-right{float:right}.\!gl-m-0{margin:var(--gl-spacing-scale-0,0)!important}.gl-m-0{margin:var(--gl-spacing-scale-0,0)}.gl-m-7{margin:var(--gl-spacing-scale-7,2rem)}.gl-m-auto{margin:auto}.\!gl-mx-2{margin-left:var(--gl-spacing-scale-2,.25rem)!important;margin-right:var(--gl-spacing-scale-2,.25rem)!important}.-gl-mx-1{margin-left:calc(var(--gl-spacing-scale-1, .125rem)*-1);margin-right:calc(var(--gl-spacing-scale-1, .125rem)*-1)}.-gl-mx-3{margin-left:calc(var(--gl-spacing-scale-3, .5rem)*-1);margin-right:calc(var(--gl-spacing-scale-3, .5rem)*-1)}.-gl-mx-4{margin-left:calc(var(--gl-spacing-scale-4, .75rem)*-1);margin-right:calc(var(--gl-spacing-scale-4, .75rem)*-1)}.-gl-my-1{margin-bottom:calc(var(--gl-spacing-scale-1, .125rem)*-1);margin-top:calc(var(--gl-spacing-scale-1, .125rem)*-1)}.-gl-my-3{margin-bottom:calc(var(--gl-spacing-scale-3, .5rem)*-1);margin-top:calc(var(--gl-spacing-scale-3, .5rem)*-1)}.gl-mx-2{margin-left:var(--gl-spacing-scale-2,.25rem);margin-right:var(--gl-spacing-scale-2,.25rem)}.gl-mx-4{margin-left:var(--gl-spacing-scale-4,.75rem);margin-right:var(--gl-spacing-scale-4,.75rem)}.gl-mx-auto{margin-left:auto;margin-right:auto}.gl-my-0{margin-bottom:var(--gl-spacing-scale-0,0);margin-top:var(--gl-spacing-scale-0,0)}.gl-my-3{margin-bottom:var(--gl-spacing-scale-3,.5rem);margin-top:var(--gl-spacing-scale-3,.5rem)}.gl-my-4{margin-bottom:var(--gl-spacing-scale-4,.75rem);margin-top:var(--gl-spacing-scale-4,.75rem)}.\!gl-mb-4{margin-bottom:var(--gl-spacing-scale-4,.75rem)!important}.\!gl-mt-2{margin-top:var(--gl-spacing-scale-2,.25rem)!important}.-gl-ml-2{margin-left:calc(var(--gl-spacing-scale-2, .25rem)*-1)}.-gl-mr-3{margin-right:calc(var(--gl-spacing-scale-3, .5rem)*-1)}.-gl-mt-2{margin-top:calc(var(--gl-spacing-scale-2, .25rem)*-1)}.gl-mb-0{margin-bottom:var(--gl-spacing-scale-0,0)}.gl-mb-2{margin-bottom:var(--gl-spacing-scale-2,.25rem)}.gl-mb-3{margin-bottom:var(--gl-spacing-scale-3,.5rem)}.gl-mb-4{margin-bottom:var(--gl-spacing-scale-4,.75rem)}.gl-mb-5{margin-bottom:var(--gl-spacing-scale-5,1rem)}.gl-mb-8{margin-bottom:var(--gl-spacing-scale-8,2.5rem)}.gl-ml-1{margin-left:var(--gl-spacing-scale-1,.125rem)}.gl-ml-2{margin-left:var(--gl-spacing-scale-2,.25rem)}.gl-ml-3{margin-left:var(--gl-spacing-scale-3,.5rem)}.gl-ml-5{margin-left:var(--gl-spacing-scale-5,1rem)}.gl-mr-2{margin-right:var(--gl-spacing-scale-2,.25rem)}.gl-mr-3{margin-right:var(--gl-spacing-scale-3,.5rem)}.gl-mr-4{margin-right:var(--gl-spacing-scale-4,.75rem)}.gl-mr-auto{margin-right:auto}.gl-mt-0{margin-top:var(--gl-spacing-scale-0,0)}.gl-mt-2{margin-top:var(--gl-spacing-scale-2,.25rem)}.gl-mt-3{margin-top:var(--gl-spacing-scale-3,.5rem)}.gl-mt-4{margin-top:var(--gl-spacing-scale-4,.75rem)}.gl-mt-5{margin-top:var(--gl-spacing-scale-5,1rem)}.gl-mt-6{margin-top:var(--gl-spacing-scale-6,1.5rem)}.\!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!important}.gl-hidden{display:none}.gl-h-0{height:var(--gl-spacing-scale-0,0)}.gl-h-11{height:var(--gl-spacing-scale-11,4rem)}.gl-h-4{height:var(--gl-spacing-scale-4,.75rem)}.gl-h-62{height:var(--gl-spacing-scale-62,31rem)}.gl-h-\[768px\]{height:768px}.gl-h-auto{height:auto}.gl-h-full{height:100%}.gl-min-h-8{min-height:var(--gl-spacing-scale-8,2.5rem)}.\!gl-w-31{width:var(--gl-spacing-scale-31,15.5rem)!important}.\!gl-w-auto{width:auto!important}.gl-w-20{width:var(--gl-spacing-scale-20,10rem)}.gl-w-3\/4{width:75%}.gl-w-30{width:var(--gl-spacing-scale-30,15rem)}.gl-w-4\/10{width:40%}.gl-w-5{width:var(--gl-spacing-scale-5,1rem)}.gl-w-auto{width:auto}.gl-w-full{width:100%}.gl-min-w-0{min-width:var(--gl-spacing-scale-0,0)}.gl-min-w-5{min-width:var(--gl-spacing-scale-5,1rem)}.\!gl-max-w-20{max-width:var(--gl-spacing-scale-20,10rem)!important}.\!gl-max-w-26{max-width:var(--gl-spacing-scale-26,13rem)!important}.\!gl-max-w-30{max-width:var(--gl-spacing-scale-30,15rem)!important}.gl-max-w-1\/2{max-width:50%}.gl-max-w-48{max-width:var(--gl-spacing-scale-48,24rem)}.gl-max-w-75{max-width:var(--gl-spacing-scale-75,37.5rem)}.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-grow{flex-grow:1}.gl-basis-0{flex-basis:var(--gl-spacing-scale-0,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,.25rem)}.gl-gap-3{gap:var(--gl-spacing-scale-3,.5rem)}.gl-gap-5{gap:var(--gl-spacing-scale-5,1rem)}.gl-gap-6{gap:var(--gl-spacing-scale-6,1.5rem)}.gl-gap-x-3{column-gap:var(--gl-spacing-scale-3,.5rem)}.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!important}.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,var(--gl-border-radius-default,.25rem))!important}.\!gl-rounded-default{border-radius:var(--gl-border-radius-default,var(--gl-border-radius-md,.25rem))!important}.\!gl-rounded-lg{border-radius:var(--gl-border-radius-lg,var(--gl-spacing-scale-3,.5rem))!important}.\!gl-rounded-none{border-radius:var(--gl-border-radius-none,var(--gl-spacing-scale-0,0))!important}.gl-rounded-base{border-radius:.25rem}.gl-rounded-default{border-radius:var(--gl-border-radius-default,var(--gl-border-radius-md,.25rem))}.gl-rounded-full{border-radius:var(--gl-border-radius-full,9999px)}.gl-rounded-lg{border-radius:var(--gl-border-radius-lg,var(--gl-spacing-scale-3,.5rem))}.gl-rounded-t-default{border-top-left-radius:var(--gl-border-radius-default,var(--gl-border-radius-md,.25rem));border-top-right-radius:var(--gl-border-radius-default,var(--gl-border-radius-md,.25rem))}.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,var(--gl-color-neutral-100,#dcdcde))}.gl-border-dropdown{border-color:var(--gl-dropdown-border-color,var(--gl-border-color-strong,#bfbfc3))}.gl-border-gray-500{border-color:var(--gray-500,#737278)}.gl-border-b-dropdown-divider{border-bottom-color:var(--gl-dropdown-divider-color,var(--gl-border-color-default,#dcdcde))}.gl-border-t-blue-500{border-top-color:var(--blue-500,#1f75cb)}.gl-border-t-dropdown-divider{border-top-color:var(--gl-dropdown-divider-color,var(--gl-border-color-default,#dcdcde))}.gl-border-t-red-500{border-top-color:var(--red-500,#dd2b0e)}.\!gl-bg-data-viz-green-700{background-color:var(--data-viz-green-700,#366800)!important}.\!gl-bg-data-viz-magenta-950{background-color:var(--data-viz-magenta-950,#541d31)!important}.\!gl-bg-red-50{background-color:var(--red-50,#fcf1ef)!important}.gl-bg-blue-100{background-color:var(--blue-100,#cbe2f9)}.gl-bg-default{background-color:var(--gl-background-color-default,var(--gl-color-neutral-0,#fff))}.gl-bg-dropdown{background-color:var(--gl-dropdown-background-color,var(--gl-background-color-overlap,#fff))}.gl-bg-feedback-warning{background-color:var(--gl-feedback-warning-background-color,var(--gl-color-orange-50,#fdf1dd))}.gl-bg-gray-50{background-color:var(--gray-50,#ececef)}.gl-bg-gray-900{background-color:var(--gray-900,#28272d)}.gl-bg-gray-950{background-color:var(--gray-950,#18171d)}.gl-bg-green-100{background-color:var(--green-100,#c3e6cd)}.gl-bg-purple-50{background-color:var(--purple-50,#f4f0ff)}.gl-bg-red-100{background-color:var(--red-100,#fdd4cd)}.gl-bg-status-neutral{background-color:var(--gl-status-neutral-background-color,var(--gl-color-neutral-100,#dcdcde))}.gl-bg-strong{background-color:var(--gl-background-color-strong,var(--gl-color-neutral-50,#ececef))}.gl-bg-transparent{background-color:transparent}.gl-bg-white{background-color:var(--white,#fff)}.gl-fill-current{fill:currentColor}.gl-fill-icon-danger{fill:var(--gl-icon-color-danger,var(--gl-text-color-danger,#c02f12))}.gl-fill-icon-default{fill:var(--gl-icon-color-default,var(--gl-text-color-default,#3a383f))}.gl-fill-icon-disabled{fill:var(--gl-icon-color-disabled,var(--gl-text-color-disabled,#89888d))}.gl-fill-icon-info{fill:var(--gl-icon-color-info,var(--gl-color-blue-700,#2f5ca0))}.gl-fill-icon-link{fill:var(--gl-icon-color-link,var(--gl-text-color-link,#2f5ca0))}.gl-fill-icon-strong{fill:var(--gl-icon-color-strong,var(--gl-text-color-strong,#18171d))}.gl-fill-icon-subtle{fill:var(--gl-icon-color-subtle,var(--gl-text-color-subtle,#626168))}.gl-fill-icon-success{fill:var(--gl-icon-color-success,var(--gl-text-color-success,#2f7549))}.gl-fill-icon-warning{fill:var(--gl-icon-color-warning,var(--gl-text-color-warning,#995715))}.\!gl-p-0{padding:var(--gl-spacing-scale-0,0)!important}.\!gl-p-2{padding:var(--gl-spacing-scale-2,.25rem)!important}.\!gl-p-4{padding:var(--gl-spacing-scale-4,.75rem)!important}.gl-p-0{padding:var(--gl-spacing-scale-0,0)}.gl-p-1{padding:var(--gl-spacing-scale-1,.125rem)}.gl-p-2{padding:var(--gl-spacing-scale-2,.25rem)}.gl-p-3{padding:var(--gl-spacing-scale-3,.5rem)}.gl-p-4{padding:var(--gl-spacing-scale-4,.75rem)}.gl-p-5{padding:var(--gl-spacing-scale-5,1rem)}.gl-p-7{padding:var(--gl-spacing-scale-7,2rem)}.\!gl-px-2{padding-left:var(--gl-spacing-scale-2,.25rem)!important;padding-right:var(--gl-spacing-scale-2,.25rem)!important}.\!gl-px-3{padding-left:var(--gl-spacing-scale-3,.5rem)!important;padding-right:var(--gl-spacing-scale-3,.5rem)!important}.\!gl-py-2{padding-bottom:var(--gl-spacing-scale-2,.25rem)!important;padding-top:var(--gl-spacing-scale-2,.25rem)!important}.gl-px-1{padding-left:var(--gl-spacing-scale-1,.125rem);padding-right:var(--gl-spacing-scale-1,.125rem)}.gl-px-2{padding-left:var(--gl-spacing-scale-2,.25rem);padding-right:var(--gl-spacing-scale-2,.25rem)}.gl-px-3{padding-left:var(--gl-spacing-scale-3,.5rem);padding-right:var(--gl-spacing-scale-3,.5rem)}.gl-px-4{padding-left:var(--gl-spacing-scale-4,.75rem);padding-right:var(--gl-spacing-scale-4,.75rem)}.gl-px-5{padding-left:var(--gl-spacing-scale-5,1rem);padding-right:var(--gl-spacing-scale-5,1rem)}.gl-py-2{padding-bottom:var(--gl-spacing-scale-2,.25rem);padding-top:var(--gl-spacing-scale-2,.25rem)}.gl-py-3{padding-bottom:var(--gl-spacing-scale-3,.5rem);padding-top:var(--gl-spacing-scale-3,.5rem)}.gl-py-4{padding-bottom:var(--gl-spacing-scale-4,.75rem);padding-top:var(--gl-spacing-scale-4,.75rem)}.gl-py-5{padding-bottom:var(--gl-spacing-scale-5,1rem);padding-top:var(--gl-spacing-scale-5,1rem)}.gl-py-6{padding-bottom:var(--gl-spacing-scale-6,1.5rem);padding-top:var(--gl-spacing-scale-6,1.5rem)}.\!gl-pr-7{padding-right:var(--gl-spacing-scale-7,2rem)!important}.\!gl-pr-9{padding-right:var(--gl-spacing-scale-9,3rem)!important}.\!gl-pt-0{padding-top:var(--gl-spacing-scale-0,0)!important}.gl-pb-10{padding-bottom:var(--gl-spacing-scale-10,3.5rem)}.gl-pb-2{padding-bottom:var(--gl-spacing-scale-2,.25rem)}.gl-pb-3{padding-bottom:var(--gl-spacing-scale-3,.5rem)}.gl-pl-0{padding-left:var(--gl-spacing-scale-0,0)}.gl-pl-2{padding-left:var(--gl-spacing-scale-2,.25rem)}.gl-pl-4{padding-left:var(--gl-spacing-scale-4,.75rem)}.gl-pl-5{padding-left:var(--gl-spacing-scale-5,1rem)}.gl-pl-6{padding-left:var(--gl-spacing-scale-6,1.5rem)}.gl-pl-7{padding-left:var(--gl-spacing-scale-7,2rem)}.gl-pr-2{padding-right:var(--gl-spacing-scale-2,.25rem)}.gl-pr-5{padding-right:var(--gl-spacing-scale-5,1rem)}.gl-pr-6{padding-right:var(--gl-spacing-scale-6,1.5rem)}.gl-pr-8{padding-right:var(--gl-spacing-scale-8,2.5rem)}.gl-pt-1{padding-top:var(--gl-spacing-scale-1,.125rem)}.gl-pt-2{padding-top:var(--gl-spacing-scale-2,.25rem)}.gl-pt-3{padding-top:var(--gl-spacing-scale-3,.5rem)}.gl-pt-4{padding-top:var(--gl-spacing-scale-4,.75rem)}.\!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-regular{font-family:var(--default-regular-font,"GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\!gl-text-sm{font-size:.75rem!important}.gl-text-base{font-size:.875rem}.gl-text-size-h-display{font-size:1.75rem}.gl-text-sm{font-size:.75rem}.gl-font-bold{font-weight:600}.gl-font-normal{font-weight:400}.gl-capitalize{text-transform:capitalize}.gl-leading-1{line-height:1}.gl-leading-36{line-height:2.25rem}.gl-leading-normal{line-height:1rem}.\!gl-text-red-700{color:var(--red-700,#a32c12)!important}.\!gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))!important}.\!gl-text-white{color:var(--white,#fff)!important}.gl-text-blue-100{color:var(--blue-100,#cbe2f9)}.gl-text-blue-500{color:var(--blue-500,#1f75cb)}.gl-text-danger{color:var(--gl-text-color-danger,var(--gl-color-red-600,#c02f12))}.gl-text-default{color:var(--gl-text-color-default,var(--gl-color-neutral-800,#3a383f))}.gl-text-gray-500{color:var(--gray-500,#737278)}.gl-text-gray-700{color:var(--gray-700,#4c4b51)}.gl-text-gray-900{color:var(--gray-900,#28272d)}.gl-text-green-500{color:var(--green-500,#108548)}.gl-text-green-600{color:var(--green-600,#2f7549)}.gl-text-inherit{color:inherit}.gl-text-neutral-0{color:var(--gl-color-neutral-0,#fff)}.gl-text-neutral-950{color:var(--gl-color-neutral-950,#18171d)}.gl-text-orange-500{color:var(--orange-500,#ab6100)}.gl-text-red-500{color:var(--red-500,#dd2b0e)}.gl-text-secondary{color:var(--gl-text-secondary,#737278)}.gl-text-strong{color:var(--gl-text-color-strong,var(--gl-color-neutral-950,#18171d))}.gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))}.gl-text-tertiary{color:var(--gl-text-tertiary,#89888d)}.gl-text-white{color:var(--white,#fff)}.\!gl-opacity-0{opacity:var(--gl-opacity-0,0)!important}.gl-opacity-10{opacity:var(--gl-opacity-10,1)}.gl-outline-none{outline:2px solid transparent;outline-offset:2px}.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-\@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,.5rem)}.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":"AAAA,iBAAA,uBAAc,CAAd,uBAAc,CAAd,kBAAc,CAAd,kBAAc,CAAd,aAAc,CAAd,aAAc,CAAd,aAAc,CAAd,cAAc,CAAd,cAAc,CAAd,YAAc,CAAd,YAAc,CAAd,iBAAc,CAAd,qCAAc,CAAd,6BAAc,CAAd,4BAAc,CAAd,2BAAc,CAAd,cAAc,CAAd,mBAAc,CAAd,qBAAc,CAAd,sBAAc,CAAd,uBAAc,CAAd,iCAAc,CAAd,0BAAc,CAAd,qBAAc,CAAd,6BAAc,CAAd,WAAc,CAAd,iBAAc,CAAd,eAAc,CAAd,gBAAc,CAAd,iBAAc,CAAd,aAAc,CAAd,eAAc,CAAd,YAAc,CAAd,kBAAc,CAAd,oBAAc,CAAd,0BAAc,CAAd,wBAAc,CAAd,yBAAc,CAAd,0BAAc,CAAd,sBAAc,CAAd,uBAAc,CAAd,wBAAc,CAAd,qBAAc,CAAd,mBAAc,CAAd,qBAAc,CAAd,oBAAc,CAAd,oBAAc,CAAd,WAAA,uBAAc,CAAd,uBAAc,CAAd,kBAAc,CAAd,kBAAc,CAAd,aAAc,CAAd,aAAc,CAAd,aAAc,CAAd,cAAc,CAAd,cAAc,CAAd,YAAc,CAAd,YAAc,CAAd,iBAAc,CAAd,qCAAc,CAAd,6BAAc,CAAd,4BAAc,CAAd,2BAAc,CAAd,cAAc,CAAd,mBAAc,CAAd,qBAAc,CAAd,sBAAc,CAAd,uBAAc,CAAd,iCAAc,CAAd,0BAAc,CAAd,qBAAc,CAAd,6BAAc,CAAd,WAAc,CAAd,iBAAc,CAAd,eAAc,CAAd,gBAAc,CAAd,iBAAc,CAAd,aAAc,CAAd,eAAc,CAAd,YAAc,CAAd,kBAAc,CAAd,oBAAc,CAAd,0BAAc,CAAd,wBAAc,CAAd,yBAAc,CAAd,0BAAc,CAAd,sBAAc,CAAd,uBAAc,CAAd,wBAAc,CAAd,qBAAc,CAAd,mBAAc,CAAd,qBAAc,CAAd,oBAAc,CAAd,oBAAc,CACd,4BAAA,2DAAoB,CAApB,8NAAoB,CAApB,4BAAoB,CAApB,2BAAoB,CAApB,0BAAoB,CAApB,eAAoB,CAApB,eAAoB,CAApB,8CAAA,4BAAA,kDAAoB,CAApB,uBAAoB,CAApB,2BAAoB,CAAA,CAApB,wCAAA,GAAA,4BAAoB,CAApB,GAAA,2BAAoB,CAAA,CAApB,WAAA,2CAAA,CAAA,kBAAoB,CAApB,aAAA,+CAAA,CAAA,sBAAoB,CAApB,aAAA,kDAAA,CAAA,yBAAoB,CAApB,sBAAA,kCAAA,CAAA,+DAAoB,CAApB,eAAoB,CAApB,sBAAoB,CAApB,gBAAoB,CAApB,YAAoB,CACpB,YAAA,kBAAmB,CAAnB,cAAA,CAAA,UAAmB,CAAnB,WAAmB,CAAnB,eAAmB,CAAnB,SAAmB,CAAnB,iBAAmB,CAAnB,kBAAmB,CAAnB,SAAmB,CAAnB,wBAAA,mBAAmB,CAAnB,cAAA,iBAAmB,CAAnB,aAAA,mBAAmB,CAAnB,WAAA,eAAmB,CAAnB,UAAA,cAAmB,CAAnB,eAAA,2BAAmB,CAAnB,aAAA,iBAAmB,CAAnB,aAAA,iBAAmB,CAAnB,WAAA,eAAmB,CAAnB,UAAA,+BAAmB,CAAnB,aAAA,sBAAmB,CAAnB,WAAA,YAAmB,CAAnB,gBAAA,WAAmB,CAAnB,UAAA,4CAAmB,CAAnB,QAAA,kCAAmB,CAAnB,QAAA,qCAAmB,CAAnB,WAAA,WAAmB,CAAnB,WAAA,sDAAmB,CAAnB,uDAAmB,CAAnB,UAAA,uDAAmB,CAAnB,wDAAmB,CAAnB,UAAA,qDAAmB,CAAnB,sDAAmB,CAAnB,UAAA,sDAAmB,CAAnB,uDAAmB,CAAnB,UAAA,yDAAA,CAAA,sDAAmB,CAAnB,UAAA,uDAAA,CAAA,oDAAmB,CAAnB,SAAA,4CAAmB,CAAnB,6CAAmB,CAAnB,SAAA,4CAAmB,CAAnB,6CAAmB,CAAnB,YAAA,gBAAmB,CAAnB,iBAAmB,CAAnB,SAAA,yCAAA,CAAA,sCAAmB,CAAnB,SAAA,6CAAA,CAAA,0CAAmB,CAAnB,SAAA,8CAAA,CAAA,2CAAmB,CAAnB,WAAA,wDAAmB,CAAnB,WAAA,qDAAmB,CAAnB,UAAA,sDAAmB,CAAnB,UAAA,sDAAmB,CAAnB,UAAA,qDAAmB,CAAnB,SAAA,yCAAmB,CAAnB,SAAA,8CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,SAAA,8CAAmB,CAAnB,SAAA,4CAAmB,CAAnB,SAAA,8CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,SAAA,4CAAmB,CAAnB,SAAA,2CAAmB,CAAnB,SAAA,0CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,SAAA,4CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,YAAA,iBAAmB,CAAnB,SAAA,sCAAmB,CAAnB,SAAA,2CAAmB,CAAnB,SAAA,0CAAmB,CAAnB,SAAA,2CAAmB,CAAnB,SAAA,yCAAmB,CAAnB,SAAA,2CAAmB,CAAnB,YAAA,uBAAmB,CAAnB,UAAA,aAAmB,CAAnB,iBAAA,oBAAmB,CAAnB,WAAA,sBAAmB,CAAnB,SAAA,YAAmB,CAAnB,gBAAA,mBAAmB,CAAnB,UAAA,aAAmB,CAAnB,aAAA,sBAAmB,CAAnB,WAAA,YAAmB,CAAnB,QAAA,kCAAmB,CAAnB,SAAA,sCAAmB,CAAnB,QAAA,uCAAmB,CAAnB,SAAA,uCAAmB,CAAnB,gBAAA,YAAmB,CAAnB,WAAA,WAAmB,CAAnB,WAAA,WAAmB,CAAnB,YAAA,2CAAmB,CAAnB,WAAA,kDAAmB,CAAnB,aAAA,oBAAmB,CAAnB,SAAA,sCAAmB,CAAnB,WAAA,SAAmB,CAAnB,SAAA,sCAAmB,CAAnB,YAAA,SAAmB,CAAnB,QAAA,oCAAmB,CAAnB,WAAA,UAAmB,CAAnB,WAAA,UAAmB,CAAnB,YAAA,qCAAmB,CAAnB,YAAA,wCAAmB,CAAnB,eAAA,oDAAmB,CAAnB,eAAA,oDAAmB,CAAnB,eAAA,oDAAmB,CAAnB,eAAA,aAAmB,CAAnB,aAAA,0CAAmB,CAAnB,aAAA,4CAAmB,CAAnB,eAAA,cAAmB,CAAnB,aAAA,eAAmB,CAAnB,cAAA,aAAmB,CAAnB,+BAAA,aAAmB,CAAnB,SAAA,WAAmB,CAAnB,YAAA,sCAAmB,CAAnB,sBAAA,yBAAmB,CAAnB,yBAAA,4BAAmB,CAAnB,kBAAA,qBAAmB,CAAnB,mBAAA,cAAmB,CAAnB,gBAAA,WAAmB,CAAnB,mBAAA,cAAmB,CAAnB,gBAAA,WAAmB,CAAnB,gBAAA,wBAAmB,CAAnB,gBAAmB,CAAnB,cAAA,oBAAmB,CAAnB,aAAA,kBAAmB,CAAnB,aAAA,qBAAmB,CAAnB,cAAA,cAAmB,CAAnB,gBAAA,gBAAmB,CAAnB,mBAAA,oBAAmB,CAAnB,gBAAA,sBAAmB,CAAnB,cAAA,oBAAmB,CAAnB,iBAAA,kBAAmB,CAAnB,mBAAA,oBAAmB,CAAnB,oBAAA,oCAAmB,CAAnB,gBAAA,wBAAmB,CAAnB,mBAAA,sBAAmB,CAAnB,oBAAA,6BAAmB,CAAnB,UAAA,oCAAmB,CAAnB,UAAA,mCAAmB,CAAnB,UAAA,kCAAmB,CAAnB,UAAA,oCAAmB,CAAnB,YAAA,0CAAmB,CAAnB,eAAA,qBAAmB,CAAnB,gBAAA,iBAAmB,CAAnB,kBAAA,aAAmB,CAAnB,oBAAA,eAAmB,CAAnB,uBAAA,0BAAmB,CAAnB,qBAAA,gBAAmB,CAAnB,oBAAA,eAAmB,CAAnB,sBAAA,iBAAmB,CAAnB,aAAA,eAAmB,CAAnB,sBAAmB,CAAnB,kBAAmB,CAAnB,oBAAA,gCAAmB,CAAnB,kBAAA,sBAAmB,CAAnB,sBAAA,kBAAmB,CAAnB,wBAAA,oBAAmB,CAAnB,gBAAA,wBAAmB,CAAnB,sBAAA,8FAAmB,CAAnB,sBAAA,yFAAmB,CAAnB,iBAAA,kFAAmB,CAAnB,mBAAA,gFAAmB,CAAnB,iBAAA,oBAAmB,CAAnB,oBAAA,+EAAmB,CAAnB,iBAAA,iDAAmB,CAAnB,eAAA,wEAAmB,CAAnB,sBAAA,wFAAmB,CAAnB,yFAAmB,CAAnB,WAAA,gBAAmB,CAAnB,aAAA,gBAAmB,CAAnB,iBAAA,+BAAmB,CAAnB,4BAAA,uBAAmB,CAAnB,4BAAA,oBAAmB,CAAnB,eAAA,oBAAmB,CAAnB,kBAAA,mBAAmB,CAAnB,gBAAA,iBAAmB,CAAnB,mBAAA,+EAAmB,CAAnB,oBAAA,kFAAmB,CAAnB,oBAAA,oCAAmB,CAAnB,8BAAA,2FAAmB,CAAnB,sBAAA,wCAAmB,CAAnB,8BAAA,wFAAmB,CAAnB,qBAAA,uCAAmB,CAAnB,4BAAA,4DAAmB,CAAnB,8BAAA,8DAAmB,CAAnB,gBAAA,gDAAmB,CAAnB,gBAAA,wCAAmB,CAAnB,eAAA,kFAAmB,CAAnB,gBAAA,4FAAmB,CAAnB,wBAAA,8FAAmB,CAAnB,eAAA,uCAAmB,CAAnB,gBAAA,wCAAmB,CAAnB,gBAAA,wCAAmB,CAAnB,iBAAA,yCAAmB,CAAnB,iBAAA,yCAAmB,CAAnB,eAAA,uCAAmB,CAAnB,sBAAA,8FAAmB,CAAnB,cAAA,qFAAmB,CAAnB,mBAAA,4BAAmB,CAAnB,aAAA,kCAAmB,CAAnB,iBAAA,iBAAmB,CAAnB,qBAAA,oEAAmB,CAAnB,sBAAA,sEAAmB,CAAnB,uBAAA,wEAAmB,CAAnB,mBAAA,+DAAmB,CAAnB,mBAAA,gEAAmB,CAAnB,qBAAA,oEAAmB,CAAnB,qBAAA,oEAAmB,CAAnB,sBAAA,sEAAmB,CAAnB,sBAAA,sEAAmB,CAAnB,UAAA,6CAAmB,CAAnB,UAAA,kDAAmB,CAAnB,UAAA,kDAAmB,CAAnB,QAAA,mCAAmB,CAAnB,QAAA,yCAAmB,CAAnB,QAAA,wCAAmB,CAAnB,QAAA,uCAAmB,CAAnB,QAAA,wCAAmB,CAAnB,QAAA,sCAAmB,CAAnB,QAAA,sCAAmB,CAAnB,WAAA,uDAAmB,CAAnB,wDAAmB,CAAnB,WAAA,sDAAmB,CAAnB,uDAAmB,CAAnB,WAAA,yDAAA,CAAA,sDAAmB,CAAnB,SAAA,8CAAmB,CAAnB,+CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,8CAAmB,CAAnB,SAAA,4CAAmB,CAAnB,6CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,8CAAmB,CAAnB,SAAA,2CAAmB,CAAnB,4CAAmB,CAAnB,SAAA,+CAAA,CAAA,4CAAmB,CAAnB,SAAA,8CAAA,CAAA,2CAAmB,CAAnB,SAAA,+CAAA,CAAA,4CAAmB,CAAnB,SAAA,6CAAA,CAAA,0CAAmB,CAAnB,SAAA,+CAAA,CAAA,4CAAmB,CAAnB,WAAA,sDAAmB,CAAnB,WAAA,sDAAmB,CAAnB,WAAA,iDAAmB,CAAnB,UAAA,gDAAmB,CAAnB,SAAA,+CAAmB,CAAnB,SAAA,8CAAmB,CAAnB,SAAA,wCAAmB,CAAnB,SAAA,6CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,SAAA,2CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,SAAA,2CAAmB,CAAnB,SAAA,8CAAmB,CAAnB,SAAA,4CAAmB,CAAnB,SAAA,8CAAmB,CAAnB,SAAA,8CAAmB,CAAnB,SAAA,6CAAmB,CAAnB,SAAA,4CAAmB,CAAnB,SAAA,2CAAmB,CAAnB,SAAA,4CAAmB,CAAnB,gBAAA,yBAAmB,CAAnB,gBAAA,iBAAmB,CAAnB,eAAA,gBAAmB,CAAnB,iBAAA,qBAAmB,CAAnB,wBAAA,oCAAmB,CAAnB,iBAAA,2OAAmB,CAAnB,cAAA,0BAAmB,CAAnB,cAAA,iBAAmB,CAAnB,wBAAA,iBAAmB,CAAnB,YAAA,gBAAmB,CAAnB,cAAA,eAAmB,CAAnB,gBAAA,eAAmB,CAAnB,eAAA,yBAAmB,CAAnB,cAAA,aAAmB,CAAnB,eAAA,mBAAmB,CAAnB,mBAAA,gBAAmB,CAAnB,mBAAA,sCAAmB,CAAnB,kBAAA,+EAAmB,CAAnB,iBAAA,iCAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,gBAAA,iEAAmB,CAAnB,iBAAA,sEAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,mBAAA,8BAAmB,CAAnB,mBAAA,8BAAmB,CAAnB,iBAAA,aAAmB,CAAnB,mBAAA,oCAAmB,CAAnB,qBAAA,yCAAmB,CAAnB,oBAAA,+BAAmB,CAAnB,iBAAA,4BAAmB,CAAnB,mBAAA,sCAAmB,CAAnB,gBAAA,qEAAmB,CAAnB,gBAAA,qEAAmB,CAAnB,kBAAA,qCAAmB,CAAnB,eAAA,uBAAmB,CAAnB,gBAAA,uCAAmB,CAAnB,eAAA,8BAAmB,CAAnB,iBAAA,6BAAmB,CAAnB,kBAAmB,CAAnB,mBAAA,uBAAA,CAAA,uBAAmB,CAAnB,+BAAmB,CAAnB,mBAAA,gMAAmB,CAAnB,2BAAmB,CAAnB,mBAAA,yBAAmB,CAAnB,mBAAA,sBAAmB,CAAnB,gBAAA,0BAAmB,CAFnB,sCAAA,4BAGA,CAHA,gCAAA,cAGA,CAHA,+BAAA,uKAGA,CAHA,sBAGA,CAHA,yBAAA,gBAAA,aAGA,CAHA,sBAAA,gBAGA,CAHA,gBAAA,mCAGA,CAHA,iBAAA,sBAGA,CAAA","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": "122.12.0",
3
+ "version": "122.13.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -10,7 +10,7 @@
10
10
  @apply gl-text-strong;
11
11
 
12
12
  > .label-description {
13
- @apply gl-mt-3;
13
+ @apply gl-mt-2;
14
14
  @apply gl-text-subtle;
15
15
  }
16
16
  }
@@ -38,14 +38,19 @@ import {
38
38
  import { OutsideDirective } from '../../../../directives/outside/outside';
39
39
  import GlButton from '../../button/button.vue';
40
40
  import GlIcon from '../../icon/icon.vue';
41
+ import DropdownContainer from './dropdown_container';
41
42
  import { ARROW_X_MINIMUM, DEFAULT_OFFSET, FIXED_WIDTH_CLASS } from './constants';
42
43
 
43
- export const BASE_DROPDOWN_CLASS = 'gl-new-dropdown';
44
+ const BASE_DROPDOWN_CLASS = 'gl-new-dropdown';
45
+ const DROPDOWN_CONTAINER_CLASS = 'gl-new-dropdown-container';
44
46
 
45
47
  export default {
46
48
  name: 'BaseDropdown',
49
+ expose: ['open', 'close', 'closeAndFocus', 'containsElement'],
47
50
  BASE_DROPDOWN_CLASS,
51
+ DROPDOWN_CONTAINER_CLASS,
48
52
  components: {
53
+ DropdownContainer,
49
54
  GlButton,
50
55
  GlIcon,
51
56
  },
@@ -477,8 +482,22 @@ export default {
477
482
  if (!this.visible) {
478
483
  return;
479
484
  }
485
+
480
486
  this.toggle(event);
481
487
  },
488
+ clickedToggle(event) {
489
+ return (
490
+ this.$refs.toggle.contains?.(event.target) ||
491
+ this.$refs.toggle.$el?.contains?.(event.target)
492
+ );
493
+ },
494
+ handleClickOutside(event) {
495
+ // Ignore "click outside" events if the toggle was clicked
496
+ if (this.clickedToggle(event)) {
497
+ return;
498
+ }
499
+ this.close(event);
500
+ },
482
501
  /**
483
502
  * Closes the dropdown and returns the focus to the toggle unless it has has moved outside
484
503
  * of the dropdown, meaning that the consumer needed to put some other element in focus.
@@ -549,15 +568,25 @@ export default {
549
568
  this.nonScrollableContentHeight =
550
569
  floatingElementBoundingBox.height - scrollableAreaBoundingBox.height;
551
570
  },
571
+ /**
572
+ * Public method which returns `true` if the given element is in the DOM tree of this component,
573
+ * and `false` otherwise.
574
+ *
575
+ * Useful for checking whether an event was dispatched against something in this dropdown,
576
+ * e.g., pressing <kbd>Esc</kbd>.
577
+ */
578
+ containsElement(element) {
579
+ return (
580
+ element.closest(`.${BASE_DROPDOWN_CLASS}`) === this.$el ||
581
+ element.closest(`.${DROPDOWN_CONTAINER_CLASS}`) === this.$refs.dropdownContainer
582
+ );
583
+ },
552
584
  },
553
585
  };
554
586
  </script>
555
587
 
556
588
  <template>
557
- <div
558
- v-outside.click.focusin="close"
559
- :class="[$options.BASE_DROPDOWN_CLASS, { '!gl-block': block }]"
560
- >
589
+ <div :class="[$options.BASE_DROPDOWN_CLASS, { '!gl-block': block }]">
561
590
  <component
562
591
  :is="toggleComponent"
563
592
  v-bind="toggleAttributes"
@@ -579,18 +608,26 @@ export default {
579
608
  </slot>
580
609
  </component>
581
610
 
582
- <div
583
- :id="baseDropdownId"
584
- ref="content"
585
- data-testid="base-dropdown-menu"
586
- class="gl-new-dropdown-panel"
587
- :class="panelClasses"
588
- @keydown.esc.stop.prevent="closeAndFocus"
589
- >
590
- <div ref="dropdownArrow" class="gl-new-dropdown-arrow"></div>
591
- <div class="gl-new-dropdown-inner">
592
- <slot :visible="visible"></slot>
611
+ <dropdown-container :positioning-strategy="positioningStrategy">
612
+ <div
613
+ ref="dropdownContainer"
614
+ v-outside.click.focusin="handleClickOutside"
615
+ :class="$options.DROPDOWN_CONTAINER_CLASS"
616
+ >
617
+ <div
618
+ :id="baseDropdownId"
619
+ ref="content"
620
+ data-testid="base-dropdown-menu"
621
+ class="gl-new-dropdown-panel"
622
+ :class="panelClasses"
623
+ @keydown.esc.stop.prevent="closeAndFocus"
624
+ >
625
+ <div ref="dropdownArrow" class="gl-new-dropdown-arrow"></div>
626
+ <div class="gl-new-dropdown-inner">
627
+ <slot :visible="visible"></slot>
628
+ </div>
629
+ </div>
593
630
  </div>
594
- </div>
631
+ </dropdown-container>
595
632
  </div>
596
633
  </template>
@@ -0,0 +1,34 @@
1
+ /* eslint-disable import/no-default-export */
2
+ import { MountingPortal } from 'portal-vue';
3
+ import { POSITION_ABSOLUTE, POSITION_FIXED } from '../constants';
4
+
5
+ export default {
6
+ props: {
7
+ /**
8
+ * Strategy to be applied by computePosition. If this is set to fixed, the dropdown's position
9
+ * needs to be set to fixed in CSS as well.
10
+ * https://floating-ui.com/docs/computePosition#strategy
11
+ */
12
+ positioningStrategy: {
13
+ type: String,
14
+ required: false,
15
+ default: POSITION_ABSOLUTE,
16
+ validator: (strategy) => [POSITION_ABSOLUTE, POSITION_FIXED].includes(strategy),
17
+ },
18
+ },
19
+ render(createElement) {
20
+ if (this.positioningStrategy === POSITION_FIXED) {
21
+ return createElement(
22
+ MountingPortal,
23
+ {
24
+ props: {
25
+ mountTo: 'body',
26
+ append: true,
27
+ },
28
+ },
29
+ [this.$scopedSlots.default()],
30
+ );
31
+ }
32
+ return this.$scopedSlots.default();
33
+ },
34
+ };
@@ -24,12 +24,11 @@ import {
24
24
  dropdownPlacements,
25
25
  dropdownVariantOptions,
26
26
  } from '../../../../utils/constants';
27
- import GlBaseDropdown, { BASE_DROPDOWN_CLASS } from '../base_dropdown/base_dropdown.vue';
27
+ import GlBaseDropdown from '../base_dropdown/base_dropdown.vue';
28
28
  import GlDisclosureDropdownItem, { ITEM_CLASS } from './disclosure_dropdown_item.vue';
29
29
  import GlDisclosureDropdownGroup from './disclosure_dropdown_group.vue';
30
30
  import { itemsValidator, isItem, hasOnlyListItems } from './utils';
31
31
 
32
- export const DROPDOWN_SELECTOR = `.${BASE_DROPDOWN_CLASS}`;
33
32
  export const ITEM_SELECTOR = `.${ITEM_CLASS}`;
34
33
 
35
34
  export default {
@@ -348,7 +347,7 @@ export default {
348
347
  if (
349
348
  this.autoClose &&
350
349
  e.target.closest(ITEM_SELECTOR) &&
351
- e.target.closest(DROPDOWN_SELECTOR) === this.$refs.baseDropdown.$el
350
+ this.$refs.baseDropdown.containsElement(e.target)
352
351
  ) {
353
352
  this.closeAndFocus();
354
353
  }
@@ -2,18 +2,6 @@
2
2
  @apply gl-inline-flex;
3
3
  @apply gl-align-middle;
4
4
 
5
- .gl-new-dropdown-arrow {
6
- width: 8px;
7
- height: 8px;
8
-
9
- // blend in with the dropdown background
10
- background: var(--gl-dropdown-background-color);
11
- // these create the 45deg cutoff angle at the base of the caret
12
- border-bottom: 1px solid var(--gl-dropdown-background-color);
13
- border-right: 1px solid var(--gl-dropdown-background-color);
14
- position: absolute;
15
- }
16
-
17
5
  .gl-new-dropdown-custom-toggle {
18
6
  *:first-child {
19
7
  @apply gl-cursor-pointer;
@@ -24,42 +12,6 @@
24
12
  }
25
13
  }
26
14
 
27
- .gl-new-dropdown-panel {
28
- @apply gl-hidden;
29
- @apply gl-bg-dropdown;
30
- border-radius: var(--gl-dropdown-border-radius);
31
- @apply gl-drop-shadow-md;
32
- top: 0;
33
- left: 0;
34
- min-width: $gl-new-dropdown-min-width;
35
- max-width: $gl-new-dropdown-max-width;
36
- z-index: 1000;
37
- }
38
-
39
- .gl-new-dropdown-inner {
40
- @apply gl-flex;
41
- @apply gl-flex-col;
42
- max-height: $gl-max-dropdown-max-height;
43
- }
44
-
45
- .gl-new-dropdown-contents {
46
- position: relative;
47
- @apply gl-grow;
48
- @apply gl-overflow-y-auto;
49
- @apply gl-pl-0;
50
- @apply gl-mb-0;
51
- @apply gl-py-2;
52
- @apply gl-list-none;
53
-
54
- &:focus-visible {
55
- @apply gl-focus;
56
- }
57
-
58
- ul {
59
- @apply gl-list-none;
60
- }
61
- }
62
-
63
15
  .gl-new-dropdown-toggle {
64
16
  // optically align the caret
65
17
  &.gl-button:not(.gl-new-dropdown-toggle-no-caret, .btn-icon) {
@@ -137,6 +89,57 @@
137
89
  @apply gl-pl-0;
138
90
  }
139
91
  }
92
+ }
93
+
94
+ .gl-new-dropdown-container {
95
+ .gl-new-dropdown-arrow {
96
+ width: 8px;
97
+ height: 8px;
98
+
99
+ // blend in with the dropdown background
100
+ background: var(--gl-dropdown-background-color);
101
+ // these create the 45deg cutoff angle at the base of the caret
102
+ border-bottom: 1px solid var(--gl-dropdown-background-color);
103
+ border-right: 1px solid var(--gl-dropdown-background-color);
104
+
105
+ position: absolute;
106
+ }
107
+
108
+ .gl-new-dropdown-panel {
109
+ @apply gl-hidden;
110
+ @apply gl-bg-dropdown;
111
+ border-radius: var(--gl-dropdown-border-radius);
112
+ @apply gl-drop-shadow-md;
113
+ top: 0;
114
+ left: 0;
115
+ min-width: $gl-new-dropdown-min-width;
116
+ max-width: $gl-new-dropdown-max-width;
117
+ z-index: 1000;
118
+ }
119
+
120
+ .gl-new-dropdown-inner {
121
+ @apply gl-flex;
122
+ @apply gl-flex-col;
123
+ max-height: $gl-max-dropdown-max-height;
124
+ }
125
+
126
+ .gl-new-dropdown-contents {
127
+ position: relative;
128
+ @apply gl-grow;
129
+ @apply gl-overflow-y-auto;
130
+ @apply gl-pl-0;
131
+ @apply gl-mb-0;
132
+ @apply gl-py-2;
133
+ @apply gl-list-none;
134
+
135
+ &:focus-visible {
136
+ @apply gl-focus;
137
+ }
138
+
139
+ ul {
140
+ @apply gl-list-none;
141
+ }
142
+ }
140
143
 
141
144
  $dropdown-content-padding: 0.25rem;
142
145
 
@@ -13,6 +13,11 @@ export default {
13
13
  validator: tokensValidator,
14
14
  required: true,
15
15
  },
16
+ state: {
17
+ type: Boolean,
18
+ required: false,
19
+ default: null,
20
+ },
16
21
  registerFocusOnToken: {
17
22
  type: Function,
18
23
  required: true,
@@ -128,6 +133,11 @@ export default {
128
133
  <div
129
134
  ref="tokenContainer"
130
135
  class="-gl-mx-1 -gl-my-1 gl-flex gl-w-auto gl-list-none gl-flex-wrap gl-items-center gl-p-0"
136
+ role="listbox"
137
+ aria-multiselectable="false"
138
+ aria-orientation="horizontal"
139
+ :aria-invalid="state === false && 'true'"
140
+ aria-label="token list"
131
141
  @keydown.left="handleLeftArrow"
132
142
  @keydown.right="handleRightArrow"
133
143
  @keydown.home="handleHome"
@@ -142,7 +152,7 @@ export default {
142
152
  :key="token.id"
143
153
  :data-token-id="token.id"
144
154
  class="gl-token-selector-token-container gl-px-1 gl-py-2 gl-outline-none"
145
- data-testid="gl-token-selector-tokens"
155
+ role="option"
146
156
  tabindex="-1"
147
157
  @focus="bindFocusEvent ? handleTokenFocus(index) : null"
148
158
  >
@@ -1,12 +1,12 @@
1
1
  <script>
2
- import { GlUniqueId } from '../../../utils/unique_id';
2
+ import uniqueId from 'lodash/uniqueId';
3
3
  import { tokensValidator } from './helpers';
4
4
  import GlTokenContainer from './token_container.vue';
5
5
  import GlTokenSelectorDropdown from './token_selector_dropdown.vue';
6
6
 
7
7
  export default {
8
8
  name: 'GlTokenSelector',
9
- componentId: `token-selector-${GlUniqueId()}`,
9
+ componentId: uniqueId('token-selector'),
10
10
  components: {
11
11
  GlTokenContainer,
12
12
  GlTokenSelectorDropdown,
@@ -75,7 +75,7 @@ export default {
75
75
  default: '',
76
76
  },
77
77
  /**
78
- * The HTML5 autocomplete attribute value for the underlying `input` element.
78
+ * The autocomplete attribute value for the underlying `input` element
79
79
  */
80
80
  autocomplete: {
81
81
  type: String,
@@ -83,21 +83,7 @@ export default {
83
83
  default: 'off',
84
84
  },
85
85
  /**
86
- * The `aria-label` attribute value for the underlying `input` element.
87
- * Input must have an aria-label or aria-labelledby prop or it will be inaccessible.
88
- *
89
- * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-label
90
- */
91
- ariaLabel: {
92
- type: String,
93
- required: false,
94
- default: null,
95
- },
96
- /**
97
- * The `aria-labelledby` attribute value for the underlying `input` element.
98
- * String must match the unique ID on a text element to create an accessible label.
99
- *
100
- * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-labelledby
86
+ * The `aria-labelledby` attribute value for the underlying `input` element
101
87
  */
102
88
  ariaLabelledby: {
103
89
  type: String,
@@ -396,13 +382,6 @@ export default {
396
382
  this.$emit('input', []);
397
383
  this.focusTextInput();
398
384
  },
399
- handleAriaInvalid() {
400
- const { state } = this;
401
- return state === false ? 'true' : null;
402
- },
403
- handleAriaActiveDescendent(value) {
404
- return value ? `${this.$options.componentId}-dropdown-item-${value.id}` : null;
405
- },
406
385
  },
407
386
  };
408
387
  </script>
@@ -449,17 +428,10 @@ export default {
449
428
  type="text"
450
429
  class="gl-token-selector-input gl-h-auto gl-w-4/10 gl-grow gl-border-none gl-bg-transparent gl-px-1 gl-font-regular gl-text-base gl-leading-normal gl-text-default gl-outline-none"
451
430
  :value="inputText"
452
- :aria-activedescendant="handleAriaActiveDescendent(focusedDropdownItem)"
453
431
  :autocomplete="autocomplete"
454
- :aria-controls="$options.componentId"
455
- :aria-expanded="dropdownIsOpen.toString()"
456
- :aria-invalid="handleAriaInvalid()"
457
- :aria-label="ariaLabelledby ? null : ariaLabel"
458
432
  :aria-labelledby="ariaLabelledby"
459
433
  :placeholder="placeholder"
460
434
  :disabled="viewOnly"
461
- aria-autocomplete="list"
462
- role="combobox"
463
435
  v-bind="textInputAttrs"
464
436
  @input="inputText = $event.target.value"
465
437
  @focus="handleFocus"
@@ -490,7 +462,6 @@ export default {
490
462
  :register-dropdown-event-handlers="registerDropdownEventHandlers"
491
463
  :register-reset-focused-dropdown-item="registerResetFocusedDropdownItem"
492
464
  @dropdown-item-click="addToken"
493
- @input="handleAriaActiveDescendent"
494
465
  @show="openDropdown"
495
466
  >
496
467
  <template #loading-content
@@ -199,10 +199,10 @@ export default {
199
199
  <template>
200
200
  <div class="dropdown b-dropdown gl-dropdown gl-relative" :class="{ show }">
201
201
  <ul
202
- :id="componentId"
203
202
  ref="dropdownMenu"
204
- role="listbox"
203
+ role="menu"
205
204
  class="dropdown-menu gl-absolute"
205
+ :aria-activedescendant="dropdownItemIdAttribute(focusedDropdownItem)"
206
206
  :class="[{ show }, menuClass]"
207
207
  >
208
208
  <gl-dropdown-item v-if="loading" disabled>
@@ -216,9 +216,7 @@ export default {
216
216
  :key="dropdownItem.id"
217
217
  :data-dropdown-item-id="dropdownItem.id"
218
218
  :active="dropdownItemIsFocused(dropdownItem)"
219
- :aria-selected="dropdownItemIsFocused(dropdownItem).toString()"
220
219
  active-class="is-focused"
221
- role="option"
222
220
  tabindex="-1"
223
221
  @click="handleDropdownItemClick(dropdownItem)"
224
222
  >
@@ -86,6 +86,14 @@ export default {
86
86
  required: false,
87
87
  default: () => ({}),
88
88
  },
89
+ /**
90
+ * CSS classes to apply to the title popover (gets passed to the `css-classes` prop of the `GlPopover` component).
91
+ */
92
+ titlePopoverClasses: {
93
+ type: Array,
94
+ required: false,
95
+ default: () => [],
96
+ },
89
97
  /**
90
98
  * Set to `true` to show the loading state.
91
99
  */
@@ -218,6 +226,7 @@ export default {
218
226
  data-testid="panel-title-popover"
219
227
  boundary="viewport"
220
228
  :target="titlePopoverId"
229
+ :css-classes="titlePopoverClasses"
221
230
  >
222
231
  <!-- @slot The title of the info popover. -->
223
232
  <template v-if="hasInfoPopoverTitleSlot" #title>
@@ -1,18 +0,0 @@
1
- /**
2
- * Function uses browser native crypto to return a sixteen
3
- * character base16 encoded string. It is often used to
4
- * generate collision-resistant IDs for aria markup such
5
- * as aria-activedescendant and aria-controls.
6
- *
7
- * @returns String
8
- */
9
- const GlUniqueId = () => {
10
- if (typeof window !== 'undefined' && window.crypto) {
11
- const arr32 = new Uint32Array(2);
12
- window.crypto.getRandomValues(arr32);
13
- return Array.from(arr32, id => id.toString(16)).join('');
14
- }
15
- throw new Error('Cannot generate a unique ID');
16
- };
17
-
18
- export { GlUniqueId };
@@ -1,17 +0,0 @@
1
- /**
2
- * Function uses browser native crypto to return a sixteen
3
- * character base16 encoded string. It is often used to
4
- * generate collision-resistant IDs for aria markup such
5
- * as aria-activedescendant and aria-controls.
6
- *
7
- * @returns String
8
- */
9
- export const GlUniqueId = () => {
10
- if (typeof window !== 'undefined' && window.crypto) {
11
- const arr32 = new Uint32Array(2);
12
- window.crypto.getRandomValues(arr32);
13
- return Array.from(arr32, (id) => id.toString(16)).join('');
14
- }
15
-
16
- throw new Error('Cannot generate a unique ID');
17
- };