{"version":3,"sources":["../src/ActionList/ActionList.module.css.js","../../postcss-preset-primer/src/mixins/focusOutline.css","../../postcss-preset-primer/src/mixins/activeIndicatorLine.css"],"names":[],"mappings":"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","file":"ActionList-2a35a40c.css","sourcesContent":["/* stylelint-disable max-nesting-depth, selector-max-specificity */\n\n.ActionList {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n\n  ul {\n    padding: 0;\n    margin: 0;\n    list-style: none;\n  }\n\n  &:where([data-variant='inset']) {\n    padding-block: var(--base-size-8);\n  }\n\n  &:where([data-variant='inset'], [data-variant='horizontal-inset']) {\n    /* this is only to match default experience */\n    & .ActionListItem {\n      margin-inline: var(--base-size-8);\n    }\n  }\n\n  &:where([data-variant='horizontal-inset']) {\n    padding-bottom: var(--base-size-8);\n  }\n\n  &:where([data-dividers='true']) {\n    /* place dividers on the wrapper that excludes leading visuals/actions */\n    & .ActionListSubContent::before {\n      position: absolute;\n\n      /* use this top size after FF removed */\n\n      /* top: calc(-1 * var(--control-medium-paddingBlock)); */\n      /* stylelint-disable-next-line primer/spacing */\n      top: -7px;\n      display: block;\n      width: 100%;\n      height: 1px;\n      content: '';\n      /* stylelint-disable-next-line primer/colors */\n      background: var(--borderColor-muted);\n    }\n\n    /* if inline description, move pseudo divider to description wrapper */\n    & [data-description-variant='inline'] {\n      &::before {\n        position: absolute;\n\n        /* use this top size after FF removed */\n\n        /* top: calc(-1 * var(--control-medium-paddingBlock)); */\n        /* stylelint-disable-next-line primer/spacing */\n        top: -7px;\n        display: block;\n        width: 100%;\n        height: var(--borderWidth-thin);\n        content: '';\n        /* stylelint-disable-next-line primer/colors */\n        background: var(--borderColor-muted);\n      }\n\n      /* remove the default divider */\n      & .ActionListSubContent::before {\n        content: unset;\n      }\n    }\n\n    /* hide if item is first of type with label::before, or is the first item after a sectionDivider */\n    .ActionListItem:first-of-type .ActionListSubContent::before,\n    .Divider + .ActionListItem .ActionListSubContent::before {\n      visibility: hidden;\n    }\n\n    /* hide if item is first of type with label::before, or is the first item after a sectionDivider */\n    .ActionListItem:first-of-type [data-description-variant='inline']::before,\n    .Divider + .ActionListItem [data-description-variant='inline']::before {\n      visibility: hidden;\n    }\n  }\n\n  /* Make sure that the first visible item isn't a divider */\n  & .Divider:first-child {\n    display: none;\n  }\n\n  /* if a list has a mix of items with and without descriptions, reset the label font-weight to normal */\n  &[data-mixed-descriptions='true'] {\n    & .ItemLabel {\n      font-weight: var(--base-text-weight-normal);\n    }\n  }\n}\n\n/* ActionListItem is a li that handles visual state, while ActionListItemContent controls actual state via button or link */\n\n.ActionListItem {\n  position: relative;\n  list-style: none;\n  background-color: var(--control-transparent-bgColor-rest);\n  border-radius: var(--borderRadius-medium);\n\n  /* apply flex if trailing action exists as an immediate child */\n  /* stylelint-disable-next-line selector-pseudo-class-disallowed-list -- scoped to CSS Module, audited (github/github-ui#17224) */\n  &:has(> .TrailingAction) {\n    display: flex;\n    flex-wrap: nowrap;\n  }\n\n  /* state */\n\n  @media (forced-colors: active) {\n    :focus,\n    &:focus-visible,\n    /* stylelint-disable-next-line selector-no-qualifying-type */\n    >a.focus-visible,\n    &[data-is-active-descendant] {\n      /* Support for Windows high contrast https://sarahmhigley.com/writing/whcm-quick-tips */\n      outline: solid 1px transparent !important;\n    }\n  }\n\n  &:not([data-is-disabled], [data-has-subitem='true']) {\n    @media (hover: hover) {\n      &:hover,\n      &:active {\n        cursor: pointer;\n      }\n\n      &:hover {\n        background-color: var(--control-transparent-bgColor-hover);\n\n        &:not([data-active], :focus-visible) {\n          /* Support for \"Windows high contrast mode\" https:sarahmhigley.com/writing/whcm-quick-tips/ */\n          outline: solid var(--borderWidth-thin) transparent;\n          outline-offset: calc(-1 * var(--borderWidth-thin));\n          box-shadow: var(--boxShadow-thin) var(--control-transparent-borderColor-active);\n        }\n      }\n    }\n\n    &:active {\n      background-color: var(--control-transparent-bgColor-active);\n\n      &:not([data-active]) {\n        /* Support for \"Windows high contrast mode\" https:sarahmhigley.com/writing/whcm-quick-tips/ */\n        outline: solid var(--borderWidth-thin) transparent;\n        outline-offset: calc(-1 * var(--borderWidth-thin));\n        box-shadow: var(--boxShadow-thin) var(--control-transparent-borderColor-active);\n      }\n    }\n\n    &:focus-visible {\n      @mixin focusOutline 0;\n\n      & .ActionListSubContent::before,\n      & + .ActionListItem .ActionListSubContent::before {\n        visibility: hidden;\n      }\n    }\n\n    /* danger */\n    &:where([data-variant='danger']) {\n      & .LeadingAction,\n      .LeadingVisual,\n      .ItemLabel {\n        color: var(--control-danger-fgColor-rest);\n      }\n\n      @media (hover: hover) {\n        &:hover {\n          background: var(--control-danger-bgColor-hover);\n\n          & .LeadingAction,\n          .LeadingVisual,\n          .ItemLabel {\n            color: var(--control-danger-fgColor-hover);\n          }\n\n          & [data-kbd-chord] {\n            background-color: var(--bgColor-default);\n            transition: none;\n          }\n        }\n      }\n\n      &:active {\n        background: var(--control-danger-bgColor-active);\n\n        & .LeadingAction,\n        .LeadingVisual,\n        .ItemLabel {\n          color: var(--control-danger-fgColor-hover);\n        }\n\n        & [data-kbd-chord] {\n          background-color: var(--bgColor-default);\n          transition: none;\n        }\n      }\n    }\n\n    /* active state [aria-current] */\n    &:where([data-active]) {\n      background: var(--control-transparent-bgColor-selected);\n\n      /* provides a visual indication of the current item for Windows high-contrast mode */\n      outline: 2px solid transparent;\n\n      & .ItemLabel {\n        font-weight: var(--base-text-weight-semibold);\n        color: var(--control-fgColor-rest);\n      }\n\n      @media (hover: hover) {\n        &:hover {\n          background-color: var(--control-transparent-bgColor-hover);\n        }\n      }\n\n      /* hide dividers if showDividers is true and item is active */\n\n      & .ActionListSubContent::before,\n      & + .ActionListItem .ActionListSubContent::before {\n        visibility: hidden;\n      }\n\n      /* blue accent line  */\n      &::after {\n        @mixin activeIndicatorLine;\n      }\n    }\n\n    &:where([data-is-active-descendant]) {\n      background: var(--control-transparent-bgColor-selected);\n\n      /* provides a visual indication of the current item for Windows high-contrast mode */\n      outline: 2px solid transparent;\n\n      /* hide dividers if showDividers is true and item is active */\n\n      /* add back in after FF ship */\n\n      /* & .ActionListSubContent::before,\n      & + .ActionListItem .ActionListSubContent::before {\n        visibility: hidden;\n      } */\n\n      /* blue accent line  */\n      &::after {\n        @mixin activeIndicatorLine;\n      }\n    }\n\n    /* inactive */\n    &:where([data-inactive='true']) {\n      /* ignore tooltip */\n      & * :not([popover], .InactiveWarning) {\n        color: var(--fgColor-muted);\n      }\n\n      @media (hover: hover) {\n        &:hover {\n          cursor: not-allowed;\n          background-color: transparent;\n\n          & * :not([popover], .InactiveWarning) {\n            color: var(--fgColor-muted);\n          }\n        }\n      }\n\n      &:active {\n        background: transparent;\n      }\n    }\n\n    &:where([data-loading='true']),\n    & > [data-loading='true'] {\n      & .ItemLabel,\n      & .Description,\n      & .LeadingVisual,\n      & .TrailingVisual,\n      & .LeadingAction,\n      & .VisualWrap {\n        color: var(--fgColor-muted);\n      }\n    }\n\n    /* hide dividers  */\n    @media (hover: hover) {\n      &:hover {\n        & .ActionListSubContent::before,\n        & + .ActionListItem .ActionListSubContent::before {\n          visibility: hidden;\n        }\n\n        & [data-description-variant='inline']::before,\n        & + .ActionListItem [data-description-variant='inline']::before {\n          visibility: hidden;\n        }\n      }\n    }\n  }\n\n  /* if item has subitem, move hover styles to ActionListContent */\n  &[data-has-subitem='true'] {\n    /* first child */\n    & > .ActionListContent {\n      z-index: 1;\n\n      @media (hover: hover) {\n        &:hover {\n          cursor: pointer;\n          background-color: var(--control-transparent-bgColor-hover);\n        }\n      }\n\n      &:active {\n        background-color: var(--control-transparent-bgColor-active);\n      }\n    }\n\n    & .Spacer {\n      display: block;\n    }\n  }\n\n  /* disabled */\n\n  &[aria-disabled='true'],\n  &[data-is-disabled] {\n    & .ActionListContent * {\n      color: var(--control-fgColor-disabled);\n    }\n\n    & .ActionListContent {\n      @media (hover: hover) {\n        &:hover {\n          cursor: not-allowed;\n          background-color: transparent;\n        }\n      }\n    }\n\n    @media (hover: hover) {\n      &:hover {\n        background-color: transparent;\n      }\n    }\n\n    & .MultiSelectCheckbox {\n      background-color: var(--control-bgColor-disabled);\n      border-color: var(--control-borderColor-disabled);\n    }\n\n    &[aria-checked='true'],\n    &[aria-selected='true'] {\n      & .MultiSelectCheckbox {\n        background-color: var(--control-checked-bgColor-disabled);\n        /* stylelint-disable-next-line primer/colors */\n        border-color: var(--control-checked-bgColor-disabled);\n\n        &::before {\n          /* stylelint-disable-next-line primer/colors */\n          background-color: var(--control-checked-fgColor-disabled);\n        }\n      }\n    }\n  }\n\n  /* When TrailingAction is in loading state, keep labels and descriptions accessible */\n  /* stylelint-disable-next-line selector-pseudo-class-disallowed-list -- scoped to CSS Module, audited (github/github-ui#17224) */\n  &:has(.TrailingAction [data-loading='true']):not([data-is-disabled]) {\n    /* Ensure labels and descriptions maintain accessibility contrast */\n    & .ItemLabel {\n      color: var(--fgColor-default);\n    }\n\n    & .Description {\n      color: var(--fgColor-default);\n    }\n  }\n\n  /* Make sure that the first visible item isn't a divider */\n  &[aria-hidden] + .Divider {\n    display: none;\n  }\n\n  /*\n  * checkbox item [aria-checked]\n  * listbox [aria-selected]\n  */\n\n  & .MultiSelectCheckbox {\n    position: relative;\n    display: grid;\n    width: var(--base-size-16);\n    height: var(--base-size-16);\n    margin: 0;\n    cursor: pointer;\n    background-color: var(--bgColor-default);\n    border: var(--borderWidth-thin) solid var(--control-borderColor-emphasis);\n    border-radius: var(--borderRadius-small);\n    transition:\n      background-color,\n      border-color 80ms cubic-bezier(0.33, 1, 0.68, 1);\n    /* checked -> unchecked - add 120ms delay to fully see animation-out */\n\n    place-content: center;\n\n    &::before {\n      width: var(--base-size-16);\n      height: var(--base-size-16);\n      content: '';\n      /* stylelint-disable-next-line primer/colors */\n      background-color: var(--control-checked-fgColor-rest);\n      transition: visibility 0s linear 230ms;\n      clip-path: inset(var(--base-size-16) 0 0 0);\n\n      /* octicon checkmark image */\n      mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTEuNzgwMyAwLjIxOTYyNUMxMS45MjEgMC4zNjA0MjcgMTIgMC41NTEzMDUgMTIgMC43NTAzMTNDMTIgMC45NDkzMjEgMTEuOTIxIDEuMTQwMTkgMTEuNzgwMyAxLjI4MUw0LjUxODYgOC41NDA0MkM0LjM3Nzc1IDguNjgxIDQuMTg2ODIgOC43NiAzLjk4Nzc0IDguNzZDMy43ODg2NyA4Ljc2IDMuNTk3NzMgOC42ODEgMy40NTY4OSA4LjU0MDQyTDAuMjAxNjIyIDUuMjg2MkMwLjA2ODkyNzcgNS4xNDM4MyAtMC4wMDMzMDkwNSA0Ljk1NTU1IDAuMDAwMTE2NDkzIDQuNzYwOThDMC4wMDM1NTIwNSA0LjU2NjQzIDAuMDgyMzg5NCA0LjM4MDgxIDAuMjIwMDMyIDQuMjQzMjFDMC4zNTc2NjUgNC4xMDU2MiAwLjU0MzM1NSA0LjAyNjgxIDAuNzM3OTcgNC4wMjMzOEMwLjkzMjU4NCA0LjAxOTk0IDEuMTIwOTMgNC4wOTIxNyAxLjI2MzM0IDQuMjI0ODJMMy45ODc3NCA2Ljk0ODM1TDEwLjcxODYgMC4yMTk2MjVDMTAuODU5NSAwLjA3ODk5MjMgMTEuMDUwNCAwIDExLjI0OTUgMEMxMS40NDg1IDAgMTEuNjM5NSAwLjA3ODk5MjMgMTEuNzgwMyAwLjIxOTYyNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=');\n      mask-size: 75%;\n      mask-repeat: no-repeat;\n      mask-position: center;\n      animation: checkmarkOut 80ms cubic-bezier(0.65, 0, 0.35, 1);\n      /*  forwards;  slightly snappier animation out */\n    }\n\n    @media (forced-colors: active) {\n      /* Support for Windows high contrast https://sarahmhigley.com/writing/whcm-quick-tips */\n\n      /* background-color will be overriden but border-width is a workaround */\n      border-width: var(--borderWidth-thin);\n    }\n  }\n\n  &[aria-checked='true'],\n  &[aria-selected='true'] {\n    & .MultiSelectCheckbox {\n      background-color: var(--control-checked-bgColor-rest);\n      border-color: var(--control-checked-borderColor-rest);\n      transition:\n        background-color,\n        border-color 80ms cubic-bezier(0.32, 0, 0.67, 0) 0ms;\n      /* unchecked -> checked */\n\n      &::before {\n        visibility: visible;\n        transition: visibility 0s linear 0s;\n        animation: checkmarkIn 80ms cubic-bezier(0.65, 0, 0.35, 1) forwards 80ms;\n      }\n\n      @media (forced-colors: active) {\n        /* Support for Windows high contrast https://sarahmhigley.com/writing/whcm-quick-tips\n        background-color will be overriden but border-width is a workaround */\n        /* stylelint-disable-next-line primer/borders */\n        border-width: 8px;\n      }\n    }\n\n    & .SingleSelectCheckmark {\n      visibility: visible;\n    }\n  }\n\n  &[aria-checked='false'],\n  &[aria-selected='false'] {\n    & .MultiSelectCheckbox {\n      &::before {\n        visibility: hidden;\n      }\n    }\n\n    & .SingleSelectCheckmark {\n      visibility: hidden;\n    }\n  }\n}\n\n/* hide by default to support inactive state where role cannot be menuitemradio or menuitemcheckbox */\n.SingleSelectCheckmark {\n  visibility: hidden;\n}\n\n/* button or a tag */\n\n/* [ [spacer] [leadingAction] [leadingVisual] [content] ] */\n.ActionListContent {\n  --subitem-depth: 0px;\n\n  position: relative;\n  display: grid;\n  width: 100%;\n  color: var(--control-fgColor-rest);\n  text-align: left;\n  user-select: none;\n  background-color: transparent;\n  border: none;\n  border-radius: var(--borderRadius-medium);\n  transition: background 33.333ms linear;\n  /* stylelint-disable-next-line primer/spacing */\n  padding-block: var(--control-medium-paddingBlock);\n  /* stylelint-disable-next-line primer/spacing */\n  padding-inline: var(--control-medium-paddingInline-condensed);\n  touch-action: manipulation;\n  -webkit-tap-highlight-color: transparent;\n  grid-template-rows: min-content;\n  grid-template-areas: 'spacer leadingAction leadingVisual content';\n  grid-template-columns: min-content min-content min-content minmax(0, auto);\n  align-items: start;\n\n  /* column-gap persists with empty grid-areas, margin applies only when children exist */\n  & > :not(:last-child, .Spacer) {\n    /* stylelint-disable-next-line primer/spacing */\n    margin-right: var(--control-medium-gap);\n  }\n\n  &:hover {\n    text-decoration: none;\n    cursor: pointer;\n  }\n\n  /* large */\n\n  &[data-size='large'] {\n    /* stylelint-disable-next-line primer/spacing */\n    padding-block: var(--control-large-paddingBlock);\n  }\n\n  /* collapsible item [aria-expanded] */\n\n  &[aria-expanded='true'] {\n    & .ExpandIcon {\n      transform: scaleY(-1);\n    }\n  }\n\n  &[aria-expanded='false'] {\n    & .ExpandIcon {\n      transform: scaleY(1);\n    }\n\n    & ~ .SubGroup {\n      display: none;\n    }\n\n    /* show active indicator on parent collapse if child is active */\n    /* stylelint-disable-next-line selector-pseudo-class-disallowed-list -- scoped to CSS Module, audited (github/github-ui#17224) */\n    &:has(~ .SubGroup [data-active='true']) {\n      background: var(--control-transparent-bgColor-selected);\n\n      & .ItemLabel {\n        font-weight: var(--base-text-weight-semibold);\n      }\n\n      & .ActionListSubContent::before,\n      & + .ActionListItem .ActionListSubContent::before {\n        visibility: hidden;\n      }\n\n      /* blue accent line */\n      &::after {\n        @mixin activeIndicatorLine;\n      }\n    }\n  }\n}\n\n/* [ [content] [trailingVisual] [trailingAction] ] */\n.ActionListSubContent {\n  grid-area: content;\n  position: relative;\n  display: grid;\n  width: 100%;\n  grid-template-rows: min-content;\n  grid-template-areas: 'label trailingVisual trailingAction';\n  grid-template-columns: minmax(0, auto) min-content min-content;\n  align-items: start;\n\n  /* column-gap persists with empty grid-areas, margin applies only when children exist */\n  & > :not(:last-child) {\n    /* stylelint-disable-next-line primer/spacing */\n    margin-right: var(--control-medium-gap);\n  }\n}\n\n/* place children on grid */\n\n/* spacer used to create depth for nested lists */\n\n.Spacer {\n  display: none;\n  width: max(0px, var(--subitem-depth) * 8px);\n  grid-area: spacer;\n}\n\n.LeadingAction {\n  grid-area: leadingAction;\n}\n\n.LeadingVisual {\n  grid-area: leadingVisual;\n}\n\n.TrailingVisual {\n  grid-area: trailingVisual;\n  font-size: var(--text-body-size-medium);\n}\n\n.TrailingAction {\n  grid-area: trailingAction;\n\n  /* if child is loading button */\n  & > *[data-loading-wrapper] {\n    height: 100%;\n  }\n}\n\n/* wrapper span\ndefault block */\n.ItemDescriptionWrap {\n  grid-area: label;\n  display: flex;\n  flex-direction: column;\n  gap: var(--base-size-4);\n\n  & .ItemLabel {\n    font-weight: var(--base-text-weight-semibold);\n    /* stylelint-disable-next-line declaration-property-value-keyword-no-deprecated */\n    word-break: break-word;\n  }\n\n  /* inline */\n  &:where([data-description-variant='inline']) {\n    position: relative;\n    word-break: normal;\n    flex-direction: row;\n    align-items: baseline;\n    gap: var(--base-size-8);\n\n    & .ItemLabel {\n      word-break: normal;\n    }\n\n    /* stylelint-disable-next-line selector-pseudo-class-disallowed-list -- scoped to CSS Module, audited (github/github-ui#17224) */\n    &:has([data-truncate='true']) {\n      & .ItemLabel {\n        flex: 1 0 auto;\n      }\n    }\n\n    & .Description {\n      /* stylelint-disable-next-line primer/typography */\n      line-height: 16px;\n    }\n  }\n}\n\n/* description */\n.Description {\n  font-size: var(--text-body-size-small);\n  font-weight: var(--base-text-weight-normal);\n\n  /* line-height: var(--text-caption-lineHeight); */\n\n  /* remove after FF ships */\n  /* stylelint-disable-next-line primer/typography */\n  line-height: 16px;\n  color: var(--fgColor-muted);\n}\n\n/* helper for grid alignment with multi-line content\nspan wrapping svg or text */\n.VisualWrap {\n  display: flex;\n  min-width: max-content;\n  min-height: var(--base-size-20);\n  /* stylelint-disable-next-line primer/typography */\n  line-height: 20px;\n  /* temporary until we fix line-height rounding in primitives */\n  color: var(--fgColor-muted);\n  pointer-events: none;\n  fill: var(--fgColor-muted);\n  align-items: center;\n}\n\n/* text */\n.ItemLabel {\n  position: relative;\n  font-size: var(--text-body-size-medium);\n  font-weight: var(--base-text-weight-normal);\n  /* stylelint-disable-next-line primer/typography */\n  line-height: 20px;\n  /* temporary until we fix line-height rounding in primitives */\n  color: var(--fgColor-default);\n  grid-area: label;\n  /* stylelint-disable-next-line declaration-property-value-keyword-no-deprecated */\n  word-break: break-word;\n}\n\n.SubGroup {\n  & .ItemLabel {\n    font-size: var(--text-body-size-small);\n  }\n\n  & .ActionListItem {\n    margin-inline: 0;\n  }\n}\n\n/* trailing action icon button */\n\n.TrailingActionButton {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n  height: 100%;\n\n  /* Preserve width consistency when loading state is active for text buttons only */\n  /* stylelint-disable-next-line selector-pseudo-class-disallowed-list -- scoped to CSS Module, audited (github/github-ui#17224) */\n  &[data-loading='true']:has([data-component='buttonContent']) {\n    /* Double the left padding to compensate for missing right padding */\n    padding: 0 0 0 calc(var(--base-size-12) * 2);\n\n    /* Position spinner at the end to align with IconButton */\n    & [data-component='loadingSpinner'] {\n      place-self: end;\n      /* Match the IconButton spinner size */\n      width: var(--control-medium-size, 2rem);\n      height: var(--control-medium-size, 2rem);\n      /* Ensure spinner is properly centered */\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n  }\n}\n\n.InactiveButtonWrap {\n  /* stylelint-disable-next-line selector-pseudo-class-disallowed-list -- scoped to CSS Module, audited (github/github-ui#17224) */\n  &:has(.TrailingVisual) {\n    grid-area: trailingVisual;\n  }\n\n  /* stylelint-disable-next-line selector-pseudo-class-disallowed-list -- scoped to CSS Module, audited (github/github-ui#17224) */\n  &:has(.LeadingVisual) {\n    grid-area: leadingVisual;\n  }\n}\n\n.Divider {\n  display: block;\n  height: var(--borderWidth-thin);\n  padding: 0;\n  /* stylelint-disable-next-line primer/spacing */\n  margin-block-start: calc(var(--base-size-8) - var(--borderWidth-thin));\n  margin-block-end: var(--base-size-8);\n  list-style: none;\n  /* stylelint-disable-next-line primer/colors */\n  background: var(--borderColor-muted);\n  border: 0;\n}\n\n.InactiveButtonReset {\n  display: flex;\n  padding: 0;\n  font: inherit;\n  color: inherit;\n  cursor: pointer;\n  background: none;\n  border: none;\n}\n\n.InactiveWarning {\n  font-size: var(--text-body-size-small);\n\n  /* line-height: var(--text-caption-lineHeight); */\n\n  /* use variable when FF removed */\n  /* stylelint-disable-next-line primer/typography */\n  line-height: 16px;\n  color: var(--fgColor-attention);\n  grid-row: 2/2;\n}\n\n@keyframes checkmarkIn {\n  from {\n    clip-path: inset(var(--base-size-16) 0 0 0);\n  }\n\n  to {\n    clip-path: inset(0 0 0 0);\n  }\n}\n\n@keyframes checkmarkOut {\n  from {\n    clip-path: inset(0 0 0 0);\n  }\n\n  to {\n    clip-path: inset(var(--base-size-16) 0 0 0);\n  }\n}\n","@define-mixin focusOutline $outlineOffset: -2px, $outlineColor: var(--focus-outline-color, var(--focus-outlineColor)) {\n  outline: 2px solid $outlineColor;\n  outline-offset: $outlineOffset;\n  box-shadow: none;\n}\n","@define-mixin activeIndicatorLine {\n  position: absolute;\n  top: var(--base-size-4);\n  left: calc(-1 * var(--base-size-8));\n  width: var(--base-size-4);\n  height: calc(100% - var(--base-size-8));\n  content: '';\n  /* stylelint-disable-next-line primer/colors */\n  background: var(--borderColor-accent-emphasis);\n  border-radius: var(--borderRadius-medium);\n}\n"]}