UNPKG

manuel

Version:

A super customizable VDOM autocomplete with *production ready* defaults.

2 lines (1 loc) 4.12 kB
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).manuel=e()}}(function(){return function e(n,t,o){function r(u,s){if(!t[u]){if(!n[u]){var a="function"==typeof require&&require;if(!s&&a)return a(u,!0);if(i)return i(u,!0);var d=new Error("Cannot find module '"+u+"'");throw d.code="MODULE_NOT_FOUND",d}var f=t[u]={exports:{}};n[u][0].call(f.exports,function(e){var t=n[u][1][e];return r(t||e)},f,f.exports,e,n,t,o)}return t[u].exports}for(var i="function"==typeof require&&require,u=0;u<o.length;u++)r(o[u]);return r}({1:[function(e,n,t){function o(e,n){return!e.trim().length||RegExp(r(e.trim()),"i").test(n)}function r(e){return e.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")}function i(e,n){return e.length!==n.length?e.length-n.length:e<n?-1:1}var u={submit:function(e,n){return 13==e&&n?[n]:[]},dismiss:function(e){return 27==e?[!0]:[]},navigate:function(e,n,t,o){var r=t.indexOf(n),i=-1==r,u=t.length-1,s=r>=-1,a=r+1,d=r-1;return!e||38!=o&&40!=o?[]:38!=o||!i&&0!=r?38==o&&s?[t[d]]:40!=o||!i&&r!=u?40==o&&s?[t[a]]:[]:[t[0]]:[t[u]]}};n.exports=function(e){var n=e.hyperscript,t=e.get,r=e.set;return function(e,s){var a=s||{},d=e.list,f=e.input,c=e.chosen,l=e.open,m=e.highlighted,p=t(f),v=void 0!==a.minChars?a.minChars:2,g=void 0!==a.maxItems?a.maxItems:10,h=void 0!==a.sort?a.sort:i,b=void 0!==a.filter?a.filter:o,y=void 0!==a.filteredList?a.filteredList:t(d).filter(function(e){return b(p,e)}).sort(h||i).slice(0,g),k={filteredList:y,showingDrawer:void 0!==a.showingDrawer?a.showingDrawer:t(l)&&p.length>=v&&y.length>0,choose:void 0!==a.choose?a.choose:function(e){r(c,e),r(f,e),k.close()},clickItem:void 0!==a.clickItem?a.clickItem:function(e){return k.choose(e)},PATTERN_INPUT:void 0!==a.PATTERN_INPUT?a.PATTERN_INPUT:p?new RegExp(p,"gi"):null,mark:void 0!==a.mark?a.mark:function(e){var t=null!=k.PATTERN_INPUT?e.match(k.PATTERN_INPUT):null,o=null!=t?t.reduce(function(e,t){var o=e.buffer.indexOf(t);return{buffer:e.buffer.slice(o+t.length),output:e.output.concat(0===o?[]:e.buffer.slice(0,o),[n("mark",e.buffer.slice(o,o+t.length))])}},{buffer:e,output:[]}):{output:e,buffer:""};return o.output.concat(o.buffer||[])},oninput:void 0!==a.oninput?a.oninput:function(e){var n=e.currentTarget.value;r(f,n),t(l)||r(l,!0),t(c)!=n&&r(c,null)},onfocus:void 0!==a.onfocus?a.onfocus:function(){t(l)||r(l,!0)},close:void 0!==a.close?a.close:function(){t(l)&&r(l,!1)},onblur:void 0!==a.onblur?a.onblur:function(){k.close()},renderInput:void 0!==a.renderInput?a.renderInput:function(){return n("input",{value:p,oninput:k.oninput,onfocus:k.onfocus,onblur:k.onblur})},itemClassNames:void 0!==a.itemClassNames?a.itemClassNames:function(e){return e==t(m)?"highlight":""},renderItem:void 0!==a.renderItem?a.renderItem:function(e,t){return n("li",{className:t.itemClassNames(e,t),onmousedown:function(n){t.clickItem(e),n.stopPropagation()}},t.mark(e))},renderItems:void 0!==a.renderItems?a.renderItems:function(e){return n("ul",e.filteredList.map(function(n){return e.renderItem(n,e)}))},classNames:void 0!==a.classNames?a.classNames:function(){return["manuel-complete"].concat(k.showingDrawer?["open"]:[],p.length>0?["not-empty"]:[],t(d).length>0?["loaded"]:[]).join(" ")},renderRoot:void 0!==a.renderRoot?a.renderRoot:function(e){return n("div",{className:e.classNames(),onkeydown:e.onkeydown},e.renderInput(e),e.renderItems(e))},keyboardSubmit:void 0!==a.keyboardSubmit?a.keyboardSubmit:u.submit,keyboardDismiss:void 0!==a.keyboardDismiss?a.keyboardDismiss:u.dismiss,keyboardNavigate:void 0!==a.keyboardNavigate?a.keyboardNavigate:u.navigate,onkeydown:void 0!==a.onkeydown?a.onkeydown:function(e){var n=k.keyboardSubmit(e.keyCode,t(m)),o=k.keyboardDismiss(e.keyCode),i=k.keyboardNavigate(k.showingDrawer,t(m),k.filteredList,e.keyCode);n.map(k.choose),i.map(function(e){return r(m,e)}),o.map(k.close),[].concat(n,o,i).slice(0,1).map(function(){return e.preventDefault(),null})}};return k.renderRoot(k)}}},{}]},{},[1])(1)});