{"version":3,"file":"WithKeyboardFocus.mjs","names":["PureComponent","createHoc","internalSetState","fire","usingKeyBoard","EnhancedWithKeyboardFocus","_PureComponent","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","keyboardFocused","e","_createClass","key","value","render","_this$props","props","children","tabIndex","disabled","state","onFocus","handlerFocus","onBlur","handlerBlur","onKeyDown","handlerKeyDown","onMouseDown","handlerMouseDown","getDerivedStateFromProps","undefined"],"sources":["../../src/enhances/WithKeyboardFocus.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport createHoc from '../createHoc';\nimport { internalSetState } from '../uncontroll';\nimport fire from '../fire';\nimport { UnknownProperties } from '../core';\n\n/** @deprecated */\nexport interface IEnhancedWithKeyboardFocusInjectedProps\n  extends EnhancedWithKeyboardFocusInjectedProps {}\nexport type EnhancedWithKeyboardFocusInjectedProps = {\n  tabIndex: number;\n  keyboardFocused: boolean;\n\n  onFocus(e: FocusEvent): void;\n\n  onBlur(e: FocusEvent): void;\n\n  onKeyDown(e: KeyboardEvent): void;\n\n  onMouseDown(e: MouseEvent): void;\n};\n\n/** @deprecated */\nexport interface IEnhancedWithKeyboardFocusProps\n  extends EnhancedWithKeyboardFocusProps,\n    UnknownProperties {}\nexport type EnhancedWithKeyboardFocusProps = {\n  keyboardFocused?: boolean;\n  tabIndex?: number;\n  disabled?: boolean;\n\n  children(props: IEnhancedWithKeyboardFocusInjectedProps): React.ReactNode;\n};\n\n/** @deprecated */\nexport interface IEnhancedWithKeyboardFocusState\n  extends EnhancedWithKeyboardFocusState,\n    UnknownProperties {}\nexport type EnhancedWithKeyboardFocusState = {\n  keyboardFocused: boolean;\n};\n\nlet usingKeyBoard = true;\n\nexport class EnhancedWithKeyboardFocus extends PureComponent<\n  IEnhancedWithKeyboardFocusProps,\n  IEnhancedWithKeyboardFocusState\n> {\n  static displayName = 'EnhancedWithKeyboardFocus';\n\n  static defaultProps = {\n    tabIndex: 0,\n  };\n\n  static getDerivedStateFromProps(props: any, state: any) {\n    if (props.keyboardFocused !== undefined) {\n      return {\n        keyboardFocused: props.keyboardFocused,\n      };\n    }\n    return state;\n  }\n\n  state = {\n    keyboardFocused: false,\n  };\n\n  handlerFocus = (e: FocusEvent) => {\n    fire(this, 'onFocus', e);\n    if (usingKeyBoard) {\n      internalSetState(this, { keyboardFocused: true });\n    }\n  };\n\n  handlerBlur = (e: FocusEvent) => {\n    fire(this, 'onBlur', e);\n    internalSetState(this, { keyboardFocused: false });\n  };\n\n  handlerKeyDown = (e: KeyboardEvent) => {\n    fire(this, 'onKeyDown', e);\n    usingKeyBoard = true;\n  };\n\n  handlerMouseDown = (e: MouseEvent) => {\n    fire(this, 'onMouseDown', e);\n    usingKeyBoard = false;\n  };\n\n  render() {\n    const { children, tabIndex, disabled } = this.props;\n    const { keyboardFocused } = this.state;\n    return children({\n      tabIndex: disabled ? -1 : tabIndex!,\n      keyboardFocused,\n      onFocus: this.handlerFocus,\n      onBlur: this.handlerBlur,\n      onKeyDown: this.handlerKeyDown,\n      onMouseDown: this.handlerMouseDown,\n    });\n  }\n}\n\nexport default createHoc(EnhancedWithKeyboardFocus);\n"],"mappings":";;;;;;AAAA,SAAgBA,aAAa,QAAQ,OAAO;AAC5C,OAAOC,SAAS,MAAM,kBAAc;AACpC,SAASC,gBAAgB,QAAQ,mBAAe;AAChD,OAAOC,IAAI,MAAM,aAAS;AAuC1B,IAAIC,aAAa,GAAG,IAAI;AAExB,WAAaC,yBAAyB,0BAAAC,cAAA;EAAAC,SAAA,CAAAF,yBAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,yBAAA;EAAA,SAAAA,0BAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,yBAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,YAmB5B;MACNa,eAAe,EAAE;IACnB,CAAC;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,mBAEc,UAACc,CAAa,EAAK;MAChCrB,IAAI,CAAAmB,sBAAA,CAAAZ,KAAA,GAAO,SAAS,EAAEc,CAAC,CAAC;MACxB,IAAIpB,aAAa,EAAE;QACjBF,gBAAgB,CAAAoB,sBAAA,CAAAZ,KAAA,GAAO;UAAEa,eAAe,EAAE;QAAK,CAAC,CAAC;MACnD;IACF,CAAC;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,kBAEa,UAACc,CAAa,EAAK;MAC/BrB,IAAI,CAAAmB,sBAAA,CAAAZ,KAAA,GAAO,QAAQ,EAAEc,CAAC,CAAC;MACvBtB,gBAAgB,CAAAoB,sBAAA,CAAAZ,KAAA,GAAO;QAAEa,eAAe,EAAE;MAAM,CAAC,CAAC;IACpD,CAAC;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,qBAEgB,UAACc,CAAgB,EAAK;MACrCrB,IAAI,CAAAmB,sBAAA,CAAAZ,KAAA,GAAO,WAAW,EAAEc,CAAC,CAAC;MAC1BpB,aAAa,GAAG,IAAI;IACtB,CAAC;IAAAiB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,uBAEkB,UAACc,CAAa,EAAK;MACpCrB,IAAI,CAAAmB,sBAAA,CAAAZ,KAAA,GAAO,aAAa,EAAEc,CAAC,CAAC;MAC5BpB,aAAa,GAAG,KAAK;IACvB,CAAC;IAAA,OAAAM,KAAA;EAAA;EAAAe,YAAA,CAAApB,yBAAA;IAAAqB,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAA,EAAS;MACP,IAAAC,WAAA,GAAyC,IAAI,CAACC,KAAK;QAA3CC,QAAQ,GAAAF,WAAA,CAARE,QAAQ;QAAEC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;QAAEC,QAAQ,GAAAJ,WAAA,CAARI,QAAQ;MACpC,IAAQV,eAAe,GAAK,IAAI,CAACW,KAAK,CAA9BX,eAAe;MACvB,OAAOQ,QAAQ,CAAC;QACdC,QAAQ,EAAEC,QAAQ,GAAG,CAAC,CAAC,GAAGD,QAAS;QACnCT,eAAe,EAAfA,eAAe;QACfY,OAAO,EAAE,IAAI,CAACC,YAAY;QAC1BC,MAAM,EAAE,IAAI,CAACC,WAAW;QACxBC,SAAS,EAAE,IAAI,CAACC,cAAc;QAC9BC,WAAW,EAAE,IAAI,CAACC;MACpB,CAAC,CAAC;IACJ;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EA9CD,SAAAgB,yBAAgCb,KAAU,EAAEI,KAAU,EAAE;MACtD,IAAIJ,KAAK,CAACP,eAAe,KAAKqB,SAAS,EAAE;QACvC,OAAO;UACLrB,eAAe,EAAEO,KAAK,CAACP;QACzB,CAAC;MACH;MACA,OAAOW,KAAK;IACd;EAAC;EAAA,OAAA7B,yBAAA;AAAA,EAjB4CL,aAAa;AAyD3DqB,eAAA,CAzDYhB,yBAAyB,iBAIf,2BAA2B;AAAAgB,eAAA,CAJrChB,yBAAyB,kBAMd;EACpB2B,QAAQ,EAAE;AACZ,CAAC;AAmDH,eAAe/B,SAAS,CAACI,yBAAyB,CAAC"}