license import { MDCFoundation } from '@material/base/foundation' ; import { MDCNotchedOutlineAdapter } from './adapter' ; import { cssClasses , numbers , strings } from './constants' ; export class MDCNotchedOutlineFoundation extends MDCFoundation < MDCNotchedOutlineAdapter > { static override get strings ( ) { return strings ; } static override get cssClasses ( ) { return cssClasses ; } static override get numbers ( ) { return numbers ; } /**
     * See  MDCNotchedOutlineAdapter for typing information on parameters and return types.
      static override get defaultAdapter ( ) : MDCNotchedOutlineAdapter { return { addClass : ( ) => undefined , removeClass : ( ) => undefined , setNotchWidthProperty : ( ) => undefined , removeNotchWidthProperty : ( ) => undefined , } ; } constructor ( adapter ? ) { super ( { ... MDCNotchedOutlineFoundation . defaultAdapter , ... adapter } ) ; } /**
     * Adds the outline notched selector and updates the notch width calculated based off of notchWidth.
     */ notch ( notchWidth ) { const { OUTLINE_NOTCHED } = MDCNotchedOutlineFoundation . cssClasses ; if ( notchWidth > 0 ) { notchWidth += numbers . NOTCH_ELEMENT_PADDING ; } this . adapter . setNotchWidthProperty ( notchWidth ) ; this . adapter . addClass ( OUTLINE_NOTCHED ) ; } /**
     * Removes notched outline selector to close the notch in the outline.
     */ closeNotch ( ) { const { OUTLINE_NOTCHED } = MDCNotchedOutlineFoundation . cssClasses ; this . adapter . removeClass ( OUTLINE_NOTCHED ) ; this . adapter . removeNotchWidthProperty ( ) ; } } export default MDCNotchedOutlineFoundation ;