accessible-autocomplete
Advanced tools
Comparing version 1.1.0 to 1.2.0
@@ -7,2 +7,6 @@ # CHANGELOG | ||
## 1.2.0 - 2017-05-23 | ||
- [Feature] Export Preact and React bundles. | ||
## 1.1.0 - 2017-05-18 | ||
@@ -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(){"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==q.push(e)&&(L.debounceRendering||setTimeout)(l)}function l(){var e,t=q;for(q=[];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=U.pop();)L.afterMount&&L.afterMount(e),e.componentDidMount&&e.componentDidMount()}function _(e,t,n,o,r,i){P++||(V=null!=r&&void 0!==r.ownerSVGElement,j=null!=e&&!("__preactattr_"in e));var l=v(e,t,n,o,i);return r&&l.parentNode!==r&&r.appendChild(l),--P||(j=!1,i||m()),l}function v(e,t,n,o,r){var i=e,l=V;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(V="svg"===t.nodeName||"foreignObject"!==t.nodeName&&V,(!e||!s(e,String(t.nodeName)))&&(i=p(String(t.nodeName),V),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!j&&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,j||null!=a.dangerouslySetInnerHTML),O(i,t.attributes,a),V=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,V);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],V)}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?U.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);P||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,q=[],U=[],P=0,V=!1,j=!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=t.required,a=this.state,c=a.focused,h=a.hovered,m=a.menuOpen,_=a.options,v=a.query,y=a.selected,b=this.hasAutoselect(),g=-1===c,O=0===_.length,w=0!==v.length,C=v.length>=i,x=this.props.showNoOptionsFound&&g&&O&&w&&C,E=n+"__wrapper",N=n+"__input",M=null!==c,I=M?" "+N+"--focused":"",k=-1!==c&&null!==c,D=n+"__menu",L=D+"--"+o,S=m||x,T=D+"--"+(S?"visible":"hidden"),A=n+"__option",q=n+"__hint",U=this.templateInputValue(_[y]),P=U&&0===U.toLowerCase().indexOf(v.toLowerCase()),V=P&&b?v+U.substr(v.length):"",j=f&&V;return(0,p.h)("div",{className:E,onKeyDown:this.handleKeyDown},(0,p.h)(d.default,{length:_.length,queryLength:v.length,minQueryLength:i,selectedOption:this.templateInputValue(_[y])}),j&&(0,p.h)("span",null,(0,p.h)("input",{className:q,readonly:!0,tabindex:"-1",value:V})),(0,p.h)("input",{"aria-activedescendant":!!k&&r+"__option--"+c,"aria-expanded":m,"aria-owns":r+"__listbox",autocomplete:"off",className:""+N+I,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",required:s,value:v}),(0,p.h)("ul",{className:D+" "+L+" "+T,id:r+"__listbox",role:"listbox"},_.map(function(t,n){var o=-1===c?y===n:c===n,i=o&&null===h?" "+A+"--focused":"",l=n%2?" "+A+"--odd":"";return(0,p.h)("li",{"aria-selected":c===n,className:""+A+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"})}),x&&(0,p.h)("li",{className:A+" "+A+"--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,required:!1},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)}])}); | ||
!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,l,i,u=T;for(i=arguments.length;i-- >2;)S.push(arguments[i]);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(i=r.length;i--;)S.push(r[i]);else!0!==r&&!1!==r||(r=null),(l="function"!=typeof e)&&(null==r?r="":"number"==typeof r?r=String(r):"string"!=typeof r&&(l=!1)),l&&o?u[u.length-1]+=r:u===T?u=[r]:u.push(r),o=l;var a=new t;return a.nodeName=e,a.children=u,a.attributes=null==n?void 0:n,a.key=null==n?void 0:n.key,void 0!==L.vnode&&L.vnode(a),a}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 l(e){!e.__d&&(e.__d=!0)&&1==q.push(e)&&(L.debounceRendering||setTimeout)(i)}function i(){var e,t=q;for(q=[];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&&a(e,t.nodeName):n||e._componentConstructor===t.nodeName}function a(e,t){return e.__n===t||e.nodeName.toLowerCase()===t.toLowerCase()}function s(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 l in n)l in o||(e.style[l]="");for(var l in o)e.style[l]="number"==typeof o[l]&&!1===A.test(l)?o[l]+"px":o[l]}}else if("dangerouslySetInnerHTML"===t)o&&(e.innerHTML=o.__html||"");else if("o"==t[0]&&"n"==t[1]){var i=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),o?n||e.addEventListener(t,h,i):e.removeEventListener(t,h,i),(e.__l||(e.__l={}))[t]=o}else if("list"!==t&&"type"!==t&&!r&&t in e)f(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 f(e,t,n){try{e[t]=n}catch(e){}}function h(e){return this.__l[e.type](L.event&&L.event(e)||e)}function m(){for(var e;e=j.pop();)L.afterMount&&L.afterMount(e),e.componentDidMount&&e.componentDidMount()}function _(e,t,n,o,r,l){B++||(P=null!=r&&void 0!==r.ownerSVGElement,U=null!=e&&!("__preactattr_"in e));var i=v(e,t,n,o,l);return r&&i.parentNode!==r&&r.appendChild(i),--B||(U=!1,l||m()),i}function v(e,t,n,o,r){var l=e,i=P;if(null==t&&(t=""),"string"==typeof t)return e&&void 0!==e.splitText&&e.parentNode&&(!e._component||r)?e.nodeValue!=t&&(e.nodeValue=t):(l=document.createTextNode(t),e&&(e.parentNode&&e.parentNode.replaceChild(l,e),b(e,!0))),l.__preactattr_=!0,l;if("function"==typeof t.nodeName)return I(e,t,n,o);if(P="svg"===t.nodeName||"foreignObject"!==t.nodeName&&P,(!e||!a(e,String(t.nodeName)))&&(l=p(String(t.nodeName),P),e)){for(;e.firstChild;)l.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(l,e),b(e,!0)}var u=l.firstChild,s=l.__preactattr_||(l.__preactattr_={}),c=t.children;return!U&&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(l,c,n,o,U||null!=s.dangerouslySetInnerHTML),O(l,t.attributes,s),P=i,l}function y(e,t,n,o,r){var l,i,a,s,p=e.childNodes,d=[],f={},h=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_,E=g&&C?w._component?w._component.__k:C.key:null;null!=E?(h++,f[E]=w):(C||(void 0!==w.splitText?!r||w.nodeValue.trim():r))&&(d[y++]=w)}if(0!==g)for(var O=0;O<g;O++){a=t[O],s=null;var E=a.key;if(null!=E)h&&void 0!==f[E]&&(s=f[E],f[E]=void 0,h--);else if(!s&&m<y)for(l=m;l<y;l++)if(void 0!==d[l]&&u(i=d[l],a,r)){s=i,d[l]=void 0,l===y-1&&y--,l===m&&m++;break}(s=v(s,a,n,o))&&s!==e&&(O>=_?e.appendChild(s):s!==p[O]&&(s===p[O+1]?c(p[O]):e.insertBefore(s,p[O]||null)))}if(h)for(var O in f)void 0!==f[O]&&b(f[O],!1);for(;m<=y;)void 0!==(s=d[y--])&&b(s,!1)}function b(e,t){var n=e._component;n?M(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,P);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],P)}function w(e){var t=e.constructor.name;(V[t]||(V[t]=[])).push(e)}function C(e,t,n){var o,r=V[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=E),r)for(var l=r.length;l--;)if(r[l].constructor===e){o.__b=r[l].__b,r.splice(l,1);break}return o}function E(e,t,n){return this.constructor(e,n)}function x(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?l(e):N(e,1,r)),e.__r&&e.__r(e))}function N(e,t,n,r){if(!e.__x){var l,i,u,a=e.props,p=e.state,c=e.context,d=e.__p||a,f=e.__s||p,h=e.__c||c,v=e.base,y=e.__b,g=v||y,O=e._component,w=!1;if(v&&(e.props=d,e.state=f,e.context=h,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(a,p,c)?w=!0:e.componentWillUpdate&&e.componentWillUpdate(a,p,c),e.props=a,e.state=p,e.context=c),e.__p=e.__s=e.__c=e.__b=null,e.__d=!1,!w){l=e.render(a,p,c),e.getChildContext&&(c=o(o({},c),e.getChildContext()));var E,I,k=l&&l.nodeName;if("function"==typeof k){var D=s(l);i=O,i&&i.constructor===k&&D.key==i.__k?x(i,D,1,c,!1):(E=i,e._component=i=C(k,D,c),i.__b=i.__b||y,i.__u=e,x(i,D,0,c,!1),N(i,1,n,!0)),I=i.base}else u=g,E=O,E&&(u=e._component=null),(g||1===t)&&(u&&(u._component=null),I=_(u,l,c,n||!v,g&&g.parentNode,!0));if(g&&I!==g&&i!==O){var S=g.parentNode;S&&I!==S&&(S.replaceChild(I,g),E||(g._component=null,b(g,!1)))}if(E&&M(E),e.base=I,I&&!r){for(var T=e,A=e;A=A.__u;)(T=A).base=I;I._component=T,I._componentConstructor=T.constructor}}if(!v||n?j.unshift(e):w||(m(),e.componentDidUpdate&&e.componentDidUpdate(d,f,h),L.afterUpdate&&L.afterUpdate(e)),null!=e.__h)for(;e.__h.length;)e.__h.pop().call(e);B||r||m()}}function I(e,t,n,o){for(var r=e&&e._component,l=r,i=e,u=r&&e._componentConstructor===t.nodeName,a=u,p=s(t);r&&!a&&(r=r.__u);)a=r.constructor===t.nodeName;return r&&a&&(!o||r._component)?(x(r,p,3,n,o),e=r.base):(l&&!u&&(M(l),e=i=null),r=C(t.nodeName,p,n),e&&!r.__b&&(r.__b=e,i=null),x(r,p,1,n,o),e=r.base,i&&e!==i&&(i._component=null,b(i,!1))),e}function M(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?M(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,q=[],j=[],B=0,P=!1,U=!1,V={};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),l(this)},forceUpdate:function(e){e&&(this.__h=this.__h||[]).push(e),N(this,2)},render:function(){}});var R={h:n,createElement:n,cloneElement:r,Component:k,render:D,rerender:i,options:L};e.exports=R}()},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,l.render)((0,l.createElement)(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},l=n(0),i=n(2),u=function(e){return e&&e.__esModule?e:{default:e}}(i),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 l(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 i(){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}function a(e){return m?{onInput:e}:_?{onChange:e}:void 0}t.__esModule=!0,t.default=void 0;var s,p,c=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},d=n(0),f=n(3),h=function(e){return e&&e.__esModule?e:{default:e}}(f),m=!0,_=!1,v={13:"enter",27:"escape",38:"up",40:"down"},y=function(){var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}(),b=(p=s=function(e){function t(n){o(this,t);var l=r(this,e.call(this,n));return l.elementRefs={},l.state={focused:null,hovered:null,menuOpen:!1,options:n.defaultValue?[n.defaultValue]:[],query:n.defaultValue,selected:null},l.handleComponentBlur=l.handleComponentBlur.bind(l),l.handleKeyDown=l.handleKeyDown.bind(l),l.handleUpArrow=l.handleUpArrow.bind(l),l.handleDownArrow=l.handleDownArrow.bind(l),l.handleEnter=l.handleEnter.bind(l),l.handlePrintableKey=l.handlePrintableKey.bind(l),l.handleOptionBlur=l.handleOptionBlur.bind(l),l.handleOptionClick=l.handleOptionClick.bind(l),l.handleOptionFocus=l.handleOptionFocus.bind(l),l.handleOptionMouseDown=l.handleOptionMouseDown.bind(l),l.handleOptionMouseEnter=l.handleOptionMouseEnter.bind(l),l.handleOptionMouseOut=l.handleOptionMouseOut.bind(l),l.handleOptionTouchEnd=l.handleOptionTouchEnd.bind(l),l.handleInputBlur=l.handleInputBlur.bind(l),l.handleInputChange=l.handleInputChange.bind(l),l.handleInputFocus=l.handleInputFocus.bind(l),l.pollInputElement=l.pollInputElement.bind(l),l.getDirectInputChanges=l.getDirectInputChanges.bind(l),l}return l(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 l=-1===n,i=r&&null===t.focused;if(l&&i){var u=this.elementRefs[n];u.setSelectionRange(0,u.value.length)}},t.prototype.hasAutoselect=function(){return!i()&&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,l=void 0;this.props.confirmOnBlur?(l=e.query||o,this.props.onConfirm(n[r])):l=o,this.setState({focused:null,menuOpen:e.menuOpen||!1,query:l,selected:null})},t.prototype.handleOptionBlur=function(e,t){var n=this.state,o=n.focused,r=n.menuOpen,l=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&&i();this.handleComponentBlur({menuOpen:c,query:this.templateInputValue(l[u])})}},t.prototype.handleInputBlur=function(e){var t=this.state,n=t.focused,o=t.menuOpen,r=t.options,l=t.query,u=t.selected;if(-1===n){var a=o&&i(),s=i()?l: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,l=this.hasAutoselect(),i=e.target.value,u=0===i.length,a=this.state.query.length!==i.length,s=i.length>=o;this.setState({query:i}),!u&&a&&s?r(i,function(e){var n=e.length>0;t.setState({menuOpen:n,options:e,selected:l&&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(v[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,l=t.minLength,i=t.name,u=t.placeholder,s=t.required,p=this.state,f=p.focused,m=p.hovered,_=p.menuOpen,v=p.options,b=p.query,g=p.selected,O=this.hasAutoselect(),w=-1===f,C=0===v.length,E=0!==b.length,x=b.length>=l,N=this.props.showNoOptionsFound&&w&&C&&E&&x,I=n+"__wrapper",M=n+"__input",k=null!==f,D=k?" "+M+"--focused":"",L=-1!==f&&null!==f,S=n+"__menu",T=S+"--"+o,A=_||N,q=S+"--"+(A?"visible":"hidden"),j=n+"__option",B=n+"__hint",P=this.templateInputValue(v[g]),U=P&&0===P.toLowerCase().indexOf(b.toLowerCase()),V=U&&O?b+P.substr(b.length):"",R=y&&V;return(0,d.createElement)("div",{className:I,onKeyDown:this.handleKeyDown},(0,d.createElement)(h.default,{length:v.length,queryLength:b.length,minQueryLength:l,selectedOption:this.templateInputValue(v[g])}),R&&(0,d.createElement)("span",null,(0,d.createElement)("input",{className:B,readonly:!0,tabIndex:"-1",value:V})),(0,d.createElement)("input",c({"aria-activedescendant":!!L&&r+"__option--"+f,"aria-expanded":_,"aria-owns":r+"__listbox",autoComplete:"off",className:""+M+D,id:r,onBlur:this.handleInputBlur},a(this.handleInputChange),{onFocus:this.handleInputFocus,name:i,placeholder:u,ref:function(t){e.elementRefs[-1]=t},role:"combobox",type:"text",required:s,value:b})),(0,d.createElement)("ul",{className:S+" "+T+" "+q,id:r+"__listbox",role:"listbox"},v.map(function(t,n){var o=-1===f?g===n:f===n,l=o&&null===m?" "+j+"--focused":"",i=n%2?" "+j+"--odd":"";return(0,d.createElement)("li",{"aria-selected":f===n,className:""+j+l+i,dangerouslySetInnerHTML:{__html:e.templateSuggestion(t)},id:r+"__option--"+n,key:n,onBlur:function(t){return e.handleOptionBlur(t,n)},onClick:function(t){return e.handleOptionClick(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"})}),N&&(0,d.createElement)("li",{className:j+" "+j+"--no-results"},"No results found")))},t}(d.Component),s.defaultProps={autoselect:!1,cssNamespace:"autocomplete",defaultValue:"",displayMenu:"inline",minLength:0,name:"input-autocomplete",placeholder:"",onConfirm:function(){},confirmOnBlur:!0,showNoOptionsFound:!0,required:!1},p);t.default=b},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 l(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 i=n(0),u=function(e){function t(){var n,l,i;o(this,t);for(var u=arguments.length,a=Array(u),s=0;s<u;s++)a[s]=arguments[s];return n=l=r(this,e.call.apply(e,[this].concat(a))),l.state={bump:!1},i=n,r(l,i)}return l(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,l=this.state.bump,u={result:1===t?"result":"results",is:1===t?"is":"are"},a=n<o,s=0===t,p=r?(0,i.createElement)("span",null,r," (1 of ",t,") is selected."):null,c=null;return c=a?(0,i.createElement)("span",null,"Type in ",o," or more characters for results."):s?(0,i.createElement)("span",null,"No search results."):(0,i.createElement)("span",null,t," ",u.result," ",u.is," available. ",p),(0,i.createElement)("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,i.createElement)("span",null,l?",":",,"))},t}(i.Component);t.default=u},function(e,t,n){e.exports=n(1)}])}); | ||
//# sourceMappingURL=accessible-autocomplete.min.js.map |
{ | ||
"name": "accessible-autocomplete", | ||
"version": "1.1.0", | ||
"version": "1.2.0", | ||
"main": "dist/accessible-autocomplete.min.js", | ||
@@ -5,0 +5,0 @@ "style": "dist/accessible-autocomplete.min.css", |
@@ -68,2 +68,35 @@ # Accessible autocomplete | ||
### With Preact | ||
If you already use Preact in your application, you can import a bundle that will use that: | ||
```js | ||
import preact from 'preact' | ||
import Autocomplete from 'accessible-autocomplete/preact' | ||
preact.render( | ||
<Autocomplete id='autocomplete' source={suggest} />, | ||
document.querySelector('#container') | ||
) | ||
``` | ||
[Try out the Preact example!](https://alphagov.github.io/accessible-autocomplete/examples/preact/) | ||
### With React | ||
If you already use React in your application, you can import a bundle that will use that: | ||
```js | ||
import React from 'react' | ||
import ReactDOM from 'react-dom' | ||
import Autocomplete from 'accessible-autocomplete/react' | ||
ReactDOM.render( | ||
<Autocomplete id='autocomplete' source={suggest} />, | ||
document.querySelector('#container') | ||
) | ||
``` | ||
[Try out the React example!](https://alphagov.github.io/accessible-autocomplete/examples/react/) | ||
## API documentation | ||
@@ -79,3 +112,3 @@ | ||
#### `id` (default: `'autocomplete'`) | ||
#### `id` | ||
@@ -82,0 +115,0 @@ Type: `string` |
@@ -1,4 +0,7 @@ | ||
import { h, Component } from 'preact' /** @jsx h */ | ||
import { createElement, Component } from 'preact' /** @jsx createElement */ | ||
import Status from './status' | ||
const IS_PREACT = process.env.COMPONENT_LIBRARY === 'PREACT' | ||
const IS_REACT = process.env.COMPONENT_LIBRARY === 'REACT' | ||
const keyCodes = { | ||
@@ -33,2 +36,8 @@ 13: 'enter', | ||
// Preact does not implement onChange on inputs, but React does. | ||
function onChangeCrossLibrary (handler) { | ||
if (IS_PREACT) { return { onInput: handler } } | ||
if (IS_REACT) { return { onChange: handler } } | ||
} | ||
export default class Autocomplete extends Component { | ||
@@ -40,3 +49,2 @@ static defaultProps = { | ||
displayMenu: 'inline', | ||
id: 'autocomplete', | ||
minLength: 0, | ||
@@ -72,4 +80,4 @@ name: 'input-autocomplete', | ||
this.handleOptionBlur = this.handleOptionBlur.bind(this) | ||
this.handleOptionClick = this.handleOptionClick.bind(this) | ||
this.handleOptionFocusOut = this.handleOptionFocusOut.bind(this) | ||
this.handleOptionFocus = this.handleOptionFocus.bind(this) | ||
@@ -166,3 +174,3 @@ this.handleOptionMouseDown = this.handleOptionMouseDown.bind(this) | ||
handleOptionFocusOut (evt, idx) { | ||
handleOptionBlur (evt, idx) { | ||
const { focused, menuOpen, options, selected } = this.state | ||
@@ -269,3 +277,3 @@ const focusingOutsideComponent = evt.relatedTarget === null | ||
// If this is removed, clicking on an option in Safari will trigger | ||
// `handleOptionFocusOut`, which closes the menu, and the click will | ||
// `handleOptionBlur`, which closes the menu, and the click will | ||
// trigger on the element underneath instead. | ||
@@ -383,3 +391,3 @@ // See: http://stackoverflow.com/questions/7621711/how-to-prevent-blur-running-when-clicking-a-link-in-jquery | ||
{showHint && ( | ||
<span><input className={hintClassName} readonly tabindex='-1' value={hintValue} /></span> | ||
<span><input className={hintClassName} readonly tabIndex='-1' value={hintValue} /></span> | ||
)} | ||
@@ -391,8 +399,8 @@ | ||
aria-owns={`${id}__listbox`} | ||
autocomplete='off' | ||
autoComplete='off' | ||
className={`${inputClassName}${inputModFocused}`} | ||
id={id} | ||
onBlur={this.handleInputBlur} | ||
{...onChangeCrossLibrary(this.handleInputChange)} | ||
onFocus={this.handleInputFocus} | ||
onInput={this.handleInputChange} | ||
name={name} | ||
@@ -423,4 +431,5 @@ placeholder={placeholder} | ||
id={`${id}__option--${idx}`} | ||
key={idx} | ||
onBlur={(evt) => this.handleOptionBlur(evt, idx)} | ||
onClick={(evt) => this.handleOptionClick(evt, idx)} | ||
onFocusOut={(evt) => this.handleOptionFocusOut(evt, idx)} | ||
onMouseDown={this.handleOptionMouseDown} | ||
@@ -432,3 +441,3 @@ onMouseEnter={(evt) => this.handleOptionMouseEnter(evt, idx)} | ||
role='option' | ||
tabindex='-1' | ||
tabIndex='-1' | ||
/> | ||
@@ -435,0 +444,0 @@ ) |
@@ -1,2 +0,2 @@ | ||
import { h, Component } from 'preact' /** @jsx h */ | ||
import { createElement, Component } from 'preact' /** @jsx createElement */ | ||
@@ -3,0 +3,0 @@ export default class Status extends Component { |
@@ -1,2 +0,2 @@ | ||
import { h, render } from 'preact' /** @jsx h */ | ||
import { createElement, render } from 'preact' /** @jsx createElement */ | ||
import Autocomplete from './autocomplete' | ||
@@ -3,0 +3,0 @@ |
/* global after, describe, before, beforeEach, expect, it */ | ||
import { h, render } from 'preact' /** @jsx h */ | ||
import { createElement, render } from 'preact' /** @jsx createElement */ | ||
import Autocomplete from '../../src/autocomplete' | ||
@@ -254,3 +254,3 @@ | ||
autocomplete.setState({ menuOpen: true, options: ['France'], query: 'fr', focused: 0, selected: -1 }) | ||
autocomplete.handleOptionFocusOut({ target: 'mock', relatedTarget: 'relatedMock' }, 0) | ||
autocomplete.handleOptionBlur({ target: 'mock', relatedTarget: 'relatedMock' }, 0) | ||
expect(autocomplete.state.focused).to.equal(null) | ||
@@ -266,3 +266,3 @@ expect(autocomplete.state.menuOpen).to.equal(false) | ||
autocomplete.setState({ menuOpen: true, options: ['France'], query: 'fr', focused: 0, selected: 0 }) | ||
autocomplete.handleOptionFocusOut({ target: 'mock', relatedTarget: 'relatedMock' }, 0) | ||
autocomplete.handleOptionBlur({ target: 'mock', relatedTarget: 'relatedMock' }, 0) | ||
expect(autocomplete.state.focused).to.equal(null) | ||
@@ -276,3 +276,3 @@ expect(autocomplete.state.menuOpen).to.equal(false) | ||
confirmOnBlurAutocomplete.setState({ menuOpen: true, options: ['France'], query: 'fr', focused: 0, selected: 0 }) | ||
confirmOnBlurAutocomplete.handleOptionFocusOut({ target: 'mock', relatedTarget: 'relatedMock' }, 0) | ||
confirmOnBlurAutocomplete.handleOptionBlur({ target: 'mock', relatedTarget: 'relatedMock' }, 0) | ||
expect(confirmOnBlurAutocomplete.state.focused).to.equal(null) | ||
@@ -279,0 +279,0 @@ expect(confirmOnBlurAutocomplete.state.menuOpen).to.equal(false) |
@@ -11,11 +11,3 @@ /* global afterEach, before, beforeEach, browser, describe, it */ | ||
describe('Accessible Autocomplete page', () => { | ||
before(() => { | ||
browser.url('/') | ||
}) | ||
it('should have the right title', () => { | ||
expect(browser.getTitle()).to.equal('Accessible Autocomplete examples') | ||
}) | ||
const basicExample = () => { | ||
describe('basic example', function () { | ||
@@ -84,3 +76,5 @@ this.retries(3) | ||
}) | ||
} | ||
const customTemplatesExample = () => { | ||
describe('custom templates example', function () { | ||
@@ -118,3 +112,5 @@ this.retries(3) | ||
}) | ||
} | ||
const takeScreenshotsIfFail = () => { | ||
afterEach(function () { | ||
@@ -131,2 +127,45 @@ const testFailed = this.currentTest.state === 'failed' | ||
}) | ||
} | ||
describe('Accessible Autocomplete', () => { | ||
before(() => { | ||
browser.url('/') | ||
}) | ||
it('should have the right title', () => { | ||
expect(browser.getTitle()).to.equal('Accessible Autocomplete examples') | ||
}) | ||
basicExample() | ||
customTemplatesExample() | ||
takeScreenshotsIfFail() | ||
}) | ||
describe('Accessible Autocomplete Preact', () => { | ||
before(() => { | ||
browser.url('/preact') | ||
}) | ||
it('should have the right title', () => { | ||
expect(browser.getTitle()).to.equal('Accessible Autocomplete Preact examples') | ||
}) | ||
basicExample() | ||
takeScreenshotsIfFail() | ||
}) | ||
describe('Accessible Autocomplete React', () => { | ||
before(() => { | ||
browser.url('/react') | ||
}) | ||
it('should have the right title', () => { | ||
expect(browser.getTitle()).to.equal('Accessible Autocomplete React examples') | ||
}) | ||
basicExample() | ||
takeScreenshotsIfFail() | ||
}) |
require('babel-register') | ||
var webpack = require('../webpack.config.babel.js') | ||
var webpack = require('../webpack.config.babel.js')[0] | ||
var path = require('path') | ||
@@ -4,0 +4,0 @@ |
@@ -8,14 +8,46 @@ import webpack from 'webpack' | ||
module.exports = { | ||
const plugins = [ | ||
new webpack.NoEmitOnErrorsPlugin(), | ||
new webpack.DefinePlugin({ | ||
'process.env.NODE_ENV': JSON.stringify(ENV) | ||
}) | ||
] | ||
const productionPlugins = [ | ||
new V8LazyParseWebpackPlugin(), | ||
new webpack.optimize.UglifyJsPlugin({ | ||
output: { | ||
comments: false | ||
}, | ||
compress: { | ||
warnings: false, | ||
conditionals: true, | ||
unused: true, | ||
comparisons: true, | ||
sequences: true, | ||
dead_code: true, | ||
evaluate: true, | ||
if_return: true, | ||
join_vars: true, | ||
negate_iife: false | ||
} | ||
}), | ||
// strip out babel-helper invariant checks | ||
new ReplacePlugin([{ | ||
// this is actually the property name https://github.com/kimhou/replace-bundle-webpack-plugin/issues/1 | ||
partten: /throw\s+(new\s+)?[a-zA-Z]+Error\s*\(/g, | ||
replacement: () => 'return;(' | ||
}]) | ||
] | ||
const developmentPlugins = [ | ||
new CopyWebpackPlugin([ | ||
{ from: './autocomplete.css', to: 'accessible-autocomplete.min.css' } | ||
]) | ||
] | ||
const config = { | ||
context: path.resolve(__dirname, 'src'), | ||
entry: ['./wrapper.js'], | ||
output: { | ||
path: path.resolve(__dirname, 'dist'), | ||
publicPath: '/', | ||
filename: 'accessible-autocomplete.min.js', | ||
library: 'accessibleAutocomplete', | ||
libraryTarget: 'umd' | ||
}, | ||
resolve: { | ||
@@ -45,39 +77,2 @@ extensions: ['.js'], | ||
plugins: ([ | ||
new webpack.NoEmitOnErrorsPlugin(), | ||
new webpack.DefinePlugin({ | ||
'process.env.NODE_ENV': JSON.stringify(ENV) | ||
}) | ||
]).concat(ENV === 'production' ? [ | ||
new V8LazyParseWebpackPlugin(), | ||
new webpack.optimize.UglifyJsPlugin({ | ||
output: { | ||
comments: false | ||
}, | ||
compress: { | ||
warnings: false, | ||
conditionals: true, | ||
unused: true, | ||
comparisons: true, | ||
sequences: true, | ||
dead_code: true, | ||
evaluate: true, | ||
if_return: true, | ||
join_vars: true, | ||
negate_iife: false | ||
} | ||
}), | ||
// strip out babel-helper invariant checks | ||
new ReplacePlugin([{ | ||
// this is actually the property name https://github.com/kimhou/replace-bundle-webpack-plugin/issues/1 | ||
partten: /throw\s+(new\s+)?[a-zA-Z]+Error\s*\(/g, | ||
replacement: () => 'return;(' | ||
}]) | ||
] : [ | ||
new CopyWebpackPlugin([ | ||
{ from: './autocomplete.css', to: 'accessible-autocomplete.min.css' } | ||
]) | ||
]), | ||
stats: { colors: true }, | ||
@@ -107,1 +102,83 @@ | ||
} | ||
const bundleStandalone = { | ||
...config, | ||
entry: ['./wrapper.js'], | ||
output: { | ||
path: path.resolve(__dirname, 'dist'), | ||
publicPath: '/', | ||
filename: 'accessible-autocomplete.min.js', | ||
library: 'accessibleAutocomplete', | ||
libraryTarget: 'umd' | ||
}, | ||
plugins: plugins | ||
.concat([new webpack.DefinePlugin({ | ||
'process.env.COMPONENT_LIBRARY': '"PREACT"' | ||
})]) | ||
.concat(ENV === 'production' | ||
? productionPlugins | ||
: developmentPlugins | ||
) | ||
} | ||
const bundlePreact = { | ||
...config, | ||
entry: ['./autocomplete.js'], | ||
output: { | ||
path: path.resolve(__dirname, 'dist'), | ||
publicPath: '/', | ||
filename: 'lib/accessible-autocomplete.preact.min.js', | ||
library: 'Autocomplete', | ||
libraryTarget: 'umd' | ||
}, | ||
externals: { | ||
preact: { | ||
amd: 'preact', | ||
commonjs: 'preact', | ||
commonjs2: 'preact', | ||
root: 'preact' | ||
} | ||
}, | ||
plugins: plugins | ||
.concat([new webpack.DefinePlugin({ | ||
'process.env.COMPONENT_LIBRARY': '"PREACT"' | ||
})]) | ||
.concat(ENV === 'production' | ||
? productionPlugins | ||
: developmentPlugins | ||
) | ||
} | ||
const bundleReact = { | ||
...config, | ||
entry: ['./autocomplete.js'], | ||
output: { | ||
path: path.resolve(__dirname, 'dist'), | ||
publicPath: '/', | ||
filename: 'lib/accessible-autocomplete.react.min.js', | ||
library: 'Autocomplete', | ||
libraryTarget: 'umd' | ||
}, | ||
externals: { | ||
preact: { | ||
amd: 'react', | ||
commonjs: 'react', | ||
commonjs2: 'react', | ||
root: 'React' | ||
} | ||
}, | ||
plugins: plugins | ||
.concat([new webpack.DefinePlugin({ | ||
'process.env.COMPONENT_LIBRARY': '"REACT"' | ||
})]) | ||
.concat(ENV === 'production' | ||
? productionPlugins | ||
: developmentPlugins | ||
) | ||
} | ||
module.exports = [ | ||
bundleStandalone, | ||
bundlePreact, | ||
bundleReact | ||
] |
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
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
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
497780
35
1777
326
3
12