{"version":3,"sources":["webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/is-regex/index.js","webpack:///./node_modules/is-arguments/index.js","webpack:///./node_modules/regexp.prototype.flags/index.js","webpack:///./node_modules/es-abstract/GetIntrinsic.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/@instructure/ui-layout/es/Position/theme.js","webpack:///./node_modules/@instructure/ui-layout/es/Position/index.js","webpack:///./node_modules/@instructure/ui-forms/node_modules/@instructure/ui-icons/es/IconArrowOpenDownLine.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/utils/getOptionId.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/SelectOptionsList/theme.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/SelectOptionsList/index.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/SelectField/theme.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/SelectField/index.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/SelectSingle/index.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/SelectMultiple/theme.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/SelectMultiple/index.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/utils/parseOptions.js","webpack:///./node_modules/@instructure/ui-forms/es/Select/index.js","webpack:///./node_modules/is-date-object/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/@instructure/ui-tag/node_modules/@instructure/ui-icons/es/IconXSolid.js","webpack:///./node_modules/@instructure/ui-tag/es/Tag/theme.js","webpack:///./node_modules/@instructure/ui-tag/es/Tag/index.js","webpack:///./node_modules/regexp.prototype.flags/shim.js","webpack:///./node_modules/@instructure/ui-dom-utils/es/getFontSize.js","webpack:///./node_modules/@instructure/ui-utils/es/px.js","webpack:///./node_modules/es-abstract/helpers/callBind.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/regexp.prototype.flags/polyfill.js","webpack:///./node_modules/regexp.prototype.flags/implementation.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/object-is/index.js","webpack:///./node_modules/@instructure/ui-prop-types/es/controllable.js","webpack:///./node_modules/@instructure/debounce/es/debounce.js","webpack:///./node_modules/deep-equal/index.js","webpack:///./node_modules/@instructure/ui-dom-utils/es/getBoundingClientRect.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/@instructure/ui-layout/es/jsonToMediaQuery.js","webpack:///./node_modules/@instructure/ui-layout/es/LayoutPropTypes.js"],"names":["toStr","Object","prototype","toString","module","exports","value","str","call","isArgs","length","callee","slice","Array","origKeys","keys","keysShim","o","originalKeys","shim","keysWorksWithArguments","args","arguments","object","hasSymbols","hasToStringTag","Symbol","toStringTag","hasOwnProperty","regexExec","isRegexMarker","badStringifier","Function","bind","RegExp","exec","throwRegexMarker","valueOf","toPrimitive","gOPD","getOwnPropertyDescriptor","regexClass","descriptor","hasLastIndexDataProperty","e","isStandardArguments","isLegacyArguments","supportsStandardArguments","define","callBind","implementation","getPolyfill","flagsBound","undefined","$TypeError","TypeError","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","get","gOPDthrows","getProto","getPrototypeOf","x","__proto__","generator","generatorFunction","asyncFn","asyncFunction","constructor","asyncGen","asyncGenFunction","asyncGenIterator","TypedArray","Uint8Array","INTRINSICS","ArrayBuffer","iterator","entries","forEach","values","asyncIterator","Atomics","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","Error","eval","EvalError","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","isFinite","isNaN","JSON","parse","Map","Math","Number","parseFloat","parseInt","Promise","then","all","reject","resolve","Proxy","RangeError","ReferenceError","Reflect","Set","SharedArrayBuffer","String","SyntaxError","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakSet","$replace","replace","rePropName","reEscapeChar","stringToPath","string","result","match","number","quote","subString","getBaseIntrinsic","name","allowMissing","parts","i","desc","concat","origDefineProperty","defineProperty","isFunction","fn","arePropertyDescriptorsSupported","obj","enumerable","_","supportsDescriptors","predicate","configurable","writable","defineProperties","map","predicates","props","getOwnPropertySymbols","stacking","_ref","zIndex","topmost","_dec","_class","_class2","_temp","_dec2","_class3","_class4","_temp2","_dec3","_dec4","_dec5","_class5","_class6","_temp3","styles","componentId","template","theme","testable","_ComponentIdentifier","PositionTarget","_super","this","apply","ComponentIdentifier","displayName","locatorAttribute","_ComponentIdentifier2","PositionContent","_super2","propTypes","children","node","placement","PositionPropTypes","deprecated","_Component","Position","_super3","key","_this$props","id","trackPosition","offsetX","offsetY","mountNode","target","insertAt","over","onPositioned","onPositionChanged","constrain","passthroughProps","renderTarget","pick","Target","content","Content","createElement","assign","shouldTrackPosition","shouldPositionOverTarget","oneOfType","func","bool","oneOf","defaultProps","position","d","fillRule","stroke","strokeWidth","transform","IconArrowOpenDownLine","SVGIcon","viewBox","glyphName","variant","getOptionId","option","colors","typography","spacing","borders","forms","fontFamily","fontWeight","fontWeightNormal","groupFontWeight","fontWeightBold","lineHeight","lineHeightCondensed","labelColor","textDarkest","background","backgroundLightest","highlightedBackground","backgroundBrand","activeBackground","backgroundDark","activeLabelColor","textLightest","padding","xSmall","small","iconPaddingEnd","groupPadding","medium","smallFontSize","fontSizeSmall","mediumFontSize","fontSizeMedium","largeFontSize","fontSizeLarge","canvas","variables","SelectOptionsList","_this","_len","_key","optionHeight","handleClick","event","disabled","groupLabel","preventDefault","onSelect","message","size","onStaticClick","tabIndex","role","className","onClick","label","icon","Icon","_this2","_this$props2","options","optionsId","loadingText","emptyOption","selectedOption","onHighlightOption","highlightedIndex","renderStaticOption","Spinner","renderTitle","index","_classnames2","groupItem","selected","handlers","onMouseEnter","highlighted","renderIcon","_this3","_this$props3","menuRef","visibleOptionsCount","maxWidth","View","style","container","borderWidth","borderRadius","shadow","expanded","optionsList","onKeyDown","onKeyUp","onBlur","stopPropagation","nativeEvent","stopImmediatePropagation","ref","el","querySelector","clientHeight","maxHeight","renderOptions","shape","isRequired","arrayOf","widthSmall","borderStyle","borderColor","borderMedium","radiusMedium","color","iconColor","inputPadding","focusOutlineWidth","widthMedium","focusOutlineColor","borderBrand","focusOutlineStyle","errorBorderColor","borderDanger","errorOutlineColor","placeholderColor","textDark","smallHeight","inputHeightSmall","mediumHeight","inputHeightMedium","largeHeight","inputHeightLarge","focusBorderColor","SelectField","_menu","_input","_inputContainer","_timeouts","timeoutId","open","setState","highlightSelectedOption","onOpen","close","state","onClose","select","closeOnSelect","selectedIndex","push","setTimeout","highlightOption","onHighlight","menu","findDOMNode","item","querySelectorAll","parentTop","scrollTop","elemTop","offsetTop","parentBottom","elemBottom","handleHomeKey","handleEndKey","handleEnterKey","handleUpArrowKey","max","focus","handleDownArrowKey","min","handleSpaceKey","keyMap","up","down","home","end","enter","space","handlePositioned","positioned","handleKeyDown","names","keyCode","editable","handleKeyUp","handleMouseDown","handleFocus","onFocus","handleBlur","persist","stillFocused","contains","relatedTarget","containsActiveElement","readOnly","isActiveElement","handleChange","onInputChange","handleMenuRef","handleInputRef","handleInputContainerRef","getSelectedIndex","_defaultId","uid","_optionsId","_assistId","findIndex","nextProps","timeout","clearTimeout","inputIcon","_classnames","required","width","assistiveText","layout","announcement","inputProps","highlightedOption","wrappedLabel","htmlFor","hasVisibleChildren","ScreenReaderContent","as","vAlign","onMouseDown","inputWidth","invalid","inputContainer","inputLayout","input","onChange","type","createChainedFunction","inputRef","autoComplete","height","Dialog","optionsMaxWidth","display","messages","LayoutPropTypes","inline","optionType","SelectSingle","_props","matchSelectedOption","inputValue","filteredOptions","find","toLowerCase","handleClose","newSelectedOption","prevState","allowEmpty","filterText","allowCustom","handleInputChange","filter","handleSelect","getSelectedOptionFromProps","foundOption","findSelectedOption","defaultSelectedOption","optionsChanged","selectedChanged","valueChanged","onOptionsChange","controllable","tagTopMargin","xxxSmall","tagStartMargin","xxSmall","dismissible","SelectMultiple","cleanInput","matchSelectedOptions","amendMatchesToState","matches","getFilteredOptions","_this$state","dismiss","newOption","isControlled","tag","tagId","_selectedOption","reduce","optionMap","getOptionMap","findSelectedOptions","isDismissible","dismissibleProps","Tag","title","text","formatSelectedOption","_this4","_this5","_field","renderTags","renderInputs","parseOptions","child","_child$props","group","groupValue","_option$props","Select","_subComponent","handleRef","multiple","Component","defaultOption","focused","Children","startsWith","getDay","tryDateObject","dateClass","sym","symObj","symVal","getOwnPropertyNames","syms","propertyIsEnumerable","IconXSolid","tagVariant","_ref2","_ref3","hoverColor","iconHoverColor","mainColor","textColor","darken","heightSmall","heightMedium","heightLarge","fontSizeXSmall","paddingSmall","iconMargin","transitionTiming","textBrand","textLight","borderDark","_ref4","defaultBackground","defaultBorderColor","borderDarkest","defaultIconColor","defaultIconHoverColor","defaultColor","defaultBorderWidth","defaultBorderStyle","defaultBorderRadius","defaultBackgroundHover","inlineBackground","inlineBorderWidth","inlineBorderStyle","inlineBorderColor","inlineBorderRadius","inlineColor","inlineBackgroundHover","inlineIconColor","inlineIconHoverColor","_container","_classes","margin","classes","tagRoot","button","omitViewProps","elementRef","TypeErr","regex","polyfill","proto","COMPUTED_CACHE","getFontSize","ignoreCache","canUseDOM","ownerDocument","documentElement","fontSize","getComputedStyle","getPropertyValue","px","val","document","body","_parseUnit","parseUnit","_parseUnit2","num","unit","GetIntrinsic","$apply","$call","$reflectApply","$defineProperty","applyBind","origSymbol","global","hasSymbolSham","flags","dotAll","$Object","ignoreCase","multiline","unicode","sticky","ERROR_MESSAGE","funcType","that","bound","binder","boundLength","boundArgs","join","Empty","NumberIsNaN","a","b","propType","handlerName","defaultPropName","propName","componentName","error","debounce","wait","lastArgs","lastThis","lastCallTime","lastInvokeTime","timers","cancelled","leading","maxing","trailing","maxWait","invokeFunc","time","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","shouldInvoke","now","trailingEdge","clearAllTimers","cancel","flush","timerId","debounced","isInvoking","objectKeys","isArguments","is","isRegex","isDate","getTime","deepEqual","actual","expected","opts","strict","objEquiv","isUndefinedOrNull","isBuffer","copy","aIsRegex","bIsRegex","source","aIsBuffer","bIsBuffer","ka","kb","sort","getBoundingClientRect","rect","top","left","window","pageXOffset","pageYOffset","innerWidth","innerHeight","right","bottom","doc","docEl","boundingRect","k","frameElement","defaultView","frameRect","clientTop","scrollLeft","clientLeft","offsetWidth","offsetHeight","clientWidth","has","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","ctor","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","equalsConstructorPrototypeIfNotBuggy","isObject","isString","theKeys","skipProto","j","skipConstructor","jsonToMediaQuery","query","validKeys","indexOf","hyphenateQueryKey","validQuery"],"mappings":"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","file":"82-c-15e4808854.js","sourcesContent":["'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar hasSymbols = require('has-symbols')();\nvar hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';\nvar hasOwnProperty;\nvar regexExec;\nvar isRegexMarker;\nvar badStringifier;\n\nif (hasToStringTag) {\n\thasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);\n\tregexExec = Function.call.bind(RegExp.prototype.exec);\n\tisRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\tbadStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n}\n\nvar toStr = Object.prototype.toString;\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar regexClass = '[object RegExp]';\n\nmodule.exports = hasToStringTag\n\t// eslint-disable-next-line consistent-return\n\t? function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar descriptor = gOPD(value, 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwnProperty(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tregexExec(value, badStringifier);\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t}\n\t: function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn toStr.call(value) === regexClass;\n\t};\n","'use strict';\n\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\nvar toStr = Object.prototype.toString;\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn toStr.call(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\ttoStr.call(value) !== '[object Array]' &&\n\t\ttoStr.call(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('es-abstract/helpers/callBind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar flagsBound = callBind(implementation);\n\ndefine(flagsBound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = flagsBound;\n","'use strict';\n\n/* globals\n\tAtomics,\n\tSharedArrayBuffer,\n*/\n\nvar undefined;\n\nvar $TypeError = TypeError;\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () { throw new $TypeError(); };\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar generator; // = function * () {};\nvar generatorFunction = generator ? getProto(generator) : undefined;\nvar asyncFn; // async function() {};\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\nvar asyncGen; // async function * () {};\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%ArrayPrototype%': Array.prototype,\n\t'%ArrayProto_entries%': Array.prototype.entries,\n\t'%ArrayProto_forEach%': Array.prototype.forEach,\n\t'%ArrayProto_keys%': Array.prototype.keys,\n\t'%ArrayProto_values%': Array.prototype.values,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': asyncFunction,\n\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\n\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\n\t'%AsyncGeneratorFunction%': asyncGenFunction,\n\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\n\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%Boolean%': Boolean,\n\t'%BooleanPrototype%': Boolean.prototype,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\n\t'%Date%': Date,\n\t'%DatePrototype%': Date.prototype,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%ErrorPrototype%': Error.prototype,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%EvalErrorPrototype%': EvalError.prototype,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\n\t'%Function%': Function,\n\t'%FunctionPrototype%': Function.prototype,\n\t'%Generator%': generator ? getProto(generator()) : undefined,\n\t'%GeneratorFunction%': generatorFunction,\n\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%NumberPrototype%': Number.prototype,\n\t'%Object%': Object,\n\t'%ObjectPrototype%': Object.prototype,\n\t'%ObjProto_toString%': Object.prototype.toString,\n\t'%ObjProto_valueOf%': Object.prototype.valueOf,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\n\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\n\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\n\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\n\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%RangeErrorPrototype%': RangeError.prototype,\n\t'%ReferenceError%': ReferenceError,\n\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%RegExpPrototype%': RegExp.prototype,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%StringPrototype%': String.prototype,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\n\t'%SyntaxError%': SyntaxError,\n\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\n\t'%TypeError%': $TypeError,\n\t'%TypeErrorPrototype%': $TypeError.prototype,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\n\t'%URIError%': URIError,\n\t'%URIErrorPrototype%': URIError.prototype,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\n};\n\nvar bind = require('function-bind');\nvar $replace = bind.call(Function.call, String.prototype.replace);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tif (!(name in INTRINSICS)) {\n\t\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\n\t}\n\n\t// istanbul ignore if // hopefully this is impossible to test :-)\n\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\n\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t}\n\n\treturn INTRINSICS[name];\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\n\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\n\tfor (var i = 1; i < parts.length; i += 1) {\n\t\tif (value != null) {\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, parts[i]);\n\t\t\t\tif (!allowMissing && !(parts[i] in value)) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tvalue = desc && 'get' in desc && !('originalValue' in desc.get) ? desc.get : value[parts[i]];\n\t\t\t} else {\n\t\t\t\tvalue = value[parts[i]];\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function (_ref) {\n var stacking = _ref.stacking;\n return {\n zIndex: stacking.topmost\n };\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar _dec, _class, _class2, _temp, _dec2, _class3, _class4, _temp2, _dec3, _dec4, _dec5, _class5, _class6, _temp3;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { themeable } from '@instructure/ui-themeable';\nimport { element } from '@instructure/ui-prop-types';\nimport { ComponentIdentifier, deprecated } from '@instructure/ui-react-utils';\nimport { testable } from '@instructure/ui-testable';\nimport { Position as UIPosition, PositionPropTypes } from '@instructure/ui-position';\nvar styles = {\n componentId: 'bgLNT',\n template: function template(theme) {\n return \"\\n\\n.bgLNT_bGBk{box-sizing:border-box;z-index:\".concat(theme.zIndex || 'inherit', \"}\");\n },\n 'root': 'bgLNT_bGBk'\n};\nimport theme from './theme';\nvar PositionTarget = (_dec = testable(), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_ComponentIdentifier) {\n _inherits(PositionTarget, _ComponentIdentifier);\n\n var _super = _createSuper(PositionTarget);\n\n function PositionTarget() {\n _classCallCheck(this, PositionTarget);\n\n return _super.apply(this, arguments);\n }\n\n return PositionTarget;\n}(ComponentIdentifier), _class2.displayName = 'PositionTarget', _class2.locatorAttribute = 'data-position-target', _temp)) || _class);\nvar PositionContent = (_dec2 = testable(), _dec2(_class3 = (_temp2 = _class4 = /*#__PURE__*/function (_ComponentIdentifier2) {\n _inherits(PositionContent, _ComponentIdentifier2);\n\n var _super2 = _createSuper(PositionContent);\n\n function PositionContent() {\n _classCallCheck(this, PositionContent);\n\n return _super2.apply(this, arguments);\n }\n\n return PositionContent;\n}(ComponentIdentifier), _class4.displayName = 'PositionContent', _class4.propTypes = {\n children: PropTypes.node,\n placement: PositionPropTypes.placement\n}, _class4.locatorAttribute = 'data-position-content', _temp2)) || _class3);\n/**\n---\ncategory: components/utilities/deprecated\nid: DeprecatedPosition\n---\n**/\n\nvar Position = (_dec3 = deprecated('7.0.0', null, 'Use @instructure/ui-position instead'), _dec4 = testable(), _dec5 = themeable(theme, styles), _dec3(_class5 = _dec4(_class5 = _dec5(_class5 = (_temp3 = _class6 = /*#__PURE__*/function (_Component) {\n _inherits(Position, _Component);\n\n var _super3 = _createSuper(Position);\n\n function Position() {\n _classCallCheck(this, Position);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(Position, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n id = _this$props.id,\n trackPosition = _this$props.trackPosition,\n placement = _this$props.placement,\n offsetX = _this$props.offsetX,\n offsetY = _this$props.offsetY,\n mountNode = _this$props.mountNode,\n target = _this$props.target,\n insertAt = _this$props.insertAt,\n over = _this$props.over,\n onPositioned = _this$props.onPositioned,\n onPositionChanged = _this$props.onPositionChanged,\n constrain = _this$props.constrain,\n passthroughProps = _objectWithoutProperties(_this$props, [\"children\", \"id\", \"trackPosition\", \"placement\", \"offsetX\", \"offsetY\", \"mountNode\", \"target\", \"insertAt\", \"over\", \"onPositioned\", \"onPositionChanged\", \"constrain\"]);\n\n var renderTarget = ComponentIdentifier.pick(Position.Target, children);\n var content = ComponentIdentifier.pick(Position.Content, children);\n return /*#__PURE__*/React.createElement(UIPosition, Object.assign({}, passthroughProps, {\n target: target,\n renderTarget: renderTarget,\n id: id,\n shouldTrackPosition: trackPosition,\n placement: placement,\n offsetX: offsetX,\n offsetY: offsetY,\n mountNode: mountNode,\n insertAt: insertAt,\n constrain: constrain,\n shouldPositionOverTarget: over,\n onPositioned: onPositioned,\n onPositionChanged: onPositionChanged\n }), content);\n }\n }]);\n\n Position.displayName = \"Position\";\n return Position;\n}(Component), _class6.Target = PositionTarget, _class6.Content = PositionContent, _class6.locatorAttribute = 'data-position', _class6.propTypes = {\n /**\n * The children to be rendered within the ``\n */\n children: PropTypes.node,\n\n /**\n * The target to be used when not using ``\n */\n target: PropTypes.oneOfType([element, PropTypes.func]),\n\n /**\n * Whether or not you want the content to position over the ``\n */\n over: PropTypes.bool,\n\n /**\n * The placement of the content in relation to the trigger\n */\n placement: PositionPropTypes.placement,\n\n /**\n * The horizontal offset for the positioned content\n */\n offsetX: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * The vertical offset for the positioned content\n */\n offsetY: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Callback fired when the position changes\n */\n onPositionChanged: PropTypes.func,\n\n /**\n * Callback fired when `` content has been mounted and is initially positioned\n */\n onPositioned: PropTypes.func,\n\n /**\n * Whether or not position of the target should be tracked or just set statically on render\n */\n trackPosition: PropTypes.bool,\n\n /**\n * An element or a function returning an element to use as the mount node\n * for the `` (defaults to `document.body`)\n */\n mountNode: PositionPropTypes.mountNode,\n\n /**\n * Insert the element at the 'top' of the mountNode or at the 'bottom'\n */\n insertAt: PropTypes.oneOf(['bottom', 'top']),\n\n /**\n * The parent in which to constrain the placement.\n * One of: 'window', 'scroll-parent', 'parent', 'none', an element,\n * or a function returning an element\n */\n constrain: PositionPropTypes.constrain,\n id: PropTypes.string\n}, _class6.defaultProps = {\n trackPosition: true,\n placement: 'bottom center',\n offsetX: 0,\n offsetY: 0,\n mountNode: null,\n target: null,\n insertAt: 'bottom',\n over: false,\n onPositioned: function onPositioned(position) {},\n onPositionChanged: function onPositionChanged(position) {},\n constrain: 'window',\n children: null,\n id: void 0\n}, _temp3)) || _class5) || _class5) || _class5);\nexport default Position;\nexport { Position, PositionTarget, PositionContent };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport React, { Component } from 'react';\nimport { SVGIcon } from '@instructure/ui-svg-images';\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M526.298905 0L434 92.1683552 1301.63582 959.934725 434 1827.57054 526.298905 1920 1486.23363 959.934725z\",\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\",\n transform: \"matrix(0 1 1 0 .153 -.153)\"\n});\n\nvar IconArrowOpenDownLine = /*#__PURE__*/function (_Component) {\n _inherits(IconArrowOpenDownLine, _Component);\n\n var _super = _createSuper(IconArrowOpenDownLine);\n\n function IconArrowOpenDownLine() {\n _classCallCheck(this, IconArrowOpenDownLine);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(IconArrowOpenDownLine, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(SVGIcon, Object.assign({}, this.props, {\n name: \"IconArrowOpenDown\",\n viewBox: \"0 0 1920 1920\"\n }), _ref);\n }\n }]);\n\n IconArrowOpenDownLine.displayName = \"IconArrowOpenDownLine\";\n return IconArrowOpenDownLine;\n}(Component);\n\nIconArrowOpenDownLine.glyphName = 'arrow-open-down';\nIconArrowOpenDownLine.variant = 'Line';\nIconArrowOpenDownLine.propTypes = _objectSpread({}, SVGIcon.propTypes);\nexport default IconArrowOpenDownLine;\nexport { IconArrowOpenDownLine };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n* ---\n* parent: DeprecatedSelect\n* private: true\n* ---\n*/\nexport default function getOptionId(option) {\n if (typeof option === 'string') {\n return option;\n }\n\n if (!option || typeof option !== 'object') {\n return null;\n }\n\n if (typeof option.id !== 'undefined' && option.id !== null) {\n return option.id;\n }\n\n if (typeof option.value !== 'undefined' && option.value !== null) {\n return option.value;\n }\n\n return null;\n}","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function generator(_ref) {\n var colors = _ref.colors,\n typography = _ref.typography,\n borders = _ref.borders,\n spacing = _ref.spacing,\n stacking = _ref.stacking,\n forms = _ref.forms;\n return {\n zIndex: stacking.topmost,\n fontFamily: typography.fontFamily,\n fontWeight: typography.fontWeightNormal,\n groupFontWeight: typography.fontWeightBold,\n lineHeight: typography.lineHeightCondensed,\n labelColor: colors.textDarkest,\n background: colors.backgroundLightest,\n highlightedBackground: colors.backgroundBrand,\n activeBackground: colors.backgroundDark,\n activeLabelColor: colors.textLightest,\n padding: \"\".concat(spacing.xSmall, \" \").concat(spacing.small),\n iconPaddingEnd: spacing.small,\n groupPadding: spacing.medium,\n smallFontSize: typography.fontSizeSmall,\n mediumFontSize: typography.fontSizeMedium,\n largeFontSize: typography.fontSizeLarge\n };\n}\n\ngenerator.canvas = function (variables) {\n return {\n labelColor: variables['ic-brand-font-color-dark'],\n highlightedBackground: variables['ic-brand-primary']\n };\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { themeable } from '@instructure/ui-themeable';\nimport { testable } from '@instructure/ui-testable';\nimport { View } from '@instructure/ui-view';\nimport { Spinner } from '@instructure/ui-spinner';\nimport getOptionId from '../utils/getOptionId';\nvar styles = {\n componentId: 'eZsEe',\n template: function template(theme) {\n return \"\\n\\n.eZsEe_dKpE{box-sizing:border-box;list-style-type:none;margin:0;overflow:auto;padding:0}\\n\\n.eZsEe_ecYO{-ms-user-select:none;-webkit-user-select:none;align-items:center;background:\".concat(theme.background || 'inherit', \";cursor:pointer;display:flex;font-family:\").concat(theme.fontFamily || 'inherit', \";font-size:\").concat(theme.mediumFontSize || 'inherit', \";font-weight:\").concat(theme.fontWeight || 'inherit', \";line-height:\").concat(theme.lineHeight || 'inherit', \";outline:none;padding:\").concat(theme.padding || 'inherit', \";transition:background 0.2s;user-select:none}\\n\\n.eZsEe_ecYO.eZsEe_doqw{font-size:\").concat(theme.smallFontSize || 'inherit', \"}\\n\\n.eZsEe_ecYO.eZsEe_ycrn{font-size:\").concat(theme.mediumFontSize || 'inherit', \"}\\n\\n.eZsEe_ecYO.eZsEe_cMDj{font-size:\").concat(theme.largeFontSize || 'inherit', \"}\\n\\n.eZsEe_ecYO.eZsEe_cNcI:not(.eZsEe_fckf){background:\").concat(theme.highlightedBackground || 'inherit', \"}\\n\\n.eZsEe_ecYO.eZsEe_fGhm:not(.eZsEe_fckf){background:\").concat(theme.activeBackground || 'inherit', \"}\\n\\n.eZsEe_ecYO.eZsEe_ywdX:not(.eZsEe_fckf){cursor:not-allowed;opacity:0.5;pointer-events:none}\\n\\n.eZsEe_ecYO.eZsEe_fckf{cursor:not-allowed;font-weight:\").concat(theme.groupFontWeight || 'inherit', \";pointer-events:none}\\n\\n.eZsEe_ecYO.eZsEe_dXHE{-webkit-padding-start:\").concat(theme.groupPadding || 'inherit', \";padding-inline-start:\").concat(theme.groupPadding || 'inherit', \"}\\n\\n[dir=ltr] .eZsEe_ecYO.eZsEe_dXHE{padding-left:\").concat(theme.groupPadding || 'inherit', \"}\\n\\n[dir=rtl] .eZsEe_ecYO.eZsEe_dXHE{padding-right:\").concat(theme.groupPadding || 'inherit', \"}\\n\\n.eZsEe_blJt{color:\").concat(theme.labelColor || 'inherit', \"}\\n\\n.eZsEe_cNcI:not(.eZsEe_fckf) .eZsEe_blJt,.eZsEe_fGhm:not(.eZsEe_fckf) .eZsEe_blJt{color:\").concat(theme.activeLabelColor || 'inherit', \"}\\n\\n.eZsEe_dnnz{-webkit-margin-end:\").concat(theme.iconPaddingEnd || 'inherit', \";-webkit-margin-start:0;margin-inline-end:\").concat(theme.iconPaddingEnd || 'inherit', \";margin-inline-start:0}\\n\\n[dir=ltr] .eZsEe_dnnz{margin-left:0;margin-right:\").concat(theme.iconPaddingEnd || 'inherit', \"}\\n\\n[dir=rtl] .eZsEe_dnnz{margin-left:\").concat(theme.iconPaddingEnd || 'inherit', \";margin-right:0}\\n\\n.eZsEe_crZr{z-index:\").concat(theme.zIndex || 'inherit', \"}\");\n },\n 'optionsList': 'eZsEe_dKpE',\n 'option': 'eZsEe_ecYO',\n 'small': 'eZsEe_doqw',\n 'medium': 'eZsEe_ycrn',\n 'large': 'eZsEe_cMDj',\n 'highlighted': 'eZsEe_cNcI',\n 'groupLabel': 'eZsEe_fckf',\n 'selected': 'eZsEe_fGhm',\n 'disabled': 'eZsEe_ywdX',\n 'groupItem': 'eZsEe_dXHE',\n 'label': 'eZsEe_blJt',\n 'icon': 'eZsEe_dnnz',\n 'container': 'eZsEe_crZr'\n};\nimport theme from './theme';\n/**\n---\nparent: DeprecatedSelect\n---\n**/\n\nvar SelectOptionsList = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {\n _inherits(SelectOptionsList, _Component);\n\n var _super = _createSuper(SelectOptionsList);\n\n function SelectOptionsList() {\n var _this;\n\n _classCallCheck(this, SelectOptionsList);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.optionHeight = 5;\n\n _this.handleClick = function (event, option) {\n if (option.disabled || option.groupLabel) {\n event.preventDefault();\n return;\n }\n\n _this.props.onSelect(event, option);\n };\n\n return _this;\n }\n\n _createClass(SelectOptionsList, [{\n key: \"renderStaticOption\",\n value: function renderStaticOption(message) {\n var _this$props = this.props,\n size = _this$props.size,\n onStaticClick = _this$props.onStaticClick;\n return /*#__PURE__*/React.createElement(\"li\", {\n // eslint-disable-line\n tabIndex: \"-1\",\n role: \"option\",\n \"aria-disabled\": \"true\",\n \"aria-selected\": \"false\",\n className: classnames(styles.option, _defineProperty({}, styles[size], size)),\n onClick: onStaticClick\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.label\n }, message));\n }\n }, {\n key: \"renderIcon\",\n value: function renderIcon(icon) {\n if (typeof icon !== 'undefined' && icon !== null) {\n var Icon = icon;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: styles.icon\n }, /*#__PURE__*/React.createElement(Icon, null));\n }\n }\n }, {\n key: \"renderOptions\",\n value: function renderOptions() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n options = _this$props2.options,\n optionsId = _this$props2.optionsId,\n loadingText = _this$props2.loadingText,\n emptyOption = _this$props2.emptyOption,\n selectedOption = _this$props2.selectedOption,\n onHighlightOption = _this$props2.onHighlightOption,\n size = _this$props2.size,\n highlightedIndex = _this$props2.highlightedIndex;\n\n if (loadingText) {\n return this.renderStaticOption( /*#__PURE__*/React.createElement(Spinner, {\n size: \"x-small\",\n renderTitle: loadingText\n }));\n }\n\n if (options.length === 0) {\n return this.renderStaticOption(emptyOption);\n }\n\n return options.map(function (option, index) {\n var _classnames2;\n\n var children = option.children,\n id = option.id,\n icon = option.icon,\n groupLabel = option.groupLabel,\n groupItem = option.groupItem;\n var selected = getOptionId(selectedOption) === id;\n var disabled = option.disabled || groupLabel;\n var handlers = {\n onMouseEnter: function onMouseEnter() {\n return onHighlightOption(index);\n },\n onClick: function onClick(event) {\n return _this2.handleClick(event, option);\n }\n };\n /* eslint-disable jsx-a11y/role-has-required-aria-props */\n\n return /*#__PURE__*/React.createElement(\"li\", Object.assign({}, handlers, {\n role: \"option\",\n key: id,\n id: \"\".concat(optionsId, \"_\").concat(id),\n className: classnames(styles.option, (_classnames2 = {}, _defineProperty(_classnames2, styles.selected, selected), _defineProperty(_classnames2, styles[size], size), _defineProperty(_classnames2, styles.highlighted, index === highlightedIndex), _defineProperty(_classnames2, styles.disabled, disabled), _defineProperty(_classnames2, styles.groupLabel, groupLabel), _defineProperty(_classnames2, styles.groupItem, groupItem), _classnames2)),\n tabIndex: \"-1\",\n \"aria-selected\": selected ? 'true' : 'false',\n \"aria-disabled\": disabled ? 'true' : null\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: styles.label\n }, icon && _this2.renderIcon(icon), children));\n /* eslint-enable jsx-a11y/role-has-required-aria-props */\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props3 = this.props,\n optionsId = _this$props3.optionsId,\n menuRef = _this$props3.menuRef,\n visibleOptionsCount = _this$props3.visibleOptionsCount,\n maxWidth = _this$props3.maxWidth,\n props = _objectWithoutProperties(_this$props3, [\"optionsId\", \"menuRef\", \"visibleOptionsCount\", \"maxWidth\"]);\n\n return /*#__PURE__*/React.createElement(View, {\n style: props.style // must pass the style prop for positioning\n ,\n className: styles.container,\n maxWidth: maxWidth || 0,\n borderWidth: \"small\",\n borderRadius: \"medium\",\n shadow: \"resting\",\n background: \"primary\"\n }, !!this.props.expanded && /*#__PURE__*/React.createElement(\"ul\", {\n className: styles.optionsList,\n id: optionsId,\n onKeyDown: this.props.onKeyDown,\n onKeyUp: this.props.onKeyUp,\n onBlur: this.props.onBlur,\n onClick: function onClick(event) {\n // prevent synthetic event from firing on the document\n // when select is in a dialog, this event could inadvertently close the dialog\n event.stopPropagation();\n event.nativeEvent.stopImmediatePropagation();\n },\n tabIndex: \"-1\",\n ref: function ref(el) {\n menuRef(el);\n\n if (el) {\n // store the height of the options\n _this3.optionHeight = el.querySelector('li').clientHeight;\n }\n },\n role: \"listbox\",\n style: {\n maxHeight: \"\".concat(visibleOptionsCount * this.optionHeight, \"px\")\n }\n }, this.renderOptions()));\n }\n }]);\n\n SelectOptionsList.displayName = \"SelectOptionsList\";\n return SelectOptionsList;\n}(Component), _class2.propTypes = {\n /**\n * the selected value\n */\n selectedOption: PropTypes.oneOfType([PropTypes.string, PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n children: PropTypes.node,\n disabled: PropTypes.bool,\n icon: PropTypes.func,\n groupLabel: PropTypes.bool\n })]),\n options: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n children: PropTypes.node,\n disabled: PropTypes.bool,\n icon: PropTypes.func,\n groupLabel: PropTypes.bool\n })),\n\n /**\n * id for options list element\n */\n optionsId: PropTypes.string,\n\n /**\n * a function that provides a reference to the internal options list element\n */\n menuRef: PropTypes.func,\n\n /**\n * The amount of options that are visible without scrolling\n */\n visibleOptionsCount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Give the Spinner a title to be read by screenreaders. Disables menu\n * interaction and renders a Spinner in its place.\n */\n loadingText: PropTypes.string,\n\n /**\n * The menu content to render when no options are present or are filtered away\n */\n emptyOption: PropTypes.node,\n\n /**\n * Callback fired when an option gets highlighted\n */\n onHighlightOption: PropTypes.func,\n\n /**\n * Callback fired on the option selection\n */\n onSelect: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * Options dropdown can be wider than input if maxWidth is provided\n */\n maxWidth: PropTypes.string,\n\n /**\n * Callback fired when the empty option is selected by click\n */\n onStaticClick: PropTypes.func,\n onBlur: PropTypes.func,\n highlightedIndex: PropTypes.number,\n expanded: PropTypes.bool,\n disabled: PropTypes.bool\n}, _class2.defaultProps = {\n selectedOption: null,\n options: [],\n visibleOptionsCount: 8,\n loadingText: null,\n emptyOption: '---',\n size: 'medium',\n expanded: false,\n menuRef: function menuRef(el) {},\n onHighlightOption: function onHighlightOption(event) {},\n onSelect: function onSelect(event, selectedOption) {},\n onStaticClick: function onStaticClick(event) {},\n disabled: false,\n optionsId: void 0,\n highlightedIndex: void 0,\n maxWidth: void 0,\n onKeyDown: void 0,\n onKeyUp: void 0,\n onBlur: void 0\n}, _temp)) || _class) || _class);\nexport default SelectOptionsList;\nexport { SelectOptionsList };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function generator(_ref) {\n var colors = _ref.colors,\n typography = _ref.typography,\n borders = _ref.borders,\n spacing = _ref.spacing,\n stacking = _ref.stacking,\n forms = _ref.forms;\n return {\n fontFamily: typography.fontFamily,\n fontWeight: typography.fontWeightNormal,\n borderWidth: borders.widthSmall,\n borderStyle: borders.style,\n borderColor: colors.borderMedium,\n borderRadius: borders.radiusMedium,\n color: colors.textDarkest,\n iconColor: colors.textDarkest,\n background: colors.backgroundLightest,\n inputPadding: spacing.small,\n focusOutlineWidth: borders.widthMedium,\n focusOutlineColor: colors.borderBrand,\n focusOutlineStyle: borders.style,\n errorBorderColor: colors.borderDanger,\n errorOutlineColor: colors.borderDanger,\n placeholderColor: colors.textDark,\n smallFontSize: typography.fontSizeSmall,\n smallHeight: forms.inputHeightSmall,\n mediumFontSize: typography.fontSizeMedium,\n mediumHeight: forms.inputHeightMedium,\n largeFontSize: typography.fontSizeLarge,\n largeHeight: forms.inputHeightLarge\n };\n}\n\ngenerator.canvas = function (variables) {\n return {\n color: variables['ic-brand-font-color-dark'],\n focusBorderColor: variables['ic-brand-primary'],\n focusOutlineColor: variables['ic-brand-primary']\n };\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport keycode from 'keycode';\nimport { Dialog } from '@instructure/ui-dialog';\nimport { hasVisibleChildren } from '@instructure/ui-a11y-utils';\nimport { ScreenReaderContent } from '@instructure/ui-a11y-content';\nimport { FormField, FormFieldLayout, FormPropTypes } from '@instructure/ui-form-field';\nimport { LayoutPropTypes, Position } from '@instructure/ui-layout';\nimport { containsActiveElement, findDOMNode, isActiveElement } from '@instructure/ui-dom-utils';\nimport { createChainedFunction } from '@instructure/ui-utils';\nimport { uid } from '@instructure/uid';\nimport { themeable } from '@instructure/ui-themeable';\nimport { testable } from '@instructure/ui-testable';\nimport { omitProps, pickProps } from '@instructure/ui-react-utils';\nimport { IconArrowOpenDownLine } from '@instructure/ui-icons';\nimport { SelectOptionsList } from '../SelectOptionsList';\nimport getOptionId from '../utils/getOptionId';\nvar styles = {\n componentId: 'bgKsu',\n template: function template(theme) {\n return \"\\n\\n.bgKsu_engK{display:block;position:relative}\\n\\n.bgKsu_engK:before{border:\".concat(theme.focusOutlineWidth || 'inherit', \" \").concat(theme.focusOutlineStyle || 'inherit', \" \").concat(theme.focusOutlineColor || 'inherit', \";border-radius:calc(\").concat(theme.borderRadius || 'inherit', \"*1.5);bottom:-0.25rem;box-sizing:border-box;content:\\\"\\\";display:block;left:-0.25rem;opacity:0;pointer-events:none;position:absolute;right:-0.25rem;top:-0.25rem;transform:scale(0.95);transition:all 0.2s}\\n\\n.bgKsu_engK.bgKsu_eWbJ:before{opacity:1;transform:scale(1)}\\n\\n.bgKsu_engK.bgKsu_eWbJ.bgKsu_fszt:before{border-color:\").concat(theme.errorOutlineColor || 'inherit', \"}\\n\\n.bgKsu_dtDb{background:\").concat(theme.background || 'inherit', \";border:\").concat(theme.borderWidth || 'inherit', \" \").concat(theme.borderStyle || 'inherit', \" \").concat(theme.borderColor || 'inherit', \";border-radius:\").concat(theme.borderRadius || 'inherit', \";box-sizing:border-box;display:flex;flex-wrap:wrap;font-family:\").concat(theme.fontFamily || 'inherit', \";margin:0;min-width:0.0625rem;overflow:hidden}\\n\\n.bgKsu_dtDb.bgKsu_fszt,.bgKsu_dtDb.bgKsu_fszt.bgKsu_eWbJ{border-color:\").concat(theme.errorBorderColor || 'inherit', \"}\\n\\n.bgKsu_dtDb.bgKsu_ywdX{cursor:not-allowed;opacity:0.5;pointer-events:none}\\n\\n.bgKsu_dtDb.bgKsu_doqw{font-size:\").concat(theme.smallFontSize || 'inherit', \"}\\n\\n.bgKsu_dtDb.bgKsu_ycrn{font-size:\").concat(theme.mediumFontSize || 'inherit', \"}\\n\\n.bgKsu_dtDb.bgKsu_cMDj{font-size:\").concat(theme.largeFontSize || 'inherit', \"}\\n\\n.bgKsu_ccod{display:flex;flex:1 1 auto;position:relative}\\n\\n.bgKsu_cwos,input[type].bgKsu_cwos{-moz-appearance:none;-moz-osx-font-smoothing:grayscale;-webkit-appearance:none;-webkit-font-smoothing:antialiased;all:initial;animation:none 0s ease 0s 1 normal none running;appearance:none;backface-visibility:visible;background:transparent none repeat 0 0/auto auto padding-box border-box scroll;border:medium none currentColor;border-collapse:separate;border-image:none;border-radius:0;border-spacing:0;bottom:auto;box-shadow:none;box-sizing:content-box;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:#000;color:\").concat(theme.color || 'inherit', \";column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-span:1;column-width:auto;columns:auto;content:normal;counter-increment:none;counter-reset:none;cursor:auto;cursor:default;direction:ltr;display:inline;display:block;empty-cells:show;float:none;font-family:serif;font-family:inherit;font-size:medium;font-size:inherit;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:400;font-weight:\").concat(theme.fontWeight || 'inherit', \";height:auto;hyphens:none;left:auto;letter-spacing:normal;line-height:normal;line-height:1;list-style:disc outside none;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;opacity:1;orphans:2;outline:medium none invert;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding:0 \").concat(theme.inputPadding || 'inherit', \";page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;position:static;right:auto;tab-size:8;table-layout:auto;text-align:left;text-align:start;text-align-last:auto;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;top:auto;transform:none;transform-origin:50% 50% 0;transform-style:flat;transition:none 0s ease 0s;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:2;width:auto;width:100%;word-spacing:normal;z-index:auto}\\n\\n[dir=ltr] .bgKsu_cwos,[dir=ltr] input[type].bgKsu_cwos{text-align:left}\\n\\n[dir=rtl] .bgKsu_cwos,[dir=rtl] input[type].bgKsu_cwos{text-align:right}\\n\\n.bgKsu_cwos::-ms-clear,input[type].bgKsu_cwos::-ms-clear{display:none}\\n\\n.bgKsu_cwos.bgKsu_bfxl,input[type].bgKsu_cwos.bgKsu_bfxl{cursor:text}\\n\\n.bgKsu_cwos[autocomplete=off]::-webkit-contacts-auto-fill-button,input[type].bgKsu_cwos[autocomplete=off]::-webkit-contacts-auto-fill-button{display:none!important}\\n\\n.bgKsu_cwos:-ms-input-placeholder,input[type].bgKsu_cwos:-ms-input-placeholder{color:\").concat(theme.placeholderColor || 'inherit', \"}\\n\\n.bgKsu_cwos::placeholder,input[type].bgKsu_cwos::placeholder{color:\").concat(theme.placeholderColor || 'inherit', \"}\\n\\n.bgKsu_doqw .bgKsu_cwos,.bgKsu_doqw input[type].bgKsu_cwos{min-height:calc(\").concat(theme.smallHeight || 'inherit', \" - 0.125rem)}\\n\\n.bgKsu_ycrn .bgKsu_cwos,.bgKsu_ycrn input[type].bgKsu_cwos{min-height:calc(\").concat(theme.mediumHeight || 'inherit', \" - 0.125rem)}\\n\\n.bgKsu_cMDj .bgKsu_cwos,.bgKsu_cMDj input[type].bgKsu_cwos{min-height:calc(\").concat(theme.largeHeight || 'inherit', \" - 0.125rem)}\\n\\n.bgKsu_ewVP{-webkit-margin-end:0;-webkit-margin-start:\").concat(theme.inputPadding || 'inherit', \";align-items:center;display:flex;height:100%;margin-inline-end:0;margin-inline-start:\").concat(theme.inputPadding || 'inherit', \"}\\n\\n[dir=ltr] .bgKsu_ewVP{margin-left:\").concat(theme.inputPadding || 'inherit', \";margin-right:0}\\n\\n[dir=rtl] .bgKsu_ewVP{margin-left:0;margin-right:\").concat(theme.inputPadding || 'inherit', \"}\\n\\n.bgKsu_dnnz{-webkit-margin-end:\").concat(theme.inputPadding || 'inherit', \";-webkit-margin-start:0;align-self:center;display:flex;fill:\").concat(theme.iconColor || 'inherit', \";flex-shrink:0;margin-inline-end:\").concat(theme.inputPadding || 'inherit', \";margin-inline-start:0;pointer-events:none}\\n\\n[dir=ltr] .bgKsu_dnnz{margin-left:0;margin-right:\").concat(theme.inputPadding || 'inherit', \"}\\n\\n[dir=rtl] .bgKsu_dnnz{margin-left:\").concat(theme.inputPadding || 'inherit', \";margin-right:0}\\n\\n.bgKsu_blJt{all:initial;animation:none 0s ease 0s 1 normal none running;backface-visibility:visible;background:transparent none repeat 0 0/auto auto padding-box border-box scroll;border:medium none currentColor;border-collapse:separate;border-image:none;border-radius:0;border-spacing:0;bottom:auto;box-shadow:none;box-sizing:content-box;caption-side:top;clear:none;clip:auto;color:#000;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-span:1;column-width:auto;columns:auto;content:normal;counter-increment:none;counter-reset:none;cursor:auto;direction:ltr;display:inline;display:block;empty-cells:show;float:none;font-family:serif;font-family:inherit;font-size:medium;font-size:inherit;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:400;font-weight:inherit;height:auto;hyphens:none;left:auto;letter-spacing:normal;line-height:normal;line-height:inherit;list-style:disc outside none;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;opacity:1;orphans:2;outline:medium none invert;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;position:static;right:auto;tab-size:8;table-layout:auto;text-align:left;text-align:inherit;text-align-last:auto;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;top:auto;transform:none;transform-origin:50% 50% 0;transform-style:flat;transition:none 0s ease 0s;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:2;width:auto;word-spacing:normal;z-index:auto}\\n\\n[dir=ltr] .bgKsu_blJt,[dir=rtl] .bgKsu_blJt{text-align:inherit}\");\n },\n 'inputWidth': 'bgKsu_engK',\n 'focus': 'bgKsu_eWbJ',\n 'invalid': 'bgKsu_fszt',\n 'inputContainer': 'bgKsu_dtDb',\n 'disabled': 'bgKsu_ywdX',\n 'small': 'bgKsu_doqw',\n 'medium': 'bgKsu_ycrn',\n 'large': 'bgKsu_cMDj',\n 'inputLayout': 'bgKsu_ccod',\n 'input': 'bgKsu_cwos',\n 'editable': 'bgKsu_bfxl',\n 'inputIcon': 'bgKsu_ewVP',\n 'icon': 'bgKsu_dnnz',\n 'label': 'bgKsu_blJt'\n};\nimport theme from './theme';\n/**\n---\nparent: DeprecatedSelect\n---\n**/\n\nvar SelectField = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {\n _inherits(SelectField, _Component);\n\n var _super = _createSuper(SelectField);\n\n function SelectField(props) {\n var _this;\n\n _classCallCheck(this, SelectField);\n\n _this = _super.call(this, props);\n _this._menu = null;\n _this._input = null;\n _this._inputContainer = null;\n _this._timeouts = [];\n _this.timeoutId = null;\n\n _this.open = function () {\n _this.setState(function () {\n return {\n expanded: true\n };\n }, function () {\n _this.highlightSelectedOption();\n\n _this.props.onOpen();\n });\n };\n\n _this.close = function (event, selectedOption) {\n _this.setState(function (state) {\n if (state.expanded) {\n _this.props.onClose(event, selectedOption);\n }\n\n return {\n expanded: false\n };\n });\n };\n\n _this.select = function (event, selectedOption) {\n _this.props.onSelect(event, selectedOption);\n\n if (_this.props.closeOnSelect) {\n event.preventDefault();\n\n _this.close(event, selectedOption);\n }\n };\n\n _this.highlightSelectedOption = function () {\n var index = 0;\n\n if (_this.selectedIndex > 0) {\n index = _this.selectedIndex;\n } // setTimeout forced due to the need to wait for the browser to render the menu\n\n\n _this._timeouts.push(setTimeout(function () {\n _this.highlightOption(index);\n }, 0));\n };\n\n _this.highlightOption = function (index) {\n var option = _this.props.options[index];\n\n if (!_this.props.loadingText && option) {\n if (option.disabled || option.groupLabel) {\n // target index is disabled, try next option instead\n if (index > _this.state.highlightedIndex && index + 1 < _this.props.options.length) {\n _this.highlightOption(index + 1);\n } else if (index < _this.state.highlightedIndex && index - 1 >= 0) {\n _this.highlightOption(index - 1);\n }\n\n return;\n }\n\n _this.setState({\n highlightedIndex: index\n });\n\n _this.props.onHighlight(index); // Update scrolling\n\n\n var menu = findDOMNode(_this._menu);\n\n if (menu) {\n var item = menu.querySelectorAll('li')[index];\n var parentTop = menu.scrollTop;\n var elemTop = item.offsetTop;\n var parentBottom = parentTop + menu.clientHeight;\n var elemBottom = elemTop + item.clientHeight;\n\n if (elemBottom > parentBottom) {\n menu.scrollTop = elemBottom - menu.clientHeight;\n } else if (elemTop < parentTop) {\n menu.scrollTop = elemTop;\n }\n }\n }\n };\n\n _this.handleHomeKey = function (event) {\n if (_this.props.options.length > 0) {\n _this.highlightOption(0);\n }\n };\n\n _this.handleEndKey = function (event) {\n if (_this.props.options.length > 0) {\n _this.highlightOption(_this.props.options.length - 1);\n }\n };\n\n _this.handleEnterKey = function (event) {\n if (_this.expanded && !_this.props.loadingText && _this.props.options.length) {\n _this.select(event, _this.props.options[_this.state.highlightedIndex]);\n }\n };\n\n _this.handleUpArrowKey = function (event) {\n if (_this.expanded) {\n var index = Math.max(0, _this.state.highlightedIndex - 1);\n var option = _this.props.options[index];\n\n var el = _this._menu.querySelectorAll('li')[index];\n\n _this.highlightOption(index); // set dom focus so VO will read highlighted option correctly\n\n\n if (el && option && !option.disabled && !option.groupLabel) {\n el.focus();\n }\n } else {\n _this.open();\n }\n };\n\n _this.handleDownArrowKey = function (event) {\n if (_this.expanded) {\n var index = Math.min(_this.props.options.length - 1, _this.state.highlightedIndex + 1);\n var option = _this.props.options[index];\n\n var el = _this._menu.querySelectorAll('li')[index];\n\n _this.highlightOption(index); // set dom focus so VO will read highlighted option correctly\n\n\n if (el && option && !option.disabled && !option.groupLabel) {\n el.focus();\n }\n } else {\n _this.open();\n }\n };\n\n _this.handleSpaceKey = function (event) {\n if (!_this.expanded) {\n event.preventDefault();\n\n _this.open();\n }\n };\n\n _this.keyMap = {\n up: _this.handleUpArrowKey,\n down: _this.handleDownArrowKey,\n home: _this.handleHomeKey,\n end: _this.handleEndKey,\n enter: _this.handleEnterKey,\n space: _this.handleSpaceKey\n };\n\n _this.handlePositioned = function () {\n _this.setState({\n positioned: true\n }, function () {\n return _this.props.onPositioned();\n });\n };\n\n _this.handleKeyDown = function (event) {\n var key = keycode.names[event.keyCode]; // eslint-disable-next-line no-prototype-builtins\n\n if (_this.keyMap.hasOwnProperty(key)) {\n if ((key !== 'enter' || _this.expanded) && key !== 'space') {\n event.preventDefault();\n }\n\n _this.keyMap[key](event);\n } else {\n // return dom focus to input when the user tries to type\n if (_this._input && _this.props.editable) {\n _this._input.focus();\n }\n }\n\n if (key === 'tab') {\n // return focus to input and back into natural tab order\n _this._input.focus();\n }\n\n _this.props.onKeyDown(event);\n };\n\n _this.handleKeyUp = function (event) {\n var key = keycode.names[event.keyCode];\n\n if (key === 'esc' && _this.expanded) {\n event.preventDefault(); // ensure focus returns to input\n\n if (_this._input) {\n _this._input.focus();\n }\n\n _this.close(event);\n }\n\n _this.props.onKeyUp(event);\n };\n\n _this.handleMouseDown = function (event) {\n event.preventDefault();\n };\n\n _this.handleFocus = function (event) {\n _this.setState(function () {\n return {\n focus: true\n };\n });\n\n _this.props.onFocus(event);\n };\n\n _this.handleBlur = function (event) {\n event.persist(); // is focus on an input or a tag\n\n var stillFocused = _this._inputContainer.contains(event.relatedTarget);\n\n if (!stillFocused && _this.expanded) {\n // is focus on an option\n stillFocused = _this._menu.contains(event.relatedTarget);\n }\n\n _this.setState(function () {\n return {\n focus: stillFocused\n };\n }, function () {\n if (_this.expanded && !stillFocused) {\n _this._timeouts.push(setTimeout(function () {\n // timeout so we can check where focus went to\n if (!containsActiveElement(_this._menu)) {\n // is focus still not on an option\n _this.close(event);\n }\n }, 0));\n }\n\n if (!stillFocused) {\n _this.props.onBlur(event);\n }\n });\n };\n\n _this.handleClick = function (event) {\n event.preventDefault();\n\n if (_this.props.disabled || _this.props.readOnly) {\n return;\n }\n\n if (!_this.expanded) {\n if (_this._input && !isActiveElement(_this._input)) {\n _this._input.focus();\n }\n\n _this.open();\n } else {\n _this.close();\n }\n\n _this.props.onClick(event);\n };\n\n _this.handleChange = function (event) {\n if (!_this.expanded) {\n _this.open();\n }\n\n _this.props.onInputChange(event, event.target.value);\n };\n\n _this.handleMenuRef = function (node) {\n _this._menu = node;\n };\n\n _this.handleInputRef = function (node) {\n _this._input = node;\n };\n\n _this.handleInputContainerRef = function (node) {\n _this._inputContainer = node;\n };\n\n _this.state = {\n focus: false,\n highlightedIndex: _this.getSelectedIndex(props),\n expanded: false,\n positioned: false\n };\n _this._defaultId = uid('Select');\n _this._optionsId = uid('Select-Options');\n _this._assistId = uid('Select-assistiveText');\n return _this;\n }\n\n _createClass(SelectField, [{\n key: \"getSelectedIndex\",\n value: function getSelectedIndex(props) {\n if (props.selectedOption) {\n var index = props.options.findIndex(function (option) {\n return getOptionId(option) === getOptionId(props.selectedOption);\n });\n return Math.max(index, 0);\n } else {\n return -1;\n }\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.options !== nextProps.options) {\n this.highlightSelectedOption();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._timeouts.forEach(function (timeout) {\n return clearTimeout(timeout);\n });\n }\n }, {\n key: \"renderIcon\",\n value: function renderIcon() {\n if (typeof this.props.selectedOption.icon === 'function') {\n var Icon = this.props.selectedOption.icon;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: styles.inputIcon\n }, /*#__PURE__*/React.createElement(Icon, null));\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classnames, _classnames2;\n\n var _this$props = this.props,\n size = _this$props.size,\n disabled = _this$props.disabled,\n readOnly = _this$props.readOnly,\n editable = _this$props.editable,\n required = _this$props.required,\n width = _this$props.width,\n options = _this$props.options,\n selectedOption = _this$props.selectedOption,\n loadingText = _this$props.loadingText,\n emptyOption = _this$props.emptyOption,\n visibleOptionsCount = _this$props.visibleOptionsCount,\n children = _this$props.children,\n onStaticClick = _this$props.onStaticClick,\n assistiveText = _this$props.assistiveText,\n layout = _this$props.layout,\n announcement = _this$props.announcement,\n constrain = _this$props.constrain;\n var inputProps = omitProps(this.props, SelectField.propTypes, ['allowEmpty', 'assistiveText', 'value'].concat(_toConsumableArray(Object.keys(FormField.propTypes))));\n var highlightedOption = options[this.state.highlightedIndex];\n\n if (highlightedOption && this.expanded) {\n inputProps['aria-activedescendant'] = \"\".concat(this._optionsId, \"_\").concat(highlightedOption.id);\n } else {\n inputProps['aria-activedescendant'] = null;\n }\n\n var wrappedLabel = /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: this.id,\n className: styles.label\n }, this.props.label);\n\n if (!hasVisibleChildren(this.props.label)) {\n wrappedLabel = /*#__PURE__*/React.createElement(ScreenReaderContent, null, wrappedLabel);\n }\n\n return /*#__PURE__*/React.createElement(FormFieldLayout, Object.assign({}, pickProps(this.props, FormFieldLayout.propTypes), {\n as: \"span\",\n label: wrappedLabel,\n id: this.id,\n vAlign: layout === 'inline' ? 'middle' : null,\n onMouseDown: this.handleMouseDown\n }), /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: width || 'auto'\n },\n className: classnames(styles.inputWidth, (_classnames = {}, _defineProperty(_classnames, styles.invalid, this.invalid), _defineProperty(_classnames, styles.focus, this.state.focus), _classnames))\n }, /*#__PURE__*/React.createElement(\"span\", {\n ref: this.handleInputContainerRef,\n className: classnames(styles.inputContainer, (_classnames2 = {}, _defineProperty(_classnames2, styles.invalid, this.invalid), _defineProperty(_classnames2, styles.disabled, disabled), _defineProperty(_classnames2, styles[size], size), _defineProperty(_classnames2, styles.focus, this.state.focus), _classnames2))\n }, children, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.inputLayout,\n onClick: this.handleClick\n }, selectedOption && this.renderIcon(), /*#__PURE__*/React.createElement(\"input\", Object.assign({}, inputProps, {\n id: this.id,\n className: classnames(styles.input, _defineProperty({}, styles.editable, editable)),\n onFocus: this.handleFocus,\n onChange: editable ? this.handleChange : null,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onBlur: this.handleBlur,\n type: \"text\",\n ref: createChainedFunction(this.props.inputRef, this.handleInputRef),\n role: \"combobox\",\n \"aria-expanded\": this.expanded,\n \"aria-owns\": this.expanded ? this._optionsId : null,\n \"aria-describedby\": this._assistId,\n \"aria-controls\": this.expanded ? this._optionsId : null,\n \"aria-autocomplete\": editable ? 'list' : null,\n \"aria-haspopup\": \"true\",\n autoComplete: editable ? 'off' : null,\n required: required,\n \"aria-required\": required,\n \"aria-invalid\": this.invalid ? 'true' : null,\n readOnly: !editable,\n disabled: disabled || readOnly\n })), /*#__PURE__*/React.createElement(IconArrowOpenDownLine, {\n width: \"0.875rem\",\n height: \"0.875rem\",\n className: styles.icon\n })))), /*#__PURE__*/React.createElement(Dialog, {\n open: this.state.expanded\n }, /*#__PURE__*/React.createElement(Position, {\n trackPosition: this.expanded,\n placement: this.placement,\n onPositioned: this.handlePositioned,\n target: this._inputContainer,\n constrain: constrain\n }, /*#__PURE__*/React.createElement(Position.Content, null, /*#__PURE__*/React.createElement(SelectOptionsList, {\n options: options,\n selectedOption: selectedOption,\n optionsId: this._optionsId,\n menuRef: this.handleMenuRef,\n visibleOptionsCount: visibleOptionsCount,\n loadingText: loadingText,\n emptyOption: emptyOption,\n onStaticClick: onStaticClick,\n onHighlightOption: this.highlightOption,\n onSelect: this.select,\n expanded: this.state.expanded,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onBlur: this.handleBlur,\n highlightedIndex: this.state.highlightedIndex,\n maxWidth: this.props.optionsMaxWidth\n })))), /*#__PURE__*/React.createElement(\"span\", {\n id: this._assistId,\n style: {\n display: 'none'\n }\n }, assistiveText), /*#__PURE__*/React.createElement(ScreenReaderContent, null, /*#__PURE__*/React.createElement(\"span\", {\n role: \"log\",\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\"\n }, announcement)));\n }\n }, {\n key: \"id\",\n get: function get() {\n return this.props.id || this._defaultId;\n }\n }, {\n key: \"expanded\",\n get: function get() {\n return this.state.positioned && this.state.expanded;\n }\n }, {\n key: \"placement\",\n get: function get() {\n if (this.state.expanded) {\n return this.props.placement || 'bottom stretch';\n } else {\n return 'offscreen';\n }\n }\n }, {\n key: \"invalid\",\n get: function get() {\n return this.props.messages && this.props.messages.findIndex(function (message) {\n return message.type === 'error';\n }) >= 0;\n }\n }, {\n key: \"selectedIndex\",\n get: function get() {\n return this.getSelectedIndex(this.props);\n }\n }]);\n\n SelectField.displayName = \"SelectField\";\n return SelectField;\n}(Component), _class2.propTypes = {\n /**\n * the selected value (must be accompanied by an `onSelect` prop)\n */\n selectedOption: PropTypes.oneOfType([PropTypes.string, PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n children: PropTypes.node,\n disabled: PropTypes.bool,\n icon: PropTypes.func,\n groupLabel: PropTypes.bool\n })]),\n options: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n children: PropTypes.node,\n disabled: PropTypes.bool,\n icon: PropTypes.func,\n groupLabel: PropTypes.bool\n })),\n\n /**\n * The placement of the menu in relation to the input, passed down to Position\n */\n placement: LayoutPropTypes.placement,\n label: PropTypes.node.isRequired,\n messages: PropTypes.arrayOf(FormPropTypes.message),\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n layout: PropTypes.oneOf(['stacked', 'inline']),\n\n /**\n * Options dropdown can be wider than input if optionsMaxWidth is provided\n */\n optionsMaxWidth: PropTypes.string,\n\n /**\n * Give the Spinner a title to be read by screenreaders. Disables menu\n * interaction and renders a Spinner in its place.\n */\n loadingText: PropTypes.string,\n\n /**\n * Determines whether the user can type in the input\n */\n editable: PropTypes.bool,\n\n /**\n * The menu content to render when no options are present or are filtered away\n */\n emptyOption: PropTypes.node,\n\n /**\n * The amount of options that are visible without scrolling\n */\n visibleOptionsCount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Custom text to be read by the screenreader when Select is focused\n */\n assistiveText: PropTypes.string,\n\n /**\n * Additional text to provide screenreader feedback upon user action\n */\n announcement: PropTypes.string,\n\n /**\n * Callback fired when the options have been positioned\n */\n onPositioned: PropTypes.func,\n\n /**\n * Callback fired on the option selection\n */\n onSelect: PropTypes.func,\n\n /**\n * Callback fired when the empty option is selected by click\n */\n onStaticClick: PropTypes.func,\n\n /**\n * Callback fired when an option gets highlighted\n */\n onHighlight: PropTypes.func,\n\n /**\n * Width of the whole container\n */\n width: PropTypes.string,\n\n /**\n * Determines whether or not to display the FormField inline\n */\n inline: PropTypes.bool,\n\n /**\n * Children to be rendered inside the input container before the actual input\n */\n children: PropTypes.node,\n\n /**\n * Callback fired when the input gains focus\n */\n onFocus: PropTypes.func,\n\n /**\n * Callback fired when the input container lost focus\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired on keyDown for the input\n */\n onKeyDown: PropTypes.func,\n\n /**\n * Callback fired on keyUp for the input\n */\n onKeyUp: PropTypes.func,\n\n /**\n * Callback fired on click for the input\n */\n onClick: PropTypes.func,\n\n /**\n * Callback fired on change for the input\n */\n onInputChange: PropTypes.func,\n\n /**\n * Callback fired when the menu is opened\n */\n onOpen: PropTypes.func,\n\n /**\n * Callback fired when the menu is closed\n */\n onClose: PropTypes.func,\n\n /**\n * Optional id for the FormField\n */\n id: PropTypes.string,\n\n /**\n * a function that provides a reference to the internal input element\n */\n inputRef: PropTypes.func,\n\n /**\n * should the menu be closed when a selection happens\n */\n closeOnSelect: PropTypes.bool,\n\n /**\n * The parent in which to constrain the menu.\n * One of: 'window', 'scroll-parent', 'parent', 'none', an element,\n * or a function returning an element\n */\n constrain: LayoutPropTypes.constrain,\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n required: PropTypes.bool\n}, _class2.defaultProps = {\n emptyOption: '---',\n selectedOption: null,\n size: 'medium',\n loadingText: null,\n announcement: null,\n options: [],\n visibleOptionsCount: 8,\n closeOnSelect: true,\n editable: false,\n inline: false,\n constrain: 'window',\n onPositioned: function onPositioned() {},\n onSelect: function onSelect(event, selectedOption) {},\n onStaticClick: function onStaticClick(event) {},\n onHighlight: function onHighlight(event) {},\n onClick: function onClick(event) {},\n onInputChange: function onInputChange(event) {},\n onFocus: function onFocus(event) {},\n onBlur: function onBlur(event) {},\n onKeyDown: function onKeyDown(event) {},\n onKeyUp: function onKeyUp(event) {},\n onOpen: function onOpen(event) {},\n onClose: function onClose(event) {},\n disabled: false,\n readOnly: false,\n required: false,\n inputRef: void 0,\n id: void 0,\n children: null,\n width: void 0,\n assistiveText: void 0,\n optionsMaxWidth: void 0,\n layout: void 0,\n messages: void 0,\n placement: void 0\n}, _temp)) || _class) || _class);\nexport default SelectField;\nexport { SelectField };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar _dec, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport deepEqual from 'deep-equal';\nimport { controllable } from '@instructure/ui-prop-types';\nimport { omitProps } from '@instructure/ui-react-utils';\nimport { isActiveElement } from '@instructure/ui-dom-utils';\nimport { testable } from '@instructure/ui-testable';\nimport { SelectField } from '../SelectField';\nimport getOptionId from '../utils/getOptionId';\nvar optionType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n children: PropTypes.node\n});\n/**\n---\nparent: DeprecatedSelect\n---\n**/\n\nvar SelectSingle = (_dec = testable(), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {\n _inherits(SelectSingle, _Component);\n\n var _super = _createSuper(SelectSingle);\n\n function SelectSingle(_props) {\n var _this;\n\n _classCallCheck(this, SelectSingle);\n\n _this = _super.call(this, _props);\n _this._input = null;\n\n _this.focus = function () {\n _this._input && _this._input.focus();\n };\n\n _this.matchSelectedOption = function (state, selectedOption) {\n var inputValue = _this._input.value;\n var match;\n\n if (selectedOption) {\n // find option with a value that matches current selected value\n match = state.filteredOptions.find(function (option) {\n return option.value === selectedOption.value;\n });\n } else {\n // find option with a label that matches input's value\n match = state.filteredOptions.find(function (option) {\n return option.label.toLowerCase() === inputValue.toLowerCase();\n });\n }\n\n return match;\n };\n\n _this.handleClose = function (event, newSelectedOption) {\n return _this.setState(function (prevState, props) {\n var inputValue = _this._input.value;\n\n var match = _this.matchSelectedOption(prevState, newSelectedOption);\n\n var selectedOption = newSelectedOption || prevState.selectedOption;\n\n if (match) {\n _this._input.value = match.label;\n\n if (!selectedOption || getOptionId(match) !== getOptionId(selectedOption)) {\n props.onChange(event, match);\n }\n } else if (selectedOption) {\n if (props.allowEmpty && _this._input.value === '') {\n props.onChange(event, null);\n return {\n filterText: null,\n filteredOptions: props.options,\n selectedOption: null\n };\n } else if (!_this.props.allowCustom) {\n // reset the value to the last valid value\n _this._input.value = selectedOption.label;\n }\n } else if (!_this.props.allowCustom) {\n // clean wrong values\n _this._input.value = '';\n }\n\n if (_this._input.value !== inputValue) {\n _this.props.onInputChange(null, _this._input.value);\n }\n\n return {\n filterText: _this.props.allowCustom ? _this._input.value : null,\n filteredOptions: props.options,\n selectedOption: match || selectedOption\n };\n }, _this.props.onClose);\n };\n\n _this.handleInputChange = function (event, value) {\n _this.props.onInputChange(event, value);\n\n var filterText = value.toLowerCase();\n\n if (_this.state.filterText !== filterText) {\n _this.setState(function (prevState, props) {\n var filteredOptions = props.filter(_this.props.options, filterText || '');\n var selectedOption = prevState.selectedOption;\n\n if (props.allowCustom && filteredOptions.length === 0) {\n selectedOption = void 0;\n }\n\n return {\n filterText: filterText,\n filteredOptions: filteredOptions,\n selectedOption: selectedOption\n };\n });\n }\n };\n\n _this.handleSelect = function (event, selectedOption) {\n if (_this._input.value !== selectedOption.label) {\n _this._input.value = selectedOption.label;\n\n _this.props.onInputChange(null, _this._input.value);\n }\n\n _this.setState({\n filterText: null,\n filteredOptions: _this.props.options,\n selectedOption: selectedOption\n }, function () {\n return _this.focus();\n });\n\n _this.props.onChange(event, selectedOption);\n };\n\n _this.handleInputRef = function (node) {\n _this._input = node;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this.props.inputRef.apply(_assertThisInitialized(_this), [node].concat(args));\n };\n\n _this.state = {\n filterText: null,\n filteredOptions: _props.options,\n selectedOption: _this.getSelectedOptionFromProps(_props)\n };\n return _this;\n }\n\n _createClass(SelectSingle, [{\n key: \"findSelectedOption\",\n value: function findSelectedOption(options, selected) {\n var id = getOptionId(selected);\n var foundOption = options.find(function (option) {\n return getOptionId(option) === id;\n });\n return foundOption || selected;\n }\n }, {\n key: \"getSelectedOptionFromProps\",\n value: function getSelectedOptionFromProps(props, selected) {\n return selected ? this.findSelectedOption(props.options, selected) : this.findSelectedOption(props.options, props.selectedOption || props.defaultSelectedOption);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.state.selectedOption) {\n this._input.value = this.state.selectedOption.label || '';\n }\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var optionsChanged = !deepEqual(this.props.options, nextProps.options);\n var selectedChanged = this.props.selectedOption != nextProps.selectedOption // undefined == null -> no change\n && !deepEqual(this.props.selectedOption, nextProps.selectedOption) && !this.props.disabled && !this.props.readOnly;\n var valueChanged = this.props.value !== nextProps.value;\n\n if (optionsChanged || selectedChanged || valueChanged) {\n this.setState(function (prevState) {\n var selected = selectedChanged ? null : prevState.selectedOption;\n\n var selectedOption = _this2.getSelectedOptionFromProps(nextProps, selected);\n\n var filterText = prevState.filterText || '';\n\n if (nextProps.allowCustom && selectedChanged && !_this2.props.selectedOption) {\n // went from custom text entry to a selection from the options\n filterText = selectedOption && selectedOption.label || '';\n }\n\n var filteredOptions = nextProps.filter(nextProps.options, filterText);\n var value = selectedOption && selectedOption.label || nextProps.value || '';\n\n if ((nextProps.allowCustom || prevState.filterText === null) && _this2._input.value !== value) {\n _this2._input.value = value;\n nextProps.onInputChange(null, _this2._input.value);\n }\n\n if (optionsChanged) {\n nextProps.onOptionsChange(filteredOptions);\n }\n\n return {\n selectedOption: selectedOption,\n filteredOptions: filteredOptions\n };\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(SelectField, Object.assign({}, omitProps(this.props, SelectSingle.propTypes), {\n editable: this.props.allowCustom || this.props.editable // allowCustom requires editable\n ,\n inputRef: this.handleInputRef,\n options: this.state.filteredOptions,\n selectedOption: this.state.selectedOption,\n disabled: this.props.disabled,\n readOnly: this.props.readOnly,\n onSelect: this.handleSelect,\n onStaticClick: this.focus,\n onClose: this.handleClose,\n onInputChange: this.handleInputChange,\n optionsMaxWidth: this.props.optionsMaxWidth,\n closeOnSelect: this.props.closeOnSelect\n }));\n }\n }, {\n key: \"focused\",\n get: function get() {\n return isActiveElement(this._input);\n }\n }, {\n key: \"value\",\n get: function get() {\n var selected = this.state.selectedOption;\n\n if (selected) {\n return selected.value;\n }\n\n if (this.props.allowCustom) {\n return this._input.value;\n }\n\n return null;\n }\n }]);\n\n SelectSingle.displayName = \"SelectSingle\";\n return SelectSingle;\n}(Component), _class2.propTypes = {\n /**\n * The options to render in the menu\n */\n options: PropTypes.arrayOf(optionType),\n\n /**\n * a function that provides a reference to the internal input element\n */\n inputRef: PropTypes.func,\n\n /**\n * the selected value (must be accompanied by an `onChange` prop)\n */\n selectedOption: controllable(PropTypes.oneOfType([PropTypes.string, optionType]), 'onChange', 'defaultSelectedOption'),\n\n /**\n * Options dropdown can be wider than input if optionsMaxWidth is provided\n */\n optionsMaxWidth: PropTypes.string,\n\n /**\n * value to set on initial render, meant for an uncontrolled component\n */\n defaultSelectedOption: PropTypes.oneOfType([PropTypes.string, optionType]),\n\n /**\n * Determines whether the user can type in the input\n */\n editable: PropTypes.bool,\n\n /**\n * for non-multiple Select, allows the user to empty selection\n */\n allowEmpty: PropTypes.bool,\n\n /**\n * If true, the user can freely enter a value not available in the options list.\n * Implies editable is true.\n */\n allowCustom: PropTypes.bool,\n\n /**\n * Whether or not to disable the input\n */\n disabled: PropTypes.bool,\n\n /**\n * Works just like disabled but keeps the same styles as if it were active\n */\n readOnly: PropTypes.bool,\n\n /**\n * The filter function applied to the options when writing on the input\n */\n filter: PropTypes.func,\n\n /**\n * Callback fired when the menu is closed\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired when one of the menu options gets selected\n */\n onChange: PropTypes.func,\n\n /**\n * Callback fired when on the onChange of the internal input\n */\n onInputChange: PropTypes.func,\n\n /**\n * Callback fired when the options displayed in the menu change\n */\n onOptionsChange: PropTypes.func,\n\n /**\n * should the menu be closed when a selection happens\n */\n closeOnSelect: PropTypes.bool,\n\n /**\n * the current value. The selected option's value, or the entered text if allowCustom is true\n */\n value: PropTypes.string\n}, _class2.defaultProps = {\n options: void 0,\n selectedOption: void 0,\n defaultSelectedOption: void 0,\n value: void 0,\n filter: void 0,\n readOnly: false,\n disabled: false,\n allowCustom: false,\n allowEmpty: false,\n editable: false,\n optionsMaxWidth: void 0,\n inputRef: function inputRef(node) {},\n onClose: function onClose() {},\n onChange: function onChange(event, selectedOption) {},\n onInputChange: function onInputChange(event, value) {},\n onOptionsChange: function onOptionsChange(filteredOptions) {},\n closeOnSelect: true\n}, _temp)) || _class);\nexport default SelectSingle;\nexport { SelectSingle };","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport default function generator(_ref) {\n var spacing = _ref.spacing;\n return {\n tagTopMargin: spacing.xxxSmall,\n tagStartMargin: spacing.xxSmall\n };\n}\n\ngenerator.canvas = function (variables) {\n return {};\n};","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar _dec, _dec2, _class, _class2, _temp;\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport deepEqual from 'deep-equal';\nimport { themeable } from '@instructure/ui-themeable';\nimport { controllable } from '@instructure/ui-prop-types';\nimport { omitProps } from '@instructure/ui-react-utils';\nimport { isActiveElement, containsActiveElement } from '@instructure/ui-dom-utils';\nimport { testable } from '@instructure/ui-testable';\nimport { Tag } from '@instructure/ui-tag';\nimport { SelectField } from '../SelectField';\nimport getOptionId from '../utils/getOptionId';\nvar styles = {\n componentId: 'bknox',\n template: function template(theme) {\n return \"\\n\\n.bknox_dTVD{-webkit-margin-end:0;-webkit-margin-start:\".concat(theme.tagStartMargin || 'inherit', \";margin-inline-end:0;margin-inline-start:\").concat(theme.tagStartMargin || 'inherit', \";margin-top:calc(\").concat(theme.tagTopMargin || 'inherit', \" + 0.125rem)}\\n\\n[dir=ltr] .bknox_dTVD{margin-left:\").concat(theme.tagStartMargin || 'inherit', \";margin-right:0}\\n\\n[dir=rtl] .bknox_dTVD{margin-left:0;margin-right:\").concat(theme.tagStartMargin || 'inherit', \"}\\n\\n.bknox_dTVD:last-of-type{margin-bottom:\").concat(theme.tagTopMargin || 'inherit', \"}\");\n },\n 'tag': 'bknox_dTVD'\n};\nimport theme from './theme';\nvar optionType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n dismissible: PropTypes.bool,\n children: PropTypes.node\n});\n/**\n---\nparent: DeprecatedSelect\n---\n**/\n\nvar SelectMultiple = (_dec = testable(), _dec2 = themeable(theme, styles), _dec(_class = _dec2(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {\n _inherits(SelectMultiple, _Component);\n\n var _super = _createSuper(SelectMultiple);\n\n function SelectMultiple(_props) {\n var _this;\n\n _classCallCheck(this, SelectMultiple);\n\n _this = _super.call(this, _props);\n _this._input = null;\n\n _this.focus = function () {\n _this._input && _this._input.focus();\n };\n\n _this.cleanInput = function () {\n if (_this._input.value !== '') {\n _this._input.value = '';\n\n _this.props.onInputChange(null, '');\n }\n };\n\n _this.matchSelectedOptions = function (state, selectedOption) {\n if (selectedOption) {\n // find options with values that match current selected values\n return state.filteredOptions.filter(function (option) {\n return selectedOption.find(function (selected) {\n return selected.value === option.value;\n });\n });\n } else {\n // find an option with a label that matches input's value\n return [state.filteredOptions.find(function (option) {\n return option.label.toLowerCase() === _this._input.value.toLowerCase();\n })].filter(function (value) {\n return value;\n });\n }\n };\n\n _this.amendMatchesToState = function (state, props, matches, onChange) {\n if (matches && matches.length > 0) {\n var selectedOption = [].concat(_toConsumableArray(state.selectedOption), _toConsumableArray(matches));\n\n if (typeof onChange === 'function') {\n onChange(selectedOption);\n }\n\n return {\n filteredOptions: _this.getFilteredOptions(props, '', selectedOption),\n selectedOption: selectedOption\n };\n }\n\n return {\n filteredOptions: _this.getFilteredOptions(props, '', state.selectedOption)\n };\n };\n\n _this.handleClose = function (event) {\n return _this.setState(function (prevState, props) {\n var matches = _this.matchSelectedOptions(prevState);\n\n _this.cleanInput();\n\n return _this.amendMatchesToState(prevState, props, matches, function (selectedOption) {\n props.onChange(event, selectedOption);\n });\n }, _this.props.onClose);\n };\n\n _this.handleInputChange = function (event, value) {\n _this.props.onInputChange(event, value);\n\n var filterText = value.toLowerCase();\n\n if (_this.state.filterText !== filterText) {\n _this.setState(function (prevState, props) {\n return {\n filterText: filterText,\n filteredOptions: _this.getFilteredOptions(props, filterText, prevState.selectedOption)\n };\n });\n }\n };\n\n _this.handleKeyDown = function (event) {\n var _this$state = _this.state,\n filterText = _this$state.filterText,\n selectedOption = _this$state.selectedOption,\n length = _this$state.selectedOption.length; // If the user pressed backspace while focusing on input, input is emtpy and there's selectedOptions\n\n if ((event.key === 'Backspace' || event.key === 'Delete') && length > 0 && filterText === '' && isActiveElement(_this._input)) {\n _this.dismiss(event, selectedOption[length - 1]);\n }\n\n _this.props.onKeyDown(event);\n };\n\n _this.handleSelect = function (event, newOption) {\n _this.cleanInput();\n\n var newSelectedOption = [].concat(_toConsumableArray(_this.state.selectedOption), [newOption]);\n\n _this.setState(function (prevState, props) {\n var selectedOption = _this.isControlled ? prevState.selectedOption : newSelectedOption;\n return {\n filterText: '',\n filteredOptions: _this.getFilteredOptions(props, '', selectedOption),\n selectedOption: selectedOption\n };\n }, _this.focus);\n\n _this.props.onChange(event, newSelectedOption);\n };\n\n _this.dismiss = function (event, tag) {\n // to prevent expanding the menu onClick\n event.preventDefault();\n event.stopPropagation();\n var tagId = getOptionId(tag);\n\n var newSelectedOption = _this.state.selectedOption.filter(function (o) {\n return getOptionId(o) !== tagId;\n });\n\n _this.setState(function (prevState, props) {\n var selectedOption = _this.isControlled ? prevState.selectedOption : newSelectedOption;\n return {\n filteredOptions: _this.getFilteredOptions(props, prevState.filterText, selectedOption),\n selectedOption: selectedOption\n };\n }, _this.focus);\n\n _this.props.onChange(event, newSelectedOption);\n };\n\n _this.handleInputRef = function (node) {\n _this._input = node;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this.props.inputRef.apply(_assertThisInitialized(_this), [node].concat(args));\n };\n\n var _selectedOption = _this.getSelectedOptionFromProps(_props);\n\n var filteredOptions = _this.getFilteredOptions(_props, '', _selectedOption);\n\n _this.state = {\n filterText: '',\n selectedOption: _selectedOption,\n filteredOptions: filteredOptions\n };\n return _this;\n }\n\n _createClass(SelectMultiple, [{\n key: \"getOptionMap\",\n value: function getOptionMap(options) {\n return options.reduce(function (map, option) {\n map[getOptionId(option)] = option; // eslint-disable-line no-param-reassign\n\n return map;\n }, {});\n }\n }, {\n key: \"findSelectedOptions\",\n value: function findSelectedOptions() {\n var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n var selected = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n var optionMap = this.getOptionMap(options);\n return selected.map(function (option) {\n var id = getOptionId(option);\n var foundOption = optionMap[id];\n\n if (typeof option === 'object') {\n return _objectSpread({}, option, {}, foundOption);\n }\n\n return foundOption || option;\n });\n }\n }, {\n key: \"getSelectedOptionFromProps\",\n value: function getSelectedOptionFromProps(props, selected) {\n return selected ? this.findSelectedOptions(props.options, selected) : this.findSelectedOptions(props.options, props.selectedOption || props.defaultSelectedOption);\n }\n }, {\n key: \"getFilteredOptions\",\n value: function getFilteredOptions(_ref, filterText) {\n var filter = _ref.filter,\n options = _ref.options;\n var selectedOption = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];\n var filteredOptions = filter(options, filterText);\n var optionMap = this.getOptionMap(selectedOption);\n return filteredOptions.filter(function (o) {\n return !optionMap[getOptionId(o)];\n });\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var optionsChanged = !deepEqual(this.props.options, nextProps.options);\n var selectedChanged = !deepEqual(this.props.selectedOption, nextProps.selectedOption) && !this.props.disabled && !this.props.readOnly;\n\n if (optionsChanged || selectedChanged) {\n this.setState(function (prevState) {\n var selected = selectedChanged ? null : prevState.selectedOption;\n\n var selectedOption = _this2.getSelectedOptionFromProps(nextProps, selected);\n\n var filteredOptions = _this2.getFilteredOptions(nextProps, prevState.filterText, selectedOption);\n\n if (optionsChanged) {\n _this2.props.onOptionsChange(filteredOptions);\n }\n\n return {\n selectedOption: selectedOption,\n filteredOptions: filteredOptions\n };\n });\n }\n }\n }, {\n key: \"renderTags\",\n value: function renderTags() {\n var _this3 = this;\n\n return this.state.selectedOption.filter(function (option) {\n return option && option.label;\n }).map(function (tag, index) {\n var isDismissible = tag.dismissible !== false;\n var dismissibleProps = {};\n\n if (isDismissible) {\n dismissibleProps = {\n dismissible: true,\n onClick: function onClick(event) {\n return _this3.dismiss(event, tag);\n },\n onMouseDown: function onMouseDown(event) {\n // prevent event from propagating up to SelectField\n event.stopPropagation();\n }\n };\n }\n\n return /*#__PURE__*/React.createElement(Tag, Object.assign({\n className: styles.tag,\n key: getOptionId(tag) + tag.label,\n title: tag.label,\n text: _this3.props.formatSelectedOption(tag, index),\n size: _this3.props.size,\n disabled: _this3.props.disabled,\n readOnly: _this3.props.readOnly\n }, dismissibleProps));\n });\n }\n }, {\n key: \"renderInputs\",\n value: function renderInputs() {\n var _this4 = this;\n\n return this.state.selectedOption.filter(function (option) {\n return option && option.label;\n }).map(function (tag, index) {\n return /*#__PURE__*/React.createElement(\"input\", {\n type: \"hidden\",\n key: getOptionId(tag) + tag.label,\n name: _this4.props.name,\n value: tag.value\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n\n return /*#__PURE__*/React.createElement(SelectField, Object.assign({}, omitProps(this.props, SelectMultiple.propTypes), {\n ref: function ref(el) {\n _this5._field = el;\n },\n inputRef: this.handleInputRef,\n editable: this.props.editable,\n options: this.state.filteredOptions,\n size: this.props.size,\n disabled: this.props.disabled,\n readOnly: this.props.readOnly,\n onSelect: this.handleSelect,\n onStaticClick: this.focus,\n onClose: this.handleClose,\n onInputChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown,\n optionsMaxWidth: this.props.optionsMaxWidth,\n closeOnSelect: this.props.closeOnSelect\n }), this.renderTags(), this.renderInputs());\n }\n }, {\n key: \"focused\",\n get: function get() {\n return containsActiveElement(this._field);\n }\n }, {\n key: \"value\",\n get: function get() {\n return this.state.selectedOption.map(function (selected) {\n return selected && selected.value;\n });\n }\n }, {\n key: \"isControlled\",\n get: function get() {\n return !!this.props.selectedOption;\n }\n }]);\n\n SelectMultiple.displayName = \"SelectMultiple\";\n return SelectMultiple;\n}(Component), _class2.propTypes = {\n /**\n * The options to render in the menu\n */\n options: PropTypes.arrayOf(optionType),\n\n /**\n * a function that provides a reference to the internal input element\n */\n inputRef: PropTypes.func,\n\n /**\n * the selected value (must be accompanied by an `onChange` prop)\n */\n selectedOption: controllable(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, optionType])), 'onChange', 'defaultSelectedOption'),\n\n /**\n * value to set on initial render, meant for an uncontrolled component\n */\n defaultSelectedOption: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, optionType])),\n\n /**\n * Determines whether the user can type in the input\n */\n editable: PropTypes.bool,\n\n /**\n * Optional name for the FormField\n */\n name: PropTypes.string,\n\n /**\n * The size used for input and menu options\n */\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * Options dropdown can be wider than input if optionsMaxWidth is provided\n */\n optionsMaxWidth: PropTypes.string,\n\n /**\n * The filter function applied to the options when the value of the input changes\n */\n filter: PropTypes.func,\n\n /**\n * The format function called for each Tag to render its contents\n */\n formatSelectedOption: PropTypes.func,\n\n /**\n * Whether or not to disable the input and tags\n */\n disabled: PropTypes.bool,\n\n /**\n * Works just like disabled but keeps the same styles as if it were active\n */\n readOnly: PropTypes.bool,\n\n /**\n * Callback fired when the menu is closed\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired when one of the menu options gets selected\n */\n onChange: PropTypes.func,\n\n /**\n * Callback fired on the onChange of the internal input\n */\n onInputChange: PropTypes.func,\n\n /**\n * Callback fired when the options displayed in the menu change\n */\n onOptionsChange: PropTypes.func,\n\n /**\n * Callback fired on the onKeyDown of the internal input\n */\n onKeyDown: PropTypes.func,\n\n /**\n * should the menu be closed when a selection happens\n */\n closeOnSelect: PropTypes.bool,\n\n /**\n * must be false for multiple select\n */\n allowCustom: PropTypes.oneOf([false])\n}, _class2.defaultProps = {\n inputRef: function inputRef() {},\n formatSelectedOption: function formatSelectedOption(tag) {\n return tag.children || tag.label;\n },\n onClose: function onClose() {},\n onChange: function onChange(event, selectedOption) {},\n onInputChange: function onInputChange(event) {},\n onOptionsChange: function onOptionsChange(filteredOptions) {},\n onKeyDown: function onKeyDown(event) {},\n closeOnSelect: true,\n allowCustom: false,\n readOnly: false,\n disabled: false,\n filter: void 0,\n optionsMaxWidth: void 0,\n size: void 0,\n name: void 0,\n editable: false,\n selectedOption: void 0,\n defaultSelectedOption: void 0,\n options: void 0\n}, _temp)) || _class) || _class);\nexport default SelectMultiple;\nexport { SelectMultiple };","import { error as _error } from \"@instructure/console\";\n\n/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport React, { Children } from 'react';\n\n/**\n---\nparent: DeprecatedSelect\nprivate: True\nid: parseOptions\n---\n*/\nexport default function parseOptions(children) {\n var options = Children.map(children, function (child) {\n var _child$props = child.props,\n label = _child$props.label,\n value = _child$props.value,\n children = _child$props.children;\n\n if (child.type === 'optgroup') {\n var group = [];\n var groupValue = value || label;\n group.push( /*#__PURE__*/React.createElement(\"option\", Object.assign({}, child.props, {\n value: groupValue,\n group: groupValue,\n groupLabel: true,\n disabled: true\n }), label));\n Children.forEach(children, function (option, index) {\n group.push( /*#__PURE__*/React.createElement(\"option\", Object.assign({}, option.props, {\n group: groupValue,\n groupItem: true\n }), option.props.children));\n });\n return group;\n } else {\n return child;\n }\n });\n return Children.map(options, function (option) {\n var _option$props = option.props,\n label = _option$props.label,\n id = _option$props.id,\n value = _option$props.value,\n children = _option$props.children,\n disabled = _option$props.disabled,\n icon = _option$props.icon,\n group = _option$props.group,\n groupLabel = _option$props.groupLabel,\n groupItem = _option$props.groupItem;\n\n /*#__PURE__*/\n\n /*#__PURE__*/\n _error(typeof value === 'string', \"[Select] The 'value' prop on