import { localizeWithPath } from '../../../../nls.js';
import { Color, RGBA } from '../../../../base/common/color.js';
import { registerColor, transparent, lighten, darken } from '../colorUtils.js';
import { foreground, contrastBorder, iconForeground, focusBorder } from './baseColors.js';
import { editorWidgetBackground } from './editorColors.js';
const inputBackground = registerColor('input.background', { dark: '#3C3C3C', light: Color.white, hcDark: Color.black, hcLight: Color.white }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputBoxBackground',
 "Input box background."
)));
const inputForeground = registerColor('input.foreground', { dark: foreground, light: foreground, hcDark: foreground, hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputBoxForeground',
 "Input box foreground."
)));
const inputBorder = registerColor('input.border', { dark: null, light: null, hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputBoxBorder',
 "Input box border."
)));
const inputActiveOptionBorder = registerColor('inputOption.activeBorder', { dark: '#007ACC', light: '#007ACC', hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputBoxActiveOptionBorder',
 "Border color of activated options in input fields."
)));
registerColor('inputOption.hoverBackground', { dark: '#5a5d5e80', light: '#b8b8b850', hcDark: null, hcLight: null }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputOption.hoverBackground',
 "Background color of activated options in input fields."
)));
const inputActiveOptionBackground = registerColor('inputOption.activeBackground', { dark: ( transparent(focusBorder, 0.4)), light: ( transparent(focusBorder, 0.2)), hcDark: Color.transparent, hcLight: Color.transparent }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputOption.activeBackground',
 "Background hover color of options in input fields."
)));
const inputActiveOptionForeground = registerColor('inputOption.activeForeground', { dark: Color.white, light: Color.black, hcDark: foreground, hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputOption.activeForeground',
 "Foreground color of activated options in input fields."
)));
const inputPlaceholderForeground = registerColor('input.placeholderForeground', { light: ( transparent(foreground, 0.5)), dark: ( transparent(foreground, 0.5)), hcDark: ( transparent(foreground, 0.7)), hcLight: ( transparent(foreground, 0.7)) }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputPlaceholderForeground',
 "Input box foreground color for placeholder text."
)));
const inputValidationInfoBackground = registerColor('inputValidation.infoBackground', { dark: '#063B49', light: '#D6ECF2', hcDark: Color.black, hcLight: Color.white }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationInfoBackground',
 "Input validation background color for information severity."
)));
const inputValidationInfoForeground = registerColor('inputValidation.infoForeground', { dark: null, light: null, hcDark: null, hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationInfoForeground',
 "Input validation foreground color for information severity."
)));
const inputValidationInfoBorder = registerColor('inputValidation.infoBorder', { dark: '#007acc', light: '#007acc', hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationInfoBorder',
 "Input validation border color for information severity."
)));
const inputValidationWarningBackground = registerColor('inputValidation.warningBackground', { dark: '#352A05', light: '#F6F5D2', hcDark: Color.black, hcLight: Color.white }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationWarningBackground',
 "Input validation background color for warning severity."
)));
const inputValidationWarningForeground = registerColor('inputValidation.warningForeground', { dark: null, light: null, hcDark: null, hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationWarningForeground',
 "Input validation foreground color for warning severity."
)));
const inputValidationWarningBorder = registerColor('inputValidation.warningBorder', { dark: '#B89500', light: '#B89500', hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationWarningBorder',
 "Input validation border color for warning severity."
)));
const inputValidationErrorBackground = registerColor('inputValidation.errorBackground', { dark: '#5A1D1D', light: '#F2DEDE', hcDark: Color.black, hcLight: Color.white }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationErrorBackground',
 "Input validation background color for error severity."
)));
const inputValidationErrorForeground = registerColor('inputValidation.errorForeground', { dark: null, light: null, hcDark: null, hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationErrorForeground',
 "Input validation foreground color for error severity."
)));
const inputValidationErrorBorder = registerColor('inputValidation.errorBorder', { dark: '#BE1100', light: '#BE1100', hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'inputValidationErrorBorder',
 "Input validation border color for error severity."
)));
const selectBackground = registerColor('dropdown.background', { dark: '#3C3C3C', light: Color.white, hcDark: Color.black, hcLight: Color.white }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'dropdownBackground',
 "Dropdown background."
)));
const selectListBackground = registerColor('dropdown.listBackground', { dark: null, light: null, hcDark: Color.black, hcLight: Color.white }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'dropdownListBackground',
 "Dropdown list background."
)));
const selectForeground = registerColor('dropdown.foreground', { dark: '#F0F0F0', light: foreground, hcDark: Color.white, hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'dropdownForeground',
 "Dropdown foreground."
)));
const selectBorder = registerColor('dropdown.border', { dark: selectBackground, light: '#CECECE', hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'dropdownBorder',
 "Dropdown border."
)));
const buttonForeground = registerColor('button.foreground', { dark: Color.white, light: Color.white, hcDark: Color.white, hcLight: Color.white }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'buttonForeground',
 "Button foreground color."
)));
const buttonSeparator = registerColor('button.separator', { dark: ( transparent(buttonForeground, .4)), light: ( transparent(buttonForeground, .4)), hcDark: ( transparent(buttonForeground, .4)), hcLight: ( transparent(buttonForeground, .4)) }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'buttonSeparator',
 "Button separator color."
)));
const buttonBackground = registerColor('button.background', { dark: '#0E639C', light: '#007ACC', hcDark: null, hcLight: '#0F4A85' }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'buttonBackground',
 "Button background color."
)));
const buttonHoverBackground = registerColor('button.hoverBackground', { dark: ( lighten(buttonBackground, 0.2)), light: ( darken(buttonBackground, 0.2)), hcDark: buttonBackground, hcLight: buttonBackground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'buttonHoverBackground',
 "Button background color when hovering."
)));
const buttonBorder = registerColor('button.border', { dark: contrastBorder, light: contrastBorder, hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'buttonBorder',
 "Button border color."
)));
const buttonSecondaryForeground = registerColor('button.secondaryForeground', { dark: Color.white, light: Color.white, hcDark: Color.white, hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'buttonSecondaryForeground',
 "Secondary button foreground color."
)));
const buttonSecondaryBackground = registerColor('button.secondaryBackground', { dark: '#3A3D41', light: '#5F6A79', hcDark: null, hcLight: Color.white }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'buttonSecondaryBackground',
 "Secondary button background color."
)));
const buttonSecondaryHoverBackground = registerColor('button.secondaryHoverBackground', { dark: ( lighten(buttonSecondaryBackground, 0.2)), light: ( darken(buttonSecondaryBackground, 0.2)), hcDark: null, hcLight: null }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'buttonSecondaryHoverBackground',
 "Secondary button background color when hovering."
)));
const checkboxBackground = registerColor('checkbox.background', { dark: selectBackground, light: selectBackground, hcDark: selectBackground, hcLight: selectBackground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'checkbox.background',
 "Background color of checkbox widget."
)));
registerColor('checkbox.selectBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: editorWidgetBackground, hcLight: editorWidgetBackground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'checkbox.select.background',
 "Background color of checkbox widget when the element it's in is selected."
)));
const checkboxForeground = registerColor('checkbox.foreground', { dark: selectForeground, light: selectForeground, hcDark: selectForeground, hcLight: selectForeground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'checkbox.foreground',
 "Foreground color of checkbox widget."
)));
const checkboxBorder = registerColor('checkbox.border', { dark: selectBorder, light: selectBorder, hcDark: selectBorder, hcLight: selectBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'checkbox.border',
 "Border color of checkbox widget."
)));
registerColor('checkbox.selectBorder', { dark: iconForeground, light: iconForeground, hcDark: iconForeground, hcLight: iconForeground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'checkbox.select.border',
 "Border color of checkbox widget when the element it's in is selected."
)));
const keybindingLabelBackground = registerColor('keybindingLabel.background', { dark: ( new Color(( new RGBA(128, 128, 128, 0.17)))), light: ( new Color(( new RGBA(221, 221, 221, 0.4)))), hcDark: Color.transparent, hcLight: Color.transparent }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'keybindingLabelBackground',
 "Keybinding label background color. The keybinding label is used to represent a keyboard shortcut."
)));
const keybindingLabelForeground = registerColor('keybindingLabel.foreground', { dark: ( Color.fromHex('#CCCCCC')), light: ( Color.fromHex('#555555')), hcDark: Color.white, hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'keybindingLabelForeground',
 "Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut."
)));
const keybindingLabelBorder = registerColor('keybindingLabel.border', { dark: ( new Color(( new RGBA(51, 51, 51, 0.6)))), light: ( new Color(( new RGBA(204, 204, 204, 0.4)))), hcDark: ( new Color(( new RGBA(111, 195, 223)))), hcLight: contrastBorder }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'keybindingLabelBorder',
 "Keybinding label border color. The keybinding label is used to represent a keyboard shortcut."
)));
const keybindingLabelBottomBorder = registerColor('keybindingLabel.bottomBorder', { dark: ( new Color(( new RGBA(68, 68, 68, 0.6)))), light: ( new Color(( new RGBA(187, 187, 187, 0.4)))), hcDark: ( new Color(( new RGBA(111, 195, 223)))), hcLight: foreground }, ( localizeWithPath(
 'vs/platform/theme/common/colors/inputColors',
 'keybindingLabelBottomBorder',
 "Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut."
)));
export { buttonBackground, buttonBorder, buttonForeground, buttonHoverBackground, buttonSecondaryBackground, buttonSecondaryForeground, buttonSecondaryHoverBackground, buttonSeparator, checkboxBackground, checkboxBorder, checkboxForeground, inputActiveOptionBackground, inputActiveOptionBorder, inputActiveOptionForeground, inputBackground, inputBorder, inputForeground, inputPlaceholderForeground, inputValidationErrorBackground, inputValidationErrorBorder, inputValidationErrorForeground, inputValidationInfoBackground, inputValidationInfoBorder, inputValidationInfoForeground, inputValidationWarningBackground, inputValidationWarningBorder, inputValidationWarningForeground, keybindingLabelBackground, keybindingLabelBorder, keybindingLabelBottomBorder, keybindingLabelForeground, selectBackground, selectBorder, selectForeground, selectListBackground };
