infinite-autocomplete
Advanced tools
Comparing version 2.0.0-rc to 2.0.0-rc2
@@ -146,2 +146,3 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
InfiniteAutocomplete.prototype.init = function () { | ||
this.applyStylesRules(); | ||
this.appendInfiniteAutocompleteWrapperClass(); | ||
@@ -177,3 +178,3 @@ this.linkInputComponent(); | ||
} | ||
else if (element.className && element.className.indexOf("infinite-autocomplete-wrapper") != -1) { | ||
else if (element === this.element) { | ||
return false; | ||
@@ -206,3 +207,2 @@ } | ||
.join(" "); | ||
this.element.style.position = "relative"; | ||
}; | ||
@@ -234,3 +234,2 @@ /** | ||
.addEventListener("click", function (inputChangeEvent) { return _this.onInputChange(inputChangeEvent); }); | ||
inputEle.style.width = '100%'; | ||
this.element.appendChild(inputWrapperEle); | ||
@@ -269,5 +268,2 @@ }; | ||
optionsWrapperEle.className = "infinite-autocomplete-options-wrapper"; | ||
optionsWrapperEle.style.position = "absolute"; | ||
optionsWrapperEle.style.zIndex = "10"; | ||
optionsWrapperEle.style.background = "white"; | ||
optionsWrapperEle.innerHTML = this.optionsComponent.render(); | ||
@@ -278,2 +274,5 @@ var optionsEle = optionsWrapperEle.querySelector(this.optionsComponent.listElementSelector); | ||
optionsEle.style.overflow = "scroll"; | ||
optionsEle.style.overflowX = "hidden"; | ||
optionsEle.style.border = "1px solid #bcbcbc"; | ||
optionsEle.style.paddingBottom = "5px"; | ||
optionsEle.style.maxHeight = this.config.maxHeight || null; | ||
@@ -283,2 +282,46 @@ this.element.appendChild(optionsWrapperEle); | ||
/** | ||
* Apply the style rules for the infinite autocomplete plugin and it's components | ||
*/ | ||
InfiniteAutocomplete.prototype.applyStylesRules = function () { | ||
//Main wrapper style rules | ||
var isMainWrapperStyleApplied = document.head.querySelector('#infinite-autocomplete-wrapper-style'); | ||
if (!isMainWrapperStyleApplied) { | ||
var mainWrapperStyle = document.createElement('style'); | ||
mainWrapperStyle.id = 'infinite-autocomplete-wrapper-style'; | ||
mainWrapperStyle.innerHTML = "\n .infinite-autocomplete-wrapper {\n position: relative;\n }\n "; | ||
document.head.appendChild(mainWrapperStyle); | ||
} | ||
var isDefaultsStyleApplied = document.head.querySelector('#infinite-autocomplete-defaults-style'); | ||
if (!isDefaultsStyleApplied) { | ||
var defaultsStyle = document.createElement('style'); | ||
defaultsStyle.id = 'infinite-autocomplete-defaults-style'; | ||
defaultsStyle.innerHTML = "\n .infinite-autocomplete-input-wrapper .infinite-autocomplete-default-input {\n height: 28px;\n border-radius: 8px;\n box-shadow: inset 0px 0px 15px -4px transparent;\n }\n .infinite-autocomplete-options-wrapper .infinite-autocomplete-default-options {\n list-style-type: none;\n margin-top: 0;\n padding-left: 0;\n }\n .infinite-autocomplete-options-wrapper .infinite-autocomplete-default-options li {\n padding: 5px 10px 10px 10px;\n }\n .infinite-autocomplete-options-wrapper .infinite-autocomplete-default-options li:hover {\n background: #d5ebff;\n color: black;\n cursor: pointer;\n }\n "; | ||
document.head.appendChild(defaultsStyle); | ||
} | ||
//Input style rules | ||
var isInputStyleApplied = document.head.querySelector('#infinite-autocomplete-input-style'); | ||
if (!isInputStyleApplied) { | ||
var inputStyle = document.createElement('style'); | ||
inputStyle.id = 'infinite-autocomplete-input-style'; | ||
inputStyle.innerHTML = "\n .infinite-autocomplete-input-wrapper input {\n width: 100%;\n }\n "; | ||
document.head.appendChild(inputStyle); | ||
} | ||
//Options style rules | ||
var isOptionsStyleApplied = document.head.querySelector('#infinite-autocomplete-options-style'); | ||
if (!isOptionsStyleApplied) { | ||
var optionsStyle = document.createElement('style'); | ||
optionsStyle.id = "infinite-autocomplete-options-style"; | ||
optionsStyle.innerHTML = "\n .infinite-autocomplete-options-wrapper {\n position: absolute;\n z-index: 10;\n background: white;\n }\n "; | ||
document.head.appendChild(optionsStyle); | ||
} | ||
//Scrollbar style rules | ||
var isScrollbarStyleApplied = document.head.querySelector('#infinite-autocomplete-scrollbar-style'); | ||
if (!isScrollbarStyleApplied) { | ||
var specialScroll = document.createElement('style'); | ||
specialScroll.id = 'infinite-autocomplete-scrollbar-style'; | ||
specialScroll.innerHTML = "\n .infinite-autocomplete-wrapper ::-webkit-scrollbar {\n width: 4px;\n }\n \n .infinite-autocomplete-wrapper ::-webkit-scrollbar-track {\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); \n -webkit-border-radius: 10px;\n border-radius: 10px;\n }\n \n .infinite-autocomplete-wrapper ::-webkit-scrollbar-thumb {\n -webkit-border-radius: 10px;\n border-radius: 10px;\n background: rgba(128, 128, 128, 0.8); \n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); \n }\n .infinite-autocomplete-wrapper ::-webkit-scrollbar-thumb:window-inactive {\n background: rgba(255,0,0,0.4); \n }\n "; | ||
document.head.appendChild(specialScroll); | ||
} | ||
}; | ||
/** | ||
* Binds a scroll event handler on the options | ||
@@ -503,3 +546,3 @@ */ | ||
InputComponent.prototype.render = function () { | ||
return "<input type=\"text\" />"; | ||
return "<input class=\"infinite-autocomplete-default-input\" type=\"text\" />"; | ||
}; | ||
@@ -529,3 +572,3 @@ return InputComponent; | ||
//You can inject template code before | ||
return "<" + this.listElementSelector + "></" + this.listElementSelector + ">"; | ||
return "<" + this.listElementSelector + " class=\"infinite-autocomplete-default-options\"></" + this.listElementSelector + ">"; | ||
//You can inject template code after | ||
@@ -532,0 +575,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var i in n)("object"==typeof exports?exports:t)[i]=n[i]}}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";var i=this&&this.__assign||Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},r=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function s(t){try{c(i.next(t))}catch(t){o(t)}}function u(t){try{c(i.throw(t))}catch(t){o(t)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(s,u)}c((i=i.apply(t,e||[])).next())})},o=this&&this.__generator||function(t,e){function n(t){return function(e){return i([t,e])}}function i(n){if(r)throw new TypeError("Generator is already executing.");for(;u;)try{if(r=1,o&&(s=o[2&n[0]?"return":n[0]?"throw":"next"])&&!(s=s.call(o,n[1])).done)return s;switch(o=0,s&&(n=[0,s.value]),n[0]){case 0:case 1:s=n;break;case 4:return u.label++,{value:n[1],done:!1};case 5:u.label++,o=n[1],n=[0];continue;case 7:n=u.ops.pop(),u.trys.pop();continue;default:if(s=u.trys,!(s=s.length>0&&s[s.length-1])&&(6===n[0]||2===n[0])){u=0;continue}if(3===n[0]&&(!s||n[1]>s[0]&&n[1]<s[3])){u.label=n[1];break}if(6===n[0]&&u.label<s[1]){u.label=s[1],s=n;break}if(s&&u.label<s[2]){u.label=s[2],u.ops.push(n);break}s[2]&&u.ops.pop(),u.trys.pop();continue}n=e.call(t,u)}catch(t){n=[6,t],o=0}finally{r=s=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}var r,o,s,u={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return{next:n(0),throw:n(1),return:n(2)}},s=n(3),u=n(4),c=n(1),a=n(5),l=function(){function t(t,e){this.page=1,this.preventMoreRequests=!1,this.fetchingData=!1,this.isOptionsHidden=!0,this.defaultConfig={fetchSize:10,maxHeight:"160px",customizedInput:s.InputComponent,customizedOptions:u.OptionsComponent},this.element=t,this.config=i({},this.defaultConfig,e),this.inputComponent=new this.config.customizedInput,this.optionsComponent=new this.config.customizedOptions,this.init()}return t.prototype.init=function(){this.appendInfiniteAutocompleteWrapperClass(),this.linkInputComponent(),this.linkOptionsComponent(),this.bindScrollReachBottomEvent(),this.bindEscapeEvent(),this.bindOutSideClickEvent()},t.prototype.bindOutSideClickEvent=function(){var t=this;document.addEventListener("click",function(e){if(!t.isOptionsHidden){var n=t.checkIfClickedOutSideTheAutocompleteComponents(e.target);n&&t.clearOptions()}})},t.prototype.checkIfClickedOutSideTheAutocompleteComponents=function(t){return null===t||(!t.className||t.className.indexOf("infinite-autocomplete-wrapper")==-1)&&this.checkIfClickedOutSideTheAutocompleteComponents(t.parentElement)},t.prototype.bindEscapeEvent=function(){var t=this;document.addEventListener("keydown",function(e){27!==e.keyCode||t.isOptionsHidden||t.clearOptions()})},t.prototype.appendInfiniteAutocompleteWrapperClass=function(){this.element.className=this.element.className.split(" ").concat(["infinite-autocomplete-wrapper"]).filter(function(t){return t}).join(" "),this.element.style.position="relative"},t.prototype.resetCurrentPage=function(){this.page=1},t.prototype.linkInputComponent=function(){var t=this,e=new Error("Customized input should contain input element <input />"),n=document.createElement("div");n.className="infinite-autocomplete-input-wrapper",n.innerHTML=this.inputComponent.render();var i=n.querySelector("input");if(!i)throw a.Utils.throwErrorInConsole(e),e;i.addEventListener("input",function(e){return t.onInputChange(e)}),i.addEventListener("click",function(e){return t.onInputChange(e)}),i.style.width="100%",this.element.appendChild(n)},t.prototype.onInputChange=function(t){var e=t.currentTarget;this.inputComponent.onInputChange&&this.inputComponent.onInputChange(e,e.value),("input"===t.type||"click"===t.type&&this.isOptionsHidden)&&this.buildOptions(e.value,!0)},t.prototype.setConfig=function(t){this.config=i({},this.config,t)},t.prototype.linkOptionsComponent=function(){var t=document.createElement("div");t.className="infinite-autocomplete-options-wrapper",t.style.position="absolute",t.style.zIndex="10",t.style.background="white",t.innerHTML=this.optionsComponent.render();var e=t.querySelector(this.optionsComponent.listElementSelector);e.style.display="none",this.isOptionsHidden=!0,e.style.overflow="scroll",e.style.maxHeight=this.config.maxHeight||null,this.element.appendChild(t)},t.prototype.bindScrollReachBottomEvent=function(){var t=this.getOptionsBaseElement();t.addEventListener("scroll",this.scrollReachedBottomHandler.bind(this))},t.prototype.scrollReachedBottomHandler=function(t){var e=t.currentTarget;this.fetchingData||this.preventMoreRequests||e.scrollTop+e.clientHeight>=e.scrollHeight&&(this.page++,this.buildOptions(this.getInputElement().value,!1))},t.prototype.clearOptions=function(){this.detachClickEventHandlers(this.getOptionsBaseElement().querySelectorAll("[infinite-clickable]")),this.resetCurrentPage(),this.preventMoreRequests=!1;var t=this.getOptionsBaseElement();t.style.display="none",this.isOptionsHidden=!0,t.innerHTML=""},t.prototype.getOptionsBaseElement=function(){var t=new Error("Couldn't get the options base element.");if(this.element){var e=this.element.querySelector(".infinite-autocomplete-options-wrapper");if(e)return e.querySelector(this.optionsComponent.listElementSelector);throw a.Utils.throwErrorInConsole(t),t}throw a.Utils.throwErrorInConsole(t),t},t.prototype.detachClickEventHandlers=function(t){for(var e=this,n=0;n<t.length;n++)t[n].removeEventListener("click",function(t){return e.onOptionClickEvent(t)})},t.prototype.onOptionClickEvent=function(t){this.config.onSelect&&this.config.onSelect(t.currentTarget,t.currentTarget.data),this.clearOptions(),this.setInput(t.currentTarget.data.text)},t.prototype.getInputElement=function(){var t=new Error("Couldn't get the input element.");if(this.element){var e=this.element.querySelector(".infinite-autocomplete-input-wrapper");if(e)return e.querySelector("input");throw a.Utils.throwErrorInConsole(t),t}throw a.Utils.throwErrorInConsole(t),t},t.prototype.setInput=function(t){this.getInputElement().value=t},t.prototype.getData=function(t){return r(this,void 0,c.Promise,function(){var e,n,i,r;return o(this,function(o){switch(o.label){case 0:return e=new Error("You must pass data or getDataFromApi function via config"),this.config.data?(this.fetchingData=!0,n=(this.page-1)*this.config.fetchSize,i=this.config.fetchSize*(this.page-1)+this.config.fetchSize,this.fetchingData=!1,[2,this.config.data.filter(function(e){return e.text.toLowerCase().indexOf(t.toLowerCase())!==-1}).slice(n,i)]):[3,1];case 1:return this.config.getDataFromApi?(this.fetchingData=!0,[4,this.config.getDataFromApi(t,this.page,this.config.fetchSize)]):[3,3];case 2:return r=o.sent(),this.fetchingData=!1,[2,r];case 3:throw a.Utils.throwErrorInConsole(e),e}})})},t.prototype.buildOptions=function(t,e){return void 0===e&&(e=!0),r(this,void 0,c.Promise,function(){var n,i,r,s=this;return o(this,function(o){switch(o.label){case 0:return n=new Error("fetchSize must be overriden with correct numeric value"),i=this.getOptionsBaseElement(),e&&this.clearOptions(),this.config.fetchSize?[4,this.getData(t)]:[3,2];case 1:return r=o.sent(),r.length<this.config.fetchSize&&(this.preventMoreRequests=!0),r.forEach(function(t){var e=s.optionsComponent.renderOption(t),n=document.createElement("div");n.innerHTML=e;var r=n.childNodes[0];r.data={text:t.text,value:t.value},r.setAttribute("infinite-clickable",""),r.addEventListener("click",function(t){return s.onOptionClickEvent(t)}),i.appendChild(r)}),""!==i.innerHTML?(i.style.display="",this.isOptionsHidden=!1):(i.style.display="none",this.isOptionsHidden=!0),[3,3];case 2:throw a.Utils.throwErrorInConsole(n),n;case 3:return[2]}})})},t}();e.InfiniteAutocomplete=l},function(t,e,n){(function(e,i){/*! | ||
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var i in n)("object"==typeof exports?exports:t)[i]=n[i]}}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";var i=this&&this.__assign||Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},o=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(o,r){function s(t){try{c(i.next(t))}catch(t){r(t)}}function u(t){try{c(i.throw(t))}catch(t){r(t)}}function c(t){t.done?o(t.value):new n(function(e){e(t.value)}).then(s,u)}c((i=i.apply(t,e||[])).next())})},r=this&&this.__generator||function(t,e){function n(t){return function(e){return i([t,e])}}function i(n){if(o)throw new TypeError("Generator is already executing.");for(;u;)try{if(o=1,r&&(s=r[2&n[0]?"return":n[0]?"throw":"next"])&&!(s=s.call(r,n[1])).done)return s;switch(r=0,s&&(n=[0,s.value]),n[0]){case 0:case 1:s=n;break;case 4:return u.label++,{value:n[1],done:!1};case 5:u.label++,r=n[1],n=[0];continue;case 7:n=u.ops.pop(),u.trys.pop();continue;default:if(s=u.trys,!(s=s.length>0&&s[s.length-1])&&(6===n[0]||2===n[0])){u=0;continue}if(3===n[0]&&(!s||n[1]>s[0]&&n[1]<s[3])){u.label=n[1];break}if(6===n[0]&&u.label<s[1]){u.label=s[1],s=n;break}if(s&&u.label<s[2]){u.label=s[2],u.ops.push(n);break}s[2]&&u.ops.pop(),u.trys.pop();continue}n=e.call(t,u)}catch(t){n=[6,t],r=0}finally{o=s=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}var o,r,s,u={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return{next:n(0),throw:n(1),return:n(2)}},s=n(3),u=n(4),c=n(1),a=n(5),l=function(){function t(t,e){this.page=1,this.preventMoreRequests=!1,this.fetchingData=!1,this.isOptionsHidden=!0,this.defaultConfig={fetchSize:10,maxHeight:"160px",customizedInput:s.InputComponent,customizedOptions:u.OptionsComponent},this.element=t,this.config=i({},this.defaultConfig,e),this.inputComponent=new this.config.customizedInput,this.optionsComponent=new this.config.customizedOptions,this.init()}return t.prototype.init=function(){this.applyStylesRules(),this.appendInfiniteAutocompleteWrapperClass(),this.linkInputComponent(),this.linkOptionsComponent(),this.bindScrollReachBottomEvent(),this.bindEscapeEvent(),this.bindOutSideClickEvent()},t.prototype.bindOutSideClickEvent=function(){var t=this;document.addEventListener("click",function(e){if(!t.isOptionsHidden){var n=t.checkIfClickedOutSideTheAutocompleteComponents(e.target);n&&t.clearOptions()}})},t.prototype.checkIfClickedOutSideTheAutocompleteComponents=function(t){return null===t||t!==this.element&&this.checkIfClickedOutSideTheAutocompleteComponents(t.parentElement)},t.prototype.bindEscapeEvent=function(){var t=this;document.addEventListener("keydown",function(e){27!==e.keyCode||t.isOptionsHidden||t.clearOptions()})},t.prototype.appendInfiniteAutocompleteWrapperClass=function(){this.element.className=this.element.className.split(" ").concat(["infinite-autocomplete-wrapper"]).filter(function(t){return t}).join(" ")},t.prototype.resetCurrentPage=function(){this.page=1},t.prototype.linkInputComponent=function(){var t=this,e=new Error("Customized input should contain input element <input />"),n=document.createElement("div");n.className="infinite-autocomplete-input-wrapper",n.innerHTML=this.inputComponent.render();var i=n.querySelector("input");if(!i)throw a.Utils.throwErrorInConsole(e),e;i.addEventListener("input",function(e){return t.onInputChange(e)}),i.addEventListener("click",function(e){return t.onInputChange(e)}),this.element.appendChild(n)},t.prototype.onInputChange=function(t){var e=t.currentTarget;this.inputComponent.onInputChange&&this.inputComponent.onInputChange(e,e.value),("input"===t.type||"click"===t.type&&this.isOptionsHidden)&&this.buildOptions(e.value,!0)},t.prototype.setConfig=function(t){this.config=i({},this.config,t)},t.prototype.linkOptionsComponent=function(){var t=document.createElement("div");t.className="infinite-autocomplete-options-wrapper",t.innerHTML=this.optionsComponent.render();var e=t.querySelector(this.optionsComponent.listElementSelector);e.style.display="none",this.isOptionsHidden=!0,e.style.overflow="scroll",e.style.overflowX="hidden",e.style.border="1px solid #bcbcbc",e.style.paddingBottom="5px",e.style.maxHeight=this.config.maxHeight||null,this.element.appendChild(t)},t.prototype.applyStylesRules=function(){var t=document.head.querySelector("#infinite-autocomplete-wrapper-style");if(!t){var e=document.createElement("style");e.id="infinite-autocomplete-wrapper-style",e.innerHTML="\n .infinite-autocomplete-wrapper {\n position: relative;\n }\n ",document.head.appendChild(e)}var n=document.head.querySelector("#infinite-autocomplete-defaults-style");if(!n){var i=document.createElement("style");i.id="infinite-autocomplete-defaults-style",i.innerHTML="\n .infinite-autocomplete-input-wrapper .infinite-autocomplete-default-input {\n height: 28px;\n border-radius: 8px;\n box-shadow: inset 0px 0px 15px -4px transparent;\n }\n .infinite-autocomplete-options-wrapper .infinite-autocomplete-default-options {\n list-style-type: none;\n margin-top: 0;\n padding-left: 0;\n }\n .infinite-autocomplete-options-wrapper .infinite-autocomplete-default-options li {\n padding: 5px 10px 10px 10px;\n }\n .infinite-autocomplete-options-wrapper .infinite-autocomplete-default-options li:hover {\n background: #d5ebff;\n color: black;\n cursor: pointer;\n }\n ",document.head.appendChild(i)}var o=document.head.querySelector("#infinite-autocomplete-input-style");if(!o){var r=document.createElement("style");r.id="infinite-autocomplete-input-style",r.innerHTML="\n .infinite-autocomplete-input-wrapper input {\n width: 100%;\n }\n ",document.head.appendChild(r)}var s=document.head.querySelector("#infinite-autocomplete-options-style");if(!s){var u=document.createElement("style");u.id="infinite-autocomplete-options-style",u.innerHTML="\n .infinite-autocomplete-options-wrapper {\n position: absolute;\n z-index: 10;\n background: white;\n }\n ",document.head.appendChild(u)}var c=document.head.querySelector("#infinite-autocomplete-scrollbar-style");if(!c){var a=document.createElement("style");a.id="infinite-autocomplete-scrollbar-style",a.innerHTML="\n .infinite-autocomplete-wrapper ::-webkit-scrollbar {\n width: 4px;\n }\n \n .infinite-autocomplete-wrapper ::-webkit-scrollbar-track {\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); \n -webkit-border-radius: 10px;\n border-radius: 10px;\n }\n \n .infinite-autocomplete-wrapper ::-webkit-scrollbar-thumb {\n -webkit-border-radius: 10px;\n border-radius: 10px;\n background: rgba(128, 128, 128, 0.8); \n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); \n }\n .infinite-autocomplete-wrapper ::-webkit-scrollbar-thumb:window-inactive {\n background: rgba(255,0,0,0.4); \n }\n ",document.head.appendChild(a)}},t.prototype.bindScrollReachBottomEvent=function(){var t=this.getOptionsBaseElement();t.addEventListener("scroll",this.scrollReachedBottomHandler.bind(this))},t.prototype.scrollReachedBottomHandler=function(t){var e=t.currentTarget;this.fetchingData||this.preventMoreRequests||e.scrollTop+e.clientHeight>=e.scrollHeight&&(this.page++,this.buildOptions(this.getInputElement().value,!1))},t.prototype.clearOptions=function(){this.detachClickEventHandlers(this.getOptionsBaseElement().querySelectorAll("[infinite-clickable]")),this.resetCurrentPage(),this.preventMoreRequests=!1;var t=this.getOptionsBaseElement();t.style.display="none",this.isOptionsHidden=!0,t.innerHTML=""},t.prototype.getOptionsBaseElement=function(){var t=new Error("Couldn't get the options base element.");if(this.element){var e=this.element.querySelector(".infinite-autocomplete-options-wrapper");if(e)return e.querySelector(this.optionsComponent.listElementSelector);throw a.Utils.throwErrorInConsole(t),t}throw a.Utils.throwErrorInConsole(t),t},t.prototype.detachClickEventHandlers=function(t){for(var e=this,n=0;n<t.length;n++)t[n].removeEventListener("click",function(t){return e.onOptionClickEvent(t)})},t.prototype.onOptionClickEvent=function(t){this.config.onSelect&&this.config.onSelect(t.currentTarget,t.currentTarget.data),this.clearOptions(),this.setInput(t.currentTarget.data.text)},t.prototype.getInputElement=function(){var t=new Error("Couldn't get the input element.");if(this.element){var e=this.element.querySelector(".infinite-autocomplete-input-wrapper");if(e)return e.querySelector("input");throw a.Utils.throwErrorInConsole(t),t}throw a.Utils.throwErrorInConsole(t),t},t.prototype.setInput=function(t){this.getInputElement().value=t},t.prototype.getData=function(t){return o(this,void 0,c.Promise,function(){var e,n,i,o;return r(this,function(r){switch(r.label){case 0:return e=new Error("You must pass data or getDataFromApi function via config"),this.config.data?(this.fetchingData=!0,n=(this.page-1)*this.config.fetchSize,i=this.config.fetchSize*(this.page-1)+this.config.fetchSize,this.fetchingData=!1,[2,this.config.data.filter(function(e){return e.text.toLowerCase().indexOf(t.toLowerCase())!==-1}).slice(n,i)]):[3,1];case 1:return this.config.getDataFromApi?(this.fetchingData=!0,[4,this.config.getDataFromApi(t,this.page,this.config.fetchSize)]):[3,3];case 2:return o=r.sent(),this.fetchingData=!1,[2,o];case 3:throw a.Utils.throwErrorInConsole(e),e}})})},t.prototype.buildOptions=function(t,e){return void 0===e&&(e=!0),o(this,void 0,c.Promise,function(){var n,i,o,s=this;return r(this,function(r){switch(r.label){case 0:return n=new Error("fetchSize must be overriden with correct numeric value"),i=this.getOptionsBaseElement(),e&&this.clearOptions(),this.config.fetchSize?[4,this.getData(t)]:[3,2];case 1:return o=r.sent(),o.length<this.config.fetchSize&&(this.preventMoreRequests=!0),o.forEach(function(t){var e=s.optionsComponent.renderOption(t),n=document.createElement("div");n.innerHTML=e;var o=n.childNodes[0];o.data={text:t.text,value:t.value},o.setAttribute("infinite-clickable",""),o.addEventListener("click",function(t){return s.onOptionClickEvent(t)}),i.appendChild(o)}),""!==i.innerHTML?(i.style.display="",this.isOptionsHidden=!1):(i.style.display="none",this.isOptionsHidden=!0),[3,3];case 2:throw a.Utils.throwErrorInConsole(n),n;case 3:return[2]}})})},t}();e.InfiniteAutocomplete=l},function(t,e,n){(function(e,i){/*! | ||
* @overview es6-promise - a tiny implementation of Promises/A+. | ||
@@ -8,2 +8,2 @@ * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) | ||
*/ | ||
!function(e,n){t.exports=n()}(this,function(){"use strict";function t(t){return"function"==typeof t||"object"==typeof t&&null!==t}function r(t){return"function"==typeof t}function o(t){Q=t}function s(t){V=t}function u(){return function(){return e.nextTick(p)}}function c(){return"undefined"!=typeof J?function(){J(p)}:f()}function a(){var t=0,e=new $(p),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function l(){var t=new MessageChannel;return t.port1.onmessage=p,function(){return t.port2.postMessage(0)}}function f(){var t=setTimeout;return function(){return t(p,1)}}function p(){for(var t=0;t<K;t+=2){var e=nt[t],n=nt[t+1];e(n),nt[t]=void 0,nt[t+1]=void 0}K=0}function h(){try{var t=n(6);return J=t.runOnLoop||t.runOnContext,c()}catch(t){return f()}}function d(t,e){var n=arguments,i=this,r=new this.constructor(m);void 0===r[rt]&&z(r);var o=i._state;return o?!function(){var t=n[o-1];V(function(){return L(o,r,t,i._result)})}():x(i,r,t,e),r}function v(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(m);return O(n,t),n}function m(){}function y(){return new TypeError("You cannot resolve a promise with itself")}function g(){return new TypeError("A promises callback cannot return that same promise.")}function w(t){try{return t.then}catch(t){return ct.error=t,ct}}function b(t,e,n,i){try{t.call(e,n,i)}catch(t){return t}}function _(t,e,n){V(function(t){var i=!1,r=b(n,e,function(n){i||(i=!0,e!==n?O(t,n):T(t,n))},function(e){i||(i=!0,k(t,e))},"Settle: "+(t._label||" unknown promise"));!i&&r&&(i=!0,k(t,r))},t)}function C(t,e){e._state===st?T(t,e._result):e._state===ut?k(t,e._result):x(e,void 0,function(e){return O(t,e)},function(e){return k(t,e)})}function E(t,e,n){e.constructor===t.constructor&&n===d&&e.constructor.resolve===v?C(t,e):n===ct?k(t,ct.error):void 0===n?T(t,e):r(n)?_(t,e,n):T(t,e)}function O(e,n){e===n?k(e,y()):t(n)?E(e,n,w(n)):T(e,n)}function S(t){t._onerror&&t._onerror(t._result),A(t)}function T(t,e){t._state===ot&&(t._result=e,t._state=st,0!==t._subscribers.length&&V(A,t))}function k(t,e){t._state===ot&&(t._state=ut,t._result=e,V(S,t))}function x(t,e,n,i){var r=t._subscribers,o=r.length;t._onerror=null,r[o]=e,r[o+st]=n,r[o+ut]=i,0===o&&t._state&&V(A,t)}function A(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var i=void 0,r=void 0,o=t._result,s=0;s<e.length;s+=3)i=e[s],r=e[s+n],i?L(n,i,r,o):r(o);t._subscribers.length=0}}function I(){this.error=null}function H(t,e){try{return t(e)}catch(t){return at.error=t,at}}function L(t,e,n,i){var o=r(n),s=void 0,u=void 0,c=void 0,a=void 0;if(o){if(s=H(n,i),s===at?(a=!0,u=s.error,s=null):c=!0,e===s)return void k(e,g())}else s=i,c=!0;e._state!==ot||(o&&c?O(e,s):a?k(e,u):t===st?T(e,s):t===ut&&k(e,s))}function j(t,e){try{e(function(e){O(t,e)},function(e){k(t,e)})}catch(e){k(t,e)}}function M(){return lt++}function z(t){t[rt]=lt++,t._state=void 0,t._result=void 0,t._subscribers=[]}function D(t,e){this._instanceConstructor=t,this.promise=new t(m),this.promise[rt]||z(this.promise),G(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?T(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&T(this.promise,this._result))):k(this.promise,P())}function P(){return new Error("Array Methods must be provided an Array")}function q(t){return new D(this,t).promise}function B(t){var e=this;return new e(G(t)?function(n,i){for(var r=t.length,o=0;o<r;o++)e.resolve(t[o]).then(n,i)}:function(t,e){return e(new TypeError("You must pass an array to race."))})}function U(t){var e=this,n=new e(m);return k(n,t),n}function N(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function R(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function F(t){this[rt]=M(),this._result=this._state=void 0,this._subscribers=[],m!==t&&("function"!=typeof t&&N(),this instanceof F?j(this,t):R())}function Y(){var t=void 0;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===n&&!e.cast)return}t.Promise=F}var W=void 0;W=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var G=W,K=0,J=void 0,Q=void 0,V=function(t,e){nt[K]=t,nt[K+1]=e,K+=2,2===K&&(Q?Q(p):it())},X="undefined"!=typeof window?window:void 0,Z=X||{},$=Z.MutationObserver||Z.WebKitMutationObserver,tt="undefined"==typeof self&&"undefined"!=typeof e&&"[object process]"==={}.toString.call(e),et="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,nt=new Array(1e3),it=void 0;it=tt?u():$?a():et?l():void 0===X?h():f();var rt=Math.random().toString(36).substring(16),ot=void 0,st=1,ut=2,ct=new I,at=new I,lt=0;return D.prototype._enumerate=function(){for(var t=this.length,e=this._input,n=0;this._state===ot&&n<t;n++)this._eachEntry(e[n],n)},D.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,i=n.resolve;if(i===v){var r=w(t);if(r===d&&t._state!==ot)this._settledAt(t._state,e,t._result);else if("function"!=typeof r)this._remaining--,this._result[e]=t;else if(n===F){var o=new n(m);E(o,t,r),this._willSettleAt(o,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(i(t),e)},D.prototype._settledAt=function(t,e,n){var i=this.promise;i._state===ot&&(this._remaining--,t===ut?k(i,n):this._result[e]=n),0===this._remaining&&T(i,this._result)},D.prototype._willSettleAt=function(t,e){var n=this;x(t,void 0,function(t){return n._settledAt(st,e,t)},function(t){return n._settledAt(ut,e,t)})},F.all=q,F.race=B,F.resolve=v,F.reject=U,F._setScheduler=o,F._setAsap=s,F._asap=V,F.prototype={constructor:F,then:d,catch:function(t){return this.then(null,t)}},F.polyfill=Y,F.Promise=F,F})}).call(e,n(2),function(){return this}())},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function r(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function s(){v&&h&&(v=!1,h.length?d=h.concat(d):m=-1,d.length&&u())}function u(){if(!v){var t=r(s);v=!0;for(var e=d.length;e;){for(h=d,d=[];++m<e;)h&&h[m].run();m=-1,e=d.length}h=null,v=!1,o(t)}}function c(t,e){this.fun=t,this.array=e}function a(){}var l,f,p=t.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{f="function"==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var h,d=[],v=!1,m=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];d.push(new c(t,e)),1!==d.length||v||r(u)},c.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=a,p.addListener=a,p.once=a,p.off=a,p.removeListener=a,p.removeAllListeners=a,p.emit=a,p.binding=function(t){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(t){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(t,e){"use strict";var n=function(){function t(){}return t.prototype.render=function(){return'<input type="text" />'},t}();e.InputComponent=n},function(t,e){"use strict";var n=function(){function t(){this.listElementSelector="ul"}return t.prototype.render=function(){return"<"+this.listElementSelector+"></"+this.listElementSelector+">"},t.prototype.renderOption=function(t){return"<li>\n "+t.text+"\n </li>"},t}();e.OptionsComponent=n},function(t,e){"use strict";var n=function(){function t(){}return t.throwErrorInConsole=function(t){console.error(t)},t}();e.Utils=n},function(t,e){}])}); | ||
!function(e,n){t.exports=n()}(this,function(){"use strict";function t(t){return"function"==typeof t||"object"==typeof t&&null!==t}function o(t){return"function"==typeof t}function r(t){J=t}function s(t){Q=t}function u(){return function(){return e.nextTick(f)}}function c(){return"undefined"!=typeof X?function(){X(f)}:p()}function a(){var t=0,e=new $(f),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function l(){var t=new MessageChannel;return t.port1.onmessage=f,function(){return t.port2.postMessage(0)}}function p(){var t=setTimeout;return function(){return t(f,1)}}function f(){for(var t=0;t<K;t+=2){var e=nt[t],n=nt[t+1];e(n),nt[t]=void 0,nt[t+1]=void 0}K=0}function h(){try{var t=n(6);return X=t.runOnLoop||t.runOnContext,c()}catch(t){return p()}}function d(t,e){var n=arguments,i=this,o=new this.constructor(v);void 0===o[ot]&&q(o);var r=i._state;return r?!function(){var t=n[r-1];Q(function(){return L(r,o,t,i._result)})}():T(i,o,t,e),o}function m(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(v);return x(n,t),n}function v(){}function y(){return new TypeError("You cannot resolve a promise with itself")}function g(){return new TypeError("A promises callback cannot return that same promise.")}function w(t){try{return t.then}catch(t){return ct.error=t,ct}}function b(t,e,n,i){try{t.call(e,n,i)}catch(t){return t}}function _(t,e,n){Q(function(t){var i=!1,o=b(n,e,function(n){i||(i=!0,e!==n?x(t,n):O(t,n))},function(e){i||(i=!0,S(t,e))},"Settle: "+(t._label||" unknown promise"));!i&&o&&(i=!0,S(t,o))},t)}function C(t,e){e._state===st?O(t,e._result):e._state===ut?S(t,e._result):T(e,void 0,function(e){return x(t,e)},function(e){return S(t,e)})}function E(t,e,n){e.constructor===t.constructor&&n===d&&e.constructor.resolve===m?C(t,e):n===ct?S(t,ct.error):void 0===n?O(t,e):o(n)?_(t,e,n):O(t,e)}function x(e,n){e===n?S(e,y()):t(n)?E(e,n,w(n)):O(e,n)}function k(t){t._onerror&&t._onerror(t._result),A(t)}function O(t,e){t._state===rt&&(t._result=e,t._state=st,0!==t._subscribers.length&&Q(A,t))}function S(t,e){t._state===rt&&(t._state=ut,t._result=e,Q(k,t))}function T(t,e,n,i){var o=t._subscribers,r=o.length;t._onerror=null,o[r]=e,o[r+st]=n,o[r+ut]=i,0===r&&t._state&&Q(A,t)}function A(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var i=void 0,o=void 0,r=t._result,s=0;s<e.length;s+=3)i=e[s],o=e[s+n],i?L(n,i,o,r):o(r);t._subscribers.length=0}}function I(){this.error=null}function H(t,e){try{return t(e)}catch(t){return at.error=t,at}}function L(t,e,n,i){var r=o(n),s=void 0,u=void 0,c=void 0,a=void 0;if(r){if(s=H(n,i),s===at?(a=!0,u=s.error,s=null):c=!0,e===s)return void S(e,g())}else s=i,c=!0;e._state!==rt||(r&&c?x(e,s):a?S(e,u):t===st?O(e,s):t===ut&&S(e,s))}function M(t,e){try{e(function(e){x(t,e)},function(e){S(t,e)})}catch(e){S(t,e)}}function j(){return lt++}function q(t){t[ot]=lt++,t._state=void 0,t._result=void 0,t._subscribers=[]}function z(t,e){this._instanceConstructor=t,this.promise=new t(v),this.promise[ot]||q(this.promise),G(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?O(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&O(this.promise,this._result))):S(this.promise,D())}function D(){return new Error("Array Methods must be provided an Array")}function P(t){return new z(this,t).promise}function B(t){var e=this;return new e(G(t)?function(n,i){for(var o=t.length,r=0;r<o;r++)e.resolve(t[r]).then(n,i)}:function(t,e){return e(new TypeError("You must pass an array to race."))})}function R(t){var e=this,n=new e(v);return S(n,t),n}function U(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function N(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function F(t){this[ot]=j(),this._result=this._state=void 0,this._subscribers=[],v!==t&&("function"!=typeof t&&U(),this instanceof F?M(this,t):N())}function Y(){var t=void 0;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===n&&!e.cast)return}t.Promise=F}var W=void 0;W=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var G=W,K=0,X=void 0,J=void 0,Q=function(t,e){nt[K]=t,nt[K+1]=e,K+=2,2===K&&(J?J(f):it())},V="undefined"!=typeof window?window:void 0,Z=V||{},$=Z.MutationObserver||Z.WebKitMutationObserver,tt="undefined"==typeof self&&"undefined"!=typeof e&&"[object process]"==={}.toString.call(e),et="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,nt=new Array(1e3),it=void 0;it=tt?u():$?a():et?l():void 0===V?h():p();var ot=Math.random().toString(36).substring(16),rt=void 0,st=1,ut=2,ct=new I,at=new I,lt=0;return z.prototype._enumerate=function(){for(var t=this.length,e=this._input,n=0;this._state===rt&&n<t;n++)this._eachEntry(e[n],n)},z.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,i=n.resolve;if(i===m){var o=w(t);if(o===d&&t._state!==rt)this._settledAt(t._state,e,t._result);else if("function"!=typeof o)this._remaining--,this._result[e]=t;else if(n===F){var r=new n(v);E(r,t,o),this._willSettleAt(r,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(i(t),e)},z.prototype._settledAt=function(t,e,n){var i=this.promise;i._state===rt&&(this._remaining--,t===ut?S(i,n):this._result[e]=n),0===this._remaining&&O(i,this._result)},z.prototype._willSettleAt=function(t,e){var n=this;T(t,void 0,function(t){return n._settledAt(st,e,t)},function(t){return n._settledAt(ut,e,t)})},F.all=P,F.race=B,F.resolve=m,F.reject=R,F._setScheduler=r,F._setAsap=s,F._asap=Q,F.prototype={constructor:F,then:d,catch:function(t){return this.then(null,t)}},F.polyfill=Y,F.Promise=F,F})}).call(e,n(2),function(){return this}())},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function o(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function r(t){if(p===clearTimeout)return clearTimeout(t);if((p===i||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(t);try{return p(t)}catch(e){try{return p.call(null,t)}catch(e){return p.call(this,t)}}}function s(){m&&h&&(m=!1,h.length?d=h.concat(d):v=-1,d.length&&u())}function u(){if(!m){var t=o(s);m=!0;for(var e=d.length;e;){for(h=d,d=[];++v<e;)h&&h[v].run();v=-1,e=d.length}h=null,m=!1,r(t)}}function c(t,e){this.fun=t,this.array=e}function a(){}var l,p,f=t.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{p="function"==typeof clearTimeout?clearTimeout:i}catch(t){p=i}}();var h,d=[],m=!1,v=-1;f.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];d.push(new c(t,e)),1!==d.length||m||o(u)},c.prototype.run=function(){this.fun.apply(null,this.array)},f.title="browser",f.browser=!0,f.env={},f.argv=[],f.version="",f.versions={},f.on=a,f.addListener=a,f.once=a,f.off=a,f.removeListener=a,f.removeAllListeners=a,f.emit=a,f.binding=function(t){throw new Error("process.binding is not supported")},f.cwd=function(){return"/"},f.chdir=function(t){throw new Error("process.chdir is not supported")},f.umask=function(){return 0}},function(t,e){"use strict";var n=function(){function t(){}return t.prototype.render=function(){return'<input class="infinite-autocomplete-default-input" type="text" />'},t}();e.InputComponent=n},function(t,e){"use strict";var n=function(){function t(){this.listElementSelector="ul"}return t.prototype.render=function(){return"<"+this.listElementSelector+' class="infinite-autocomplete-default-options"></'+this.listElementSelector+">"},t.prototype.renderOption=function(t){return"<li>\n "+t.text+"\n </li>"},t}();e.OptionsComponent=n},function(t,e){"use strict";var n=function(){function t(){}return t.throwErrorInConsole=function(t){console.error(t)},t}();e.Utils=n},function(t,e){}])}); |
{ | ||
"name": "infinite-autocomplete", | ||
"version": "2.0.0-rc", | ||
"version": "2.0.0-rc2", | ||
"description": "lightweight-infinite-autocomplete", | ||
@@ -23,4 +23,5 @@ "main": "./dist/index.js", | ||
"dist/", | ||
"src/Interfaces" | ||
"infinite-autocomplete.d.ts" | ||
], | ||
"typings": "infinite-autocomplete.d.ts", | ||
"keywords": [ | ||
@@ -27,0 +28,0 @@ "infinite-autocomplete", |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
169836
1933
1
7