{"version":3,"file":"/Users/anthonygubler/development/dojo-org/widgets/src/typeahead/index.tsx","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { create, tsx } from '@dojo/framework/core/vdom';\nimport { PopupPosition } from '@dojo/widgets/popup';\nimport { RenderResult } from '@dojo/framework/core/interfaces';\nimport { createICacheMiddleware } from '@dojo/framework/core/middleware/icache';\nimport List, {\n\tItemRendererProperties,\n\tListOption,\n\tListItemProperties,\n\tMenuItemProperties,\n\tListProperties\n} from '../list';\nimport theme from '../middleware/theme';\nimport focus from '@dojo/framework/core/middleware/focus';\nimport * as css from '../theme/default/typeahead.m.css';\nimport TriggerPopup from '../trigger-popup';\nimport { createResourceMiddleware } from '@dojo/framework/core/middleware/resources';\nimport TextInput from '../text-input';\nimport bundle from '../select/nls/Select';\nimport i18n from '@dojo/framework/core/middleware/i18n';\nimport HelperText from '../helper-text';\nimport * as listCss from '../theme/default/list.m.css';\nimport { Keys } from '../common/util';\nimport LoadingIndicator from '../loading-indicator';\nimport * as inputCss from '../theme/default/text-input.m.css';\nimport { find } from '@dojo/framework/shim/array';\nimport Icon from '../icon';\nimport * as iconCss from '../theme/default/icon.m.css';\n\nexport interface TypeaheadProperties {\n\t/** Callback called when user selects a value */\n\tonValue(value: ListOption): void;\n\t/** The initial selected value */\n\tinitialValue?: string;\n\t/** Property to determine how many items to render. Defaults to 6 */\n\titemsInView?: number;\n\t/** Placement of the select menu; 'above' or 'below' */\n\tposition?: PopupPosition;\n\t/** Property to determine if the input is disabled */\n\tdisabled?: boolean;\n\t/** Sets the helper text of the input */\n\thelperText?: string;\n\t/** Boolean to indicate if field is required */\n\trequired?: boolean;\n\t/** Callback when valid state has changed */\n\tonValidate?(valid?: boolean): void;\n\t/** The name property of the input */\n\tname?: string;\n\t/** Optional controlled value of the typeahead */\n\tvalue?: string;\n\t/** Callback fired when the input is blurred */\n\tonBlur?(): void;\n\t/** Callback fired when the input is focused */\n\tonFocus?(): void;\n\t/** Callback to determine if an individual item is disabled */\n\titemDisabled?: ListProperties['disabled'];\n\t/** Flag to indicate if values other than those in the resource can be entered, defaults to true */\n\tstrict?: boolean;\n\t/** Flag to indicate if drop down arrow should be shown in trailing section of text input, defaults to false */\n\thasDownArrow?: boolean;\n\t/** The kind of typeahead input */\n\tkind?: 'outlined' | 'filled';\n}\n\nexport interface TypeaheadICache {\n\tvalue: string;\n\tlabelValue: string;\n\tlastValue: string | undefined;\n\tactiveIndex: number;\n\tdirty: boolean;\n\texpanded: boolean;\n\tfocused: boolean;\n\tfocusNode: string;\n\tinitial: string;\n\tvalid: boolean | undefined;\n\tselectedOption?: ListOption;\n}\n\nexport interface TypeaheadChildren {\n\t/** The label to show */\n\tlabel?: RenderResult;\n\t/** Custom renderer for item contents */\n\titems?: (\n\t\titem: ItemRendererProperties,\n\t\tprops: ListItemProperties & MenuItemProperties\n\t) => RenderResult;\n\tleading?: RenderResult;\n}\n\nconst factory = create({\n\ticache: createICacheMiddleware<TypeaheadICache>(),\n\tresource: createResourceMiddleware<ListOption>(),\n\ttheme,\n\tfocus,\n\ti18n\n})\n\t.properties<TypeaheadProperties>()\n\t.children<TypeaheadChildren | undefined>();\n\nexport const Typeahead = factory(function Typeahead({\n\tid,\n\tproperties,\n\tchildren,\n\tmiddleware: { icache, resource, theme, focus, i18n }\n}) {\n\tconst {\n\t\tinitialValue,\n\t\tdisabled,\n\t\trequired,\n\t\tposition,\n\t\tname,\n\t\thelperText,\n\t\titemsInView,\n\t\tonValidate,\n\t\tstrict = true,\n\t\tvalue: controlledValue,\n\t\titemDisabled,\n\t\tresource: {\n\t\t\ttemplate,\n\t\t\toptions = resource.createOptions((curr, next) => ({ ...curr, ...next }))\n\t\t},\n\t\tclasses,\n\t\ttheme: themeProp,\n\t\tvariant,\n\t\thasDownArrow,\n\t\tkind\n\t} = properties();\n\tconst {\n\t\tget,\n\t\ttemplate: { read }\n\t} = resource.template(template);\n\n\tconst themedCss = theme.classes(css);\n\tconst { messages } = i18n.localize(bundle);\n\n\tconst [{ label, items, leading } = {} as TypeaheadChildren] = children();\n\n\tif (\n\t\tinitialValue !== undefined &&\n\t\tcontrolledValue === undefined &&\n\t\tinitialValue !== icache.get('initial')\n\t) {\n\t\ticache.set('initial', initialValue);\n\t\ticache.set('value', initialValue);\n\t\ticache.delete('labelValue');\n\t}\n\tconst updatedValue = icache.get('lastValue') !== controlledValue;\n\tif (controlledValue !== undefined && updatedValue) {\n\t\ticache.set('value', controlledValue);\n\t\ticache.set('lastValue', controlledValue);\n\t\ticache.delete('labelValue');\n\t\ticache.set('selectedOption', (option) => {\n\t\t\tif (option && option.value !== controlledValue) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\treturn option;\n\t\t});\n\t\toptions({ query: { value: controlledValue } });\n\t}\n\n\tlet valid = icache.get('valid');\n\tlet value = icache.get('value');\n\tlet labelValue = icache.get('labelValue');\n\tconst listId = `typeahead-list-${id}`;\n\tconst triggerId = `typeahead-trigger-${id}`;\n\tconst dirty = icache.get('dirty');\n\n\tfunction callOnValue(value: ListOption) {\n\t\tconst { onValidate, onValue, required } = properties();\n\t\tconst lastValue = icache.get('lastValue');\n\n\t\tif (lastValue === value.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet valid = required ? true : undefined;\n\t\tif (required && !value) {\n\t\t\tvalid = false;\n\t\t}\n\n\t\ticache.set('lastValue', value.value);\n\t\ticache.set('valid', valid);\n\t\tvalue && onValue && onValue(value);\n\t\tonValidate && onValidate(valid);\n\t}\n\n\tfunction onKeyDown(\n\t\tevent: number,\n\t\tpreventDefault: () => void,\n\t\tonOpen: () => boolean,\n\t\tonClose: () => void\n\t) {\n\t\tconst {\n\t\t\tmeta: { total = 0 }\n\t\t} = get(options(), { meta: true, read });\n\t\tswitch (event) {\n\t\t\tcase Keys.Escape:\n\t\t\t\tonClose();\n\t\t\t\tbreak;\n\t\t\tcase Keys.Down:\n\t\t\t\tpreventDefault();\n\t\t\t\tif (!onOpen()) {\n\t\t\t\t\ticache.set('activeIndex', (activeIndex = strict ? 0 : -1) => {\n\t\t\t\t\t\treturn total ? (activeIndex + 1) % total : total;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase Keys.Up:\n\t\t\t\tpreventDefault();\n\t\t\t\tif (!onOpen()) {\n\t\t\t\t\ticache.set('activeIndex', (activeIndex = 0) => {\n\t\t\t\t\t\tactiveIndex = activeIndex === -1 ? 0 : activeIndex;\n\t\t\t\t\t\treturn total ? (activeIndex - 1 + total) % total : total;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase Keys.Tab:\n\t\t\tcase Keys.Enter:\n\t\t\t\tpreventDefault();\n\t\t\t\tconst activeIndex = icache.getOrSet('activeIndex', strict ? 0 : -1);\n\t\t\t\tconst labelValue = icache.get('labelValue');\n\t\t\t\tif (activeIndex > -1 || labelValue) {\n\t\t\t\t\tconst data = get({ ...options(), size: total });\n\t\t\t\t\tlet selectedValue: ListOption | undefined;\n\t\t\t\t\tconst activeItem = data[activeIndex];\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tif (!data.length) {\n\t\t\t\t\t\t\tif (required) {\n\t\t\t\t\t\t\t\ticache.set('valid', false);\n\t\t\t\t\t\t\t\tonValidate && onValidate(false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions({ query: {} });\n\t\t\t\t\t\t\ticache.set('labelValue', '');\n\t\t\t\t\t\t} else if (activeItem) {\n\t\t\t\t\t\t\tconst disabled = itemDisabled\n\t\t\t\t\t\t\t\t? itemDisabled(activeItem)\n\t\t\t\t\t\t\t\t: !!activeItem.disabled;\n\t\t\t\t\t\t\tif (!disabled) {\n\t\t\t\t\t\t\t\tconst { value: itemValue, label, disabled, divider } = activeItem;\n\t\t\t\t\t\t\t\tselectedValue = { value: itemValue, label, disabled, divider };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (activeItem) {\n\t\t\t\t\t\t\tconst disabled = itemDisabled\n\t\t\t\t\t\t\t\t? itemDisabled(activeItem)\n\t\t\t\t\t\t\t\t: !!activeItem.disabled;\n\t\t\t\t\t\t\tif (!disabled) {\n\t\t\t\t\t\t\t\tconst { value: itemValue, label, disabled, divider } = activeItem;\n\t\t\t\t\t\t\t\tselectedValue = { value: itemValue, label, disabled, divider };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!selectedValue && labelValue) {\n\t\t\t\t\t\t\tselectedValue = find(data, (item) => {\n\t\t\t\t\t\t\t\tif (item) {\n\t\t\t\t\t\t\t\t\treturn item.label.toLowerCase() === labelValue!.toLowerCase();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (!selectedValue) {\n\t\t\t\t\t\t\t\tselectedValue = { value: labelValue, label: labelValue };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (selectedValue) {\n\t\t\t\t\t\ticache.set('value', selectedValue.value);\n\t\t\t\t\t\ticache.set('selectedOption', selectedValue);\n\t\t\t\t\t\tcallOnValue(selectedValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tonClose();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tconst {\n\t\tmeta: { total, status }\n\t} = get(options(), { meta: true, read });\n\tconst selectedOption = icache.get('selectedOption');\n\tif (required && dirty) {\n\t\tconst isValid = Boolean(selectedOption) || Boolean(!strict && !!labelValue);\n\t\tif (isValid !== valid) {\n\t\t\ticache.set('valid', isValid);\n\t\t\tvalid = isValid;\n\t\t\tonValidate && onValidate(isValid);\n\t\t}\n\t}\n\n\tif (!icache.get('selectedOption') && value) {\n\t\tconst currentItems = get(options(), { read }) || [];\n\t\tconst option = currentItems.find((item) => Boolean(item && item.value === value));\n\t\tif (option) {\n\t\t\ticache.set('selectedOption', option);\n\t\t} else {\n\t\t\tconst findItem =\n\t\t\t\tget({ ...options(), query: { ...options().query, value } }, { read }) || [];\n\t\t\tif (findItem) {\n\t\t\t\ticache.set('selectedOption', findItem[0]);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst expanded = icache.get('expanded');\n\tconst focused = icache.get('focused');\n\n\treturn (\n\t\t<div\n\t\t\tkey=\"root\"\n\t\t\tclasses={[\n\t\t\t\ttheme.variant(),\n\t\t\t\tthemedCss.root,\n\t\t\t\tdisabled && themedCss.disabled,\n\t\t\t\tvalid === true && themedCss.valid,\n\t\t\t\tvalid === false && themedCss.invalid,\n\t\t\t\texpanded && themedCss.expanded,\n\t\t\t\tfocused && themedCss.focused\n\t\t\t]}\n\t\t>\n\t\t\t<TriggerPopup\n\t\t\t\tkey=\"popup\"\n\t\t\t\tonOpen={() => icache.set('expanded', true)}\n\t\t\t\tonClose={() => {\n\t\t\t\t\ticache.set('expanded', false);\n\t\t\t\t\tif (!icache.get('dirty')) {\n\t\t\t\t\t\ticache.set('dirty', true);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tposition={position}\n\t\t\t\tclasses={classes}\n\t\t\t\ttheme={themeProp}\n\t\t\t\tvariant={variant}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\ttrigger: (toggleOpen) => {\n\t\t\t\t\t\tfunction openMenu() {\n\t\t\t\t\t\t\tconst { disabled } = properties();\n\n\t\t\t\t\t\t\tif (!disabled && !icache.get('expanded')) {\n\t\t\t\t\t\t\t\ttoggleOpen();\n\t\t\t\t\t\t\t\ticache.set('expanded', true);\n\t\t\t\t\t\t\t\ticache.set('activeIndex', strict ? 0 : -1);\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfunction closeMenu() {\n\t\t\t\t\t\t\tif (icache.get('expanded')) {\n\t\t\t\t\t\t\t\ttoggleOpen();\n\t\t\t\t\t\t\t\ticache.set('expanded', false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!icache.get('dirty')) {\n\t\t\t\t\t\t\t\ticache.set('dirty', true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst selectedOption = icache.get('selectedOption');\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\tautocomplete={false}\n\t\t\t\t\t\t\t\tonValue={(value) => {\n\t\t\t\t\t\t\t\t\topenMenu();\n\t\t\t\t\t\t\t\t\toptions({ query: { label: value } });\n\t\t\t\t\t\t\t\t\ticache.set('labelValue', value || '');\n\t\t\t\t\t\t\t\t\ticache.set('activeIndex', strict ? 0 : -1);\n\t\t\t\t\t\t\t\t\ticache.delete('value');\n\t\t\t\t\t\t\t\t\ticache.delete('selectedOption');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ttheme={theme.compose(\n\t\t\t\t\t\t\t\t\tinputCss,\n\t\t\t\t\t\t\t\t\tcss,\n\t\t\t\t\t\t\t\t\t'input'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\t\t\tconst { onFocus } = properties();\n\t\t\t\t\t\t\t\t\ticache.set('focused', true);\n\t\t\t\t\t\t\t\t\tonFocus && onFocus();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\t\tconst { onBlur } = properties();\n\t\t\t\t\t\t\t\t\ticache.set('focused', false);\n\t\t\t\t\t\t\t\t\tif (!strict) {\n\t\t\t\t\t\t\t\t\t\tconst value = icache.getOrSet('labelValue', '');\n\t\t\t\t\t\t\t\t\t\tconst currentOption = icache.get('selectedOption');\n\t\t\t\t\t\t\t\t\t\tconst selectedOption = icache.set(\n\t\t\t\t\t\t\t\t\t\t\t'selectedOption',\n\t\t\t\t\t\t\t\t\t\t\t(selectedOption) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (selectedOption) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn selectedOption;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn { value, label: value };\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\ticache.set(\n\t\t\t\t\t\t\t\t\t\t\t'value',\n\t\t\t\t\t\t\t\t\t\t\tselectedOption ? selectedOption.value : value\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (selectedOption) {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t!currentOption ||\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentOption.value !== selectedOption.value\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tcallOnValue(selectedOption);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tcloseMenu();\n\t\t\t\t\t\t\t\t\tonBlur && onBlur();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tvalue={selectedOption ? selectedOption.label : labelValue || ''}\n\t\t\t\t\t\t\t\tfocus={() =>\n\t\t\t\t\t\t\t\t\ticache.get('focusNode') === 'trigger' && focus.shouldFocus()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria={{\n\t\t\t\t\t\t\t\t\tcontrols: listId,\n\t\t\t\t\t\t\t\t\thaspopup: 'listbox',\n\t\t\t\t\t\t\t\t\texpanded: `${icache.getOrSet('expanded', false)}`\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tkey=\"trigger\"\n\t\t\t\t\t\t\t\twidgetId={triggerId}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\tclasses={{\n\t\t\t\t\t\t\t\t\t'@dojo/widgets/text-input': {\n\t\t\t\t\t\t\t\t\t\troot: [themedCss.trigger]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\tonClick={openMenu}\n\t\t\t\t\t\t\t\tonKeyDown={(event, preventDefault) => {\n\t\t\t\t\t\t\t\t\tonKeyDown(event, preventDefault, openMenu, closeMenu);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalid={valid}\n\t\t\t\t\t\t\t\tkind={kind}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tleading,\n\t\t\t\t\t\t\t\t\ttrailing: hasDownArrow && (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\tclasses={themedCss.arrow}\n\t\t\t\t\t\t\t\t\t\t\tonclick={openMenu}\n\t\t\t\t\t\t\t\t\t\t\tonkeydown={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.which === Keys.Down ||\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.which === Keys.Space ||\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.which === Keys.Enter\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\topenMenu();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"downIcon\"\n\t\t\t\t\t\t\t\t\t\t\t\ttheme={theme.compose(\n\t\t\t\t\t\t\t\t\t\t\t\t\ticonCss,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcss,\n\t\t\t\t\t\t\t\t\t\t\t\t\t'icon'\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tclasses={classes}\n\t\t\t\t\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</TextInput>\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\tcontent: (toggleClosed) => {\n\t\t\t\t\t\tfunction closeMenu() {\n\t\t\t\t\t\t\ticache.set('focusNode', 'trigger');\n\t\t\t\t\t\t\ttoggleClosed();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst { itemDisabled } = properties();\n\n\t\t\t\t\t\treturn total === undefined && status === 'reading' ? (\n\t\t\t\t\t\t\t<LoadingIndicator\n\t\t\t\t\t\t\t\tkey=\"loading\"\n\t\t\t\t\t\t\t\ttheme={themeProp}\n\t\t\t\t\t\t\t\tclasses={classes}\n\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div key=\"menu-wrapper\" classes={themedCss.menuWrapper}>\n\t\t\t\t\t\t\t\t<List\n\t\t\t\t\t\t\t\t\tkey=\"menu\"\n\t\t\t\t\t\t\t\t\theight=\"auto\"\n\t\t\t\t\t\t\t\t\tfocusable={false}\n\t\t\t\t\t\t\t\t\tactiveIndex={icache.getOrSet('activeIndex', strict ? 0 : -1)}\n\t\t\t\t\t\t\t\t\tresource={resource({ template, options })}\n\t\t\t\t\t\t\t\t\tdisabled={itemDisabled}\n\t\t\t\t\t\t\t\t\tclasses={classes}\n\t\t\t\t\t\t\t\t\tonValue={(value) => {\n\t\t\t\t\t\t\t\t\t\tfocus.focus();\n\t\t\t\t\t\t\t\t\t\tcloseMenu();\n\t\t\t\t\t\t\t\t\t\tif (value.value !== icache.get('value')) {\n\t\t\t\t\t\t\t\t\t\t\ticache.set('value', value.value);\n\t\t\t\t\t\t\t\t\t\t\ticache.set('selectedOption', value);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcallOnValue(value);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonRequestClose={closeMenu}\n\t\t\t\t\t\t\t\t\tonBlur={closeMenu}\n\t\t\t\t\t\t\t\t\tinitialValue={value}\n\t\t\t\t\t\t\t\t\titemsInView={itemsInView}\n\t\t\t\t\t\t\t\t\ttheme={theme.compose(\n\t\t\t\t\t\t\t\t\t\tlistCss,\n\t\t\t\t\t\t\t\t\t\tcss,\n\t\t\t\t\t\t\t\t\t\t'menu'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\t\twidgetId={listId}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{items}\n\t\t\t\t\t\t\t\t</List>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t</TriggerPopup>\n\t\t\t<HelperText\n\t\t\t\tkey=\"helperText\"\n\t\t\t\ttext={valid === false ? messages.requiredMessage : helperText}\n\t\t\t\tvalid={valid}\n\t\t\t\tclasses={classes}\n\t\t\t\ttheme={themeProp}\n\t\t\t\tvariant={variant}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nexport default Typeahead;\n"]}