accessible-autocomplete
Advanced tools
Comparing version 1.0.5 to 1.0.6
@@ -7,2 +7,6 @@ # CHANGELOG | ||
## 1.0.6 - 2017-05-17 | ||
- Update preact dependency to v8.1.0. | ||
## 1.0.5 - 2017-05-16 | ||
@@ -9,0 +13,0 @@ |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.accessibleAutocomplete=t():e.accessibleAutocomplete=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=4)}([function(e,t,n){!function(e,n){!function(e){function t(e,t,n){this.nodeName=e,this.attributes=t,this.children=n,this.key=t&&t.key}function n(e,n){var o,r,i,l,u=[];for(l=arguments.length;l-- >2;)q.push(arguments[l]);for(n&&n.children&&(q.length||q.push(n.children),delete n.children);q.length;)if((r=q.pop())instanceof Array)for(l=r.length;l--;)q.push(r[l]);else null!=r&&!1!==r&&("number"!=typeof r&&!0!==r||(r=String(r)),i="string"==typeof r,i&&o?u[u.length-1]+=r:(u.push(r),o=i));var a=new t(e,n||void 0,u);return F.vnode&&F.vnode(a),a}function o(e,t){if(t)for(var n in t)e[n]=t[n];return e}function r(e){return o({},e)}function i(e,t){for(var n=t.split("."),o=0;o<n.length&&e;o++)e=e[n[o]];return e}function l(e){return"function"==typeof e}function u(e){return"string"==typeof e}function a(e){var t="";for(var n in e)e[n]&&(t&&(t+=" "),t+=n);return t}function s(e,t){return n(e.nodeName,o(r(e.attributes),t),arguments.length>2?[].slice.call(arguments,2):e.children)}function p(e,t,n){var o=t.split(".");return function(t){for(var r=t&&t.target||this,l={},a=l,s=u(n)?i(t,n):r.nodeName?r.type.match(/^che|rad/)?r.checked:r.value:t,p=0;p<o.length-1;p++)a=a[o[p]]||(a[o[p]]=!p&&e.state[o[p]]||{});a[o[p]]=s,e.setState(l)}}function c(e){!e._dirty&&(e._dirty=!0)&&1==$.push(e)&&(F.debounceRendering||H)(d)}function d(){var e,t=$;for($=[];e=t.pop();)e._dirty&&L(e)}function f(e){var t=e&&e.nodeName;return t&&l(t)&&!(t.prototype&&t.prototype.render)}function h(e,t){return e.nodeName(y(e),t||K)}function m(e,t){return u(t)?e instanceof Text:u(t.nodeName)?v(e,t.nodeName):l(t.nodeName)?e._componentConstructor===t.nodeName||f(t):void 0}function v(e,t){return e.normalizedNodeName===t||R(e.nodeName)===R(t)}function y(e){var t=r(e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(n)for(var o in n)void 0===t[o]&&(t[o]=n[o]);return t}function b(e){var t=e.parentNode;t&&t.removeChild(e)}function g(e,t,n,o,r){if("className"===t&&(t="class"),"class"===t&&o&&"object"==typeof o&&(o=a(o)),"key"===t);else if("class"!==t||r)if("style"===t){if((!o||u(o)||u(n))&&(e.style.cssText=o||""),o&&"object"==typeof o){if(!u(n))for(var i in n)i in o||(e.style[i]="");for(var i in o)e.style[i]="number"!=typeof o[i]||G[i]?o[i]:o[i]+"px"}}else if("dangerouslySetInnerHTML"===t)o&&(e.innerHTML=o.__html);else if("o"==t[0]&&"n"==t[1]){var s=e._listeners||(e._listeners={});t=R(t.substring(2)),o?s[t]||e.addEventListener(t,O,!!Q[t]):s[t]&&e.removeEventListener(t,O,!!Q[t]),s[t]=o}else if("list"!==t&&"type"!==t&&!r&&t in e)_(e,t,null==o?"":o),null!=o&&!1!==o||e.removeAttribute(t);else{var p=r&&t.match(/^xlink\:?(.+)/);null==o||!1===o?p?e.removeAttributeNS("http://www.w3.org/1999/xlink",R(p[1])):e.removeAttribute(t):"object"==typeof o||l(o)||(p?e.setAttributeNS("http://www.w3.org/1999/xlink",R(p[1]),o):e.setAttribute(t,o))}else e.className=o||""}function _(e,t,n){try{e[t]=n}catch(e){}}function O(e){return this._listeners[e.type](F.event&&F.event(e)||e)}function x(e){if(b(e),e instanceof Element){e._component=e._componentConstructor=null;var t=e.normalizedNodeName||R(e.nodeName);(J[t]||(J[t]=[])).push(e)}}function C(e,t){var n=R(e),o=J[n]&&J[n].pop()||(t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e));return o.normalizedNodeName=n,o}function w(){for(var e;e=X.pop();)F.afterMount&&F.afterMount(e),e.componentDidMount&&e.componentDidMount()}function N(e,t,n,o,r,i){Y++||(Z=r instanceof SVGElement);var l=E(e,t,n,o);return r&&l.parentNode!==r&&r.appendChild(l),--Y||i||w(),l}function E(e,t,n,o){for(var r=t&&t.attributes;f(t);)t=h(t,n);if(null==t&&(t=""),u(t)){if(e){if(e instanceof Text&&e.parentNode)return e.nodeValue!=t&&(e.nodeValue=t),e;k(e)}return document.createTextNode(t)}if(l(t.nodeName))return A(e,t,n,o);var i=e,a=t.nodeName,s=Z,p=t.children;if(u(a)||(a=String(a)),Z="svg"===a||"foreignObject"!==a&&Z,e){if(!v(e,a)){for(i=C(a,Z);e.firstChild;)i.appendChild(e.firstChild);k(e)}}else i=C(a,Z);p&&1===p.length&&"string"==typeof p[0]&&1===i.childNodes.length&&i.firstChild instanceof Text?i.firstChild.nodeValue!=p[0]&&(i.firstChild.nodeValue=p[0]):(p&&p.length||i.firstChild)&&I(i,p,n,o);var c=i[z];if(!c){i[z]=c={};for(var d=i.attributes,m=d.length;m--;)c[d[m].name]=d[m].value}return S(i,t.attributes,c),r&&"function"==typeof r.ref&&(c.ref=r.ref)(i),Z=s,i}function I(e,t,n,o){var r,i,u,a,s=e.childNodes,p=[],c={},d=0,f=0,h=s.length,v=0,y=t&&t.length;if(h)for(var b=0;b<h;b++){var g=s[b],_=y?(i=g._component)?i.__key:(i=g[z])?i.key:null:null;_||0===_?(d++,c[_]=g):p[v++]=g}if(y)for(var b=0;b<y;b++){u=t[b],a=null;var _=u.key;if(null!=_)d&&_ in c&&(a=c[_],c[_]=void 0,d--);else if(!a&&f<v){for(r=f;r<v;r++)if((i=p[r])&&m(i,u)){a=i,p[r]=void 0,r===v-1&&v--,r===f&&f++;break}!a&&f<v&&l(u.nodeName)&&o&&(a=p[f],p[f++]=void 0)}(a=E(a,u,n,o))&&a!==e&&a!==s[b]&&e.insertBefore(a,s[b]||null)}if(d)for(var b in c)c[b]&&k(c[b]);f<v&&M(p)}function M(e,t){for(var n=e.length;n--;)e[n]&&k(e[n],t)}function k(e,t){var n=e._component;n?B(n,!t):(e[z]&&e[z].ref&&e[z].ref(null),t||x(e),e.childNodes&&e.childNodes.length&&M(e.childNodes,t))}function S(e,t,n){for(var o in n)t&&o in t||null==n[o]||g(e,o,n[o],n[o]=void 0,Z);if(t)for(var r in t)"children"===r||"innerHTML"===r||r in n&&t[r]===("value"===r||"checked"===r?e[r]:n[r])||g(e,r,n[r],n[r]=t[r],Z)}function D(e){var t=e.constructor.name,n=ee[t];n?n.push(e):ee[t]=[e]}function P(e,t,n){var o=new e(t,n),r=ee[e.name];if(U.call(o,t,n),r)for(var i=r.length;i--;)if(r[i].constructor===e){o.nextBase=r[i].nextBase,r.splice(i,1);break}return o}function T(e,t,n,o,r){e._disable||(e._disable=!0,(e.__ref=t.ref)&&delete t.ref,(e.__key=t.key)&&delete t.key,!e.base||r?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,o),o&&o!==e.context&&(e.prevContext||(e.prevContext=e.context),e.context=o),e.prevProps||(e.prevProps=e.props),e.props=t,e._disable=!1,0!==n&&(1!==n&&!1===F.syncComponentUpdates&&e.base?c(e):L(e,1,r)),e.__ref&&e.__ref(e))}function L(e,t,n,i){if(!e._disable){var u,a,s,p,c=e.props,d=e.state,m=e.context,v=e.prevProps||c,b=e.prevState||d,g=e.prevContext||m,_=e.base,O=e.nextBase,x=_||O,C=e._component;if(_&&(e.props=v,e.state=b,e.context=g,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(c,d,m)?u=!0:e.componentWillUpdate&&e.componentWillUpdate(c,d,m),e.props=c,e.state=d,e.context=m),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,e._dirty=!1,!u){for(e.render&&(a=e.render(c,d,m)),e.getChildContext&&(m=o(r(m),e.getChildContext()));f(a);)a=h(a,m);var E,I,M=a&&a.nodeName;if(l(M)){s=C;var S=y(a);s&&s.constructor===M?T(s,S,1,m):(E=s,s=P(M,S,m),s.nextBase=s.nextBase||O,s._parentComponent=e,e._component=s,T(s,S,0,m),L(s,1,n,!0)),I=s.base}else p=x,E=C,E&&(p=e._component=null),(x||1===t)&&(p&&(p._component=null),I=N(p,a,m,n||!_,x&&x.parentNode,!0));if(x&&I!==x&&s!==C){var D=x.parentNode;D&&I!==D&&(D.replaceChild(I,x),E||(x._component=null,k(x)))}if(E&&B(E,I!==x),e.base=I,I&&!i){for(var A=e,U=e;U=U._parentComponent;)(A=U).base=I;I._component=A,I._componentConstructor=A.constructor}}!_||n?X.unshift(e):u||(e.componentDidUpdate&&e.componentDidUpdate(v,b,g),F.afterUpdate&&F.afterUpdate(e));var j,q=e._renderCallbacks;if(q)for(;j=q.pop();)j.call(e);Y||i||w()}}function A(e,t,n,o){for(var r=e&&e._component,i=e,l=r&&e._componentConstructor===t.nodeName,u=l,a=y(t);r&&!u&&(r=r._parentComponent);)u=r.constructor===t.nodeName;return r&&u&&(!o||r._component)?(T(r,a,3,n,o),e=r.base):(r&&!l&&(B(r,!0),e=i=null),r=P(t.nodeName,a,n),e&&!r.nextBase&&(r.nextBase=e,i=null),T(r,a,1,n,o),e=r.base,i&&e!==i&&(i._component=null,k(i))),e}function B(e,t){F.beforeUnmount&&F.beforeUnmount(e);var n=e.base;e._disable=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var o=e._component;o?B(o,t):n&&(n[z]&&n[z].ref&&n[z].ref(null),e.nextBase=n,t&&(b(n),D(e)),M(n.childNodes,!t)),e.__ref&&e.__ref(null),e.componentDidUnmount&&e.componentDidUnmount()}function U(e,t){this._dirty=!0,this.context=t,this.props=e,this.state||(this.state={})}function j(e,t,n){return N(n,e,{},!1,t)}var F={},q=[],V={},R=function(e){return V[e]||(V[e]=e.toLowerCase())},W="undefined"!=typeof Promise&&Promise.resolve(),H=W?function(e){W.then(e)}:setTimeout,K={},z="undefined"!=typeof Symbol?Symbol.for("preactattr"):"__preactattr_",G={boxFlex:1,boxFlexGroup:1,columnCount:1,fillOpacity:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,fontWeight:1,lineClamp:1,lineHeight:1,opacity:1,order:1,orphans:1,strokeOpacity:1,widows:1,zIndex:1,zoom:1},Q={blur:1,error:1,focus:1,load:1,resize:1,scroll:1},$=[],J={},X=[],Y=0,Z=!1,ee={};o(U.prototype,{linkState:function(e,t){var n=this._linkedStates||(this._linkedStates={});return n[e+t]||(n[e+t]=p(this,e,t))},setState:function(e,t){var n=this.state;this.prevState||(this.prevState=r(n)),o(n,l(e)?e(n,this.props):e),t&&(this._renderCallbacks=this._renderCallbacks||[]).push(t),c(this)},forceUpdate:function(){L(this,2)},render:function(){}}),e.h=n,e.cloneElement=s,e.Component=U,e.render=j,e.rerender=d,e.options=F}(t)}()},function(e,t,n){"use strict";function o(e){if(!e.element)throw new Error("element is not defined");if(!e.id)throw new Error("id is not defined");if(!e.source)throw new Error("source is not defined");(0,i.render)((0,i.h)(u.default,e),e.element)}var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},i=n(0),l=n(2),u=function(e){return e&&e.__esModule?e:{default:e}}(l),a=function(e){return function(t,n){n(t?e.filter(function(e){return-1!==e.toLowerCase().indexOf(t.toLowerCase())}):[])}};o.enhanceSelectElement=function(e){if(!e.selectElement)throw new Error("selectElement is not defined");if(!e.source){var t=[].filter.call(e.selectElement.options,function(t){return t.value||e.preserveNullOptions});t=t.map(function(e){return e.innerHTML}),e.source=a(t)}e.onConfirm=e.onConfirm||function(t){var n=[].filter.call(e.selectElement.options,function(e){return e.innerHTML===t})[0];n&&(n.selected=!0)},(e.selectElement.value||void 0===e.defaultValue)&&(e.defaultValue=e.selectElement.options[e.selectElement.options.selectedIndex].innerHTML),e.name=e.name||"",e.id=e.id||e.selectElement.id||"",e.autoselect=e.autoselect||!0;var n=document.createElement("span");e.selectElement.insertAdjacentElement("afterend",n),o(r({},e,{element:n})),e.selectElement.style.display="none",e.selectElement.id=e.selectElement.id+"-select"},e.exports=o},function(e,t,n){"use strict";function o(e,t){}function r(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){"function"!=typeof t&&null!==t||(e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t))}function l(){return!(!navigator.userAgent.match(/(iPod|iPhone|iPad)/g)||!navigator.userAgent.match(/AppleWebKit/g))}function u(e){return e>47&&e<58||32===e||8===e||e>64&&e<91||e>95&&e<112||e>185&&e<193||e>218&&e<223}t.__esModule=!0,t.default=void 0;var a,s,p=n(0),c=n(3),d=function(e){return e&&e.__esModule?e:{default:e}}(c),f={13:"enter",27:"escape",38:"up",40:"down"},h=function(){var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}(),m=(s=a=function(e){function t(n){o(this,t);var i=r(this,e.call(this,n));return i.elementRefs={},i.state={focused:null,hovered:null,menuOpen:!1,options:n.defaultValue?[n.defaultValue]:[],query:n.defaultValue,selected:null},i.handleComponentBlur=i.handleComponentBlur.bind(i),i.handleKeyDown=i.handleKeyDown.bind(i),i.handleUpArrow=i.handleUpArrow.bind(i),i.handleDownArrow=i.handleDownArrow.bind(i),i.handleEnter=i.handleEnter.bind(i),i.handlePrintableKey=i.handlePrintableKey.bind(i),i.handleOptionClick=i.handleOptionClick.bind(i),i.handleOptionFocusOut=i.handleOptionFocusOut.bind(i),i.handleOptionFocus=i.handleOptionFocus.bind(i),i.handleOptionMouseDown=i.handleOptionMouseDown.bind(i),i.handleOptionMouseEnter=i.handleOptionMouseEnter.bind(i),i.handleOptionMouseOut=i.handleOptionMouseOut.bind(i),i.handleOptionTouchEnd=i.handleOptionTouchEnd.bind(i),i.handleInputBlur=i.handleInputBlur.bind(i),i.handleInputChange=i.handleInputChange.bind(i),i.handleInputFocus=i.handleInputFocus.bind(i),i.pollInputElement=i.pollInputElement.bind(i),i.getDirectInputChanges=i.getDirectInputChanges.bind(i),i}return i(t,e),t.prototype.componentDidMount=function(){this.pollInputElement()},t.prototype.componentWillUnmount=function(){clearTimeout(this.$pollInput)},t.prototype.pollInputElement=function(){var e=this;this.getDirectInputChanges(),this.$pollInput=setTimeout(function(){e.pollInputElement()},100)},t.prototype.getDirectInputChanges=function(){var e=this.elementRefs[-1];e.value!==this.state.query&&this.handleInputChange({target:{value:e.value}})},t.prototype.componentDidUpdate=function(e,t){var n=this.state.focused,o=null===n,r=t.focused!==n;r&&!o&&this.elementRefs[n].focus();var i=-1===n,l=r&&null===t.focused;if(i&&l){var u=this.elementRefs[n];u.setSelectionRange(0,u.value.length)}},t.prototype.hasAutoselect=function(){return!l()&&this.props.autoselect},t.prototype.templateInputValue=function(e){var t=this.props.templates&&this.props.templates.inputValue;return t?t(e):e},t.prototype.templateSuggestion=function(e){var t=this.props.templates&&this.props.templates.suggestion;return t?t(e):e},t.prototype.handleComponentBlur=function(e){var t=this.state,n=t.options,o=t.query,r=t.selected,i=void 0;this.props.confirmOnBlur?(i=e.query||o,this.props.onConfirm(n[r])):i=o,this.setState({focused:null,menuOpen:e.menuOpen||!1,query:i,selected:null})},t.prototype.handleOptionFocusOut=function(e,t){var n=this.state,o=n.focused,r=n.menuOpen,i=n.options,u=n.selected,a=null===e.relatedTarget,s=e.relatedTarget===this.elementRefs[-1],p=o!==t&&-1!==o;if(a||!p&&!s){var c=r&&l();this.handleComponentBlur({menuOpen:c,query:this.templateInputValue(i[u])})}},t.prototype.handleInputBlur=function(e){var t=this.state,n=t.focused,o=t.menuOpen,r=t.options,i=t.query,u=t.selected;if(-1===n){var a=o&&l(),s=l()?i:this.templateInputValue(r[u]);this.handleComponentBlur({menuOpen:a,query:s})}},t.prototype.handleInputChange=function(e){var t=this,n=this.props,o=n.minLength,r=n.source,i=this.hasAutoselect(),l=e.target.value,u=0===l.length,a=this.state.query.length!==l.length,s=l.length>=o;this.setState({query:l}),!u&&a&&s?r(l,function(e){var n=e.length>0;t.setState({menuOpen:n,options:e,selected:i&&n?0:-1})}):!u&&s||this.setState({menuOpen:!1,options:[]})},t.prototype.handleInputFocus=function(e){this.setState({focused:-1})},t.prototype.handleOptionFocus=function(e){this.setState({focused:e,hovered:null,selected:e})},t.prototype.handleOptionMouseEnter=function(e,t){this.setState({hovered:t})},t.prototype.handleOptionMouseOut=function(e,t){this.setState({hovered:null})},t.prototype.handleOptionTouchEnd=function(e,t){this.handleOptionClick(e,t)},t.prototype.handleOptionClick=function(e,t){var n=this.state.options[t],o=this.templateInputValue(n);this.props.onConfirm(n),this.setState({focused:-1,menuOpen:!1,query:o,selected:-1})},t.prototype.handleOptionMouseDown=function(e){e.preventDefault()},t.prototype.handleUpArrow=function(e){e.preventDefault();var t=this.state,n=t.menuOpen,o=t.selected;-1!==o&&n&&this.handleOptionFocus(o-1)},t.prototype.handleDownArrow=function(e){e.preventDefault();var t=this.state,n=t.menuOpen,o=t.options,r=t.selected;r!==o.length-1&&n&&this.handleOptionFocus(r+1)},t.prototype.handleEnter=function(e){this.state.menuOpen&&(e.preventDefault(),this.state.selected>=0&&this.handleOptionClick(e,this.state.selected))},t.prototype.handlePrintableKey=function(e){var t=this.elementRefs[-1];e.target===t||this.handleInputFocus()},t.prototype.handleKeyDown=function(e){switch(f[e.keyCode]){case"up":this.handleUpArrow(e);break;case"down":this.handleDownArrow(e);break;case"enter":this.handleEnter(e);break;case"escape":this.handleComponentBlur({query:this.state.query});break;default:u(e.keyCode)&&this.handlePrintableKey(e)}},t.prototype.render=function(){var e=this,t=this.props,n=t.cssNamespace,o=t.displayMenu,r=t.id,i=t.minLength,l=t.name,u=this.state,a=u.focused,s=u.hovered,c=u.menuOpen,f=u.options,m=u.query,v=u.selected,y=this.hasAutoselect(),b=-1===a,g=0===f.length,_=0!==m.length,O=m.length>=i,x=this.props.showNoOptionsFound&&b&&g&&_&&O,C=function(t){var o=t.children;return(0,p.h)("div",{className:n+"__wrapper",onKeyDown:e.handleKeyDown},o)},w=function(){var t=e.templateInputValue(f[v]),o=t&&0===t.toLowerCase().indexOf(m.toLowerCase()),r=o&&y?m+t.substr(m.length):"";return r?(0,p.h)("input",{className:n+"__hint",readonly:!0,tabindex:"-1",value:r}):null},N=function(){var t=n+"__input",o=null!==a,i=o?" "+t+"--focused":"",u=""+t+i;return(0,p.h)("input",{"aria-activedescendant":-1!==a&&null!==a&&r+"__option--"+a,"aria-expanded":c,"aria-owns":r+"__listbox",autocomplete:"off",className:u,id:r,name:l,onBlur:e.handleInputBlur,onFocus:e.handleInputFocus,onInput:e.handleInputChange,placeholder:e.props.placeholder,role:"combobox",type:"text",value:m})},E=function(e){var t=e.children,i=n+"__menu",l=i+"--"+(c||x?"visible":"hidden"),u=i+" "+i+"--"+o+" "+l;return(0,p.h)("ul",{className:u,id:r+"__listbox",role:"listbox"},t)},I=function(){return(0,p.h)("li",{className:n+"__option "+n+"__option--no-results"},"No results found")},M=function(t){var o=t.dangerouslySetInnerHTML,i=t.idx,l=n+"__option",u=-1===a?v===i:a===i,c=u&&null===s?" "+l+"--focused":"",d=i%2?" "+l+"--odd":"",f=""+l+c+d;return(0,p.h)("li",{"aria-selected":a===i,className:f,dangerouslySetInnerHTML:o,id:r+"__option--"+i,onClick:function(t){return e.handleOptionClick(t,i)},onFocusOut:function(t){return e.handleOptionFocusOut(t,i)},onMouseDown:e.handleOptionMouseDown,onMouseEnter:function(t){return e.handleOptionMouseEnter(t,i)},onMouseOut:function(t){return e.handleOptionMouseOut(t,i)},onTouchEnd:function(t){return e.handleOptionTouchEnd(t,i)},role:"option",tabindex:"-1"})};return(0,p.h)(C,null,(0,p.h)(d.default,{length:f.length,queryLength:m.length,minQueryLength:i,selectedOption:this.templateInputValue(f[v])}),h&&(0,p.h)(w,null),(0,p.h)(N,{ref:function(t){e.elementRefs[-1]=t}}),(0,p.h)(E,null,f.map(function(t,n){return(0,p.h)(M,{dangerouslySetInnerHTML:{__html:e.templateSuggestion(t)},idx:n,ref:function(t){e.elementRefs[n]=t}})}),x&&(0,p.h)(I,null)))},t}(p.Component),a.defaultProps={autoselect:!1,cssNamespace:"autocomplete",defaultValue:"",displayMenu:"inline",id:"autocomplete",minLength:0,name:"input-autocomplete",placeholder:"",onConfirm:function(){},confirmOnBlur:!0,showNoOptionsFound:!0},s);t.default=m},function(e,t,n){"use strict";function o(e,t){}function r(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){"function"!=typeof t&&null!==t||(e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t))}t.__esModule=!0,t.default=void 0;var l=n(0),u=function(e){function t(){var n,i,l;o(this,t);for(var u=arguments.length,a=Array(u),s=0;s<u;s++)a[s]=arguments[s];return n=i=r(this,e.call.apply(e,[this].concat(a))),i.state={bump:!1},l=n,r(i,l)}return i(t,e),t.prototype.componentWillReceiveProps=function(e){e.queryLength!==this.props.queryLength&&this.setState(function(e){return{bump:!e.bump}})},t.prototype.render=function(){var e=this.props,t=e.length,n=e.queryLength,o=e.minQueryLength,r=e.selectedOption,i=this.state.bump,u={result:1===t?"result":"results",is:1===t?"is":"are"},a=n<o,s=0===t;return(0,l.h)("div",{"aria-atomic":"true","aria-live":"polite",role:"status",style:{border:"0",clip:"rect(0 0 0 0)",height:"1px",marginBottom:"-1px",marginRight:"-1px",overflow:"hidden",padding:"0",position:"absolute",whiteSpace:"nowrap",width:"1px"}},a?(0,l.h)("span",null,"Type in ",o," or more characters for results."):s?(0,l.h)("span",null,"No search results."):(0,l.h)("span",null,t," ",u.result," ",u.is," available. ",r?(0,l.h)("span",null,r," (1 of ",t,") is selected."):null),(0,l.h)("span",null,i?",":",,"))},t}(l.Component);t.default=u},function(e,t,n){e.exports=n(1)}])}); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.accessibleAutocomplete=t():e.accessibleAutocomplete=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=4)}([function(e,t,n){!function(){"use strict";function t(){}function n(e,n){var o,r,i,l,u=T;for(l=arguments.length;l-- >2;)S.push(arguments[l]);for(n&&null!=n.children&&(S.length||S.push(n.children),delete n.children);S.length;)if((r=S.pop())&&void 0!==r.pop)for(l=r.length;l--;)S.push(r[l]);else!0!==r&&!1!==r||(r=null),(i="function"!=typeof e)&&(null==r?r="":"number"==typeof r?r=String(r):"string"!=typeof r&&(i=!1)),i&&o?u[u.length-1]+=r:u===T?u=[r]:u.push(r),o=i;var s=new t;return s.nodeName=e,s.children=u,s.attributes=null==n?void 0:n,s.key=null==n?void 0:n.key,void 0!==L.vnode&&L.vnode(s),s}function o(e,t){for(var n in t)e[n]=t[n];return e}function r(e,t){return n(e.nodeName,o(o({},e.attributes),t),arguments.length>2?[].slice.call(arguments,2):e.children)}function i(e){!e.__d&&(e.__d=!0)&&1==U.push(e)&&(L.debounceRendering||setTimeout)(l)}function l(){var e,t=U;for(U=[];e=t.pop();)e.__d&&N(e)}function u(e,t,n){return"string"==typeof t||"number"==typeof t?void 0!==e.splitText:"string"==typeof t.nodeName?!e._componentConstructor&&s(e,t.nodeName):n||e._componentConstructor===t.nodeName}function s(e,t){return e.__n===t||e.nodeName.toLowerCase()===t.toLowerCase()}function a(e){var t=o({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function p(e,t){var n=t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e);return n.__n=e,n}function c(e){e.parentNode&&e.parentNode.removeChild(e)}function d(e,t,n,o,r){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)n&&n(null),o&&o(e);else if("class"!==t||r)if("style"===t){if(o&&"string"!=typeof o&&"string"!=typeof n||(e.style.cssText=o||""),o&&"object"==typeof o){if("string"!=typeof n)for(var i in n)i in o||(e.style[i]="");for(var i in o)e.style[i]="number"==typeof o[i]&&!1===A.test(i)?o[i]+"px":o[i]}}else if("dangerouslySetInnerHTML"===t)o&&(e.innerHTML=o.__html||"");else if("o"==t[0]&&"n"==t[1]){var l=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),o?n||e.addEventListener(t,f,l):e.removeEventListener(t,f,l),(e.__l||(e.__l={}))[t]=o}else if("list"!==t&&"type"!==t&&!r&&t in e)h(e,t,null==o?"":o),null!=o&&!1!==o||e.removeAttribute(t);else{var u=r&&t!==(t=t.replace(/^xlink\:?/,""));null==o||!1===o?u?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof o&&(u?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),o):e.setAttribute(t,o))}else e.className=o||""}function h(e,t,n){try{e[t]=n}catch(e){}}function f(e){return this.__l[e.type](L.event&&L.event(e)||e)}function m(){for(var e;e=P.pop();)L.afterMount&&L.afterMount(e),e.componentDidMount&&e.componentDidMount()}function _(e,t,n,o,r,i){V++||(j=null!=r&&void 0!==r.ownerSVGElement,q=null!=e&&!("__preactattr_"in e));var l=v(e,t,n,o,i);return r&&l.parentNode!==r&&r.appendChild(l),--V||(q=!1,i||m()),l}function v(e,t,n,o,r){var i=e,l=j;if(null==t&&(t=""),"string"==typeof t)return e&&void 0!==e.splitText&&e.parentNode&&(!e._component||r)?e.nodeValue!=t&&(e.nodeValue=t):(i=document.createTextNode(t),e&&(e.parentNode&&e.parentNode.replaceChild(i,e),b(e,!0))),i.__preactattr_=!0,i;if("function"==typeof t.nodeName)return M(e,t,n,o);if(j="svg"===t.nodeName||"foreignObject"!==t.nodeName&&j,(!e||!s(e,String(t.nodeName)))&&(i=p(String(t.nodeName),j),e)){for(;e.firstChild;)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),b(e,!0)}var u=i.firstChild,a=i.__preactattr_||(i.__preactattr_={}),c=t.children;return!q&&c&&1===c.length&&"string"==typeof c[0]&&null!=u&&void 0!==u.splitText&&null==u.nextSibling?u.nodeValue!=c[0]&&(u.nodeValue=c[0]):(c&&c.length||null!=u)&&y(i,c,n,o,q||null!=a.dangerouslySetInnerHTML),O(i,t.attributes,a),j=l,i}function y(e,t,n,o,r){var i,l,s,a,p=e.childNodes,d=[],h={},f=0,m=0,_=p.length,y=0,g=t?t.length:0;if(0!==_)for(var O=0;O<_;O++){var w=p[O],C=w.__preactattr_,x=g&&C?w._component?w._component.__k:C.key:null;null!=x?(f++,h[x]=w):(C||(void 0!==w.splitText?!r||w.nodeValue.trim():r))&&(d[y++]=w)}if(0!==g)for(var O=0;O<g;O++){s=t[O],a=null;var x=s.key;if(null!=x)f&&void 0!==h[x]&&(a=h[x],h[x]=void 0,f--);else if(!a&&m<y)for(i=m;i<y;i++)if(void 0!==d[i]&&u(l=d[i],s,r)){a=l,d[i]=void 0,i===y-1&&y--,i===m&&m++;break}(a=v(a,s,n,o))&&a!==e&&(O>=_?e.appendChild(a):a!==p[O]&&(a===p[O+1]?c(p[O]):e.insertBefore(a,p[O]||null)))}if(f)for(var O in h)void 0!==h[O]&&b(h[O],!1);for(;m<=y;)void 0!==(a=d[y--])&&b(a,!1)}function b(e,t){var n=e._component;n?I(n):(null!=e.__preactattr_&&e.__preactattr_.ref&&e.__preactattr_.ref(null),!1!==t&&null!=e.__preactattr_||c(e),g(e))}function g(e){for(e=e.lastChild;e;){var t=e.previousSibling;b(e,!0),e=t}}function O(e,t,n){var o;for(o in n)t&&null!=t[o]||null==n[o]||d(e,o,n[o],n[o]=void 0,j);for(o in t)"children"===o||"innerHTML"===o||o in n&&t[o]===("value"===o||"checked"===o?e[o]:n[o])||d(e,o,n[o],n[o]=t[o],j)}function w(e){var t=e.constructor.name;(F[t]||(F[t]=[])).push(e)}function C(e,t,n){var o,r=F[e.name];if(e.prototype&&e.prototype.render?(o=new e(t,n),k.call(o,t,n)):(o=new k(t,n),o.constructor=e,o.render=x),r)for(var i=r.length;i--;)if(r[i].constructor===e){o.__b=r[i].__b,r.splice(i,1);break}return o}function x(e,t,n){return this.constructor(e,n)}function E(e,t,n,o,r){e.__x||(e.__x=!0,(e.__r=t.ref)&&delete t.ref,(e.__k=t.key)&&delete t.key,!e.base||r?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,o),o&&o!==e.context&&(e.__c||(e.__c=e.context),e.context=o),e.__p||(e.__p=e.props),e.props=t,e.__x=!1,0!==n&&(1!==n&&!1===L.syncComponentUpdates&&e.base?i(e):N(e,1,r)),e.__r&&e.__r(e))}function N(e,t,n,r){if(!e.__x){var i,l,u,s=e.props,p=e.state,c=e.context,d=e.__p||s,h=e.__s||p,f=e.__c||c,v=e.base,y=e.__b,g=v||y,O=e._component,w=!1;if(v&&(e.props=d,e.state=h,e.context=f,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(s,p,c)?w=!0:e.componentWillUpdate&&e.componentWillUpdate(s,p,c),e.props=s,e.state=p,e.context=c),e.__p=e.__s=e.__c=e.__b=null,e.__d=!1,!w){i=e.render(s,p,c),e.getChildContext&&(c=o(o({},c),e.getChildContext()));var x,M,k=i&&i.nodeName;if("function"==typeof k){var D=a(i);l=O,l&&l.constructor===k&&D.key==l.__k?E(l,D,1,c,!1):(x=l,e._component=l=C(k,D,c),l.__b=l.__b||y,l.__u=e,E(l,D,0,c,!1),N(l,1,n,!0)),M=l.base}else u=g,x=O,x&&(u=e._component=null),(g||1===t)&&(u&&(u._component=null),M=_(u,i,c,n||!v,g&&g.parentNode,!0));if(g&&M!==g&&l!==O){var S=g.parentNode;S&&M!==S&&(S.replaceChild(M,g),x||(g._component=null,b(g,!1)))}if(x&&I(x),e.base=M,M&&!r){for(var T=e,A=e;A=A.__u;)(T=A).base=M;M._component=T,M._componentConstructor=T.constructor}}if(!v||n?P.unshift(e):w||(m(),e.componentDidUpdate&&e.componentDidUpdate(d,h,f),L.afterUpdate&&L.afterUpdate(e)),null!=e.__h)for(;e.__h.length;)e.__h.pop().call(e);V||r||m()}}function M(e,t,n,o){for(var r=e&&e._component,i=r,l=e,u=r&&e._componentConstructor===t.nodeName,s=u,p=a(t);r&&!s&&(r=r.__u);)s=r.constructor===t.nodeName;return r&&s&&(!o||r._component)?(E(r,p,3,n,o),e=r.base):(i&&!u&&(I(i),e=l=null),r=C(t.nodeName,p,n),e&&!r.__b&&(r.__b=e,l=null),E(r,p,1,n,o),e=r.base,l&&e!==l&&(l._component=null,b(l,!1))),e}function I(e){L.beforeUnmount&&L.beforeUnmount(e);var t=e.base;e.__x=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var n=e._component;n?I(n):t&&(t.__preactattr_&&t.__preactattr_.ref&&t.__preactattr_.ref(null),e.__b=t,c(t),w(e),g(t)),e.__r&&e.__r(null)}function k(e,t){this.__d=!0,this.context=t,this.props=e,this.state=this.state||{}}function D(e,t,n){return _(n,e,{},!1,t,!1)}var L={},S=[],T=[],A=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,U=[],P=[],V=0,j=!1,q=!1,F={};o(k.prototype,{setState:function(e,t){var n=this.state;this.__s||(this.__s=o({},n)),o(n,"function"==typeof e?e(n,this.props):e),t&&(this.__h=this.__h||[]).push(t),i(this)},forceUpdate:function(e){e&&(this.__h=this.__h||[]).push(e),N(this,2)},render:function(){}});var B={h:n,createElement:n,cloneElement:r,Component:k,render:D,rerender:l,options:L};e.exports=B}()},function(e,t,n){"use strict";function o(e){if(!e.element)throw new Error("element is not defined");if(!e.id)throw new Error("id is not defined");if(!e.source)throw new Error("source is not defined");(0,i.render)((0,i.h)(u.default,e),e.element)}var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},i=n(0),l=n(2),u=function(e){return e&&e.__esModule?e:{default:e}}(l),s=function(e){return function(t,n){n(t?e.filter(function(e){return-1!==e.toLowerCase().indexOf(t.toLowerCase())}):[])}};o.enhanceSelectElement=function(e){if(!e.selectElement)throw new Error("selectElement is not defined");if(!e.source){var t=[].filter.call(e.selectElement.options,function(t){return t.value||e.preserveNullOptions});t=t.map(function(e){return e.innerHTML}),e.source=s(t)}e.onConfirm=e.onConfirm||function(t){var n=[].filter.call(e.selectElement.options,function(e){return e.innerHTML===t})[0];n&&(n.selected=!0)},(e.selectElement.value||void 0===e.defaultValue)&&(e.defaultValue=e.selectElement.options[e.selectElement.options.selectedIndex].innerHTML),e.name=e.name||"",e.id=e.id||e.selectElement.id||"",e.autoselect=e.autoselect||!0;var n=document.createElement("span");e.selectElement.insertAdjacentElement("afterend",n),o(r({},e,{element:n})),e.selectElement.style.display="none",e.selectElement.id=e.selectElement.id+"-select"},e.exports=o},function(e,t,n){"use strict";function o(e,t){}function r(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){"function"!=typeof t&&null!==t||(e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t))}function l(){return!(!navigator.userAgent.match(/(iPod|iPhone|iPad)/g)||!navigator.userAgent.match(/AppleWebKit/g))}function u(e){return e>47&&e<58||32===e||8===e||e>64&&e<91||e>95&&e<112||e>185&&e<193||e>218&&e<223}t.__esModule=!0,t.default=void 0;var s,a,p=n(0),c=n(3),d=function(e){return e&&e.__esModule?e:{default:e}}(c),h={13:"enter",27:"escape",38:"up",40:"down"},f=function(){var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}(),m=(a=s=function(e){function t(n){o(this,t);var i=r(this,e.call(this,n));return i.elementRefs={},i.state={focused:null,hovered:null,menuOpen:!1,options:n.defaultValue?[n.defaultValue]:[],query:n.defaultValue,selected:null},i.handleComponentBlur=i.handleComponentBlur.bind(i),i.handleKeyDown=i.handleKeyDown.bind(i),i.handleUpArrow=i.handleUpArrow.bind(i),i.handleDownArrow=i.handleDownArrow.bind(i),i.handleEnter=i.handleEnter.bind(i),i.handlePrintableKey=i.handlePrintableKey.bind(i),i.handleOptionClick=i.handleOptionClick.bind(i),i.handleOptionFocusOut=i.handleOptionFocusOut.bind(i),i.handleOptionFocus=i.handleOptionFocus.bind(i),i.handleOptionMouseDown=i.handleOptionMouseDown.bind(i),i.handleOptionMouseEnter=i.handleOptionMouseEnter.bind(i),i.handleOptionMouseOut=i.handleOptionMouseOut.bind(i),i.handleOptionTouchEnd=i.handleOptionTouchEnd.bind(i),i.handleInputBlur=i.handleInputBlur.bind(i),i.handleInputChange=i.handleInputChange.bind(i),i.handleInputFocus=i.handleInputFocus.bind(i),i.pollInputElement=i.pollInputElement.bind(i),i.getDirectInputChanges=i.getDirectInputChanges.bind(i),i}return i(t,e),t.prototype.componentDidMount=function(){this.pollInputElement()},t.prototype.componentWillUnmount=function(){clearTimeout(this.$pollInput)},t.prototype.pollInputElement=function(){var e=this;this.getDirectInputChanges(),this.$pollInput=setTimeout(function(){e.pollInputElement()},100)},t.prototype.getDirectInputChanges=function(){var e=this.elementRefs[-1];e.value!==this.state.query&&this.handleInputChange({target:{value:e.value}})},t.prototype.componentDidUpdate=function(e,t){var n=this.state.focused,o=null===n,r=t.focused!==n;r&&!o&&this.elementRefs[n].focus();var i=-1===n,l=r&&null===t.focused;if(i&&l){var u=this.elementRefs[n];u.setSelectionRange(0,u.value.length)}},t.prototype.hasAutoselect=function(){return!l()&&this.props.autoselect},t.prototype.templateInputValue=function(e){var t=this.props.templates&&this.props.templates.inputValue;return t?t(e):e},t.prototype.templateSuggestion=function(e){var t=this.props.templates&&this.props.templates.suggestion;return t?t(e):e},t.prototype.handleComponentBlur=function(e){var t=this.state,n=t.options,o=t.query,r=t.selected,i=void 0;this.props.confirmOnBlur?(i=e.query||o,this.props.onConfirm(n[r])):i=o,this.setState({focused:null,menuOpen:e.menuOpen||!1,query:i,selected:null})},t.prototype.handleOptionFocusOut=function(e,t){var n=this.state,o=n.focused,r=n.menuOpen,i=n.options,u=n.selected,s=null===e.relatedTarget,a=e.relatedTarget===this.elementRefs[-1],p=o!==t&&-1!==o;if(s||!p&&!a){var c=r&&l();this.handleComponentBlur({menuOpen:c,query:this.templateInputValue(i[u])})}},t.prototype.handleInputBlur=function(e){var t=this.state,n=t.focused,o=t.menuOpen,r=t.options,i=t.query,u=t.selected;if(-1===n){var s=o&&l(),a=l()?i:this.templateInputValue(r[u]);this.handleComponentBlur({menuOpen:s,query:a})}},t.prototype.handleInputChange=function(e){var t=this,n=this.props,o=n.minLength,r=n.source,i=this.hasAutoselect(),l=e.target.value,u=0===l.length,s=this.state.query.length!==l.length,a=l.length>=o;this.setState({query:l}),!u&&s&&a?r(l,function(e){var n=e.length>0;t.setState({menuOpen:n,options:e,selected:i&&n?0:-1})}):!u&&a||this.setState({menuOpen:!1,options:[]})},t.prototype.handleInputFocus=function(e){this.setState({focused:-1})},t.prototype.handleOptionFocus=function(e){this.setState({focused:e,hovered:null,selected:e})},t.prototype.handleOptionMouseEnter=function(e,t){this.setState({hovered:t})},t.prototype.handleOptionMouseOut=function(e,t){this.setState({hovered:null})},t.prototype.handleOptionTouchEnd=function(e,t){this.handleOptionClick(e,t)},t.prototype.handleOptionClick=function(e,t){var n=this.state.options[t],o=this.templateInputValue(n);this.props.onConfirm(n),this.setState({focused:-1,menuOpen:!1,query:o,selected:-1})},t.prototype.handleOptionMouseDown=function(e){e.preventDefault()},t.prototype.handleUpArrow=function(e){e.preventDefault();var t=this.state,n=t.menuOpen,o=t.selected;-1!==o&&n&&this.handleOptionFocus(o-1)},t.prototype.handleDownArrow=function(e){e.preventDefault();var t=this.state,n=t.menuOpen,o=t.options,r=t.selected;r!==o.length-1&&n&&this.handleOptionFocus(r+1)},t.prototype.handleEnter=function(e){this.state.menuOpen&&(e.preventDefault(),this.state.selected>=0&&this.handleOptionClick(e,this.state.selected))},t.prototype.handlePrintableKey=function(e){var t=this.elementRefs[-1];e.target===t||this.handleInputFocus()},t.prototype.handleKeyDown=function(e){switch(h[e.keyCode]){case"up":this.handleUpArrow(e);break;case"down":this.handleDownArrow(e);break;case"enter":this.handleEnter(e);break;case"escape":this.handleComponentBlur({query:this.state.query});break;default:u(e.keyCode)&&this.handlePrintableKey(e)}},t.prototype.render=function(){var e=this,t=this.props,n=t.cssNamespace,o=t.displayMenu,r=t.id,i=t.minLength,l=t.name,u=t.placeholder,s=this.state,a=s.focused,c=s.hovered,h=s.menuOpen,m=s.options,_=s.query,v=s.selected,y=this.hasAutoselect(),b=-1===a,g=0===m.length,O=0!==_.length,w=_.length>=i,C=this.props.showNoOptionsFound&&b&&g&&O&&w,x=n+"__wrapper",E=n+"__input",N=null!==a,M=N?" "+E+"--focused":"",I=-1!==a&&null!==a,k=n+"__menu",D=k+"--"+o,L=h||C,S=k+"--"+(L?"visible":"hidden"),T=n+"__option",A=n+"__hint",U=this.templateInputValue(m[v]),P=U&&0===U.toLowerCase().indexOf(_.toLowerCase()),V=P&&y?_+U.substr(_.length):"",j=f&&V;return(0,p.h)("div",{className:x,onKeyDown:this.handleKeyDown},(0,p.h)(d.default,{length:m.length,queryLength:_.length,minQueryLength:i,selectedOption:this.templateInputValue(m[v])}),j&&(0,p.h)("span",null,(0,p.h)("input",{className:A,readonly:!0,tabindex:"-1",value:V})),(0,p.h)("input",{"aria-activedescendant":!!I&&r+"__option--"+a,"aria-expanded":h,"aria-owns":r+"__listbox",autocomplete:"off",className:""+E+M,id:r,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,onInput:this.handleInputChange,name:l,placeholder:u,ref:function(t){e.elementRefs[-1]=t},role:"combobox",type:"text",value:_}),(0,p.h)("ul",{className:k+" "+D+" "+S,id:r+"__listbox",role:"listbox"},m.map(function(t,n){var o=-1===a?v===n:a===n,i=o&&null===c?" "+T+"--focused":"",l=n%2?" "+T+"--odd":"";return(0,p.h)("li",{"aria-selected":a===n,className:""+T+i+l,dangerouslySetInnerHTML:{__html:e.templateSuggestion(t)},id:r+"__option--"+n,onClick:function(t){return e.handleOptionClick(t,n)},onFocusOut:function(t){return e.handleOptionFocusOut(t,n)},onMouseDown:e.handleOptionMouseDown,onMouseEnter:function(t){return e.handleOptionMouseEnter(t,n)},onMouseOut:function(t){return e.handleOptionMouseOut(t,n)},onTouchEnd:function(t){return e.handleOptionTouchEnd(t,n)},ref:function(t){e.elementRefs[n]=t},role:"option",tabindex:"-1"})}),C&&(0,p.h)("li",{className:T+" "+T+"--no-results"},"No results found")))},t}(p.Component),s.defaultProps={autoselect:!1,cssNamespace:"autocomplete",defaultValue:"",displayMenu:"inline",id:"autocomplete",minLength:0,name:"input-autocomplete",placeholder:"",onConfirm:function(){},confirmOnBlur:!0,showNoOptionsFound:!0},a);t.default=m},function(e,t,n){"use strict";function o(e,t){}function r(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){"function"!=typeof t&&null!==t||(e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t))}t.__esModule=!0,t.default=void 0;var l=n(0),u=function(e){function t(){var n,i,l;o(this,t);for(var u=arguments.length,s=Array(u),a=0;a<u;a++)s[a]=arguments[a];return n=i=r(this,e.call.apply(e,[this].concat(s))),i.state={bump:!1},l=n,r(i,l)}return i(t,e),t.prototype.componentWillReceiveProps=function(e){e.queryLength!==this.props.queryLength&&this.setState(function(e){return{bump:!e.bump}})},t.prototype.render=function(){var e=this.props,t=e.length,n=e.queryLength,o=e.minQueryLength,r=e.selectedOption,i=this.state.bump,u={result:1===t?"result":"results",is:1===t?"is":"are"},s=n<o,a=0===t,p=r?(0,l.h)("span",null,r," (1 of ",t,") is selected."):null,c=null;return c=s?(0,l.h)("span",null,"Type in ",o," or more characters for results."):a?(0,l.h)("span",null,"No search results."):(0,l.h)("span",null,t," ",u.result," ",u.is," available. ",p),(0,l.h)("div",{"aria-atomic":"true","aria-live":"polite",role:"status",style:{border:"0",clip:"rect(0 0 0 0)",height:"1px",marginBottom:"-1px",marginRight:"-1px",overflow:"hidden",padding:"0",position:"absolute",whiteSpace:"nowrap",width:"1px"}},c,(0,l.h)("span",null,i?",":",,"))},t}(l.Component);t.default=u},function(e,t,n){e.exports=n(1)}])}); | ||
//# sourceMappingURL=accessible-autocomplete.min.js.map |
{ | ||
"name": "accessible-autocomplete", | ||
"version": "1.0.5", | ||
"version": "1.0.6", | ||
"main": "dist/accessible-autocomplete.min.js", | ||
@@ -34,3 +34,3 @@ "style": "dist/accessible-autocomplete.min.css", | ||
"dependencies": { | ||
"preact": "^6.0.0" | ||
"preact": "^8.1.0" | ||
}, | ||
@@ -37,0 +37,0 @@ "devDependencies": { |
import { h, Component } from 'preact' /** @jsx h */ | ||
import Status from './status' | ||
const kc = { | ||
const keyCodes = { | ||
13: 'enter', | ||
@@ -309,3 +309,3 @@ 27: 'escape', | ||
handleKeyDown (evt) { | ||
switch (kc[evt.keyCode]) { | ||
switch (keyCodes[evt.keyCode]) { | ||
case 'up': | ||
@@ -334,3 +334,3 @@ this.handleUpArrow(evt) | ||
render () { | ||
const { cssNamespace, displayMenu, id, minLength, name } = this.props | ||
const { cssNamespace, displayMenu, id, minLength, name, placeholder } = this.props | ||
const { focused, hovered, menuOpen, options, query, selected } = this.state | ||
@@ -346,93 +346,27 @@ const autoselect = this.hasAutoselect() | ||
const Wrapper = ({ children }) => | ||
<div | ||
className={`${cssNamespace}__wrapper`} | ||
onKeyDown={this.handleKeyDown} | ||
> | ||
{ children } | ||
</div> | ||
const wrapperClassName = `${cssNamespace}__wrapper` | ||
const Hint = () => { | ||
const selectedOption = this.templateInputValue(options[selected]) | ||
const optionBeginsWithQuery = selectedOption && selectedOption.toLowerCase().indexOf(query.toLowerCase()) === 0 | ||
const hintValue = (optionBeginsWithQuery && autoselect) | ||
? query + selectedOption.substr(query.length) | ||
: '' | ||
return hintValue | ||
? <input | ||
className={`${cssNamespace}__hint`} | ||
readonly | ||
tabindex='-1' | ||
value={hintValue} | ||
/> | ||
: null | ||
} | ||
const inputClassName = `${cssNamespace}__input` | ||
const componentIsFocused = focused !== null | ||
const inputModFocused = componentIsFocused ? ` ${inputClassName}--focused` : '' | ||
const optionFocused = focused !== -1 && focused !== null | ||
const Input = () => { | ||
const cn = `${cssNamespace}__input` | ||
const componentIsFocused = focused !== null | ||
const cnModFocused = componentIsFocused ? ` ${cn}--focused` : '' | ||
const cns = `${cn}${cnModFocused}` | ||
return <input | ||
aria-activedescendant={focused !== -1 && focused !== null ? `${id}__option--${focused}` : false} | ||
aria-expanded={menuOpen} | ||
aria-owns={`${id}__listbox`} | ||
autocomplete='off' | ||
className={cns} | ||
id={id} | ||
name={name} | ||
onBlur={this.handleInputBlur} | ||
onFocus={this.handleInputFocus} | ||
onInput={this.handleInputChange} | ||
placeholder={this.props.placeholder} | ||
role='combobox' | ||
type='text' | ||
value={query} | ||
/> | ||
} | ||
const menuClassName = `${cssNamespace}__menu` | ||
const menuModDisplayMenu = `${menuClassName}--${displayMenu}` | ||
const menuIsVisible = menuOpen || showNoOptionsFound | ||
const menuModVisibility = `${menuClassName}--${(menuIsVisible) ? 'visible' : 'hidden'}` | ||
const Menu = ({ children }) => { | ||
const cn = `${cssNamespace}__menu` | ||
const cnModDisplay = `${cn}--${(menuOpen || showNoOptionsFound) ? 'visible' : 'hidden'}` | ||
const cns = `${cn} ${cn}--${displayMenu} ${cnModDisplay}` | ||
return <ul | ||
className={cns} | ||
id={`${id}__listbox`} | ||
role='listbox' | ||
> | ||
{ children } | ||
</ul> | ||
} | ||
const optionClassName = `${cssNamespace}__option` | ||
const NoOptionsFound = () => | ||
<li | ||
className={`${cssNamespace}__option ${cssNamespace}__option--no-results`} | ||
> | ||
No results found | ||
</li> | ||
const hintClassName = `${cssNamespace}__hint` | ||
const selectedOptionText = this.templateInputValue(options[selected]) | ||
const optionBeginsWithQuery = selectedOptionText && | ||
selectedOptionText.toLowerCase().indexOf(query.toLowerCase()) === 0 | ||
const hintValue = (optionBeginsWithQuery && autoselect) | ||
? query + selectedOptionText.substr(query.length) | ||
: '' | ||
const showHint = hasPointerEvents && hintValue | ||
const Option = ({ dangerouslySetInnerHTML, idx }) => { | ||
const cn = `${cssNamespace}__option` | ||
const showFocused = focused === -1 ? selected === idx : focused === idx | ||
const cnModFocused = showFocused && hovered === null ? ` ${cn}--focused` : '' | ||
const cnModOdd = (idx % 2) ? ` ${cn}--odd` : '' | ||
const cns = `${cn}${cnModFocused}${cnModOdd}` | ||
return <li | ||
aria-selected={focused === idx} | ||
className={cns} | ||
dangerouslySetInnerHTML={dangerouslySetInnerHTML} | ||
id={`${id}__option--${idx}`} | ||
onClick={(evt) => this.handleOptionClick(evt, idx)} | ||
onFocusOut={(evt) => this.handleOptionFocusOut(evt, idx)} | ||
onMouseDown={this.handleOptionMouseDown} | ||
onMouseEnter={(evt) => this.handleOptionMouseEnter(evt, idx)} | ||
onMouseOut={(evt) => this.handleOptionMouseOut(evt, idx)} | ||
onTouchEnd={(evt) => this.handleOptionTouchEnd(evt, idx)} | ||
role='option' | ||
tabindex='-1' | ||
/> | ||
} | ||
return ( | ||
<Wrapper> | ||
<div className={wrapperClassName} onKeyDown={this.handleKeyDown}> | ||
<Status | ||
@@ -444,19 +378,61 @@ length={options.length} | ||
/> | ||
{hasPointerEvents && <Hint />} | ||
<Input | ||
{showHint && ( | ||
<span><input className={hintClassName} readonly tabindex='-1' value={hintValue} /></span> | ||
)} | ||
<input | ||
aria-activedescendant={optionFocused ? `${id}__option--${focused}` : false} | ||
aria-expanded={menuOpen} | ||
aria-owns={`${id}__listbox`} | ||
autocomplete='off' | ||
className={`${inputClassName}${inputModFocused}`} | ||
id={id} | ||
onBlur={this.handleInputBlur} | ||
onFocus={this.handleInputFocus} | ||
onInput={this.handleInputChange} | ||
name={name} | ||
placeholder={placeholder} | ||
ref={(inputEl) => { this.elementRefs[-1] = inputEl }} | ||
role='combobox' | ||
type='text' | ||
value={query} | ||
/> | ||
<Menu> | ||
{options.map((opt, idx) => | ||
<Option | ||
dangerouslySetInnerHTML={{ __html: this.templateSuggestion(opt) }} | ||
idx={idx} | ||
ref={(optionEl) => { this.elementRefs[idx] = optionEl }} | ||
/> | ||
<ul | ||
className={`${menuClassName} ${menuModDisplayMenu} ${menuModVisibility}`} | ||
id={`${id}__listbox`} | ||
role='listbox' | ||
> | ||
{options.map((opt, idx) => { | ||
const showFocused = focused === -1 ? selected === idx : focused === idx | ||
const optionModFocused = showFocused && hovered === null ? ` ${optionClassName}--focused` : '' | ||
const optionModOdd = (idx % 2) ? ` ${optionClassName}--odd` : '' | ||
return ( | ||
<li | ||
aria-selected={focused === idx} | ||
className={`${optionClassName}${optionModFocused}${optionModOdd}`} | ||
dangerouslySetInnerHTML={{ __html: this.templateSuggestion(opt) }} | ||
id={`${id}__option--${idx}`} | ||
onClick={(evt) => this.handleOptionClick(evt, idx)} | ||
onFocusOut={(evt) => this.handleOptionFocusOut(evt, idx)} | ||
onMouseDown={this.handleOptionMouseDown} | ||
onMouseEnter={(evt) => this.handleOptionMouseEnter(evt, idx)} | ||
onMouseOut={(evt) => this.handleOptionMouseOut(evt, idx)} | ||
onTouchEnd={(evt) => this.handleOptionTouchEnd(evt, idx)} | ||
ref={(optionEl) => { this.elementRefs[idx] = optionEl }} | ||
role='option' | ||
tabindex='-1' | ||
/> | ||
) | ||
})} | ||
{showNoOptionsFound && ( | ||
<li className={`${optionClassName} ${optionClassName}--no-results`}>No results found</li> | ||
)} | ||
{showNoOptionsFound && <NoOptionsFound />} | ||
</Menu> | ||
</Wrapper> | ||
</ul> | ||
</div> | ||
) | ||
} | ||
} |
@@ -27,2 +27,15 @@ import { h, Component } from 'preact' /** @jsx h */ | ||
const contentSelectedOption = selectedOption | ||
? <span>{selectedOption} (1 of {length}) is selected.</span> | ||
: null | ||
let content = null | ||
if (queryTooShort) { | ||
content = <span>Type in {minQueryLength} or more characters for results.</span> | ||
} else if (noResults) { | ||
content = <span>No search results.</span> | ||
} else { | ||
content = <span>{length} {words.result} {words.is} available. {contentSelectedOption}</span> | ||
} | ||
return <div | ||
@@ -45,13 +58,3 @@ aria-atomic='true' | ||
> | ||
{(queryTooShort) | ||
? <span>Type in {minQueryLength} or more characters for results.</span> | ||
: (noResults) | ||
? <span>No search results.</span> | ||
: <span> | ||
{length} {words.result} {words.is} available. {(selectedOption) | ||
? <span>{selectedOption} (1 of {length}) is selected.</span> | ||
: null | ||
} | ||
</span> | ||
} | ||
{content} | ||
<span>{bump ? ',' : ',,'}</span> | ||
@@ -58,0 +61,0 @@ </div> |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
403526
1571
+ Addedpreact@8.5.3(transitive)
- Removedpreact@6.4.0(transitive)
Updatedpreact@^8.1.0