<commit_before>import { Option } from '@ephox/katamari';

import { AlloyBehaviourRecord } from '../../api/behaviour/Behaviour';
import { AlloyComponent } from '../../api/component/ComponentApi';
import { SketchBehaviours } from '../../api/component/SketchBehaviours';
import { RawDomSchema } from '../../api/component/SpecTypes';
import { SingleSketch, SingleSketchDetail, SingleSketchSpec } from '../../api/ui/Sketcher';

// The V is because this is shared with Typeahead.
export interface InputDetail extends SingleSketchDetail {
  uid: () => string;
  dom: () => RawDomSchema;
  inputBehaviours: () => SketchBehaviours;

  placeholder: () => Option<string>;
  inputStyles: () => { };
  inputClasses: () => string[];
  inputAttributes: () => { };
  type: () => string;
  tag: () => string;
  data: () => Option<string>;
  onSetValue: () => (comp: AlloyComponent, data: string) => void;
  selectOnFocus: () => boolean;
  eventOrder: () => Record<string, string[]>;
}

export interface InputSpec extends SingleSketchSpec {
  uid?: string;
  tag?: string;
  inputClasses?: string[];
  inputAttributes?: { };
  inputStyles?: { };
  inputBehaviours?: AlloyBehaviourRecord;
  placeholder?: string;
  data?: string;

  selectOnFocus?: boolean;
  eventOrder?: Record<string, string[]>;
  onSetValue?: (comp: AlloyComponent, data: string) => void;<commit_msg>add type to InputTypes InputSpec interface<commit_after>import { Option } from '@ephox/katamari';

import { AlloyBehaviourRecord } from '../../api/behaviour/Behaviour';
import { AlloyComponent } from '../../api/component/ComponentApi';
import { SketchBehaviours } from '../../api/component/SketchBehaviours';
import { RawDomSchema } from '../../api/component/SpecTypes';
import { SingleSketch, SingleSketchDetail, SingleSketchSpec } from '../../api/ui/Sketcher';

// The V is because this is shared with Typeahead.
export interface InputDetail extends SingleSketchDetail {
  uid: () => string;
  dom: () => RawDomSchema;
  inputBehaviours: () => SketchBehaviours;

  placeholder: () => Option<string>;
  inputStyles: () => { };
  inputClasses: () => string[];
  inputAttributes: () => { };
  type: () => string;
  tag: () => string;
  data: () => Option<string>;
  onSetValue: () => (comp: AlloyComponent, data: string) => void;
  selectOnFocus: () => boolean;
  eventOrder: () => Record<string, string[]>;
}

export interface InputSpec extends SingleSketchSpec {
  uid?: string;
  tag?: string;
  inputClasses?: string[];
  inputAttributes?: { };
  inputStyles?: { };
  inputBehaviours?: AlloyBehaviourRecord;
  placeholder?: string;
  data?: string;
  type?: string;

  selectOnFocus?: boolean;
  eventOrder?: Record<string, string[]>;
  onSetValue?: (comp: AlloyComponent, data: string) => void;
{'fraction_non_alphanumeric': 0.17127272727272727, 'fraction_numerical': 0.0, 'mean_word_length': 4.458333333333333, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 41, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1553575', 'n_tokens_mistral': 838, 'n_tokens_neox': 842, 'n_words': 204}