Socket
Socket
Sign inDemoInstall

dropkit

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dropkit - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

dist/index.modern.js

2

dist/index.es.js

@@ -1,2 +0,2 @@

import{useMemo as e,useRef as n,useState as t,useCallback as o,useEffect as r,useLayoutEffect as i}from"react";var u=10;function c(c){var l=c.items,s=c.onSelect,a=c.onOpen,f=c.onDismiss,d=e(function(){return(u++).toString(36)},[]),v=n(null),p=n(null),m=n(!1),g=t(!1),O=g[0],h=g[1],b=o(function(e){h(e),e&&a&&a(),!e&&f&&f()},[h]),y=t(0),S=y[0],k=y[1],C=Math.min(S,l.length-1),B=o(function(e){k(Math.min(e,C))},[C]),j=e(function(){return l.map(function(e,n){var t=d+"-item-"+e.value;return Object.assign({},e,{id:t,selected:!1,highlighted:C===n,getItemProps:function(o){return void 0===o&&(o={}),Object.assign({},o,{id:t,onClick:function(t){e.disabled||(s&&s(e),o.onClick&&o.onClick(t),k(n<l.length?n:0))}})}})})},[l,s,C,k]),x=j.filter(function(e){return e.highlighted})[0];return r(function(){function e(e){var n=e.keyCode,t=v.current;if(t){var o=38===n,r=40===n,i=13===n,u=32===n,c=27===n;if(document.activeElement===t&&(O||!o&&!r||b(!0),u&&b(!O)),O){var a=l.length-1,f=o?S-1:S+1;o||r?(e.preventDefault(),k(f>a?0:f<0?a:f)):i&&O?s&&l[C]&&s(l[C]):c&&b(!1)}}}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[S,l,O,v,s]),r(function(){function e(e){var n=p.current,t=v.current;n&&t&&e.target!==n&&e.target!==t&&!n.contains(e.target)&&!t.contains(e.target)&&b(!1)}return O&&document.addEventListener("click",e),function(){document.removeEventListener("click",e)}},[O,p]),r(function(){function e(){m.current=!0}function n(){m.current=!1}return document.addEventListener("mousedown",e),document.addEventListener("mouseup",n),function(){document.removeEventListener("mousedown",e),document.removeEventListener("mouseup",n)}},[]),"function"==typeof HTMLElement.prototype.scroll&&i(function(){if(O){var e=p.current,n=x?document.getElementById(x.id):null;if(e&&n){var t=e.getBoundingClientRect(),o=t.top,r=t.bottom,i=e.scrollTop,u=n.getBoundingClientRect(),c=u.top,l=u.bottom,s=l<=o;(s||c+(l-c)>r)&&e.scroll(0,i+(s?o-c:l-r)*(s?-1:1))}}},[O,p,x]),{id:d,isOpen:O,isOpenSet:b,items:j,highlightedIndex:S,highlightedIndexSet:B,getControlProps:function(e){return void 0===e&&(e={}),Object.assign({},e,{ref:v,id:d,role:"listbox","aria-controls":d+"-drop","aria-haspopup":"listbox","aria-expanded":O,onBlur:function(){m.current||b(!1)},onClick:function(e){e.clientX+e.clientY>0&&b(!O)}})},getDropProps:function(e){return void 0===e&&(e={}),Object.assign({},e,{ref:p,id:d+"-drop",role:"listbox"})}}}function l(e,n){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===n.indexOf(o)&&(t[o]=e[o]);return t}function s(e){var o=e.items,i=e.multiple;void 0===i&&(i=!1);var u=e.onSelect,s=e.onRemove,a=l(e,["items","multiple","onSelect","onRemove"]),f=n(""),d=t(o.filter(function(e){return e.selected})),v=d[0],p=d[1],m=c(Object.assign({},a,{items:o,onSelect:function(e){Boolean(v.filter(function(n){return n.value===e.value})[0])?(p(i?v.filter(function(n){return n.value!==e.value}):[]),s&&s(e)):(p(i?v.concat(e):[e]),u&&u(e)),i||O(!1)}})),g=m.isOpen,O=m.isOpenSet,h=m.items,b=m.highlightedIndexSet,y=l(m,["isOpen","isOpenSet","items","highlightedIndexSet"]);return r(function(){function e(e){var n=e.keyCode;if(n>=65&&n<=90||n>=48&&n<=57){f.current=f.current+e.key;for(var t=0;t<o.length;t++)if(o[t].label.toLowerCase().indexOf(f.current)>-1){b(t);break}}else f.current=""}return g&&document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[g,o,f]),Object.assign({},y,{isOpen:g,isOpenSet:O,items:h.map(function(e){return Object.assign({},e,{selected:Boolean(v.filter(function(n){return n.value===e.value})[0])})}),clear:function(){p([])}})}function a(e,n){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===n.indexOf(o)&&(t[o]=e[o]);return t}function f(e){var n=e.items,o=e.multiple;void 0===o&&(o=!1);var r=e.onSelect,i=e.onRemove,u=a(e,["items","multiple","onSelect","onRemove"]),l=t(n.filter(function(e){return e.selected})),s=l[0],f=l[1],d=c(Object.assign({},u,{items:n,onSelect:function(e){Boolean(s.filter(function(n){return n.value===e.value})[0])?(f(o?s.filter(function(n){return n.value!==e.value}):[]),i&&i(e)):(f(o?s.concat(e):[e]),r&&r(e)),o||p(!1)}})),v=d.isOpen,p=d.isOpenSet,m=d.items,g=d.getControlProps,O=d.getDropProps,h=a(d,["isOpen","isOpenSet","items","getControlProps","getDropProps"]);return Object.assign({},h,{isOpen:v,isOpenSet:p,items:m.map(function(e){return Object.assign({},e,{selected:Boolean(s.filter(function(n){return n.value===e.value})[0])})}),getInputProps:function(e){var n=e.onBlur,t=a(e,["onBlur"]),o=g();return delete o.onClick,Object.assign({},o,t,{role:"combobox",onKeyUp:function(e){var n=e.target;27!==e.keyCode?13!==e.keyCode&&Boolean(n.value)&&!v&&p(!0):n.blur()},onBlur:function(e){o.onBlur&&o.onBlur(e),n&&n(e)}})},getDropProps:O,clear:function(){f([])}})}var d="undefined"==typeof navigator||/iPad|iPhone|Android/i.test(navigator.userAgent);export{d as useNative,c as useDrop,s as useSelect,f as useCombobox};
import{useMemo as e,useRef as n,useState as t,useCallback as o,useEffect as r,useLayoutEffect as i}from"react";function u(){return(u=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e}).apply(this,arguments)}function c(e,n){if(null==e)return{};var t,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n.indexOf(t=i[o])>=0||(r[t]=e[t]);return r}var l=10;function a(c){var a=c.items,f=c.onSelect,s=c.onOpen,d=c.onDismiss,v=e(function(){return(l++).toString(36)},[]),p=n(null),m=n(null),g=n(!1),h=t(!1),O=h[0],k=h[1],y=o(function(e){k(e),e&&s&&s(),!e&&d&&d()},[k]),S=t(0),C=S[0],b=S[1],B=Math.min(C,a.length-1),E=o(function(e){b(Math.min(e,B))},[B]),x=e(function(){return a.map(function(e,n){var t=v+"-item-"+e.value;return u({},e,{id:t,selected:!1,highlighted:B===n,getItemProps:function(o){return void 0===o&&(o={}),u({},o,{id:t,onClick:function(t){e.disabled||(f&&f(e),o.onClick&&o.onClick(t),b(n<a.length?n:0))}})}})})},[a,f,B,b]),L=x.filter(function(e){return e.highlighted})[0];return r(function(){function e(e){var n=e.keyCode,t=p.current;if(t){var o=38===n,r=40===n,i=13===n,u=32===n,c=27===n;if(document.activeElement===t&&(O||!o&&!r||y(!0),u&&y(!O)),O){var l=a.length-1,s=o?C-1:C+1;o||r?(e.preventDefault(),b(s>l?0:s<0?l:s)):i&&O?f&&a[B]&&f(a[B]):c&&y(!1)}}}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[C,a,O,p,f]),r(function(){function e(e){var n=m.current,t=p.current;n&&t&&e.target!==n&&e.target!==t&&!n.contains(e.target)&&!t.contains(e.target)&&y(!1)}return O&&document.addEventListener("click",e),function(){document.removeEventListener("click",e)}},[O,m]),r(function(){function e(){g.current=!0}function n(){g.current=!1}return document.addEventListener("mousedown",e),document.addEventListener("mouseup",n),function(){document.removeEventListener("mousedown",e),document.removeEventListener("mouseup",n)}},[]),i(function(){if("function"==typeof HTMLElement.prototype.scroll&&O){var e=m.current,n=L?document.getElementById(L.id):null;if(e&&n){var t=e.getBoundingClientRect(),o=t.top,r=t.bottom,i=e.scrollTop,u=n.getBoundingClientRect(),c=u.top,l=u.bottom,a=l<=o;(a||c+(l-c)>r)&&e.scroll(0,i+(a?o-c:l-r)*(a?-1:1))}}},[O,m,L]),{id:v,isOpen:O,isOpenSet:y,items:x,highlightedIndex:C,highlightedIndexSet:E,getControlProps:function(e){return void 0===e&&(e={}),u({},e,{ref:p,id:v,role:"listbox","aria-controls":v+"-drop","aria-haspopup":"listbox","aria-expanded":O,onBlur:function(){g.current||y(!1)},onClick:function(e){e.clientX+e.clientY>0&&y(!O)}})},getDropProps:function(e){return void 0===e&&(e={}),u({},e,{ref:m,id:v+"-drop",role:"listbox"})}}}function f(e){var o=e.items,i=e.multiple,l=void 0!==i&&i,f=e.onSelect,s=e.onRemove,d=c(e,["items","multiple","onSelect","onRemove"]),v=n(""),p=t(o.filter(function(e){return e.selected})),m=p[0],g=p[1],h=a(u({},d,{items:o,onSelect:function(e){Boolean(m.filter(function(n){return n.value===e.value})[0])?(g(l?m.filter(function(n){return n.value!==e.value}):[]),s&&s(e)):(g(l?m.concat(e):[e]),f&&f(e)),l||k(!1)}})),O=h.isOpen,k=h.isOpenSet,y=h.items,S=h.highlightedIndexSet,C=c(h,["isOpen","isOpenSet","items","highlightedIndexSet"]);return r(function(){function e(e){var n=e.keyCode;if(n>=65&&n<=90||n>=48&&n<=57){v.current=v.current+e.key;for(var t=0;t<o.length;t++)if(o[t].label.toLowerCase().indexOf(v.current)>-1){S(t);break}}else v.current=""}return O&&document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[O,o,v]),u({},C,{isOpen:O,isOpenSet:k,items:y.map(function(e){return u({},e,{selected:Boolean(m.filter(function(n){return n.value===e.value})[0])})}),clear:function(){g([])}})}function s(e){var n=e.items,o=e.multiple,r=void 0!==o&&o,i=e.onSelect,l=e.onRemove,f=c(e,["items","multiple","onSelect","onRemove"]),s=t(n.filter(function(e){return e.selected})),d=s[0],v=s[1],p=a(u({},f,{items:n,onSelect:function(e){Boolean(d.filter(function(n){return n.value===e.value})[0])?(v(r?d.filter(function(n){return n.value!==e.value}):[]),l&&l(e)):(v(r?d.concat(e):[e]),i&&i(e)),r||g(!1)}})),m=p.isOpen,g=p.isOpenSet,h=p.items,O=p.getControlProps,k=p.getDropProps;return u({},c(p,["isOpen","isOpenSet","items","getControlProps","getDropProps"]),{isOpen:m,isOpenSet:g,items:h.map(function(e){return u({},e,{selected:Boolean(d.filter(function(n){return n.value===e.value})[0])})}),getInputProps:function(e){var n=e.onBlur,t=c(e,["onBlur"]),o=O();return delete o.onClick,u({},o,t,{role:"combobox",onKeyUp:function(e){var n=e.target;27!==e.keyCode?13!==e.keyCode&&Boolean(n.value)&&!m&&g(!0):n.blur()},onBlur:function(e){o.onBlur&&o.onBlur(e),n&&n(e)}})},getDropProps:k,clear:function(){v([])}})}var d="undefined"==typeof navigator||/iPad|iPhone|Android/i.test(navigator.userAgent);export{s as useCombobox,a as useDrop,d as useNative,f as useSelect};
//# sourceMappingURL=index.es.js.map

@@ -1,2 +0,2 @@

var e=require("react"),t=10;function n(n){var o=n.items,r=n.onSelect,i=n.onOpen,u=n.onDismiss,c=e.useMemo(function(){return(t++).toString(36)},[]),s=e.useRef(null),l=e.useRef(null),a=e.useRef(!1),f=e.useState(!1),d=f[0],v=f[1],p=e.useCallback(function(e){v(e),e&&i&&i(),!e&&u&&u()},[v]),m=e.useState(0),g=m[0],O=m[1],b=Math.min(g,o.length-1),h=e.useCallback(function(e){O(Math.min(e,b))},[b]),S=e.useMemo(function(){return o.map(function(e,t){var n=c+"-item-"+e.value;return Object.assign({},e,{id:n,selected:!1,highlighted:b===t,getItemProps:function(i){return void 0===i&&(i={}),Object.assign({},i,{id:n,onClick:function(n){e.disabled||(r&&r(e),i.onClick&&i.onClick(n),O(t<o.length?t:0))}})}})})},[o,r,b,O]),k=S.filter(function(e){return e.highlighted})[0];return e.useEffect(function(){function e(e){var t=e.keyCode,n=s.current;if(n){var i=38===t,u=40===t,c=13===t,l=32===t,a=27===t;if(document.activeElement===n&&(d||!i&&!u||p(!0),l&&p(!d)),d){var f=o.length-1,v=i?g-1:g+1;i||u?(e.preventDefault(),O(v>f?0:v<0?f:v)):c&&d?r&&o[b]&&r(o[b]):a&&p(!1)}}}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[g,o,d,s,r]),e.useEffect(function(){function e(e){var t=l.current,n=s.current;t&&n&&e.target!==t&&e.target!==n&&!t.contains(e.target)&&!n.contains(e.target)&&p(!1)}return d&&document.addEventListener("click",e),function(){document.removeEventListener("click",e)}},[d,l]),e.useEffect(function(){function e(){a.current=!0}function t(){a.current=!1}return document.addEventListener("mousedown",e),document.addEventListener("mouseup",t),function(){document.removeEventListener("mousedown",e),document.removeEventListener("mouseup",t)}},[]),"function"==typeof HTMLElement.prototype.scroll&&e.useLayoutEffect(function(){if(d){var e=l.current,t=k?document.getElementById(k.id):null;if(e&&t){var n=e.getBoundingClientRect(),o=n.top,r=n.bottom,i=e.scrollTop,u=t.getBoundingClientRect(),c=u.top,s=u.bottom,a=s<=o;(a||c+(s-c)>r)&&e.scroll(0,i+(a?o-c:s-r)*(a?-1:1))}}},[d,l,k]),{id:c,isOpen:d,isOpenSet:p,items:S,highlightedIndex:g,highlightedIndexSet:h,getControlProps:function(e){return void 0===e&&(e={}),Object.assign({},e,{ref:s,id:c,role:"listbox","aria-controls":c+"-drop","aria-haspopup":"listbox","aria-expanded":d,onBlur:function(){a.current||p(!1)},onClick:function(e){e.clientX+e.clientY>0&&p(!d)}})},getDropProps:function(e){return void 0===e&&(e={}),Object.assign({},e,{ref:l,id:c+"-drop",role:"listbox"})}}}function o(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===t.indexOf(o)&&(n[o]=e[o]);return n}function r(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===t.indexOf(o)&&(n[o]=e[o]);return n}var i="undefined"==typeof navigator||/iPad|iPhone|Android/i.test(navigator.userAgent);exports.useNative=i,exports.useDrop=n,exports.useSelect=function(t){var r=t.items,i=t.multiple;void 0===i&&(i=!1);var u=t.onSelect,c=t.onRemove,s=o(t,["items","multiple","onSelect","onRemove"]),l=e.useRef(""),a=e.useState(r.filter(function(e){return e.selected})),f=a[0],d=a[1],v=n(Object.assign({},s,{items:r,onSelect:function(e){Boolean(f.filter(function(t){return t.value===e.value})[0])?(d(i?f.filter(function(t){return t.value!==e.value}):[]),c&&c(e)):(d(i?f.concat(e):[e]),u&&u(e)),i||m(!1)}})),p=v.isOpen,m=v.isOpenSet,g=v.items,O=v.highlightedIndexSet,b=o(v,["isOpen","isOpenSet","items","highlightedIndexSet"]);return e.useEffect(function(){function e(e){var t=e.keyCode;if(t>=65&&t<=90||t>=48&&t<=57){l.current=l.current+e.key;for(var n=0;n<r.length;n++)if(r[n].label.toLowerCase().indexOf(l.current)>-1){O(n);break}}else l.current=""}return p&&document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[p,r,l]),Object.assign({},b,{isOpen:p,isOpenSet:m,items:g.map(function(e){return Object.assign({},e,{selected:Boolean(f.filter(function(t){return t.value===e.value})[0])})}),clear:function(){d([])}})},exports.useCombobox=function(t){var o=t.items,i=t.multiple;void 0===i&&(i=!1);var u=t.onSelect,c=t.onRemove,s=r(t,["items","multiple","onSelect","onRemove"]),l=e.useState(o.filter(function(e){return e.selected})),a=l[0],f=l[1],d=n(Object.assign({},s,{items:o,onSelect:function(e){Boolean(a.filter(function(t){return t.value===e.value})[0])?(f(i?a.filter(function(t){return t.value!==e.value}):[]),c&&c(e)):(f(i?a.concat(e):[e]),u&&u(e)),i||p(!1)}})),v=d.isOpen,p=d.isOpenSet,m=d.items,g=d.getControlProps,O=d.getDropProps,b=r(d,["isOpen","isOpenSet","items","getControlProps","getDropProps"]);return Object.assign({},b,{isOpen:v,isOpenSet:p,items:m.map(function(e){return Object.assign({},e,{selected:Boolean(a.filter(function(t){return t.value===e.value})[0])})}),getInputProps:function(e){var t=e.onBlur,n=r(e,["onBlur"]),o=g();return delete o.onClick,Object.assign({},o,n,{role:"combobox",onKeyUp:function(e){var t=e.target;27!==e.keyCode?13!==e.keyCode&&Boolean(t.value)&&!v&&p(!0):t.blur()},onBlur:function(e){o.onBlur&&o.onBlur(e),t&&t(e)}})},getDropProps:O,clear:function(){f([])}})};
var e=require("react");function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function n(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(n=i[o])>=0||(r[n]=e[n]);return r}var o=10;function r(n){var r=n.items,i=n.onSelect,u=n.onOpen,c=n.onDismiss,l=e.useMemo(function(){return(o++).toString(36)},[]),s=e.useRef(null),a=e.useRef(null),f=e.useRef(!1),d=e.useState(!1),v=d[0],p=d[1],m=e.useCallback(function(e){p(e),e&&u&&u(),!e&&c&&c()},[p]),g=e.useState(0),h=g[0],S=g[1],O=Math.min(h,r.length-1),k=e.useCallback(function(e){S(Math.min(e,O))},[O]),y=e.useMemo(function(){return r.map(function(e,n){var o=l+"-item-"+e.value;return t({},e,{id:o,selected:!1,highlighted:O===n,getItemProps:function(u){return void 0===u&&(u={}),t({},u,{id:o,onClick:function(t){e.disabled||(i&&i(e),u.onClick&&u.onClick(t),S(n<r.length?n:0))}})}})})},[r,i,O,S]),b=y.filter(function(e){return e.highlighted})[0];return e.useEffect(function(){function e(e){var t=e.keyCode,n=s.current;if(n){var o=38===t,u=40===t,c=13===t,l=32===t,a=27===t;if(document.activeElement===n&&(v||!o&&!u||m(!0),l&&m(!v)),v){var f=r.length-1,d=o?h-1:h+1;o||u?(e.preventDefault(),S(d>f?0:d<0?f:d)):c&&v?i&&r[O]&&i(r[O]):a&&m(!1)}}}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[h,r,v,s,i]),e.useEffect(function(){function e(e){var t=a.current,n=s.current;t&&n&&e.target!==t&&e.target!==n&&!t.contains(e.target)&&!n.contains(e.target)&&m(!1)}return v&&document.addEventListener("click",e),function(){document.removeEventListener("click",e)}},[v,a]),e.useEffect(function(){function e(){f.current=!0}function t(){f.current=!1}return document.addEventListener("mousedown",e),document.addEventListener("mouseup",t),function(){document.removeEventListener("mousedown",e),document.removeEventListener("mouseup",t)}},[]),e.useLayoutEffect(function(){if("function"==typeof HTMLElement.prototype.scroll&&v){var e=a.current,t=b?document.getElementById(b.id):null;if(e&&t){var n=e.getBoundingClientRect(),o=n.top,r=n.bottom,i=e.scrollTop,u=t.getBoundingClientRect(),c=u.top,l=u.bottom,s=l<=o;(s||c+(l-c)>r)&&e.scroll(0,i+(s?o-c:l-r)*(s?-1:1))}}},[v,a,b]),{id:l,isOpen:v,isOpenSet:m,items:y,highlightedIndex:h,highlightedIndexSet:k,getControlProps:function(e){return void 0===e&&(e={}),t({},e,{ref:s,id:l,role:"listbox","aria-controls":l+"-drop","aria-haspopup":"listbox","aria-expanded":v,onBlur:function(){f.current||m(!1)},onClick:function(e){e.clientX+e.clientY>0&&m(!v)}})},getDropProps:function(e){return void 0===e&&(e={}),t({},e,{ref:a,id:l+"-drop",role:"listbox"})}}}var i="undefined"==typeof navigator||/iPad|iPhone|Android/i.test(navigator.userAgent);exports.useCombobox=function(o){var i=o.items,u=o.multiple,c=void 0!==u&&u,l=o.onSelect,s=o.onRemove,a=n(o,["items","multiple","onSelect","onRemove"]),f=e.useState(i.filter(function(e){return e.selected})),d=f[0],v=f[1],p=r(t({},a,{items:i,onSelect:function(e){Boolean(d.filter(function(t){return t.value===e.value})[0])?(v(c?d.filter(function(t){return t.value!==e.value}):[]),s&&s(e)):(v(c?d.concat(e):[e]),l&&l(e)),c||g(!1)}})),m=p.isOpen,g=p.isOpenSet,h=p.items,S=p.getControlProps,O=p.getDropProps;return t({},n(p,["isOpen","isOpenSet","items","getControlProps","getDropProps"]),{isOpen:m,isOpenSet:g,items:h.map(function(e){return t({},e,{selected:Boolean(d.filter(function(t){return t.value===e.value})[0])})}),getInputProps:function(e){var o=e.onBlur,r=n(e,["onBlur"]),i=S();return delete i.onClick,t({},i,r,{role:"combobox",onKeyUp:function(e){var t=e.target;27!==e.keyCode?13!==e.keyCode&&Boolean(t.value)&&!m&&g(!0):t.blur()},onBlur:function(e){i.onBlur&&i.onBlur(e),o&&o(e)}})},getDropProps:O,clear:function(){v([])}})},exports.useDrop=r,exports.useNative=i,exports.useSelect=function(o){var i=o.items,u=o.multiple,c=void 0!==u&&u,l=o.onSelect,s=o.onRemove,a=n(o,["items","multiple","onSelect","onRemove"]),f=e.useRef(""),d=e.useState(i.filter(function(e){return e.selected})),v=d[0],p=d[1],m=r(t({},a,{items:i,onSelect:function(e){Boolean(v.filter(function(t){return t.value===e.value})[0])?(p(c?v.filter(function(t){return t.value!==e.value}):[]),s&&s(e)):(p(c?v.concat(e):[e]),l&&l(e)),c||h(!1)}})),g=m.isOpen,h=m.isOpenSet,S=m.items,O=m.highlightedIndexSet,k=n(m,["isOpen","isOpenSet","items","highlightedIndexSet"]);return e.useEffect(function(){function e(e){var t=e.keyCode;if(t>=65&&t<=90||t>=48&&t<=57){f.current=f.current+e.key;for(var n=0;n<i.length;n++)if(i[n].label.toLowerCase().indexOf(f.current)>-1){O(n);break}}else f.current=""}return g&&document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[g,i,f]),t({},k,{isOpen:g,isOpenSet:h,items:S.map(function(e){return t({},e,{selected:Boolean(v.filter(function(t){return t.value===e.value})[0])})}),clear:function(){p([])}})};
//# sourceMappingURL=index.js.map

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t(e.useDrop={},e.react)}(this,function(e,t){var n=10;function o(e){var o=e.items,r=e.onSelect,i=e.onOpen,u=e.onDismiss,c=t.useMemo(function(){return(n++).toString(36)},[]),s=t.useRef(null),l=t.useRef(null),a=t.useRef(!1),f=t.useState(!1),d=f[0],p=f[1],v=t.useCallback(function(e){p(e),e&&i&&i(),!e&&u&&u()},[p]),m=t.useState(0),g=m[0],O=m[1],b=Math.min(g,o.length-1),h=t.useCallback(function(e){O(Math.min(e,b))},[b]),S=t.useMemo(function(){return o.map(function(e,t){var n=c+"-item-"+e.value;return Object.assign({},e,{id:n,selected:!1,highlighted:b===t,getItemProps:function(i){return void 0===i&&(i={}),Object.assign({},i,{id:n,onClick:function(n){e.disabled||(r&&r(e),i.onClick&&i.onClick(n),O(t<o.length?t:0))}})}})})},[o,r,b,O]),y=S.filter(function(e){return e.highlighted})[0];return t.useEffect(function(){function e(e){var t=e.keyCode,n=s.current;if(n){var i=38===t,u=40===t,c=13===t,l=32===t,a=27===t;if(document.activeElement===n&&(d||!i&&!u||v(!0),l&&v(!d)),d){var f=o.length-1,p=i?g-1:g+1;i||u?(e.preventDefault(),O(p>f?0:p<0?f:p)):c&&d?r&&o[b]&&r(o[b]):a&&v(!1)}}}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[g,o,d,s,r]),t.useEffect(function(){function e(e){var t=l.current,n=s.current;t&&n&&e.target!==t&&e.target!==n&&!t.contains(e.target)&&!n.contains(e.target)&&v(!1)}return d&&document.addEventListener("click",e),function(){document.removeEventListener("click",e)}},[d,l]),t.useEffect(function(){function e(){a.current=!0}function t(){a.current=!1}return document.addEventListener("mousedown",e),document.addEventListener("mouseup",t),function(){document.removeEventListener("mousedown",e),document.removeEventListener("mouseup",t)}},[]),"function"==typeof HTMLElement.prototype.scroll&&t.useLayoutEffect(function(){if(d){var e=l.current,t=y?document.getElementById(y.id):null;if(e&&t){var n=e.getBoundingClientRect(),o=n.top,r=n.bottom,i=e.scrollTop,u=t.getBoundingClientRect(),c=u.top,s=u.bottom,a=s<=o;(a||c+(s-c)>r)&&e.scroll(0,i+(a?o-c:s-r)*(a?-1:1))}}},[d,l,y]),{id:c,isOpen:d,isOpenSet:v,items:S,highlightedIndex:g,highlightedIndexSet:h,getControlProps:function(e){return void 0===e&&(e={}),Object.assign({},e,{ref:s,id:c,role:"listbox","aria-controls":c+"-drop","aria-haspopup":"listbox","aria-expanded":d,onBlur:function(){a.current||v(!1)},onClick:function(e){e.clientX+e.clientY>0&&v(!d)}})},getDropProps:function(e){return void 0===e&&(e={}),Object.assign({},e,{ref:l,id:c+"-drop",role:"listbox"})}}}function r(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===t.indexOf(o)&&(n[o]=e[o]);return n}function i(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===t.indexOf(o)&&(n[o]=e[o]);return n}var u="undefined"==typeof navigator||/iPad|iPhone|Android/i.test(navigator.userAgent);e.useNative=u,e.useDrop=o,e.useSelect=function(e){var n=e.items,i=e.multiple;void 0===i&&(i=!1);var u=e.onSelect,c=e.onRemove,s=r(e,["items","multiple","onSelect","onRemove"]),l=t.useRef(""),a=t.useState(n.filter(function(e){return e.selected})),f=a[0],d=a[1],p=o(Object.assign({},s,{items:n,onSelect:function(e){Boolean(f.filter(function(t){return t.value===e.value})[0])?(d(i?f.filter(function(t){return t.value!==e.value}):[]),c&&c(e)):(d(i?f.concat(e):[e]),u&&u(e)),i||m(!1)}})),v=p.isOpen,m=p.isOpenSet,g=p.items,O=p.highlightedIndexSet,b=r(p,["isOpen","isOpenSet","items","highlightedIndexSet"]);return t.useEffect(function(){function e(e){var t=e.keyCode;if(t>=65&&t<=90||t>=48&&t<=57){l.current=l.current+e.key;for(var o=0;o<n.length;o++)if(n[o].label.toLowerCase().indexOf(l.current)>-1){O(o);break}}else l.current=""}return v&&document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[v,n,l]),Object.assign({},b,{isOpen:v,isOpenSet:m,items:g.map(function(e){return Object.assign({},e,{selected:Boolean(f.filter(function(t){return t.value===e.value})[0])})}),clear:function(){d([])}})},e.useCombobox=function(e){var n=e.items,r=e.multiple;void 0===r&&(r=!1);var u=e.onSelect,c=e.onRemove,s=i(e,["items","multiple","onSelect","onRemove"]),l=t.useState(n.filter(function(e){return e.selected})),a=l[0],f=l[1],d=o(Object.assign({},s,{items:n,onSelect:function(e){Boolean(a.filter(function(t){return t.value===e.value})[0])?(f(r?a.filter(function(t){return t.value!==e.value}):[]),c&&c(e)):(f(r?a.concat(e):[e]),u&&u(e)),r||v(!1)}})),p=d.isOpen,v=d.isOpenSet,m=d.items,g=d.getControlProps,O=d.getDropProps,b=i(d,["isOpen","isOpenSet","items","getControlProps","getDropProps"]);return Object.assign({},b,{isOpen:p,isOpenSet:v,items:m.map(function(e){return Object.assign({},e,{selected:Boolean(a.filter(function(t){return t.value===e.value})[0])})}),getInputProps:function(e){var t=e.onBlur,n=i(e,["onBlur"]),o=g();return delete o.onClick,Object.assign({},o,n,{role:"combobox",onKeyUp:function(e){var t=e.target;27!==e.keyCode?13!==e.keyCode&&Boolean(t.value)&&!p&&v(!0):t.blur()},onBlur:function(e){o.onBlur&&o.onBlur(e),t&&t(e)}})},getDropProps:O,clear:function(){f([])}})}});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).dropkit={},e.react)}(this,function(e,t){function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function o(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(n=i[o])>=0||(r[n]=e[n]);return r}var r=10;function i(e){var o=e.items,i=e.onSelect,u=e.onOpen,c=e.onDismiss,l=t.useMemo(function(){return(r++).toString(36)},[]),s=t.useRef(null),f=t.useRef(null),a=t.useRef(!1),d=t.useState(!1),p=d[0],v=d[1],m=t.useCallback(function(e){v(e),e&&u&&u(),!e&&c&&c()},[v]),g=t.useState(0),h=g[0],S=g[1],y=Math.min(h,o.length-1),k=t.useCallback(function(e){S(Math.min(e,y))},[y]),O=t.useMemo(function(){return o.map(function(e,t){var r=l+"-item-"+e.value;return n({},e,{id:r,selected:!1,highlighted:y===t,getItemProps:function(u){return void 0===u&&(u={}),n({},u,{id:r,onClick:function(n){e.disabled||(i&&i(e),u.onClick&&u.onClick(n),S(t<o.length?t:0))}})}})})},[o,i,y,S]),b=O.filter(function(e){return e.highlighted})[0];return t.useEffect(function(){function e(e){var t=e.keyCode,n=s.current;if(n){var r=38===t,u=40===t,c=13===t,l=32===t,f=27===t;if(document.activeElement===n&&(p||!r&&!u||m(!0),l&&m(!p)),p){var a=o.length-1,d=r?h-1:h+1;r||u?(e.preventDefault(),S(d>a?0:d<0?a:d)):c&&p?i&&o[y]&&i(o[y]):f&&m(!1)}}}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[h,o,p,s,i]),t.useEffect(function(){function e(e){var t=f.current,n=s.current;t&&n&&e.target!==t&&e.target!==n&&!t.contains(e.target)&&!n.contains(e.target)&&m(!1)}return p&&document.addEventListener("click",e),function(){document.removeEventListener("click",e)}},[p,f]),t.useEffect(function(){function e(){a.current=!0}function t(){a.current=!1}return document.addEventListener("mousedown",e),document.addEventListener("mouseup",t),function(){document.removeEventListener("mousedown",e),document.removeEventListener("mouseup",t)}},[]),t.useLayoutEffect(function(){if("function"==typeof HTMLElement.prototype.scroll&&p){var e=f.current,t=b?document.getElementById(b.id):null;if(e&&t){var n=e.getBoundingClientRect(),o=n.top,r=n.bottom,i=e.scrollTop,u=t.getBoundingClientRect(),c=u.top,l=u.bottom,s=l<=o;(s||c+(l-c)>r)&&e.scroll(0,i+(s?o-c:l-r)*(s?-1:1))}}},[p,f,b]),{id:l,isOpen:p,isOpenSet:m,items:O,highlightedIndex:h,highlightedIndexSet:k,getControlProps:function(e){return void 0===e&&(e={}),n({},e,{ref:s,id:l,role:"listbox","aria-controls":l+"-drop","aria-haspopup":"listbox","aria-expanded":p,onBlur:function(){a.current||m(!1)},onClick:function(e){e.clientX+e.clientY>0&&m(!p)}})},getDropProps:function(e){return void 0===e&&(e={}),n({},e,{ref:f,id:l+"-drop",role:"listbox"})}}}var u="undefined"==typeof navigator||/iPad|iPhone|Android/i.test(navigator.userAgent);e.useCombobox=function(e){var r=e.items,u=e.multiple,c=void 0!==u&&u,l=e.onSelect,s=e.onRemove,f=o(e,["items","multiple","onSelect","onRemove"]),a=t.useState(r.filter(function(e){return e.selected})),d=a[0],p=a[1],v=i(n({},f,{items:r,onSelect:function(e){Boolean(d.filter(function(t){return t.value===e.value})[0])?(p(c?d.filter(function(t){return t.value!==e.value}):[]),s&&s(e)):(p(c?d.concat(e):[e]),l&&l(e)),c||g(!1)}})),m=v.isOpen,g=v.isOpenSet,h=v.items,S=v.getControlProps,y=v.getDropProps;return n({},o(v,["isOpen","isOpenSet","items","getControlProps","getDropProps"]),{isOpen:m,isOpenSet:g,items:h.map(function(e){return n({},e,{selected:Boolean(d.filter(function(t){return t.value===e.value})[0])})}),getInputProps:function(e){var t=e.onBlur,r=o(e,["onBlur"]),i=S();return delete i.onClick,n({},i,r,{role:"combobox",onKeyUp:function(e){var t=e.target;27!==e.keyCode?13!==e.keyCode&&Boolean(t.value)&&!m&&g(!0):t.blur()},onBlur:function(e){i.onBlur&&i.onBlur(e),t&&t(e)}})},getDropProps:y,clear:function(){p([])}})},e.useDrop=i,e.useNative=u,e.useSelect=function(e){var r=e.items,u=e.multiple,c=void 0!==u&&u,l=e.onSelect,s=e.onRemove,f=o(e,["items","multiple","onSelect","onRemove"]),a=t.useRef(""),d=t.useState(r.filter(function(e){return e.selected})),p=d[0],v=d[1],m=i(n({},f,{items:r,onSelect:function(e){Boolean(p.filter(function(t){return t.value===e.value})[0])?(v(c?p.filter(function(t){return t.value!==e.value}):[]),s&&s(e)):(v(c?p.concat(e):[e]),l&&l(e)),c||h(!1)}})),g=m.isOpen,h=m.isOpenSet,S=m.items,y=m.highlightedIndexSet,k=o(m,["isOpen","isOpenSet","items","highlightedIndexSet"]);return t.useEffect(function(){function e(e){var t=e.keyCode;if(t>=65&&t<=90||t>=48&&t<=57){a.current=a.current+e.key;for(var n=0;n<r.length;n++)if(r[n].label.toLowerCase().indexOf(a.current)>-1){y(n);break}}else a.current=""}return g&&document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[g,r,a]),n({},k,{isOpen:g,isOpenSet:h,items:S.map(function(e){return n({},e,{selected:Boolean(p.filter(function(t){return t.value===e.value})[0])})}),clear:function(){v([])}})}});
//# sourceMappingURL=index.umd.js.map
{
"name": "dropkit",
"version": "1.0.0",
"version": "1.0.1",
"description": "A minimalist approach to custom dropdowns, autocompletes, and more.",

@@ -32,3 +32,3 @@ "source": "index.ts",

"microbundle": "^0.12.3",
"np": "^6.3.2",
"np": "^7.5.0",
"react": "^16.13.1",

@@ -46,2 +46,6 @@ "ts-node": "^8.4.1"

},
"np": {
"branch": "main",
"tests": false
},
"peerDependencies": {

@@ -48,0 +52,0 @@ "react": ">= 16.9"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc