@orangesk/accessible-autocomplete
Advanced tools
+7
-0
| # CHANGELOG | ||
| ## Orangesk 3.2.1 - 2026-03-26 | ||
| ### Fix | ||
| - Crashing `enhanceSelectElement` when no ID added | ||
| - Crashing `enhanceSelectElement` when no option added | ||
| ## Orangesk 3.2.0 - 2026-03-25 | ||
@@ -4,0 +11,0 @@ |
@@ -1,2 +0,2 @@ | ||
| (function webpackUniversalModuleDefinition(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()})(window,function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=37)}([function(e,t,n){var m=n(1),v=n(6),y=n(7),g=n(16),_=n(18),b="prototype",w=function(e,t,n){var r,o,i,u,a=e&w.F,s=e&w.G,l=e&w.S,c=e&w.P,p=e&w.B,f=s?m:l?m[t]||(m[t]={}):(m[t]||{})[b],d=s?v:v[t]||(v[t]={}),h=d[b]||(d[b]={});for(r in s&&(n=t),n)i=((o=!a&&f&&f[r]!==undefined)?f:n)[r],u=p&&o?_(i,m):c&&"function"==typeof i?_(Function.call,i):i,f&&g(f,r,i,e&w.U),d[r]!=i&&y(d,r,u),c&&h[r]!=i&&(h[r]=i)};m.core=v,w.F=1,w.G=2,w.S=4,w.P=8,w.B=16,w.W=32,w.U=64,w.R=128,e.exports=w},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";n.r(t),n.d(t,"h",function(){return r}),n.d(t,"createElement",function(){return r}),n.d(t,"cloneElement",function(){return i}),n.d(t,"Component",function(){return g}),n.d(t,"render",function(){return _}),n.d(t,"rerender",function(){return f}),n.d(t,"options",function(){return E});var s=function s(){},E={},l=[],c=[];function r(e,t){var n,r,o,i,u=c;for(i=arguments.length;2<i--;)l.push(arguments[i]);for(t&&null!=t.children&&(l.length||l.push(t.children),delete t.children);l.length;)if((r=l.pop())&&r.pop!==undefined)for(i=r.length;i--;)l.push(r[i]);else"boolean"==typeof r&&(r=null),(o="function"!=typeof e)&&(null==r?r="":"number"==typeof r?r=String(r):"string"!=typeof r&&(o=!1)),o&&n?u[u.length-1]+=r:u===c?u=[r]:u.push(r),n=o;var a=new s;return a.nodeName=e,a.children=u,a.attributes=null==t?undefined:t,a.key=null==t?undefined:t.key,E.vnode!==undefined&&E.vnode(a),a}function N(e,t){for(var n in t)e[n]=t[n];return e}var o="function"==typeof Promise?Promise.resolve().then.bind(Promise.resolve()):setTimeout;function i(e,t){return r(e.nodeName,N(N({},e.attributes),t),2<arguments.length?[].slice.call(arguments,2):e.children)}var p=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,u=[];function a(e){!e._dirty&&(e._dirty=!0)&&1==u.push(e)&&(E.debounceRendering||o)(f)}function f(){var e,t=u;for(u=[];e=t.pop();)e._dirty&&U(e)}function I(e,t){return e.normalizedNodeName===t||e.nodeName.toLowerCase()===t.toLowerCase()}function M(e){var t=N({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(n!==undefined)for(var r in n)t[r]===undefined&&(t[r]=n[r]);return t}function A(e){var t=e.parentNode;t&&t.removeChild(e)}function v(e,t,n,r,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)n&&n(null),r&&r(e);else if("class"!==t||o)if("style"===t){if(r&&"string"!=typeof r&&"string"!=typeof n||(e.style.cssText=r||""),r&&"object"==typeof r){if("string"!=typeof n)for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"==typeof r[i]&&!1===p.test(i)?r[i]+"px":r[i]}}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var u=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||e.addEventListener(t,d,u):e.removeEventListener(t,d,u),(e._listeners||(e._listeners={}))[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e){try{e[t]=null==r?"":r}catch(s){}null!=r&&!1!==r||"spellcheck"==t||e.removeAttribute(t)}else{var a=o&&t!==(t=t.replace(/^xlink:?/,""));null==r||!1===r?a?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof r&&(a?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function d(e){return this._listeners[e.type](E.event&&E.event(e)||e)}var k=[],P=0,j=!1,L=!1;function T(){for(var e;e=k.pop();)E.afterMount&&E.afterMount(e),e.componentDidMount&&e.componentDidMount()}function B(e,t,n,r,o,i){P++||(j=null!=o&&o.ownerSVGElement!==undefined,L=null!=e&&!("__preactattr_"in e));var u=D(e,t,n,r,i);return o&&u.parentNode!==o&&o.appendChild(u),--P||(L=!1,i||T()),u}function D(e,t,n,r,o){var i=e,u=j;if(null!=t&&"boolean"!=typeof t||(t=""),"string"==typeof t||"number"==typeof t)return e&&e.splitText!==undefined&&e.parentNode&&(!e._component||o)?e.nodeValue!=t&&(e.nodeValue=t):(i=document.createTextNode(t),e&&(e.parentNode&&e.parentNode.replaceChild(i,e),F(e,!0))),i["__preactattr_"]=!0,i;var a=t.nodeName;if("function"==typeof a)return function d(e,t,n,r){var o=e&&e._component,i=o,u=e,a=o&&e._componentConstructor===t.nodeName,s=a,l=M(t);for(;o&&!s&&(o=o._parentComponent);)s=o.constructor===t.nodeName;o&&s&&(!r||o._component)?(V(o,l,3,n,r),e=o.base):(i&&!a&&(q(i),e=u=null),o=R(t.nodeName,l,n),e&&!o.nextBase&&(o.nextBase=e,u=null),V(o,l,1,n,r),e=o.base,u&&e!==u&&(u._component=null,F(u,!1)));return e}(e,t,n,r);if(j="svg"===a||"foreignObject"!==a&&j,a=String(a),(!e||!I(e,a))&&(i=function h(e,t){var n=t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e);return n.normalizedNodeName=e,n}(a,j),e)){for(;e.firstChild;)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),F(e,!0)}var s=i.firstChild,l=i["__preactattr_"],c=t.children;if(null==l){l=i["__preactattr_"]={};for(var p=i.attributes,f=p.length;f--;)l[p[f].name]=p[f].value}return!L&&c&&1===c.length&&"string"==typeof c[0]&&null!=s&&s.splitText!==undefined&&null==s.nextSibling?s.nodeValue!=c[0]&&(s.nodeValue=c[0]):(c&&c.length||null!=s)&&function S(e,t,n,r,o){var i,u,a,s,l,c=e.childNodes,p=[],f={},d=0,h=0,m=c.length,v=0,y=t?t.length:0;if(0!==m)for(var g=0;g<m;g++){var _=c[g],b=_["__preactattr_"],w=y&&b?_._component?_._component.__key:b.key:null;null!=w?(d++,f[w]=_):(b||(_.splitText!==undefined?!o||_.nodeValue.trim():o))&&(p[v++]=_)}if(0!==y)for(var g=0;g<y;g++){s=t[g],l=null;var w=s.key;if(null!=w)d&&f[w]!==undefined&&(l=f[w],f[w]=undefined,d--);else if(h<v)for(i=h;i<v;i++)if(p[i]!==undefined&&(x=u=p[i],O=o,"string"==typeof(C=s)||"number"==typeof C?x.splitText!==undefined:"string"==typeof C.nodeName?!x._componentConstructor&&I(x,C.nodeName):O||x._componentConstructor===C.nodeName)){l=u,p[i]=undefined,i===v-1&&v--,i===h&&h++;break}l=D(l,s,n,r),a=c[g],l&&l!==e&&l!==a&&(null==a?e.appendChild(l):l===a.nextSibling?A(a):e.insertBefore(l,a))}var x,C,O;if(d)for(var g in f)f[g]!==undefined&&F(f[g],!1);for(;h<=v;)(l=p[v--])!==undefined&&F(l,!1)}(i,c,n,r,L||null!=l.dangerouslySetInnerHTML),function m(e,t,n){var r;for(r in n)t&&null!=t[r]||null==n[r]||v(e,r,n[r],n[r]=undefined,j);for(r in t)"children"===r||"innerHTML"===r||r in n&&t[r]===("value"===r||"checked"===r?e[r]:n[r])||v(e,r,n[r],n[r]=t[r],j)}(i,t.attributes,l),j=u,i}function F(e,t){var n=e._component;n?q(n):(null!=e["__preactattr_"]&&e["__preactattr_"].ref&&e["__preactattr_"].ref(null),!1!==t&&null!=e["__preactattr_"]||A(e),h(e))}function h(e){for(e=e.lastChild;e;){var t=e.previousSibling;F(e,!0),e=t}}var m=[];function R(e,t,n){var r,o=m.length;for(e.prototype&&e.prototype.render?(r=new e(t,n),g.call(r,t,n)):((r=new g(t,n)).constructor=e,r.render=y);o--;)if(m[o].constructor===e)return r.nextBase=m[o].nextBase,m.splice(o,1),r;return r}function y(e,t,n){return this.constructor(e,n)}function V(e,t,n,r,o){e._disable||(e._disable=!0,e.__ref=t.ref,e.__key=t.key,delete t.ref,delete t.key,"undefined"==typeof e.constructor.getDerivedStateFromProps&&(!e.base||o?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,r)),r&&r!==e.context&&(e.prevContext||(e.prevContext=e.context),e.context=r),e.prevProps||(e.prevProps=e.props),e.props=t,e._disable=!1,0!==n&&(1!==n&&!1===E.syncComponentUpdates&&e.base?a(e):U(e,1,o)),e.__ref&&e.__ref(e))}function U(e,t,n,r){if(!e._disable){var o,i,u,a=e.props,s=e.state,l=e.context,c=e.prevProps||a,p=e.prevState||s,f=e.prevContext||l,d=e.base,h=e.nextBase,m=d||h,v=e._component,y=!1,g=f;if(e.constructor.getDerivedStateFromProps&&(s=N(N({},s),e.constructor.getDerivedStateFromProps(a,s)),e.state=s),d&&(e.props=c,e.state=p,e.context=f,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(a,s,l)?y=!0:e.componentWillUpdate&&e.componentWillUpdate(a,s,l),e.props=a,e.state=s,e.context=l),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,e._dirty=!1,!y){o=e.render(a,s,l),e.getChildContext&&(l=N(N({},l),e.getChildContext())),d&&e.getSnapshotBeforeUpdate&&(g=e.getSnapshotBeforeUpdate(c,p));var _,b,w=o&&o.nodeName;if("function"==typeof w){var x=M(o);(i=v)&&i.constructor===w&&x.key==i.__key?V(i,x,1,l,!1):(_=i,e._component=i=R(w,x,l),i.nextBase=i.nextBase||h,i._parentComponent=e,V(i,x,0,l,!1),U(i,1,n,!0)),b=i.base}else u=m,(_=v)&&(u=e._component=null),(m||1===t)&&(u&&(u._component=null),b=function B(t,n,r,o,i,u){P++||(j=null!=i&&i.ownerSVGElement!==undefined,L=null!=t&&!("__preactattr_"in t));var a=D(t,n,r,o,u);return i&&a.parentNode!==i&&i.appendChild(a),--P||(L=!1,u||T()),a}(u,o,l,n||!d,m&&m.parentNode,!0));if(m&&b!==m&&i!==v){var C=m.parentNode;C&&b!==C&&(C.replaceChild(b,m),_||(m._component=null,F(m,!1)))}if(_&&q(_),(e.base=b)&&!r){for(var O=e,S=e;S=S._parentComponent;)(O=S).base=b;b._component=O,b._componentConstructor=O.constructor}}for(!d||n?k.unshift(e):y||(e.componentDidUpdate&&e.componentDidUpdate(c,p,g),E.afterUpdate&&E.afterUpdate(e));e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);P||r||T()}}function q(e){E.beforeUnmount&&E.beforeUnmount(e);var t=e.base;e._disable=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var n=e._component;n?q(n):t&&(t["__preactattr_"]&&t["__preactattr_"].ref&&t["__preactattr_"].ref(null),A(e.nextBase=t),m.push(e),h(t)),e.__ref&&e.__ref(null)}function g(e,t){this._dirty=!0,this.context=t,this.props=e,this.state=this.state||{},this._renderCallbacks=[]}function _(e,t,n){return B(n,e,{},!1,t,!1)}N(g.prototype,{setState:function(e,t){this.prevState||(this.prevState=this.state),this.state=N(N({},this.state),"function"==typeof e?e(this.state,this.props):e),t&&this._renderCallbacks.push(t),a(this)},forceUpdate:function(e){e&&this._renderCallbacks.push(e),U(this,2)},render:function _(){}});var b={h:r,createElement:r,cloneElement:i,Component:g,render:_,rerender:f,options:E};t["default"]=b},function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(8),o=n(40);e.exports=n(3)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var o=n(9),i=n(38),u=n(39),a=Object.defineProperty;t.f=n(3)?Object.defineProperty:function(e,t,n){if(o(e),t=u(t,!0),o(n),i)try{return a(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(2);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(e===undefined?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(22);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t){e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e,t){return!!e&&r(function(){t?e.call(null,function(){},1):e.call(null)})}},function(e,t,n){var r=n(0);r(r.S+r.F,"Object",{assign:n(41)})},function(e,t,n){var r=n(2),o=n(1).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var i=n(1),u=n(7),a=n(17),s=n(10)("src"),r="toString",o=Function[r],l=(""+o).split(r);n(6).inspectSource=function(e){return o.call(e)},(e.exports=function(e,t,n,r){var o="function"==typeof n;o&&(a(n,"name")||u(n,"name",t)),e[t]!==n&&(o&&(a(n,s)||u(n,s,e[t]?""+e[t]:l.join(String(t)))),e===i?e[t]=n:r?e[t]?e[t]=n:u(e,t,n):(delete e[t],u(e,t,n)))})(Function.prototype,r,function(){return"function"==typeof this&&this[s]||o.call(this)})},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var i=n(19);e.exports=function(r,o,e){if(i(r),o===undefined)return r;switch(e){case 1:return function(e){return r.call(o,e)};case 2:return function(e,t){return r.call(o,e,t)};case 3:return function(e,t,n){return r.call(o,e,t,n)}}return function(){return r.apply(o,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(42),o=n(28);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){var r=n(11),o=n(12);e.exports=function(e){return r(o(e))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var s=n(21),l=n(24),c=n(43);e.exports=function(a){return function(e,t,n){var r,o=s(e),i=l(o.length),u=c(n,i);if(a&&t!=t){for(;u<i;)if((r=o[u++])!=r)return!0}else for(;u<i;u++)if((a||u in o)&&o[u]===t)return a||u||0;return!a&&-1}}},function(e,t,n){var r=n(25),o=Math.min;e.exports=function(e){return 0<e?o(r(e),9007199254740991):0}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(0<e?r:n)(e)}},function(e,t,n){var r=n(27)("keys"),o=n(10);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(6),o=n(1),i="__core-js_shared__",u=o[i]||(o[i]={});(e.exports=function(e,t){return u[e]||(u[e]=t!==undefined?t:{})})("versions",[]).push({version:r.version,mode:n(44)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(12);e.exports=function(e){return Object(r(e))}},function(e,t,n){var r=n(8).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(3)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var r=n(0),o=n(32)(1);r(r.P+r.F*!n(13)([].map,!0),"Array",{map:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var _=n(18),b=n(11),w=n(29),x=n(24),r=n(47);e.exports=function(p,e){var f=1==p,d=2==p,h=3==p,m=4==p,v=6==p,y=5==p||v,g=e||r;return function(e,t,n){for(var r,o,i=w(e),u=b(i),a=_(t,n,3),s=x(u.length),l=0,c=f?g(e,s):d?g(e,0):undefined;l<s;l++)if((y||l in u)&&(o=a(r=u[l],l,i),p))if(f)c[l]=o;else if(o)switch(p){case 3:return!0;case 5:return r;case 6:return l;case 2:c.push(r)}else if(m)return!1;return v?-1:h||m?m:c}}},function(e,t,n){var r=n(22);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(27)("wks"),o=n(10),i=n(1).Symbol,u="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=u&&i[e]||(u?i:o)("Symbol."+e))}).store=r},function(e,t,n){"use strict";var r=n(0),o=n(23)(!1),i=[].indexOf,u=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(u||!n(13)(i)),"Array",{indexOf:function(e){return u?i.apply(this,arguments)||0:o(this,e,arguments[1])}})},function(e,t,n){var r=n(0);r(r.S,"Object",{create:n(52)})},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,n(14),n(30),n(31),n(35),n(49),n(50);var r=n(5),o=function s(e){return e&&e.__esModule?e:{"default":e}}(n(51));function i(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");Array.isArray(e.source)&&(e.source=u(e.source)),(0,r.render)((0,r.createElement)(o["default"],e),e.element)}var u=function u(n){return function(t,e){e(n.filter(function(e){return-1!==e.toLowerCase().indexOf(t.toLowerCase())}))}};i.enhanceSelectElement=function(n){if(!n.selectElement)throw new Error("selectElement is not defined");if(!n.source){var e=[].filter.call(n.selectElement.options,function(e){return e.value||n.preserveNullOptions});n.source=e.map(function(e){return e.textContent||e.innerText})}if(n.onConfirm=n.onConfirm||function(t){var e=[].filter.call(n.selectElement.options,function(e){return(e.textContent||e.innerText)===t})[0];e&&(e.selected=!0)},n.selectElement.value||n.defaultValue===undefined){var t=n.selectElement.options[n.selectElement.options.selectedIndex];n.defaultValue=t.textContent||t.innerText}if(n.name===undefined&&(n.name=""),n.id===undefined&&(n.selectElement.id===undefined?n.id="":n.id=n.selectElement.id),n.autoselect===undefined&&(n.autoselect=!0),n.autocomplete===undefined){var r=n.selectElement.getAttribute("autocomplete");null!==r&&(n.autocomplete=r)}var o=document.createElement("div");n.selectElement.parentNode.insertBefore(o,n.selectElement),i(Object.assign({},n,{element:o})),n.selectElement.style.display="none",n.selectElement.id=n.selectElement.id+"-select"};var a=i;t["default"]=a},function(e,t,n){e.exports=!n(3)&&!n(4)(function(){return 7!=Object.defineProperty(n(15)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var o=n(2);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var f=n(20),d=n(45),h=n(46),m=n(29),v=n(11),o=Object.assign;e.exports=!o||n(4)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=o({},e)[n]||Object.keys(o({},t)).join("")!=r})?function(e,t){for(var n=m(e),r=arguments.length,o=1,i=d.f,u=h.f;o<r;)for(var a,s=v(arguments[o++]),l=i?f(s).concat(i(s)):f(s),c=l.length,p=0;p<c;)u.call(s,a=l[p++])&&(n[a]=s[a]);return n}:o},function(e,t,n){var u=n(17),a=n(21),s=n(23)(!1),l=n(26)("IE_PROTO");e.exports=function(e,t){var n,r=a(e),o=0,i=[];for(n in r)n!=l&&u(r,n)&&i.push(n);for(;t.length>o;)u(r,n=t[o++])&&(~s(i,n)||i.push(n));return i}},function(e,t,n){var r=n(25),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},function(e,t){e.exports=!1},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(48);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(2),o=n(33),i=n(34)("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=undefined),r(t)&&null===(t=t[i])&&(t=undefined)),t===undefined?Array:t}},function(e,t,n){"use strict";var r=n(0),o=n(32)(2);r(r.P+r.F*!n(13)([].filter,!0),"Array",{filter:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(0);r(r.S,"Array",{isArray:n(33)})},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,n(14),n(36),n(30),n(31),n(35),n(55),n(58);var te=n(5),ne=o(n(60)),r=o(n(61));function o(e){return e&&e.__esModule?e:{"default":e}}function re(){return(re=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function i(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var u={13:"enter",27:"escape",32:"space",38:"up",40:"down"};function oe(){return"undefined"!=typeof navigator&&!(!navigator.userAgent.match(/(iPod|iPhone|iPad)/g)||!navigator.userAgent.match(/AppleWebKit/g))}var a=function(n){function e(e){var t;return(t=n.call(this,e)||this).elementReferences={},t.state={focused:null,hovered:null,menuOpen:!1,options:e.defaultValue?[e.defaultValue]:[],query:e.defaultValue,validChoiceMade:!1,selected:null,ariaHint:!0,searchOnInteraction:!0},t.handleComponentBlur=t.handleComponentBlur.bind(i(i(t))),t.handleKeyDown=t.handleKeyDown.bind(i(i(t))),t.handleUpArrow=t.handleUpArrow.bind(i(i(t))),t.handleDownArrow=t.handleDownArrow.bind(i(i(t))),t.handleEnter=t.handleEnter.bind(i(i(t))),t.handlePrintableKey=t.handlePrintableKey.bind(i(i(t))),t.handleListMouseLeave=t.handleListMouseLeave.bind(i(i(t))),t.handleOptionBlur=t.handleOptionBlur.bind(i(i(t))),t.handleOptionClick=t.handleOptionClick.bind(i(i(t))),t.handleOptionFocus=t.handleOptionFocus.bind(i(i(t))),t.handleOptionMouseDown=t.handleOptionMouseDown.bind(i(i(t))),t.handleOptionMouseEnter=t.handleOptionMouseEnter.bind(i(i(t))),t.handleInputBlur=t.handleInputBlur.bind(i(i(t))),t.handleInputChange=t.handleInputChange.bind(i(i(t))),t.handleInputFocus=t.handleInputFocus.bind(i(i(t))),t.pollInputElement=t.pollInputElement.bind(i(i(t))),t.getDirectInputChanges=t.getDirectInputChanges.bind(i(i(t))),t}(function r(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t})(e,n);var t=e.prototype;return t.isQueryAnOption=function(e,t){var n=this;return-1!==t.map(function(e){return n.templateInputValue(e).toLowerCase()}).indexOf(e.toLowerCase())},t.componentDidMount=function(){this.pollInputElement()},t.componentWillUnmount=function(){clearTimeout(this.$pollInput)},t.pollInputElement=function(){var e=this;this.getDirectInputChanges(),this.$pollInput=setTimeout(function(){e.pollInputElement()},100)},t.getDirectInputChanges=function(){var e=this.elementReferences[-1];e&&e.value!==this.state.query&&this.handleInputChange({target:{value:e.value}})},t.componentDidUpdate=function(e,t){var n=this.state.focused,r=null===n,o=t.focused!==n;o&&!r&&this.elementReferences[n].focus();var i=-1===n,u=o&&null===t.focused;if(i&&u){var a=this.elementReferences[n];a.setSelectionRange(0,a.value.length)}},t.hasAutoselect=function(){return this.props.autoselect},t.templateInputValue=function(e){var t=this.props.templates&&this.props.templates.inputValue;return t?t(e):e},t.templateSuggestion=function(e){var t=this.props.templates&&this.props.templates.suggestion;return t?t(e):e},t.handleComponentBlur=function(e){var t,n=this.state,r=n.options,o=n.query,i=n.selected;this.props.confirmOnBlur?(t=e.query||o,this.props.onConfirm(r[i])):t=o,this.setState({focused:null,menuOpen:e.menuOpen||!1,query:t,selected:null,validChoiceMade:this.isQueryAnOption(t,r)})},t.handleListMouseLeave=function(e){this.setState({hovered:null})},t.handleOptionBlur=function(e,t){var n=this.state,r=n.focused,o=n.menuOpen,i=n.options,u=n.selected,a=null===e.relatedTarget,s=e.relatedTarget===this.elementReferences[-1],l=r!==t&&-1!==r;if(!l&&a||!(l||s)){var c=o&&oe()&&!this.hasAutoselect();this.handleComponentBlur({menuOpen:c,query:this.templateInputValue(i[u])})}},t.handleInputBlur=function(e){var t=this.state,n=t.focused,r=t.menuOpen,o=t.options,i=t.query,u=t.selected,a=0<=n;if(oe()&&!e.relatedTarget&&!a&&this.hasAutoselect()){var s=this.templateInputValue(o[u]);this.handleComponentBlur({menuOpen:!1,query:s})}else if(!a){var l=r&&oe(),c=oe()?i:this.templateInputValue(o[u]);this.handleComponentBlur({menuOpen:l,query:c})}},t.handleInputChange=function(e){var o=this,t=this.props,n=t.minLength,r=t.source,i=t.showAllValues,u=this.state.searchOnInteraction,a=this.hasAutoselect(),s=e.target.value,l=0===s.length,c=u||this.state.query!==s,p=s.length>=n;this.setState({query:s,ariaHint:l,searchOnInteraction:!0}),i||!l&&c&&p?r(s,function(t){var e=o.templateInputValue(s).toLowerCase();if(1===t.length&&o.templateInputValue(t[0]).toLowerCase()===e){var n=t[0];return o.props.onConfirm(n),void o.setState({menuOpen:!1,options:t,query:o.templateInputValue(n),selected:-1,validChoiceMade:!0})}var r=0<t.length;o.setState(function(e){return{menuOpen:r&&null!==e.focused,options:t,selected:a&&r?0:-1,validChoiceMade:!1}})}):!l&&p||this.setState({menuOpen:!1,options:[]})},t.handleInputClick=function(e){this.handleInputChange(e)},t.handleInputFocus=function(e){var t=this.state,n=t.query,r=t.validChoiceMade,o=t.options,i=this.props.minLength,u=!r&&n.length>=i&&0<o.length;u?this.setState(function(e){var t=e.menuOpen;return{focused:-1,menuOpen:u||t,selected:-1}}):this.setState({focused:-1}),e&&this.handleInputChange(e)},t.handleOptionFocus=function(e){this.setState({focused:e,hovered:null,selected:e,searchOnInteraction:-1!==e})},t.handleOptionMouseEnter=function(e,t){oe()||this.setState({hovered:t})},t.handleOptionClick=function(e,t){var n=this.state.options[t],r=this.templateInputValue(n);this.props.onConfirm(n),this.setState({focused:-1,hovered:null,menuOpen:!1,query:r,selected:-1,validChoiceMade:!0}),this.forceUpdate()},t.handleOptionMouseDown=function(e){e.preventDefault()},t.handleUpArrow=function(e){e.preventDefault();var t=this.state,n=t.menuOpen,r=t.selected;-1!==r&&n&&this.handleOptionFocus(r-1)},t.handleDownArrow=function(e){var t=this;if(e.preventDefault(),this.props.showAllValues&&!1===this.state.menuOpen)e.preventDefault(),this.props.source("",function(e){t.setState({menuOpen:!0,options:e,selected:0,focused:0,hovered:null})});else if(!0===this.state.menuOpen){var n=this.state,r=n.menuOpen,o=n.options,i=n.selected;i!==o.length-1&&r&&this.handleOptionFocus(i+1)}},t.handleSpace=function(e){var t=this;this.props.showAllValues&&!1===this.state.menuOpen&&""===this.state.query&&(e.preventDefault(),this.props.source("",function(e){t.setState({menuOpen:!0,options:e})})),-1!==this.state.focused&&(e.preventDefault(),this.handleOptionClick(e,this.state.focused))},t.handleEnter=function(e){this.state.menuOpen&&(e.preventDefault(),0<=this.state.selected&&this.handleOptionClick(e,this.state.selected))},t.handlePrintableKey=function(e){var t=this.elementReferences[-1];e.target===t||t.focus()},t.handleKeyDown=function(e){switch(u[e.keyCode]){case"up":this.handleUpArrow(e);break;case"down":this.handleDownArrow(e);break;case"space":this.handleSpace(e);break;case"enter":this.handleEnter(e);break;case"escape":this.handleComponentBlur({query:this.state.query});break;default:(function t(e){return 47<e&&e<58||32===e||8===e||64<e&&e<91||95<e&&e<112||185<e&&e<193||218<e&&e<223})(e.keyCode)&&this.handlePrintableKey(e)}},t.render=function(){var e,i=this,t=this.props,n=t.cssNamespace,r=t.customInputClassName,o=t.wrapperClassName,u=t.optionClassName,a=t.menuClassName,s=t.displayMenu,l=t.enterKeyHint,c=t.autocomplete,p=t.id,f=t.minLength,d=t.name,h=t.placeholder,m=t.required,v=t.showAllValues,y=t.tNoResults,g=t.tStatusQueryTooShort,_=t.tStatusNoResults,b=t.tStatusSelectedOption,w=t.tStatusResults,x=t.tAssistiveHint,C=t.dropdownArrow,O=this.state,S=O.focused,E=O.hovered,N=O.menuOpen,I=O.options,M=O.query,A=O.selected,k=O.ariaHint,P=O.validChoiceMade,j=this.hasAutoselect(),L=-1===S,T=0===I.length,B=0!==M.length,D=M.length>=f,F=this.props.showNoOptionsFound&&L&&T&&B&&D,R=n+"__wrapper"+(o?" "+o:""),V=n+"__input",U=null!==S?" "+V+"--focused":"",q=this.props.showAllValues?" "+V+"--show-all-values":" "+V+"--default",W=n+"__dropdown-arrow-down",H=-1!==S&&null!==S,K=n+"__menu",Q=K+"--"+s,z=K+"--"+(N||F?"visible":"hidden"),G=n+"__option",$=n+"__hint",J=this.templateInputValue(I[A]),X=J&&0===J.toLowerCase().indexOf(M.toLowerCase())&&j?M+J.substr(M.length):"",Y=p+"__assistiveHint",Z=k?{"aria-describedby":Y}:null;return v&&"string"==typeof(e=C({className:W}))&&(e=(0,te.createElement)("div",{className:n+"__dropdown-arrow-down-wrapper",dangerouslySetInnerHTML:{__html:e}})),(0,te.createElement)("div",{className:R,onKeyDown:this.handleKeyDown},(0,te.createElement)(ne["default"],{id:p,length:I.length,queryLength:M.length,minQueryLength:f,selectedOption:this.templateInputValue(I[A]),selectedOptionIndex:A,validChoiceMade:P,isInFocus:null!==this.state.focused,tQueryTooShort:g,tNoResults:_,tSelectedOption:b,tResults:w}),X&&(0,te.createElement)("span",null,(0,te.createElement)("input",{className:$,readonly:!0,tabIndex:"-1",value:X})),(0,te.createElement)("input",re({enterkeyhint:l||(oe()&&this.hasAutoselect()?"done":""),"aria-expanded":N?"true":"false","aria-activedescendant":!!H&&p+"__option--"+S,"aria-owns":p+"__listbox","aria-autocomplete":this.hasAutoselect()?"both":"list"},Z,{autoComplete:c,className:""+V+U+q+(r?" "+r:""),id:p,onClick:function(e){return i.handleInputClick(e)},onBlur:this.handleInputBlur},function ee(e){return{onInput:e}}(this.handleInputChange),{onFocus:this.handleInputFocus,name:d,placeholder:h,ref:function(e){i.elementReferences[-1]=e},type:"text",role:"combobox",required:m,value:M})),e,(0,te.createElement)("ul",{className:K+" "+Q+" "+z+(a?" "+a:""),onMouseLeave:function(e){return i.handleListMouseLeave(e)},id:p+"__listbox",role:"listbox"},I.map(function(e,t){var n=(-1===S?A===t:S===t)&&null===E?" "+G+"--focused":"",r=t%2?" "+G+"--odd":"",o=oe()?"<span id="+p+"__option-suffix--"+t+' 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"> '+(t+1)+" of "+I.length+"</span>":"";return(0,te.createElement)("li",{"aria-selected":S===t?"true":"false",className:""+G+n+r+(u?" "+u:""),dangerouslySetInnerHTML:{__html:i.templateSuggestion(e)+o},id:p+"__option--"+t,key:t,onBlur:function(e){return i.handleOptionBlur(e,t)},onClick:function(e){return i.handleOptionClick(e,t)},onMouseDown:i.handleOptionMouseDown,onMouseEnter:function(e){return i.handleOptionMouseEnter(e,t)},ref:function(e){i.elementReferences[t]=e},role:"option",tabIndex:"-1","aria-posinset":t+1,"aria-setsize":I.length})}),F&&(0,te.createElement)("li",{className:G+(u?" "+u:"")+" "+G+"--no-results"},y())),(0,te.createElement)("span",{id:Y,style:{display:"none"}},x()))},e}(te.Component);(t["default"]=a).defaultProps={autoselect:!1,cssNamespace:"autocomplete",wrapperClassName:"",customInputClassName:"",menuClassName:"",optionClassName:"",defaultValue:"",displayMenu:"inline",minLength:0,name:"input-autocomplete",autocomplete:"off",placeholder:"",onConfirm:function(){},confirmOnBlur:!0,showNoOptionsFound:!0,showAllValues:!1,required:!1,tNoResults:function(){return"No results found"},tAssistiveHint:function(){return"When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures."},dropdownArrow:r["default"]}},function(e,t,r){var o=r(9),i=r(53),u=r(28),a=r(26)("IE_PROTO"),s=function(){},l="prototype",c=function(){var e,t=r(15)("iframe"),n=u.length;for(t.style.display="none",r(54).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),c=e.F;n--;)delete c[l][u[n]];return c()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[l]=o(e),n=new s,s[l]=null,n[a]=e):n=c(),t===undefined?n:i(n,t)}},function(e,t,n){var u=n(8),a=n(9),s=n(20);e.exports=n(3)?Object.defineProperties:function(e,t){a(e);for(var n,r=s(t),o=r.length,i=0;i<o;)u.f(e,n=r[i++],t[n]);return e}},function(e,t,n){var r=n(1).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(0);r(r.P,"Function",{bind:n(56)})},function(e,t,n){"use strict";var i=n(19),u=n(2),a=n(57),s=[].slice,l={};e.exports=Function.bind||function(t){var n=i(this),r=s.call(arguments,1),o=function(){var e=r.concat(s.call(arguments));return this instanceof o?function(e,t,n){if(!(t in l)){for(var r=[],o=0;o<t;o++)r[o]="a["+o+"]";l[t]=Function("F,a","return new F("+r.join(",")+")")}return l[t](e,n)}(n,e.length,e):a(n,e,t)};return u(n.prototype)&&(o.prototype=n.prototype),o}},function(e,t){e.exports=function(e,t,n){var r=n===undefined;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){n(59)("match",1,function(r,o,e){return[function(e){"use strict";var t=r(this),n=e==undefined?undefined:e[o];return n!==undefined?n.call(e,t):new RegExp(e)[o](String(t))},e]})},function(e,t,n){"use strict";var a=n(7),s=n(16),l=n(4),c=n(12),p=n(34);e.exports=function(t,e,n){var r=p(t),o=n(c,r,""[t]),i=o[0],u=o[1];l(function(){var e={};return e[r]=function(){return 7},7!=""[t](e)})&&(s(String.prototype,t,i),a(RegExp.prototype,r,2==e?function(e,t){return u.call(e,this,t)}:function(e){return u.call(e,this)}))}},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,n(36);var _=n(5);var r=function r(o,i,u){var a;return function(){var e=this,t=arguments,n=function n(){a=null,u||o.apply(e,t)},r=u&&!a;clearTimeout(a),a=setTimeout(n,i),r&&o.apply(e,t)}},o=function(o){function e(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=o.call.apply(o,[this].concat(n))||this).state={bump:!1,debounced:!1},e}(function n(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t})(e,o);var t=e.prototype;return t.componentWillMount=function(){var e=this;this.debounceStatusUpdate=r(function(){if(!e.state.debounced){var t=!e.props.isInFocus||e.props.validChoiceMade;e.setState(function(e){return{bump:!e.bump,debounced:!0,silenced:t}})}},1400)},t.componentWillReceiveProps=function(e){e.queryLength;this.setState({debounced:!1})},t.render=function(){var e=this.props,t=e.id,n=e.length,r=e.queryLength,o=e.minQueryLength,i=e.selectedOption,u=e.selectedOptionIndex,a=e.tQueryTooShort,s=e.tNoResults,l=e.tSelectedOption,c=e.tResults,p=this.state,f=p.bump,d=p.debounced,h=p.silenced,m=r<o,v=0===n,y=i?l(i,n,u):"",g=null;return g=m?a(o):v?s():c(n,y),this.debounceStatusUpdate(),(0,_.createElement)("div",{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"}},(0,_.createElement)("div",{id:t+"__status--A",role:"status","aria-atomic":"true","aria-live":"polite"},!h&&d&&f?g:""),(0,_.createElement)("div",{id:t+"__status--B",role:"status","aria-atomic":"true","aria-live":"polite"},h||!d||f?"":g))},e}(_.Component);(t["default"]=o).defaultProps={tQueryTooShort:function(e){return"Type in "+e+" or more characters for results"},tNoResults:function(){return"No search results"},tSelectedOption:function(e,t,n){return e+" "+(n+1)+" of "+t+" is highlighted"},tResults:function(e,t){return e+" "+(1===e?"result":"results")+" "+(1===e?"is":"are")+" available. "+t}}},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r=n(5),o=function i(e){var t=e.className;return(0,r.createElement)("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,focusable:"false"},(0,r.createElement)("g",{stroke:"none",fill:"none","fill-rule":"evenodd"},(0,r.createElement)("polygon",{fill:"#000000",points:"0 0 22 0 11 17"})))};t["default"]=o}])["default"]}); | ||
| (function webpackUniversalModuleDefinition(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()})(window,function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=37)}([function(e,t,n){var m=n(1),v=n(6),y=n(7),g=n(16),_=n(18),b="prototype",w=function(e,t,n){var r,o,i,u,a=e&w.F,s=e&w.G,l=e&w.S,c=e&w.P,p=e&w.B,f=s?m:l?m[t]||(m[t]={}):(m[t]||{})[b],d=s?v:v[t]||(v[t]={}),h=d[b]||(d[b]={});for(r in s&&(n=t),n)i=((o=!a&&f&&f[r]!==undefined)?f:n)[r],u=p&&o?_(i,m):c&&"function"==typeof i?_(Function.call,i):i,f&&g(f,r,i,e&w.U),d[r]!=i&&y(d,r,u),c&&h[r]!=i&&(h[r]=i)};m.core=v,w.F=1,w.G=2,w.S=4,w.P=8,w.B=16,w.W=32,w.U=64,w.R=128,e.exports=w},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";n.r(t),n.d(t,"h",function(){return r}),n.d(t,"createElement",function(){return r}),n.d(t,"cloneElement",function(){return i}),n.d(t,"Component",function(){return g}),n.d(t,"render",function(){return _}),n.d(t,"rerender",function(){return f}),n.d(t,"options",function(){return E});var s=function s(){},E={},l=[],c=[];function r(e,t){var n,r,o,i,u=c;for(i=arguments.length;2<i--;)l.push(arguments[i]);for(t&&null!=t.children&&(l.length||l.push(t.children),delete t.children);l.length;)if((r=l.pop())&&r.pop!==undefined)for(i=r.length;i--;)l.push(r[i]);else"boolean"==typeof r&&(r=null),(o="function"!=typeof e)&&(null==r?r="":"number"==typeof r?r=String(r):"string"!=typeof r&&(o=!1)),o&&n?u[u.length-1]+=r:u===c?u=[r]:u.push(r),n=o;var a=new s;return a.nodeName=e,a.children=u,a.attributes=null==t?undefined:t,a.key=null==t?undefined:t.key,E.vnode!==undefined&&E.vnode(a),a}function N(e,t){for(var n in t)e[n]=t[n];return e}var o="function"==typeof Promise?Promise.resolve().then.bind(Promise.resolve()):setTimeout;function i(e,t){return r(e.nodeName,N(N({},e.attributes),t),2<arguments.length?[].slice.call(arguments,2):e.children)}var p=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,u=[];function a(e){!e._dirty&&(e._dirty=!0)&&1==u.push(e)&&(E.debounceRendering||o)(f)}function f(){var e,t=u;for(u=[];e=t.pop();)e._dirty&&U(e)}function I(e,t){return e.normalizedNodeName===t||e.nodeName.toLowerCase()===t.toLowerCase()}function M(e){var t=N({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(n!==undefined)for(var r in n)t[r]===undefined&&(t[r]=n[r]);return t}function A(e){var t=e.parentNode;t&&t.removeChild(e)}function v(e,t,n,r,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)n&&n(null),r&&r(e);else if("class"!==t||o)if("style"===t){if(r&&"string"!=typeof r&&"string"!=typeof n||(e.style.cssText=r||""),r&&"object"==typeof r){if("string"!=typeof n)for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"==typeof r[i]&&!1===p.test(i)?r[i]+"px":r[i]}}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var u=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||e.addEventListener(t,d,u):e.removeEventListener(t,d,u),(e._listeners||(e._listeners={}))[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e){try{e[t]=null==r?"":r}catch(s){}null!=r&&!1!==r||"spellcheck"==t||e.removeAttribute(t)}else{var a=o&&t!==(t=t.replace(/^xlink:?/,""));null==r||!1===r?a?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof r&&(a?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function d(e){return this._listeners[e.type](E.event&&E.event(e)||e)}var k=[],P=0,j=!1,L=!1;function T(){for(var e;e=k.pop();)E.afterMount&&E.afterMount(e),e.componentDidMount&&e.componentDidMount()}function B(e,t,n,r,o,i){P++||(j=null!=o&&o.ownerSVGElement!==undefined,L=null!=e&&!("__preactattr_"in e));var u=D(e,t,n,r,i);return o&&u.parentNode!==o&&o.appendChild(u),--P||(L=!1,i||T()),u}function D(e,t,n,r,o){var i=e,u=j;if(null!=t&&"boolean"!=typeof t||(t=""),"string"==typeof t||"number"==typeof t)return e&&e.splitText!==undefined&&e.parentNode&&(!e._component||o)?e.nodeValue!=t&&(e.nodeValue=t):(i=document.createTextNode(t),e&&(e.parentNode&&e.parentNode.replaceChild(i,e),F(e,!0))),i["__preactattr_"]=!0,i;var a=t.nodeName;if("function"==typeof a)return function d(e,t,n,r){var o=e&&e._component,i=o,u=e,a=o&&e._componentConstructor===t.nodeName,s=a,l=M(t);for(;o&&!s&&(o=o._parentComponent);)s=o.constructor===t.nodeName;o&&s&&(!r||o._component)?(V(o,l,3,n,r),e=o.base):(i&&!a&&(q(i),e=u=null),o=R(t.nodeName,l,n),e&&!o.nextBase&&(o.nextBase=e,u=null),V(o,l,1,n,r),e=o.base,u&&e!==u&&(u._component=null,F(u,!1)));return e}(e,t,n,r);if(j="svg"===a||"foreignObject"!==a&&j,a=String(a),(!e||!I(e,a))&&(i=function h(e,t){var n=t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e);return n.normalizedNodeName=e,n}(a,j),e)){for(;e.firstChild;)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),F(e,!0)}var s=i.firstChild,l=i["__preactattr_"],c=t.children;if(null==l){l=i["__preactattr_"]={};for(var p=i.attributes,f=p.length;f--;)l[p[f].name]=p[f].value}return!L&&c&&1===c.length&&"string"==typeof c[0]&&null!=s&&s.splitText!==undefined&&null==s.nextSibling?s.nodeValue!=c[0]&&(s.nodeValue=c[0]):(c&&c.length||null!=s)&&function S(e,t,n,r,o){var i,u,a,s,l,c=e.childNodes,p=[],f={},d=0,h=0,m=c.length,v=0,y=t?t.length:0;if(0!==m)for(var g=0;g<m;g++){var _=c[g],b=_["__preactattr_"],w=y&&b?_._component?_._component.__key:b.key:null;null!=w?(d++,f[w]=_):(b||(_.splitText!==undefined?!o||_.nodeValue.trim():o))&&(p[v++]=_)}if(0!==y)for(var g=0;g<y;g++){s=t[g],l=null;var w=s.key;if(null!=w)d&&f[w]!==undefined&&(l=f[w],f[w]=undefined,d--);else if(h<v)for(i=h;i<v;i++)if(p[i]!==undefined&&(x=u=p[i],O=o,"string"==typeof(C=s)||"number"==typeof C?x.splitText!==undefined:"string"==typeof C.nodeName?!x._componentConstructor&&I(x,C.nodeName):O||x._componentConstructor===C.nodeName)){l=u,p[i]=undefined,i===v-1&&v--,i===h&&h++;break}l=D(l,s,n,r),a=c[g],l&&l!==e&&l!==a&&(null==a?e.appendChild(l):l===a.nextSibling?A(a):e.insertBefore(l,a))}var x,C,O;if(d)for(var g in f)f[g]!==undefined&&F(f[g],!1);for(;h<=v;)(l=p[v--])!==undefined&&F(l,!1)}(i,c,n,r,L||null!=l.dangerouslySetInnerHTML),function m(e,t,n){var r;for(r in n)t&&null!=t[r]||null==n[r]||v(e,r,n[r],n[r]=undefined,j);for(r in t)"children"===r||"innerHTML"===r||r in n&&t[r]===("value"===r||"checked"===r?e[r]:n[r])||v(e,r,n[r],n[r]=t[r],j)}(i,t.attributes,l),j=u,i}function F(e,t){var n=e._component;n?q(n):(null!=e["__preactattr_"]&&e["__preactattr_"].ref&&e["__preactattr_"].ref(null),!1!==t&&null!=e["__preactattr_"]||A(e),h(e))}function h(e){for(e=e.lastChild;e;){var t=e.previousSibling;F(e,!0),e=t}}var m=[];function R(e,t,n){var r,o=m.length;for(e.prototype&&e.prototype.render?(r=new e(t,n),g.call(r,t,n)):((r=new g(t,n)).constructor=e,r.render=y);o--;)if(m[o].constructor===e)return r.nextBase=m[o].nextBase,m.splice(o,1),r;return r}function y(e,t,n){return this.constructor(e,n)}function V(e,t,n,r,o){e._disable||(e._disable=!0,e.__ref=t.ref,e.__key=t.key,delete t.ref,delete t.key,"undefined"==typeof e.constructor.getDerivedStateFromProps&&(!e.base||o?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,r)),r&&r!==e.context&&(e.prevContext||(e.prevContext=e.context),e.context=r),e.prevProps||(e.prevProps=e.props),e.props=t,e._disable=!1,0!==n&&(1!==n&&!1===E.syncComponentUpdates&&e.base?a(e):U(e,1,o)),e.__ref&&e.__ref(e))}function U(e,t,n,r){if(!e._disable){var o,i,u,a=e.props,s=e.state,l=e.context,c=e.prevProps||a,p=e.prevState||s,f=e.prevContext||l,d=e.base,h=e.nextBase,m=d||h,v=e._component,y=!1,g=f;if(e.constructor.getDerivedStateFromProps&&(s=N(N({},s),e.constructor.getDerivedStateFromProps(a,s)),e.state=s),d&&(e.props=c,e.state=p,e.context=f,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(a,s,l)?y=!0:e.componentWillUpdate&&e.componentWillUpdate(a,s,l),e.props=a,e.state=s,e.context=l),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,e._dirty=!1,!y){o=e.render(a,s,l),e.getChildContext&&(l=N(N({},l),e.getChildContext())),d&&e.getSnapshotBeforeUpdate&&(g=e.getSnapshotBeforeUpdate(c,p));var _,b,w=o&&o.nodeName;if("function"==typeof w){var x=M(o);(i=v)&&i.constructor===w&&x.key==i.__key?V(i,x,1,l,!1):(_=i,e._component=i=R(w,x,l),i.nextBase=i.nextBase||h,i._parentComponent=e,V(i,x,0,l,!1),U(i,1,n,!0)),b=i.base}else u=m,(_=v)&&(u=e._component=null),(m||1===t)&&(u&&(u._component=null),b=function B(t,n,r,o,i,u){P++||(j=null!=i&&i.ownerSVGElement!==undefined,L=null!=t&&!("__preactattr_"in t));var a=D(t,n,r,o,u);return i&&a.parentNode!==i&&i.appendChild(a),--P||(L=!1,u||T()),a}(u,o,l,n||!d,m&&m.parentNode,!0));if(m&&b!==m&&i!==v){var C=m.parentNode;C&&b!==C&&(C.replaceChild(b,m),_||(m._component=null,F(m,!1)))}if(_&&q(_),(e.base=b)&&!r){for(var O=e,S=e;S=S._parentComponent;)(O=S).base=b;b._component=O,b._componentConstructor=O.constructor}}for(!d||n?k.unshift(e):y||(e.componentDidUpdate&&e.componentDidUpdate(c,p,g),E.afterUpdate&&E.afterUpdate(e));e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);P||r||T()}}function q(e){E.beforeUnmount&&E.beforeUnmount(e);var t=e.base;e._disable=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var n=e._component;n?q(n):t&&(t["__preactattr_"]&&t["__preactattr_"].ref&&t["__preactattr_"].ref(null),A(e.nextBase=t),m.push(e),h(t)),e.__ref&&e.__ref(null)}function g(e,t){this._dirty=!0,this.context=t,this.props=e,this.state=this.state||{},this._renderCallbacks=[]}function _(e,t,n){return B(n,e,{},!1,t,!1)}N(g.prototype,{setState:function(e,t){this.prevState||(this.prevState=this.state),this.state=N(N({},this.state),"function"==typeof e?e(this.state,this.props):e),t&&this._renderCallbacks.push(t),a(this)},forceUpdate:function(e){e&&this._renderCallbacks.push(e),U(this,2)},render:function _(){}});var b={h:r,createElement:r,cloneElement:i,Component:g,render:_,rerender:f,options:E};t["default"]=b},function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(8),o=n(40);e.exports=n(3)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var o=n(9),i=n(38),u=n(39),a=Object.defineProperty;t.f=n(3)?Object.defineProperty:function(e,t,n){if(o(e),t=u(t,!0),o(n),i)try{return a(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(2);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(e===undefined?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(22);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t){e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e,t){return!!e&&r(function(){t?e.call(null,function(){},1):e.call(null)})}},function(e,t,n){var r=n(0);r(r.S+r.F,"Object",{assign:n(41)})},function(e,t,n){var r=n(2),o=n(1).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var i=n(1),u=n(7),a=n(17),s=n(10)("src"),r="toString",o=Function[r],l=(""+o).split(r);n(6).inspectSource=function(e){return o.call(e)},(e.exports=function(e,t,n,r){var o="function"==typeof n;o&&(a(n,"name")||u(n,"name",t)),e[t]!==n&&(o&&(a(n,s)||u(n,s,e[t]?""+e[t]:l.join(String(t)))),e===i?e[t]=n:r?e[t]?e[t]=n:u(e,t,n):(delete e[t],u(e,t,n)))})(Function.prototype,r,function(){return"function"==typeof this&&this[s]||o.call(this)})},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var i=n(19);e.exports=function(r,o,e){if(i(r),o===undefined)return r;switch(e){case 1:return function(e){return r.call(o,e)};case 2:return function(e,t){return r.call(o,e,t)};case 3:return function(e,t,n){return r.call(o,e,t,n)}}return function(){return r.apply(o,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(42),o=n(28);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){var r=n(11),o=n(12);e.exports=function(e){return r(o(e))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var s=n(21),l=n(24),c=n(43);e.exports=function(a){return function(e,t,n){var r,o=s(e),i=l(o.length),u=c(n,i);if(a&&t!=t){for(;u<i;)if((r=o[u++])!=r)return!0}else for(;u<i;u++)if((a||u in o)&&o[u]===t)return a||u||0;return!a&&-1}}},function(e,t,n){var r=n(25),o=Math.min;e.exports=function(e){return 0<e?o(r(e),9007199254740991):0}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(0<e?r:n)(e)}},function(e,t,n){var r=n(27)("keys"),o=n(10);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(6),o=n(1),i="__core-js_shared__",u=o[i]||(o[i]={});(e.exports=function(e,t){return u[e]||(u[e]=t!==undefined?t:{})})("versions",[]).push({version:r.version,mode:n(44)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(12);e.exports=function(e){return Object(r(e))}},function(e,t,n){var r=n(8).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(3)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var r=n(0),o=n(32)(1);r(r.P+r.F*!n(13)([].map,!0),"Array",{map:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var _=n(18),b=n(11),w=n(29),x=n(24),r=n(47);e.exports=function(p,e){var f=1==p,d=2==p,h=3==p,m=4==p,v=6==p,y=5==p||v,g=e||r;return function(e,t,n){for(var r,o,i=w(e),u=b(i),a=_(t,n,3),s=x(u.length),l=0,c=f?g(e,s):d?g(e,0):undefined;l<s;l++)if((y||l in u)&&(o=a(r=u[l],l,i),p))if(f)c[l]=o;else if(o)switch(p){case 3:return!0;case 5:return r;case 6:return l;case 2:c.push(r)}else if(m)return!1;return v?-1:h||m?m:c}}},function(e,t,n){var r=n(22);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(27)("wks"),o=n(10),i=n(1).Symbol,u="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=u&&i[e]||(u?i:o)("Symbol."+e))}).store=r},function(e,t,n){"use strict";var r=n(0),o=n(23)(!1),i=[].indexOf,u=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(u||!n(13)(i)),"Array",{indexOf:function(e){return u?i.apply(this,arguments)||0:o(this,e,arguments[1])}})},function(e,t,n){var r=n(0);r(r.S,"Object",{create:n(52)})},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,n(14),n(30),n(31),n(35),n(49),n(50);var r=n(5),o=function c(e){return e&&e.__esModule?e:{"default":e}}(n(51));var i=0;function u(){return"autocomplete-"+(i+=1)}function a(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");Array.isArray(e.source)&&(e.source=s(e.source)),(0,r.render)((0,r.createElement)(o["default"],e),e.element)}var s=function s(n){return function(t,e){e(n.filter(function(e){return-1!==e.toLowerCase().indexOf(t.toLowerCase())}))}};a.enhanceSelectElement=function(n){if(!n.selectElement)throw new Error("selectElement is not defined");if(!n.source){var e=[].filter.call(n.selectElement.options,function(e){return e.value||n.preserveNullOptions});n.source=e.map(function(e){return e.textContent||e.innerText})}if(n.onConfirm=n.onConfirm||function(t){var e=[].filter.call(n.selectElement.options,function(e){return(e.textContent||e.innerText)===t})[0];e&&(e.selected=!0)},n.selectElement.value||n.defaultValue===undefined){var t=n.selectElement.options.selectedIndex,r=0<=t?n.selectElement.options[t]:null;n.defaultValue=r?r.textContent||r.innerText:""}if(n.name===undefined&&(n.name=""),n.id===undefined?n.id=n.selectElement.id||u():n.id||(n.id=n.selectElement.id||u()),n.autoselect===undefined&&(n.autoselect=!0),n.autocomplete===undefined){var o=n.selectElement.getAttribute("autocomplete");null!==o&&(n.autocomplete=o)}var i=document.createElement("div");n.selectElement.parentNode.insertBefore(i,n.selectElement),a(Object.assign({},n,{element:i})),n.selectElement.style.display="none",n.selectElement.id=(n.selectElement.id||n.id)+"-select"};var l=a;t["default"]=l},function(e,t,n){e.exports=!n(3)&&!n(4)(function(){return 7!=Object.defineProperty(n(15)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var o=n(2);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var f=n(20),d=n(45),h=n(46),m=n(29),v=n(11),o=Object.assign;e.exports=!o||n(4)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=o({},e)[n]||Object.keys(o({},t)).join("")!=r})?function(e,t){for(var n=m(e),r=arguments.length,o=1,i=d.f,u=h.f;o<r;)for(var a,s=v(arguments[o++]),l=i?f(s).concat(i(s)):f(s),c=l.length,p=0;p<c;)u.call(s,a=l[p++])&&(n[a]=s[a]);return n}:o},function(e,t,n){var u=n(17),a=n(21),s=n(23)(!1),l=n(26)("IE_PROTO");e.exports=function(e,t){var n,r=a(e),o=0,i=[];for(n in r)n!=l&&u(r,n)&&i.push(n);for(;t.length>o;)u(r,n=t[o++])&&(~s(i,n)||i.push(n));return i}},function(e,t,n){var r=n(25),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},function(e,t){e.exports=!1},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(48);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(2),o=n(33),i=n(34)("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=undefined),r(t)&&null===(t=t[i])&&(t=undefined)),t===undefined?Array:t}},function(e,t,n){"use strict";var r=n(0),o=n(32)(2);r(r.P+r.F*!n(13)([].filter,!0),"Array",{filter:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(0);r(r.S,"Array",{isArray:n(33)})},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,n(14),n(36),n(30),n(31),n(35),n(55),n(58);var te=n(5),ne=o(n(60)),r=o(n(61));function o(e){return e&&e.__esModule?e:{"default":e}}function re(){return(re=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function i(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var u={13:"enter",27:"escape",32:"space",38:"up",40:"down"};function oe(){return"undefined"!=typeof navigator&&!(!navigator.userAgent.match(/(iPod|iPhone|iPad)/g)||!navigator.userAgent.match(/AppleWebKit/g))}var a=function(n){function e(e){var t;return(t=n.call(this,e)||this).elementReferences={},t.state={focused:null,hovered:null,menuOpen:!1,options:e.defaultValue?[e.defaultValue]:[],query:e.defaultValue,validChoiceMade:!1,selected:null,ariaHint:!0,searchOnInteraction:!0},t.handleComponentBlur=t.handleComponentBlur.bind(i(i(t))),t.handleKeyDown=t.handleKeyDown.bind(i(i(t))),t.handleUpArrow=t.handleUpArrow.bind(i(i(t))),t.handleDownArrow=t.handleDownArrow.bind(i(i(t))),t.handleEnter=t.handleEnter.bind(i(i(t))),t.handlePrintableKey=t.handlePrintableKey.bind(i(i(t))),t.handleListMouseLeave=t.handleListMouseLeave.bind(i(i(t))),t.handleOptionBlur=t.handleOptionBlur.bind(i(i(t))),t.handleOptionClick=t.handleOptionClick.bind(i(i(t))),t.handleOptionFocus=t.handleOptionFocus.bind(i(i(t))),t.handleOptionMouseDown=t.handleOptionMouseDown.bind(i(i(t))),t.handleOptionMouseEnter=t.handleOptionMouseEnter.bind(i(i(t))),t.handleInputBlur=t.handleInputBlur.bind(i(i(t))),t.handleInputChange=t.handleInputChange.bind(i(i(t))),t.handleInputFocus=t.handleInputFocus.bind(i(i(t))),t.pollInputElement=t.pollInputElement.bind(i(i(t))),t.getDirectInputChanges=t.getDirectInputChanges.bind(i(i(t))),t}(function r(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t})(e,n);var t=e.prototype;return t.isQueryAnOption=function(e,t){var n=this;return-1!==t.map(function(e){return n.templateInputValue(e).toLowerCase()}).indexOf(e.toLowerCase())},t.componentDidMount=function(){this.pollInputElement()},t.componentWillUnmount=function(){clearTimeout(this.$pollInput)},t.pollInputElement=function(){var e=this;this.getDirectInputChanges(),this.$pollInput=setTimeout(function(){e.pollInputElement()},100)},t.getDirectInputChanges=function(){var e=this.elementReferences[-1];e&&e.value!==this.state.query&&this.handleInputChange({target:{value:e.value}})},t.componentDidUpdate=function(e,t){var n=this.state.focused,r=null===n,o=t.focused!==n;o&&!r&&this.elementReferences[n].focus();var i=-1===n,u=o&&null===t.focused;if(i&&u){var a=this.elementReferences[n];a.setSelectionRange(0,a.value.length)}},t.hasAutoselect=function(){return this.props.autoselect},t.templateInputValue=function(e){var t=this.props.templates&&this.props.templates.inputValue;return t?t(e):e},t.templateSuggestion=function(e){var t=this.props.templates&&this.props.templates.suggestion;return t?t(e):e},t.handleComponentBlur=function(e){var t,n=this.state,r=n.options,o=n.query,i=n.selected;this.props.confirmOnBlur?(t=e.query||o,this.props.onConfirm(r[i])):t=o,this.setState({focused:null,menuOpen:e.menuOpen||!1,query:t,selected:null,validChoiceMade:this.isQueryAnOption(t,r)})},t.handleListMouseLeave=function(e){this.setState({hovered:null})},t.handleOptionBlur=function(e,t){var n=this.state,r=n.focused,o=n.menuOpen,i=n.options,u=n.selected,a=null===e.relatedTarget,s=e.relatedTarget===this.elementReferences[-1],l=r!==t&&-1!==r;if(!l&&a||!(l||s)){var c=o&&oe()&&!this.hasAutoselect();this.handleComponentBlur({menuOpen:c,query:this.templateInputValue(i[u])})}},t.handleInputBlur=function(e){var t=this.state,n=t.focused,r=t.menuOpen,o=t.options,i=t.query,u=t.selected,a=0<=n;if(oe()&&!e.relatedTarget&&!a&&this.hasAutoselect()){var s=this.templateInputValue(o[u]);this.handleComponentBlur({menuOpen:!1,query:s})}else if(!a){var l=r&&oe(),c=oe()?i:this.templateInputValue(o[u]);this.handleComponentBlur({menuOpen:l,query:c})}},t.handleInputChange=function(e){var o=this,t=this.props,n=t.minLength,r=t.source,i=t.showAllValues,u=this.state.searchOnInteraction,a=this.hasAutoselect(),s=e.target.value,l=0===s.length,c=u||this.state.query!==s,p=s.length>=n;this.setState({query:s,ariaHint:l,searchOnInteraction:!0}),i||!l&&c&&p?r(s,function(t){var e=o.templateInputValue(s).toLowerCase();if(1===t.length&&o.templateInputValue(t[0]).toLowerCase()===e){var n=t[0];return o.props.onConfirm(n),void o.setState({menuOpen:!1,options:t,query:o.templateInputValue(n),selected:-1,validChoiceMade:!0})}var r=0<t.length;o.setState(function(e){return{menuOpen:r&&null!==e.focused,options:t,selected:a&&r?0:-1,validChoiceMade:!1}})}):!l&&p||this.setState({menuOpen:!1,options:[]})},t.handleInputClick=function(e){this.handleInputChange(e)},t.handleInputFocus=function(e){var t=this.state,n=t.query,r=t.validChoiceMade,o=t.options,i=this.props.minLength,u=!r&&n.length>=i&&0<o.length;u?this.setState(function(e){var t=e.menuOpen;return{focused:-1,menuOpen:u||t,selected:-1}}):this.setState({focused:-1}),e&&this.handleInputChange(e)},t.handleOptionFocus=function(e){this.setState({focused:e,hovered:null,selected:e,searchOnInteraction:-1!==e})},t.handleOptionMouseEnter=function(e,t){oe()||this.setState({hovered:t})},t.handleOptionClick=function(e,t){var n=this.state.options[t],r=this.templateInputValue(n);this.props.onConfirm(n),this.setState({focused:-1,hovered:null,menuOpen:!1,query:r,selected:-1,validChoiceMade:!0}),this.forceUpdate()},t.handleOptionMouseDown=function(e){e.preventDefault()},t.handleUpArrow=function(e){e.preventDefault();var t=this.state,n=t.menuOpen,r=t.selected;-1!==r&&n&&this.handleOptionFocus(r-1)},t.handleDownArrow=function(e){var t=this;if(e.preventDefault(),this.props.showAllValues&&!1===this.state.menuOpen)e.preventDefault(),this.props.source("",function(e){t.setState({menuOpen:!0,options:e,selected:0,focused:0,hovered:null})});else if(!0===this.state.menuOpen){var n=this.state,r=n.menuOpen,o=n.options,i=n.selected;i!==o.length-1&&r&&this.handleOptionFocus(i+1)}},t.handleSpace=function(e){var t=this;this.props.showAllValues&&!1===this.state.menuOpen&&""===this.state.query&&(e.preventDefault(),this.props.source("",function(e){t.setState({menuOpen:!0,options:e})})),-1!==this.state.focused&&(e.preventDefault(),this.handleOptionClick(e,this.state.focused))},t.handleEnter=function(e){this.state.menuOpen&&(e.preventDefault(),0<=this.state.selected&&this.handleOptionClick(e,this.state.selected))},t.handlePrintableKey=function(e){var t=this.elementReferences[-1];e.target===t||t.focus()},t.handleKeyDown=function(e){switch(u[e.keyCode]){case"up":this.handleUpArrow(e);break;case"down":this.handleDownArrow(e);break;case"space":this.handleSpace(e);break;case"enter":this.handleEnter(e);break;case"escape":this.handleComponentBlur({query:this.state.query});break;default:(function t(e){return 47<e&&e<58||32===e||8===e||64<e&&e<91||95<e&&e<112||185<e&&e<193||218<e&&e<223})(e.keyCode)&&this.handlePrintableKey(e)}},t.render=function(){var e,i=this,t=this.props,n=t.cssNamespace,r=t.customInputClassName,o=t.wrapperClassName,u=t.optionClassName,a=t.menuClassName,s=t.displayMenu,l=t.enterKeyHint,c=t.autocomplete,p=t.id,f=t.minLength,d=t.name,h=t.placeholder,m=t.required,v=t.showAllValues,y=t.tNoResults,g=t.tStatusQueryTooShort,_=t.tStatusNoResults,b=t.tStatusSelectedOption,w=t.tStatusResults,x=t.tAssistiveHint,C=t.dropdownArrow,O=this.state,S=O.focused,E=O.hovered,N=O.menuOpen,I=O.options,M=O.query,A=O.selected,k=O.ariaHint,P=O.validChoiceMade,j=this.hasAutoselect(),L=-1===S,T=0===I.length,B=0!==M.length,D=M.length>=f,F=this.props.showNoOptionsFound&&L&&T&&B&&D,R=n+"__wrapper"+(o?" "+o:""),V=n+"__input",U=null!==S?" "+V+"--focused":"",q=this.props.showAllValues?" "+V+"--show-all-values":" "+V+"--default",W=n+"__dropdown-arrow-down",H=-1!==S&&null!==S,K=n+"__menu",Q=K+"--"+s,z=K+"--"+(N||F?"visible":"hidden"),G=n+"__option",$=n+"__hint",J=this.templateInputValue(I[A]),X=J&&0===J.toLowerCase().indexOf(M.toLowerCase())&&j?M+J.substr(M.length):"",Y=p+"__assistiveHint",Z=k?{"aria-describedby":Y}:null;return v&&"string"==typeof(e=C({className:W}))&&(e=(0,te.createElement)("div",{className:n+"__dropdown-arrow-down-wrapper",dangerouslySetInnerHTML:{__html:e}})),(0,te.createElement)("div",{className:R,onKeyDown:this.handleKeyDown},(0,te.createElement)(ne["default"],{id:p,length:I.length,queryLength:M.length,minQueryLength:f,selectedOption:this.templateInputValue(I[A]),selectedOptionIndex:A,validChoiceMade:P,isInFocus:null!==this.state.focused,tQueryTooShort:g,tNoResults:_,tSelectedOption:b,tResults:w}),X&&(0,te.createElement)("span",null,(0,te.createElement)("input",{className:$,readonly:!0,tabIndex:"-1",value:X})),(0,te.createElement)("input",re({enterkeyhint:l||(oe()&&this.hasAutoselect()?"done":""),"aria-expanded":N?"true":"false","aria-activedescendant":!!H&&p+"__option--"+S,"aria-owns":p+"__listbox","aria-autocomplete":this.hasAutoselect()?"both":"list"},Z,{autoComplete:c,className:""+V+U+q+(r?" "+r:""),id:p,onClick:function(e){return i.handleInputClick(e)},onBlur:this.handleInputBlur},function ee(e){return{onInput:e}}(this.handleInputChange),{onFocus:this.handleInputFocus,name:d,placeholder:h,ref:function(e){i.elementReferences[-1]=e},type:"text",role:"combobox",required:m,value:M})),e,(0,te.createElement)("ul",{className:K+" "+Q+" "+z+(a?" "+a:""),onMouseLeave:function(e){return i.handleListMouseLeave(e)},id:p+"__listbox",role:"listbox"},I.map(function(e,t){var n=(-1===S?A===t:S===t)&&null===E?" "+G+"--focused":"",r=t%2?" "+G+"--odd":"",o=oe()?"<span id="+p+"__option-suffix--"+t+' 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"> '+(t+1)+" of "+I.length+"</span>":"";return(0,te.createElement)("li",{"aria-selected":S===t?"true":"false",className:""+G+n+r+(u?" "+u:""),dangerouslySetInnerHTML:{__html:i.templateSuggestion(e)+o},id:p+"__option--"+t,key:t,onBlur:function(e){return i.handleOptionBlur(e,t)},onClick:function(e){return i.handleOptionClick(e,t)},onMouseDown:i.handleOptionMouseDown,onMouseEnter:function(e){return i.handleOptionMouseEnter(e,t)},ref:function(e){i.elementReferences[t]=e},role:"option",tabIndex:"-1","aria-posinset":t+1,"aria-setsize":I.length})}),F&&(0,te.createElement)("li",{className:G+(u?" "+u:"")+" "+G+"--no-results"},y())),(0,te.createElement)("span",{id:Y,style:{display:"none"}},x()))},e}(te.Component);(t["default"]=a).defaultProps={autoselect:!1,cssNamespace:"autocomplete",wrapperClassName:"",customInputClassName:"",menuClassName:"",optionClassName:"",defaultValue:"",displayMenu:"inline",minLength:0,name:"input-autocomplete",autocomplete:"off",placeholder:"",onConfirm:function(){},confirmOnBlur:!0,showNoOptionsFound:!0,showAllValues:!1,required:!1,tNoResults:function(){return"No results found"},tAssistiveHint:function(){return"When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures."},dropdownArrow:r["default"]}},function(e,t,r){var o=r(9),i=r(53),u=r(28),a=r(26)("IE_PROTO"),s=function(){},l="prototype",c=function(){var e,t=r(15)("iframe"),n=u.length;for(t.style.display="none",r(54).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),c=e.F;n--;)delete c[l][u[n]];return c()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[l]=o(e),n=new s,s[l]=null,n[a]=e):n=c(),t===undefined?n:i(n,t)}},function(e,t,n){var u=n(8),a=n(9),s=n(20);e.exports=n(3)?Object.defineProperties:function(e,t){a(e);for(var n,r=s(t),o=r.length,i=0;i<o;)u.f(e,n=r[i++],t[n]);return e}},function(e,t,n){var r=n(1).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(0);r(r.P,"Function",{bind:n(56)})},function(e,t,n){"use strict";var i=n(19),u=n(2),a=n(57),s=[].slice,l={};e.exports=Function.bind||function(t){var n=i(this),r=s.call(arguments,1),o=function(){var e=r.concat(s.call(arguments));return this instanceof o?function(e,t,n){if(!(t in l)){for(var r=[],o=0;o<t;o++)r[o]="a["+o+"]";l[t]=Function("F,a","return new F("+r.join(",")+")")}return l[t](e,n)}(n,e.length,e):a(n,e,t)};return u(n.prototype)&&(o.prototype=n.prototype),o}},function(e,t){e.exports=function(e,t,n){var r=n===undefined;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){n(59)("match",1,function(r,o,e){return[function(e){"use strict";var t=r(this),n=e==undefined?undefined:e[o];return n!==undefined?n.call(e,t):new RegExp(e)[o](String(t))},e]})},function(e,t,n){"use strict";var a=n(7),s=n(16),l=n(4),c=n(12),p=n(34);e.exports=function(t,e,n){var r=p(t),o=n(c,r,""[t]),i=o[0],u=o[1];l(function(){var e={};return e[r]=function(){return 7},7!=""[t](e)})&&(s(String.prototype,t,i),a(RegExp.prototype,r,2==e?function(e,t){return u.call(e,this,t)}:function(e){return u.call(e,this)}))}},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,n(36);var _=n(5);var r=function r(o,i,u){var a;return function(){var e=this,t=arguments,n=function n(){a=null,u||o.apply(e,t)},r=u&&!a;clearTimeout(a),a=setTimeout(n,i),r&&o.apply(e,t)}},o=function(o){function e(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=o.call.apply(o,[this].concat(n))||this).state={bump:!1,debounced:!1},e}(function n(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t})(e,o);var t=e.prototype;return t.componentWillMount=function(){var e=this;this.debounceStatusUpdate=r(function(){if(!e.state.debounced){var t=!e.props.isInFocus||e.props.validChoiceMade;e.setState(function(e){return{bump:!e.bump,debounced:!0,silenced:t}})}},1400)},t.componentWillReceiveProps=function(e){e.queryLength;this.setState({debounced:!1})},t.render=function(){var e=this.props,t=e.id,n=e.length,r=e.queryLength,o=e.minQueryLength,i=e.selectedOption,u=e.selectedOptionIndex,a=e.tQueryTooShort,s=e.tNoResults,l=e.tSelectedOption,c=e.tResults,p=this.state,f=p.bump,d=p.debounced,h=p.silenced,m=r<o,v=0===n,y=i?l(i,n,u):"",g=null;return g=m?a(o):v?s():c(n,y),this.debounceStatusUpdate(),(0,_.createElement)("div",{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"}},(0,_.createElement)("div",{id:t+"__status--A",role:"status","aria-atomic":"true","aria-live":"polite"},!h&&d&&f?g:""),(0,_.createElement)("div",{id:t+"__status--B",role:"status","aria-atomic":"true","aria-live":"polite"},h||!d||f?"":g))},e}(_.Component);(t["default"]=o).defaultProps={tQueryTooShort:function(e){return"Type in "+e+" or more characters for results"},tNoResults:function(){return"No search results"},tSelectedOption:function(e,t,n){return e+" "+(n+1)+" of "+t+" is highlighted"},tResults:function(e,t){return e+" "+(1===e?"result":"results")+" "+(1===e?"is":"are")+" available. "+t}}},function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r=n(5),o=function i(e){var t=e.className;return(0,r.createElement)("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,focusable:"false"},(0,r.createElement)("g",{stroke:"none",fill:"none","fill-rule":"evenodd"},(0,r.createElement)("polygon",{fill:"#000000",points:"0 0 22 0 11 17"})))};t["default"]=o}])["default"]}); | ||
| //# sourceMappingURL=accessible-autocomplete.min.js.map |
+1
-1
| { | ||
| "name": "@orangesk/accessible-autocomplete", | ||
| "version": "3.2.0", | ||
| "version": "3.2.1", | ||
| "main": "dist/accessible-autocomplete.min.js", | ||
@@ -5,0 +5,0 @@ "style": "dist/accessible-autocomplete.min.css", |
+84
-38
@@ -1,66 +0,112 @@ | ||
| import { createElement, render } from 'preact' /** @jsx createElement */ | ||
| import Autocomplete from './autocomplete' | ||
| import { createElement, render } from "preact"; /** @jsx createElement */ | ||
| import Autocomplete from "./autocomplete"; | ||
| function accessibleAutocomplete (options) { | ||
| if (!options.element) { throw new Error('element is not defined') } | ||
| if (!options.id) { throw new Error('id is not defined') } | ||
| if (!options.source) { throw new Error('source is not defined') } | ||
| let generatedIdCounter = 0; | ||
| function generateId() { | ||
| generatedIdCounter += 1; | ||
| return `autocomplete-${generatedIdCounter}`; | ||
| } | ||
| function accessibleAutocomplete(options) { | ||
| if (!options.element) { | ||
| throw new Error("element is not defined"); | ||
| } | ||
| if (!options.id) { | ||
| throw new Error("id is not defined"); | ||
| } | ||
| if (!options.source) { | ||
| throw new Error("source is not defined"); | ||
| } | ||
| if (Array.isArray(options.source)) { | ||
| options.source = createSimpleEngine(options.source) | ||
| options.source = createSimpleEngine(options.source); | ||
| } | ||
| render(<Autocomplete {...options} />, options.element) | ||
| render(<Autocomplete {...options} />, options.element); | ||
| } | ||
| const createSimpleEngine = (values) => (query, syncResults) => { | ||
| var matches = values.filter(r => r.toLowerCase().indexOf(query.toLowerCase()) !== -1) | ||
| syncResults(matches) | ||
| } | ||
| var matches = values.filter( | ||
| (r) => r.toLowerCase().indexOf(query.toLowerCase()) !== -1, | ||
| ); | ||
| syncResults(matches); | ||
| }; | ||
| accessibleAutocomplete.enhanceSelectElement = (configurationOptions) => { | ||
| if (!configurationOptions.selectElement) { throw new Error('selectElement is not defined') } | ||
| if (!configurationOptions.selectElement) { | ||
| throw new Error("selectElement is not defined"); | ||
| } | ||
| // Set defaults. | ||
| if (!configurationOptions.source) { | ||
| let availableOptions = [].filter.call(configurationOptions.selectElement.options, option => (option.value || configurationOptions.preserveNullOptions)) | ||
| configurationOptions.source = availableOptions.map(option => option.textContent || option.innerText) | ||
| let availableOptions = [].filter.call( | ||
| configurationOptions.selectElement.options, | ||
| (option) => option.value || configurationOptions.preserveNullOptions, | ||
| ); | ||
| configurationOptions.source = availableOptions.map( | ||
| (option) => option.textContent || option.innerText, | ||
| ); | ||
| } | ||
| configurationOptions.onConfirm = configurationOptions.onConfirm || (query => { | ||
| const requestedOption = [].filter.call(configurationOptions.selectElement.options, option => (option.textContent || option.innerText) === query)[0] | ||
| if (requestedOption) { requestedOption.selected = true } | ||
| }) | ||
| configurationOptions.onConfirm = | ||
| configurationOptions.onConfirm || | ||
| ((query) => { | ||
| const requestedOption = [].filter.call( | ||
| configurationOptions.selectElement.options, | ||
| (option) => (option.textContent || option.innerText) === query, | ||
| )[0]; | ||
| if (requestedOption) { | ||
| requestedOption.selected = true; | ||
| } | ||
| }); | ||
| if (configurationOptions.selectElement.value || configurationOptions.defaultValue === undefined) { | ||
| const option = configurationOptions.selectElement.options[configurationOptions.selectElement.options.selectedIndex] | ||
| configurationOptions.defaultValue = option.textContent || option.innerText | ||
| if ( | ||
| configurationOptions.selectElement.value || | ||
| configurationOptions.defaultValue === undefined | ||
| ) { | ||
| const selectedIndex = | ||
| configurationOptions.selectElement.options.selectedIndex; | ||
| const option = | ||
| selectedIndex >= 0 | ||
| ? configurationOptions.selectElement.options[selectedIndex] | ||
| : null; | ||
| configurationOptions.defaultValue = option | ||
| ? option.textContent || option.innerText | ||
| : ""; | ||
| } | ||
| if (configurationOptions.name === undefined) configurationOptions.name = '' | ||
| if (configurationOptions.name === undefined) configurationOptions.name = ""; | ||
| if (configurationOptions.id === undefined) { | ||
| if (configurationOptions.selectElement.id === undefined) { | ||
| configurationOptions.id = '' | ||
| } else { | ||
| configurationOptions.id = configurationOptions.selectElement.id | ||
| } | ||
| configurationOptions.id = | ||
| configurationOptions.selectElement.id || generateId(); | ||
| } else if (!configurationOptions.id) { | ||
| configurationOptions.id = | ||
| configurationOptions.selectElement.id || generateId(); | ||
| } | ||
| if (configurationOptions.autoselect === undefined) configurationOptions.autoselect = true | ||
| if (configurationOptions.autoselect === undefined) | ||
| configurationOptions.autoselect = true; | ||
| if (configurationOptions.autocomplete === undefined) { | ||
| const selectAutocomplete = configurationOptions.selectElement.getAttribute('autocomplete') | ||
| const selectAutocomplete = | ||
| configurationOptions.selectElement.getAttribute("autocomplete"); | ||
| if (selectAutocomplete !== null) { | ||
| configurationOptions.autocomplete = selectAutocomplete | ||
| configurationOptions.autocomplete = selectAutocomplete; | ||
| } | ||
| } | ||
| const element = document.createElement('div') | ||
| const element = document.createElement("div"); | ||
| configurationOptions.selectElement.parentNode.insertBefore(element, configurationOptions.selectElement) | ||
| configurationOptions.selectElement.parentNode.insertBefore( | ||
| element, | ||
| configurationOptions.selectElement, | ||
| ); | ||
| accessibleAutocomplete({ | ||
| ...configurationOptions, | ||
| element: element | ||
| }) | ||
| element: element, | ||
| }); | ||
| configurationOptions.selectElement.style.display = 'none' | ||
| configurationOptions.selectElement.id = configurationOptions.selectElement.id + '-select' | ||
| } | ||
| configurationOptions.selectElement.style.display = "none"; | ||
| configurationOptions.selectElement.id = | ||
| (configurationOptions.selectElement.id || configurationOptions.id) + | ||
| "-select"; | ||
| }; | ||
| export default accessibleAutocomplete | ||
| export default accessibleAutocomplete; |
+358
-223
| /* global before, beforeEach, after, describe, expect, it */ | ||
| import accessibleAutocomplete from '../../src/wrapper' | ||
| import accessibleAutocomplete from "../../src/wrapper"; | ||
| const DEFAULT_OPTIONS = { | ||
| '': 'Select', | ||
| fr: 'France', | ||
| de: 'Germany', | ||
| gb: 'United Kingdom of Great Britain & Northern Ireland' | ||
| } | ||
| "": "Select", | ||
| fr: "France", | ||
| de: "Germany", | ||
| gb: "United Kingdom of Great Britain & Northern Ireland", | ||
| }; | ||
| const injectSelectToEnhanceIntoDOM = (element, settings) => { | ||
| settings = settings || {} | ||
| settings.options = settings.options || DEFAULT_OPTIONS | ||
| settings.id = settings.id !== undefined ? settings.id : 'location-picker-id' | ||
| settings.name = settings.name !== undefined ? settings.name : 'location-picker-name' | ||
| var $select = document.createElement('select') | ||
| settings = settings || {}; | ||
| settings.options = settings.options || DEFAULT_OPTIONS; | ||
| settings.id = settings.id !== undefined ? settings.id : "location-picker-id"; | ||
| settings.name = | ||
| settings.name !== undefined ? settings.name : "location-picker-name"; | ||
| var $select = document.createElement("select"); | ||
| if (settings.id) { | ||
| $select.id = settings.id | ||
| $select.id = settings.id; | ||
| } | ||
| if (settings.name) { | ||
| $select.name = settings.name | ||
| $select.name = settings.name; | ||
| } | ||
| Object.keys(settings.options) | ||
| .map(optionKey => { | ||
| const option = document.createElement('option') | ||
| option.value = optionKey | ||
| option.text = settings.options[optionKey] | ||
| option.selected = (settings.selected === optionKey) | ||
| return option | ||
| .map((optionKey) => { | ||
| const option = document.createElement("option"); | ||
| option.value = optionKey; | ||
| option.text = settings.options[optionKey]; | ||
| option.selected = settings.selected === optionKey; | ||
| return option; | ||
| }) | ||
| .forEach(option => $select.appendChild(option)) | ||
| .forEach((option) => $select.appendChild(option)); | ||
| element.appendChild($select) | ||
| element.appendChild($select); | ||
| return $select | ||
| } | ||
| return $select; | ||
| }; | ||
| describe('Wrapper', () => { | ||
| let scratch | ||
| describe("Wrapper", () => { | ||
| let scratch; | ||
| before(() => { | ||
| scratch = document.createElement('div'); | ||
| (document.body || document.documentElement).appendChild(scratch) | ||
| }) | ||
| scratch = document.createElement("div"); | ||
| (document.body || document.documentElement).appendChild(scratch); | ||
| }); | ||
| beforeEach(() => { | ||
| scratch.innerHTML = '' | ||
| }) | ||
| scratch.innerHTML = ""; | ||
| }); | ||
| after(() => { | ||
| scratch.parentNode.removeChild(scratch) | ||
| scratch = null | ||
| }) | ||
| scratch.parentNode.removeChild(scratch); | ||
| scratch = null; | ||
| }); | ||
| it('throws an error when called on nonexistent element', () => { | ||
| it("throws an error when called on nonexistent element", () => { | ||
| expect( | ||
| accessibleAutocomplete.bind(null, { | ||
| element: document.querySelector('#nothing-container'), | ||
| id: 'scratch', | ||
| source: () => {} | ||
| }) | ||
| ).to.throw('element is not defined') | ||
| }) | ||
| element: document.querySelector("#nothing-container"), | ||
| id: "scratch", | ||
| source: () => {}, | ||
| }), | ||
| ).to.throw("element is not defined"); | ||
| }); | ||
| it('throws an error when called without an id ', () => { | ||
| it("throws an error when called without an id ", () => { | ||
| expect( | ||
| accessibleAutocomplete.bind(null, { | ||
| element: scratch, | ||
| source: () => {} | ||
| }) | ||
| ).to.throw('id is not defined') | ||
| }) | ||
| source: () => {}, | ||
| }), | ||
| ).to.throw("id is not defined"); | ||
| }); | ||
| it('throws an error when called without a source', () => { | ||
| it("throws an error when called without a source", () => { | ||
| expect( | ||
| accessibleAutocomplete.bind(null, { | ||
| element: scratch, | ||
| id: 'scratch' | ||
| }) | ||
| ).to.throw('source is not defined') | ||
| }) | ||
| id: "scratch", | ||
| }), | ||
| ).to.throw("source is not defined"); | ||
| }); | ||
| it('throws an error when called on nonexistent selectElement', () => { | ||
| it("throws an error when called on nonexistent selectElement", () => { | ||
| expect( | ||
| accessibleAutocomplete.enhanceSelectElement.bind(null, { | ||
| selectElement: document.querySelector('#nothing') | ||
| }) | ||
| ).to.throw('selectElement is not defined') | ||
| }) | ||
| selectElement: document.querySelector("#nothing"), | ||
| }), | ||
| ).to.throw("selectElement is not defined"); | ||
| }); | ||
| it('can enhance a select element', () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| const id = select.id | ||
| it("can enhance a select element", () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| const id = select.id; | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| expect(autocompleteInstances.length).to.equal(1) | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| expect(autocompleteInstances.length).to.equal(1); | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| expect(autocompleteInput.tagName.toLowerCase()).to.equal('input') | ||
| expect(autocompleteInput.id).to.equal(id) | ||
| }) | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| expect(autocompleteInput.tagName.toLowerCase()).to.equal("input"); | ||
| expect(autocompleteInput.id).to.equal(id); | ||
| }); | ||
| it('uses the defaultValue setting to populate the input field if no option is selected', () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch, { selected: '' }) | ||
| it("can enhance a select element without an id attribute", () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch, { id: "" }); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| defaultValue: '', | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| expect(autocompleteInstances.length).to.equal(1); | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| expect(autocompleteInput.value).to.equal('') | ||
| }) | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| it('uses the option label as the default input element value if an option is selected', () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch, { selected: 'de' }) | ||
| expect(autocompleteInput.id).to.not.equal(""); | ||
| expect(select.id).to.equal(autocompleteInput.id + "-select"); | ||
| }); | ||
| it("can enhance an empty select element without options", () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch, { options: {} }); | ||
| expect(() => { | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select, | ||
| }); | ||
| }).to.not.throw(); | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| expect(autocompleteInstances.length).to.equal(1); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| expect(autocompleteInput.value).to.equal(""); | ||
| }); | ||
| it("uses the defaultValue setting to populate the input field if no option is selected", () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch, { selected: "" }); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| defaultValue: '', | ||
| selectElement: select | ||
| }) | ||
| defaultValue: "", | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| expect(autocompleteInput.value).to.equal('Germany') | ||
| }) | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| expect(autocompleteInput.value).to.equal(""); | ||
| }); | ||
| it('gives the autocomplete element a blank name attribute by default', () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| it("uses the option label as the default input element value if an option is selected", () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch, { selected: "de" }); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| defaultValue: "", | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| expect(autocompleteInput.value).to.equal("Germany"); | ||
| }); | ||
| it("gives the autocomplete element a blank name attribute by default", () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| expect(autocompleteInput.name).to.equal('') | ||
| }) | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| expect(autocompleteInput.name).to.equal(""); | ||
| }); | ||
| it('can define a name for the autocomplete element', () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| it("can define a name for the autocomplete element", () => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| name: 'location-picker-autocomplete', | ||
| selectElement: select | ||
| }) | ||
| name: "location-picker-autocomplete", | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| expect(autocompleteInput.name).to.equal('location-picker-autocomplete') | ||
| }) | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| expect(autocompleteInput.name).to.equal("location-picker-autocomplete"); | ||
| }); | ||
| it('does not include "null" options in autocomplete', (done) => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| // Using setTimeouts here since changes in values take a while to reflect in lists | ||
| autocompleteInput.value = 'e' | ||
| autocompleteInput.value = "e"; | ||
| setTimeout(() => { | ||
| const autocompleteOptions = autocompleteInstance.querySelectorAll('.autocomplete__option') | ||
| expect(autocompleteOptions.length).to.equal(3) | ||
| expect([].map.call(autocompleteOptions, o => o.textContent)).not.to.contain('Select') | ||
| done() | ||
| }, 250) | ||
| }) | ||
| const autocompleteOptions = autocompleteInstance.querySelectorAll( | ||
| ".autocomplete__option", | ||
| ); | ||
| expect(autocompleteOptions.length).to.equal(3); | ||
| expect( | ||
| [].map.call(autocompleteOptions, (o) => o.textContent), | ||
| ).not.to.contain("Select"); | ||
| done(); | ||
| }, 250); | ||
| }); | ||
| it('includes "null" options in autocomplete if `preserveNullOptions` flag is true', (done) => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| preserveNullOptions: true, | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| // Using setTimeouts here since changes in values take a while to reflect in lists | ||
| autocompleteInput.value = 'e' | ||
| autocompleteInput.value = "e"; | ||
| setTimeout(() => { | ||
| const autocompleteOptions = autocompleteInstance.querySelectorAll('.autocomplete__option') | ||
| expect(autocompleteOptions.length).to.equal(4) | ||
| expect([].map.call(autocompleteOptions, o => o.textContent)).to.contain('Select') | ||
| done() | ||
| }, 250) | ||
| }) | ||
| const autocompleteOptions = autocompleteInstance.querySelectorAll( | ||
| ".autocomplete__option", | ||
| ); | ||
| expect(autocompleteOptions.length).to.equal(4); | ||
| expect([].map.call(autocompleteOptions, (o) => o.textContent)).to.contain( | ||
| "Select", | ||
| ); | ||
| done(); | ||
| }, 250); | ||
| }); | ||
| it('has all options when typing', (done) => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| it("has all options when typing", (done) => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| const autocompleteOption = autocompleteInstance.querySelector('.autocomplete__option') | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| const autocompleteOption = autocompleteInstance.querySelector( | ||
| ".autocomplete__option", | ||
| ); | ||
| // Using setTimeouts here since changes in values take a while to reflect in lists | ||
| autocompleteInput.value = 'Fran' | ||
| autocompleteInput.value = "Fran"; | ||
| setTimeout(() => { | ||
| expect(autocompleteOption.textContent).to.equal('France') | ||
| autocompleteInput.value = 'Ger' | ||
| expect(autocompleteOption.textContent).to.equal("France"); | ||
| autocompleteInput.value = "Ger"; | ||
| setTimeout(() => { | ||
| expect(autocompleteOption.textContent).to.equal('Germany') | ||
| autocompleteInput.value = 'United' | ||
| expect(autocompleteOption.textContent).to.equal("Germany"); | ||
| autocompleteInput.value = "United"; | ||
| setTimeout(() => { | ||
| const autocompleteHint = autocompleteInstance.querySelector('.autocomplete__hint') | ||
| expect(autocompleteOption.textContent).to.equal('United Kingdom of Great Britain & Northern Ireland') | ||
| expect(autocompleteHint.value).to.equal('United Kingdom of Great Britain & Northern Ireland') | ||
| done() | ||
| }, 250) | ||
| }, 250) | ||
| }, 250) | ||
| }) | ||
| const autocompleteHint = autocompleteInstance.querySelector( | ||
| ".autocomplete__hint", | ||
| ); | ||
| expect(autocompleteOption.textContent).to.equal( | ||
| "United Kingdom of Great Britain & Northern Ireland", | ||
| ); | ||
| expect(autocompleteHint.value).to.equal( | ||
| "United Kingdom of Great Britain & Northern Ireland", | ||
| ); | ||
| done(); | ||
| }, 250); | ||
| }, 250); | ||
| }, 250); | ||
| }); | ||
| it('includes aria attributes on each option, to indicate position within the full set of list item elements', (done) => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| it("includes aria attributes on each option, to indicate position within the full set of list item elements", (done) => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| autocompleteInput.value = 'e' | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| autocompleteInput.value = "e"; | ||
| setTimeout(() => { | ||
| const autocompleteOptions = autocompleteInstance.querySelectorAll('.autocomplete__option') | ||
| expect(autocompleteOptions.length).to.equal(3) | ||
| expect(autocompleteOptions[0].getAttribute('aria-posinset')).to.equal('1') | ||
| expect(autocompleteOptions[0].getAttribute('aria-setsize')).to.equal('3') | ||
| expect(autocompleteOptions[1].getAttribute('aria-posinset')).to.equal('2') | ||
| expect(autocompleteOptions[1].getAttribute('aria-setsize')).to.equal('3') | ||
| expect(autocompleteOptions[2].getAttribute('aria-posinset')).to.equal('3') | ||
| expect(autocompleteOptions[2].getAttribute('aria-setsize')).to.equal('3') | ||
| done() | ||
| }, 250) | ||
| }) | ||
| const autocompleteOptions = autocompleteInstance.querySelectorAll( | ||
| ".autocomplete__option", | ||
| ); | ||
| expect(autocompleteOptions.length).to.equal(3); | ||
| expect(autocompleteOptions[0].getAttribute("aria-posinset")).to.equal( | ||
| "1", | ||
| ); | ||
| expect(autocompleteOptions[0].getAttribute("aria-setsize")).to.equal("3"); | ||
| expect(autocompleteOptions[1].getAttribute("aria-posinset")).to.equal( | ||
| "2", | ||
| ); | ||
| expect(autocompleteOptions[1].getAttribute("aria-setsize")).to.equal("3"); | ||
| expect(autocompleteOptions[2].getAttribute("aria-posinset")).to.equal( | ||
| "3", | ||
| ); | ||
| expect(autocompleteOptions[2].getAttribute("aria-setsize")).to.equal("3"); | ||
| done(); | ||
| }, 250); | ||
| }); | ||
| it('includes an explicit position suffix on each list item option when iOS is detected', (done) => { | ||
| Object.defineProperty(global.navigator, 'userAgent', { value: 'iPhone AppleWebKit', configurable: true }) | ||
| it("includes an explicit position suffix on each list item option when iOS is detected", (done) => { | ||
| Object.defineProperty(global.navigator, "userAgent", { | ||
| value: "iPhone AppleWebKit", | ||
| configurable: true, | ||
| }); | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| const autocompleteOption = autocompleteInstance.querySelector('.autocomplete__option') | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| const autocompleteOption = autocompleteInstance.querySelector( | ||
| ".autocomplete__option", | ||
| ); | ||
| autocompleteInput.value = 'Fran' | ||
| autocompleteInput.value = "Fran"; | ||
| setTimeout(() => { | ||
| expect(autocompleteOption.textContent).to.equal('France 1 of 1') | ||
| const iosSuffixSpan = autocompleteOption.querySelector('#location-picker-id__option-suffix--0') | ||
| expect(iosSuffixSpan.textContent).to.equal(' 1 of 1') | ||
| done() | ||
| }, 250) | ||
| }) | ||
| expect(autocompleteOption.textContent).to.equal("France 1 of 1"); | ||
| const iosSuffixSpan = autocompleteOption.querySelector( | ||
| "#location-picker-id__option-suffix--0", | ||
| ); | ||
| expect(iosSuffixSpan.textContent).to.equal(" 1 of 1"); | ||
| done(); | ||
| }, 250); | ||
| }); | ||
| it('does not include a position suffix on each list item option, when iOS is not detected', (done) => { | ||
| Object.defineProperty(global.navigator, 'userAgent', { value: 'definitely not an iDevice', configurable: true }) | ||
| it("does not include a position suffix on each list item option, when iOS is not detected", (done) => { | ||
| Object.defineProperty(global.navigator, "userAgent", { | ||
| value: "definitely not an iDevice", | ||
| configurable: true, | ||
| }); | ||
| const select = injectSelectToEnhanceIntoDOM(scratch) | ||
| const select = injectSelectToEnhanceIntoDOM(scratch); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| const autocompleteOption = autocompleteInstance.querySelector('.autocomplete__option') | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| const autocompleteOption = autocompleteInstance.querySelector( | ||
| ".autocomplete__option", | ||
| ); | ||
| autocompleteInput.value = 'Fran' | ||
| autocompleteInput.value = "Fran"; | ||
| setTimeout(() => { | ||
| expect(autocompleteOption.textContent).to.equal('France') | ||
| const iosSuffixSpan = autocompleteOption.querySelector('#location-picker-id__option-suffix--0') | ||
| expect(iosSuffixSpan).to.equal(null) | ||
| done() | ||
| }, 250) | ||
| }) | ||
| expect(autocompleteOption.textContent).to.equal("France"); | ||
| const iosSuffixSpan = autocompleteOption.querySelector( | ||
| "#location-picker-id__option-suffix--0", | ||
| ); | ||
| expect(iosSuffixSpan).to.equal(null); | ||
| done(); | ||
| }, 250); | ||
| }); | ||
| it('onConfirm updates original select', (done) => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch, { selected: 'de' }) | ||
| it("onConfirm updates original select", (done) => { | ||
| const select = injectSelectToEnhanceIntoDOM(scratch, { selected: "de" }); | ||
| accessibleAutocomplete.enhanceSelectElement({ | ||
| selectElement: select | ||
| }) | ||
| selectElement: select, | ||
| }); | ||
| const autocompleteInstances = document.querySelectorAll('.autocomplete__wrapper') | ||
| const autocompleteInstance = autocompleteInstances[0] | ||
| const autocompleteInput = autocompleteInstance.querySelector('.autocomplete__input') | ||
| const autocompleteOption = autocompleteInstance.querySelector('.autocomplete__option') | ||
| const autocompleteInstances = document.querySelectorAll( | ||
| ".autocomplete__wrapper", | ||
| ); | ||
| const autocompleteInstance = autocompleteInstances[0]; | ||
| const autocompleteInput = autocompleteInstance.querySelector( | ||
| ".autocomplete__input", | ||
| ); | ||
| const autocompleteOption = autocompleteInstance.querySelector( | ||
| ".autocomplete__option", | ||
| ); | ||
| // Check the initial value of the original selectElement | ||
| expect(select.value).to.equal('de') | ||
| expect(select.value).to.equal("de"); | ||
| // Using setTimeouts here since changes in values take a while to reflect in lists | ||
| autocompleteInput.value = 'United' | ||
| autocompleteInput.value = "United"; | ||
| setTimeout(() => { | ||
| expect(autocompleteOption.textContent).to.equal('United Kingdom of Great Britain & Northern Ireland') | ||
| autocompleteOption.click() | ||
| expect(select.value).to.equal('gb') | ||
| expect(autocompleteOption.textContent).to.equal( | ||
| "United Kingdom of Great Britain & Northern Ireland", | ||
| ); | ||
| autocompleteOption.click(); | ||
| expect(select.value).to.equal("gb"); | ||
| setTimeout(() => { | ||
| expect(autocompleteInput.value).to.equal('United Kingdom of Great Britain & Northern Ireland') | ||
| done() | ||
| }, 250) | ||
| }, 250) | ||
| }) | ||
| }) | ||
| expect(autocompleteInput.value).to.equal( | ||
| "United Kingdom of Great Britain & Northern Ireland", | ||
| ); | ||
| done(); | ||
| }, 250); | ||
| }, 250); | ||
| }); | ||
| }); |
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
629113
0.59%2864
6.31%7
-12.5%