"use strict";
const __vanilla_filescope__ = require("@vanilla-extract/css/fileScope");
const css = require("@vanilla-extract/css");
const styles_lib_css_atoms_sprinkles_css_cjs = require("../../css/atoms/sprinkles.css.cjs");
const styles_lib_themes_vars_css_cjs = require("../../themes/vars.css.cjs");
__vanilla_filescope__.setFileScope("src/lib/components/TextLink/TextLink.css.ts", "braid-design-system");
const textLinkVars = css.createThemeContract({
  color: null,
  colorHover: null
});
const lightModeRegularLinkVars = css.assignVars(textLinkVars, {
  color: styles_lib_themes_vars_css_cjs.vars.foregroundColor.link,
  colorHover: styles_lib_themes_vars_css_cjs.vars.foregroundColor.linkHover
});
const darkModeRegularLinkVars = css.assignVars(textLinkVars, {
  color: styles_lib_themes_vars_css_cjs.vars.foregroundColor.linkLight,
  colorHover: styles_lib_themes_vars_css_cjs.vars.foregroundColor.linkLight
});
const weakLinkVars = css.assignVars(textLinkVars, {
  color: "inherit",
  colorHover: "inherit"
});
const textDecorationThickness = "0.08em";
const base = css.style({
  color: textLinkVars.color,
  textDecoration: styles_lib_themes_vars_css_cjs.vars.linkDecoration,
  textDecorationThickness,
  textUnderlineOffset: 3,
  ":hover": {
    color: textLinkVars.colorHover,
    textDecoration: "underline",
    /*
          Duplicating the thickness property due to inconsistent support
          for shorthand properties of `text-decoration`. Without this,
          applying the above decoration rule resets the thickness in
          browsers that do support shorthands.
    
          We also cannot use the long-form `text-decoration-line` due
          to browser support policy of Edge 16+.
        */
    textDecorationThickness
  },
  ":focus-visible": {
    color: textLinkVars.colorHover,
    outline: `${styles_lib_themes_vars_css_cjs.vars.focusRingSize} solid ${styles_lib_themes_vars_css_cjs.vars.borderColor.focus}`,
    outlineOffset: "0.2em",
    borderRadius: styles_lib_themes_vars_css_cjs.vars.borderRadius.small
  }
}, "base");
const weakLink = css.style({
  vars: weakLinkVars,
  textDecoration: "underline",
  /*
    Duplicating the thickness property again as the `textDecoration`
    property above overrides the `textDecorationThickness` property
    in the `base` style due to CSS rule ordering. Without this property,
    weak links were receiving `auto` thickness instead of the desired
    value.
  */
  textDecorationThickness
}, "weakLink");
const regularLinkLightMode = css.styleVariants({
  light: {
    selectors: {
      [`html:not(${styles_lib_css_atoms_sprinkles_css_cjs.darkMode}) &`]: {
        vars: lightModeRegularLinkVars
      }
    }
  },
  dark: {
    selectors: {
      [`html:not(${styles_lib_css_atoms_sprinkles_css_cjs.darkMode}) &`]: {
        vars: darkModeRegularLinkVars
      }
    }
  }
}, "regularLinkLightMode");
const regularLinkDarkMode = css.styleVariants({
  light: {
    selectors: {
      [`html${styles_lib_css_atoms_sprinkles_css_cjs.darkMode} &`]: {
        vars: lightModeRegularLinkVars
      }
    }
  },
  dark: {
    selectors: {
      [`html${styles_lib_css_atoms_sprinkles_css_cjs.darkMode} &`]: {
        vars: darkModeRegularLinkVars
      }
    }
  }
}, "regularLinkDarkMode");
const visitedLightMode = css.styleVariants({
  light: {
    selectors: {
      [`html:not(${styles_lib_css_atoms_sprinkles_css_cjs.darkMode}) &:visited`]: {
        color: styles_lib_themes_vars_css_cjs.vars.foregroundColor.linkVisited
      }
    }
  },
  dark: {
    selectors: {
      [`html:not(${styles_lib_css_atoms_sprinkles_css_cjs.darkMode}) &:visited`]: {
        color: styles_lib_themes_vars_css_cjs.vars.foregroundColor.linkLightVisited
      }
    }
  }
}, "visitedLightMode");
const visitedDarkMode = css.styleVariants({
  light: {
    selectors: {
      [`html${styles_lib_css_atoms_sprinkles_css_cjs.darkMode} &:visited`]: {
        color: styles_lib_themes_vars_css_cjs.vars.foregroundColor.linkVisited
      }
    }
  },
  dark: {
    selectors: {
      [`html${styles_lib_css_atoms_sprinkles_css_cjs.darkMode} &:visited`]: {
        color: styles_lib_themes_vars_css_cjs.vars.foregroundColor.linkLightVisited
      }
    }
  }
}, "visitedDarkMode");
__vanilla_filescope__.endFileScope();
exports.base = base;
exports.regularLinkDarkMode = regularLinkDarkMode;
exports.regularLinkLightMode = regularLinkLightMode;
exports.visitedDarkMode = visitedDarkMode;
exports.visitedLightMode = visitedLightMode;
exports.weakLink = weakLink;
