Socket
Socket
Sign inDemoInstall

@reach/descendants

Package Overview
Dependencies
11
Maintainers
4
Versions
36
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.9.0 to 0.9.1

33

dist/descendants.cjs.development.js

@@ -229,7 +229,9 @@ 'use strict';

var currentIndex = options.currentIndex,
var callback = options.callback,
currentIndex = options.currentIndex,
filter = options.filter,
_options$key = options.key,
key = _options$key === void 0 ? "index" : _options$key,
_options$orientation = options.orientation,
orientation = _options$orientation === void 0 ? "vertical" : _options$orientation,
callback = options.callback,
filter = options.filter,
_options$rotate = options.rotate,

@@ -240,3 +242,2 @@ rotate = _options$rotate === void 0 ? true : _options$rotate,

var index = currentIndex !== null && currentIndex !== void 0 ? currentIndex : -1;
var key = options.key || "index";
return function handleKeyDown(event) {

@@ -298,3 +299,4 @@ if (!["ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Home", "End"].includes(event.key)) {

event.preventDefault();
callback(getNextOption()[key]);
var next = getNextOption();
callback(key === "option" ? next : next[key]);
}

@@ -307,3 +309,4 @@

event.preventDefault();
callback(getPreviousOption()[key]);
var prev = getPreviousOption();
callback(key === "option" ? prev : prev[key]);
}

@@ -316,3 +319,4 @@

event.preventDefault();
callback((rtl ? getNextOption : getPreviousOption)()[key]);
var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();
callback(key === "option" ? nextOrPrev : nextOrPrev[key]);
}

@@ -325,3 +329,4 @@

event.preventDefault();
callback((rtl ? getPreviousOption : getNextOption)()[key]);
var prevOrNext = (rtl ? getPreviousOption : getNextOption)();
callback(key === "option" ? prevOrNext : prevOrNext[key]);
}

@@ -333,3 +338,4 @@

event.preventDefault();
callback((event.ctrlKey ? getPreviousOption : getFirstOption)()[key]);
var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();
callback(key === "option" ? prevOrFirst : prevOrFirst[key]);
break;

@@ -339,3 +345,4 @@

event.preventDefault();
callback(getFirstOption()[key]);
var first = getFirstOption();
callback(key === "option" ? first : first[key]);
break;

@@ -345,3 +352,4 @@

event.preventDefault();
callback((event.ctrlKey ? getNextOption : getLastOption)()[key]);
var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();
callback(key === "option" ? nextOrLast : nextOrLast[key]);
break;

@@ -351,3 +359,4 @@

event.preventDefault();
callback(getLastOption()[key]);
var last = getLastOption();
callback(key === "option" ? last : last[key]);
break;

@@ -354,0 +363,0 @@ }

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,r=require("@reach/utils");function o(){return(o=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 a(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}exports.DescendantProvider=function(e){var r=e.context,c=e.children,u=e.items,i=e.set,s=n.useCallback((function(e){var t=e.element,n=a(e,["element"]);t&&i((function(e){var r,a;if(0===e.length)r=o({element:t,index:0},n),a=[].concat(e,[r]);else if(e.find((function(e){return e.element===t})))a=e;else{var c=e.findIndex((function(e){return!(!e.element||!t)&&Boolean(e.element.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING)}));r=o({element:t,index:c},n),a=-1===c?[].concat(e,[r]):[].concat(e.slice(0,c),[r],e.slice(c))}return a.map((function(e,t){return o({},e,{index:t})}))}))}),[]),l=t.useCallback((function(e){e&&i((function(t){return t.filter((function(t){return e!==t.element}))}))}),[]),f=t.useMemo((function(){return{descendants:u,registerDescendant:s,unregisterDescendant:l}}),[u,s,l]);return n.createElement(r.Provider,{value:f},c)},exports.createDescendantContext=function(e,t){return void 0===t&&(t={}),r.createNamedContext(e,o({descendants:[],registerDescendant:r.noop,unregisterDescendant:r.noop},t))},exports.useDescendant=function(e,n){var c=e.context,u=e.element,i=a(e,["context","element"]),s=t.useState()[1],l=t.useContext(c),f=l.registerDescendant,d=l.unregisterDescendant,v=l.descendants;return r.useIsomorphicLayoutEffect((function(){return u||s({}),f(o({element:u},i)),function(){return d(u)}}),[u].concat(Object.values(i))),null!=n?n:v.findIndex((function(e){return e.element===u}))},exports.useDescendantKeyDown=function(e,n){var r=t.useContext(e).descendants,a=n.currentIndex,c=n.orientation,u=void 0===c?"vertical":c,i=n.callback,s=n.filter,l=n.rotate,f=void 0===l||l,d=n.rtl,v=void 0!==d&&d,p=null!=a?a:-1,D=n.key||"index";return function(e){if(["ArrowDown","ArrowUp","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"].includes(e.key)){var t=r;if(s){t=[];for(var n=-1,c=0;c<r.length;c++){var l=r[c];s(l)&&(t.push(o({},l,{index:n++})),p=c===a?n:p)}t=r.filter(s)}if(t.length)switch(e.key){case"ArrowDown":"vertical"!==u&&"both"!==u||(e.preventDefault(),i(d()[D]));break;case"ArrowUp":"vertical"!==u&&"both"!==u||(e.preventDefault(),i(h()[D]));break;case"ArrowLeft":"horizontal"!==u&&"both"!==u||(e.preventDefault(),i((v?d:h)()[D]));break;case"ArrowRight":"horizontal"!==u&&"both"!==u||(e.preventDefault(),i((v?h:d)()[D]));break;case"PageUp":e.preventDefault(),i((e.ctrlKey?h:g)()[D]);break;case"Home":e.preventDefault(),i(g()[D]);break;case"PageDown":e.preventDefault(),i((e.ctrlKey?d:m)()[D]);break;case"End":e.preventDefault(),i(m()[D])}}function d(){return p===t.length-1?f?g():t[p]:t[(p+1)%t.length]}function h(){return 0===p?f?m():t[p]:t[(p-1+t.length)%t.length]}function g(){return t[0]}function m(){return t[t.length-1]}}},exports.useDescendants=function(){return t.useState([])};
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,r=require("@reach/utils");function o(){return(o=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 a(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}exports.DescendantProvider=function(e){var r=e.context,i=e.children,c=e.items,u=e.set,s=n.useCallback((function(e){var t=e.element,n=a(e,["element"]);t&&u((function(e){var r,a;if(0===e.length)r=o({element:t,index:0},n),a=[].concat(e,[r]);else if(e.find((function(e){return e.element===t})))a=e;else{var i=e.findIndex((function(e){return!(!e.element||!t)&&Boolean(e.element.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING)}));r=o({element:t,index:i},n),a=-1===i?[].concat(e,[r]):[].concat(e.slice(0,i),[r],e.slice(i))}return a.map((function(e,t){return o({},e,{index:t})}))}))}),[]),l=t.useCallback((function(e){e&&u((function(t){return t.filter((function(t){return e!==t.element}))}))}),[]),f=t.useMemo((function(){return{descendants:c,registerDescendant:s,unregisterDescendant:l}}),[c,s,l]);return n.createElement(r.Provider,{value:f},i)},exports.createDescendantContext=function(e,t){return void 0===t&&(t={}),r.createNamedContext(e,o({descendants:[],registerDescendant:r.noop,unregisterDescendant:r.noop},t))},exports.useDescendant=function(e,n){var i=e.context,c=e.element,u=a(e,["context","element"]),s=t.useState()[1],l=t.useContext(i),f=l.registerDescendant,d=l.unregisterDescendant,v=l.descendants;return r.useIsomorphicLayoutEffect((function(){return c||s({}),f(o({element:c},u)),function(){return d(c)}}),[c].concat(Object.values(u))),null!=n?n:v.findIndex((function(e){return e.element===c}))},exports.useDescendantKeyDown=function(e,n){var r=t.useContext(e).descendants,a=n.callback,i=n.currentIndex,c=n.filter,u=n.key,s=void 0===u?"index":u,l=n.orientation,f=void 0===l?"vertical":l,d=n.rotate,v=void 0===d||d,p=n.rtl,D=void 0!==p&&p,h=null!=i?i:-1;return function(e){if(["ArrowDown","ArrowUp","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"].includes(e.key)){var t=r;if(c){t=[];for(var n=-1,u=0;u<r.length;u++){var l=r[u];c(l)&&(t.push(o({},l,{index:n++})),h=u===i?n:h)}t=r.filter(c)}if(t.length)switch(e.key){case"ArrowDown":if("vertical"===f||"both"===f){e.preventDefault();var d=y();a("option"===s?d:d[s])}break;case"ArrowUp":if("vertical"===f||"both"===f){e.preventDefault();var p=P();a("option"===s?p:p[s])}break;case"ArrowLeft":if("horizontal"===f||"both"===f){e.preventDefault();var g=(D?y:P)();a("option"===s?g:g[s])}break;case"ArrowRight":if("horizontal"===f||"both"===f){e.preventDefault();var m=(D?P:y)();a("option"===s?m:m[s])}break;case"PageUp":e.preventDefault();var x=(e.ctrlKey?P:O)();a("option"===s?x:x[s]);break;case"Home":e.preventDefault();var b=O();a("option"===s?b:b[s]);break;case"PageDown":e.preventDefault();var w=(e.ctrlKey?y:A)();a("option"===s?w:w[s]);break;case"End":e.preventDefault();var k=A();a("option"===s?k:k[s])}}function y(){return h===t.length-1?v?O():t[h]:t[(h+1)%t.length]}function P(){return 0===h?v?A():t[h]:t[(h-1+t.length)%t.length]}function O(){return t[0]}function A(){return t[t.length-1]}}},exports.useDescendants=function(){return t.useState([])};
//# sourceMappingURL=descendants.cjs.production.min.js.map

@@ -222,7 +222,9 @@ import React, { useState, useContext, useCallback, useMemo } from 'react';

var currentIndex = options.currentIndex,
var callback = options.callback,
currentIndex = options.currentIndex,
filter = options.filter,
_options$key = options.key,
key = _options$key === void 0 ? "index" : _options$key,
_options$orientation = options.orientation,
orientation = _options$orientation === void 0 ? "vertical" : _options$orientation,
callback = options.callback,
filter = options.filter,
_options$rotate = options.rotate,

@@ -233,3 +235,2 @@ rotate = _options$rotate === void 0 ? true : _options$rotate,

var index = currentIndex !== null && currentIndex !== void 0 ? currentIndex : -1;
var key = options.key || "index";
return function handleKeyDown(event) {

@@ -291,3 +292,4 @@ if (!["ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Home", "End"].includes(event.key)) {

event.preventDefault();
callback(getNextOption()[key]);
var next = getNextOption();
callback(key === "option" ? next : next[key]);
}

@@ -300,3 +302,4 @@

event.preventDefault();
callback(getPreviousOption()[key]);
var prev = getPreviousOption();
callback(key === "option" ? prev : prev[key]);
}

@@ -309,3 +312,4 @@

event.preventDefault();
callback((rtl ? getNextOption : getPreviousOption)()[key]);
var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();
callback(key === "option" ? nextOrPrev : nextOrPrev[key]);
}

@@ -318,3 +322,4 @@

event.preventDefault();
callback((rtl ? getPreviousOption : getNextOption)()[key]);
var prevOrNext = (rtl ? getPreviousOption : getNextOption)();
callback(key === "option" ? prevOrNext : prevOrNext[key]);
}

@@ -326,3 +331,4 @@

event.preventDefault();
callback((event.ctrlKey ? getPreviousOption : getFirstOption)()[key]);
var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();
callback(key === "option" ? prevOrFirst : prevOrFirst[key]);
break;

@@ -332,3 +338,4 @@

event.preventDefault();
callback(getFirstOption()[key]);
var first = getFirstOption();
callback(key === "option" ? first : first[key]);
break;

@@ -338,3 +345,4 @@

event.preventDefault();
callback((event.ctrlKey ? getNextOption : getLastOption)()[key]);
var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();
callback(key === "option" ? nextOrLast : nextOrLast[key]);
break;

@@ -344,3 +352,4 @@

event.preventDefault();
callback(getLastOption()[key]);
var last = getLastOption();
callback(key === "option" ? last : last[key]);
break;

@@ -347,0 +356,0 @@ }

@@ -49,5 +49,5 @@ import React from "react";

*/
export declare function useDescendantKeyDown<ElementType, DescendantProps = {}>(context: React.Context<IDescendantContext<ElementType, DescendantProps>>, options: {
export declare function useDescendantKeyDown<ElementType, DescendantProps = {}, K extends keyof Descendant<ElementType, DescendantProps> = keyof Descendant<ElementType, DescendantProps>>(context: React.Context<IDescendantContext<ElementType, DescendantProps>>, options: {
currentIndex: number | null | undefined;
key?: keyof Descendant<ElementType, DescendantProps>;
key?: K | "option";
filter?: (descendant: Descendant<ElementType, DescendantProps>) => boolean;

@@ -57,3 +57,3 @@ orientation?: "vertical" | "horizontal" | "both";

rtl?: boolean;
callback(nextOption: Descendant<ElementType, DescendantProps>[keyof Descendant<ElementType, DescendantProps>]): void;
callback(nextOption: Descendant<ElementType, DescendantProps> | Descendant<ElementType, DescendantProps>[K]): void;
}): (event: React.KeyboardEvent<Element>) => void;

@@ -60,0 +60,0 @@ declare type SomeHTMLElement<T> = T extends HTMLElement ? T : HTMLElement;

{
"name": "@reach/descendants",
"version": "0.9.0",
"version": "0.9.1",
"description": "A descendant index solution for better accessibility support in compound components",

@@ -30,3 +30,3 @@ "author": "React Training <hello@reacttraining.com>",

],
"gitHead": "0c789bb48554bf13c62dd09210ebdf2f9af33d30"
"gitHead": "19b5b1ec7682dfed613512f1592958a47d43ad4d"
}

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc