@accessible/disclosure
Advanced tools
Comparing version 2.0.2 to 3.0.0
@@ -5,2 +5,11 @@ # Changelog | ||
## [3.0.0](https://github.com/accessible-ui/disclosure/compare/v2.0.2...v3.0.0) (2020-07-12) | ||
### ⚠ BREAKING CHANGES | ||
- rename useTarget() to useA11yTarget(), useTrigger() to useA11yTrigger(), | ||
useCloseButton() to useA11yCloseButton() | ||
- rename use**_ hooks to useA11y_** ([0a0eb67](https://github.com/accessible-ui/disclosure/commit/0a0eb6743bdf658ea2b1fd4ddcd20fe3831e1bc5)) | ||
### [2.0.2](https://github.com/accessible-ui/disclosure/compare/v2.0.1...v2.0.2) (2020-07-12) | ||
@@ -7,0 +16,0 @@ |
@@ -6,7 +6,7 @@ "use strict"; | ||
exports.Disclosure = Disclosure; | ||
exports.useTarget = useTarget; | ||
exports.useA11yTarget = useA11yTarget; | ||
exports.Target = Target; | ||
exports.useCloseButton = useCloseButton; | ||
exports.useA11yCloseButton = useA11yCloseButton; | ||
exports.CloseButton = CloseButton; | ||
exports.useTrigger = useTrigger; | ||
exports.useA11yTrigger = useA11yTrigger; | ||
exports.Trigger = Trigger; | ||
@@ -97,3 +97,3 @@ | ||
function useTarget(target, options = {}) { | ||
function useA11yTarget(target, options = {}) { | ||
const { | ||
@@ -149,3 +149,3 @@ preventScroll, | ||
const childProps = children.props; | ||
const a11yProps = useTarget(ref, { | ||
const a11yProps = useA11yTarget(ref, { | ||
openClass: (0, _clsx.default)(childProps.className, openClass) || void 0, | ||
@@ -174,3 +174,3 @@ closedClass: (0, _clsx.default)(childProps.className, closedClass) || void 0, | ||
function useCloseButton(target, { | ||
function useA11yCloseButton(target, { | ||
onClick | ||
@@ -203,3 +203,3 @@ } = {}) { | ||
const childProps = children.props; | ||
const a11yProps = useCloseButton(ref, { | ||
const a11yProps = useA11yCloseButton(ref, { | ||
onClick: childProps.onClick | ||
@@ -224,3 +224,3 @@ }); | ||
function useTrigger(target, options = {}) { | ||
function useA11yTrigger(target, options = {}) { | ||
const { | ||
@@ -267,3 +267,3 @@ openClass, | ||
const childProps = children.props; | ||
const a11yProps = useTrigger(ref, { | ||
const a11yProps = useA11yTrigger(ref, { | ||
openClass: (0, _clsx.default)(childProps.className, openClass) || void 0, | ||
@@ -270,0 +270,0 @@ closedClass: (0, _clsx.default)(childProps.className, closedClass) || void 0, |
@@ -67,3 +67,3 @@ import * as React from 'react'; | ||
export function useTarget(target, options = {}) { | ||
export function useA11yTarget(target, options = {}) { | ||
const { | ||
@@ -118,3 +118,3 @@ preventScroll, | ||
const childProps = children.props; | ||
const a11yProps = useTarget(ref, { | ||
const a11yProps = useA11yTarget(ref, { | ||
openClass: clsx(childProps.className, openClass) || void 0, | ||
@@ -142,3 +142,3 @@ closedClass: clsx(childProps.className, closedClass) || void 0, | ||
export function useCloseButton(target, { | ||
export function useA11yCloseButton(target, { | ||
onClick | ||
@@ -170,3 +170,3 @@ } = {}) { | ||
const childProps = children.props; | ||
const a11yProps = useCloseButton(ref, { | ||
const a11yProps = useA11yCloseButton(ref, { | ||
onClick: childProps.onClick | ||
@@ -190,3 +190,3 @@ }); | ||
export function useTrigger(target, options = {}) { | ||
export function useA11yTrigger(target, options = {}) { | ||
const { | ||
@@ -232,3 +232,3 @@ openClass, | ||
const childProps = children.props; | ||
const a11yProps = useTrigger(ref, { | ||
const a11yProps = useA11yTrigger(ref, { | ||
openClass: clsx(childProps.className, openClass) || void 0, | ||
@@ -235,0 +235,0 @@ closedClass: clsx(childProps.className, closedClass) || void 0, |
@@ -497,3 +497,3 @@ (function (global, factory) { | ||
function useTarget(target, options) { | ||
function useA11yTarget(target, options) { | ||
if (options === void 0) { | ||
@@ -555,3 +555,3 @@ options = {}; | ||
var childProps = children.props; | ||
var a11yProps = useTarget(ref, { | ||
var a11yProps = useA11yTarget(ref, { | ||
openClass: clsx(childProps.className, openClass) || void 0, | ||
@@ -579,3 +579,3 @@ closedClass: clsx(childProps.className, closedClass) || void 0, | ||
function useCloseButton(target, _temp) { | ||
function useA11yCloseButton(target, _temp) { | ||
var _ref3 = _temp === void 0 ? {} : _temp, | ||
@@ -607,3 +607,3 @@ onClick = _ref3.onClick; | ||
var childProps = children.props; | ||
var a11yProps = useCloseButton(ref, { | ||
var a11yProps = useA11yCloseButton(ref, { | ||
onClick: childProps.onClick | ||
@@ -627,3 +627,3 @@ }); | ||
function useTrigger(target, options) { | ||
function useA11yTrigger(target, options) { | ||
if (options === void 0) { | ||
@@ -672,3 +672,3 @@ options = {}; | ||
var childProps = children.props; | ||
var a11yProps = useTrigger(ref, { | ||
var a11yProps = useA11yTrigger(ref, { | ||
openClass: clsx(childProps.className, openClass) || void 0, | ||
@@ -707,6 +707,6 @@ closedClass: clsx(childProps.className, closedClass) || void 0, | ||
exports.Trigger = Trigger; | ||
exports.useCloseButton = useCloseButton; | ||
exports.useA11yCloseButton = useA11yCloseButton; | ||
exports.useA11yTarget = useA11yTarget; | ||
exports.useA11yTrigger = useA11yTrigger; | ||
exports.useDisclosure = useDisclosure; | ||
exports.useTarget = useTarget; | ||
exports.useTrigger = useTrigger; | ||
@@ -713,0 +713,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
@@ -1,2 +0,2 @@ | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","react","react-dom"],n):n((e=e||self).Disclosure={},e.React,e.ReactDOM)}(this,(function(e,n,t){"use strict";function r(){return(r=Object.assign||function(e){for(var n=1;arguments.length>n;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}function o(e,n,t,r){var o=C(t),l=C(r);b((function(){function t(){if(!i){for(var e=arguments.length,n=new Array(e),t=0;e>t;t++)n[t]=arguments[t];o.current.apply(this,n)}}var r=e&&"current"in e?e.current:e;if(r){var i=0;r.addEventListener(n,t);var u=l.current;return function(){i=1,r.removeEventListener(n,t),u&&u()}}}),[e,n])}function l(e,n){o(e,"keydown",(function(e){var t=n[E[e.key]||e.key];t&&t(e)}))}function i(e){return e.node}function u(e,t,r){void 0===t&&(t=0);var l=void 0===r?P:r,i=l.includeRoot,u=l.preventScroll,c=function(){var n=e&&"current"in e?e.current:e;if(n&&t){var r=k(n,i);r.length>0&&r[0].focus({preventScroll:u})}},a=C(c);n.useEffect((function(){a.current()}),[a,t]),o(e,"transitionend",c)}function c(e,t){var r=n.useRef(t);return n.useEffect((function(){r.current=e}),[e]),r.current}function a(e){return!e}function s(){}function f(e,t){var r=n.useRef(0),i=function(){return r.current=1};return o(e,"touchstart",i),o(e,"mousedown",i),l(e,{Enter:t," ":t}),{onClick:function(e){r.current&&t(e),r.current=0},role:"button",tabIndex:0}}function d(e,n){var t=n.provider,r=n.value;return B(t,{value:r},e)}function p(e){var n,t,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(n=0;n<e.length;n++)e[n]&&(t=p(e[n]))&&(r&&(r+=" "),r+=t);else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function v(){for(var e,n,t=0,r="";arguments.length>t;)(e=arguments[t++])&&(n=p(e))&&(r&&(r+=" "),r+=n);return r}function y(){return n.useContext(G)}function m(e,n){void 0===n&&(n={});var t=n,o=t.preventScroll,i=t.closeOnEscape,a=void 0===i?1:i,s=t.openClass,f=t.closedClass,d=t.openStyle,p=t.closedStyle,v=y(),m=v.id,h=v.isOpen,g=v.close;return u(e,!c(h)&&h,{includeRoot:1,preventScroll:o}),l(e,{Escape:function(){return a&&g()}}),{"aria-hidden":""+!h,id:m,className:h?s:f,style:r({visibility:h?"visible":"hidden"},h?d:p)}}function h(e,n){var t=(void 0===n?{}:n).onClick,o=y(),l=o.close,i=o.isOpen;return r({"aria-controls":o.id,"aria-expanded":String(i),"aria-label":"Close"},f(e,(function(e){l(),null==t||t(e)})))}function g(e,n){void 0===n&&(n={});var t=n,o=t.openClass,l=t.closedClass,i=t.openStyle,a=t.closedStyle,s=t.onClick,d=y(),p=d.isOpen,v=d.id,m=d.toggle;return u(e,c(p)&&!p,{includeRoot:1}),r({"aria-controls":v,"aria-expanded":String(p),className:p?o:l,style:p?i:a},f(e,(function(e){m(),null==s||s(e)})))}function S(){}var b=n["undefined"!=typeof document&&void 0!==document.createElement?"useLayoutEffect":"useEffect"],C=function(e){var t=n.useRef(e);return t.current=e,t},E={Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Left:"ArrowLeft",Esc:"Escape",Spacebar:" ",Del:"Delete",Crsel:"CrSel",Exsel:"ExSel",Add:"+",Subtract:"-",Multiply:"*",Divide:"/",Decimal:".",Scroll:"ScrollLock"},x='input,select,textarea,a[href],button,[tabindex],audio[controls],video[controls],[contenteditable]:not([contenteditable="false"])',O="undefined"==typeof Element?function(){return 0}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,k=function(e,n){void 0===n&&(n=0);var t,r,o,l=[],u=[],c=e.querySelectorAll(x);for(n&&O.call(e,x)&&(c=Array.prototype.slice.apply(c)).unshift(e),t=0;t<c.length;t++)r=c[t],w(r)&&(0===(o=A(r))?l.push(r):u.push({documentOrder:t,tabIndex:o,node:r}));return u.sort(D).map(i).concat(l)},w=function(e){return!(!R(e)||"INPUT"===e.tagName&&"radio"===e.type&&!I(e)||0>A(e))},R=function(e){return!(e.disabled||N(e)&&"hidden"===e.type||null===e.offsetParent||"hidden"===getComputedStyle(e).visibility)},A=function(e){var n=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(n)?"true"===e.contentEditable?0:e.tabIndex:n},D=function(e,n){return e.tabIndex===n.tabIndex?e.documentOrder-n.documentOrder:e.tabIndex-n.tabIndex},N=function(e){return"INPUT"===e.tagName},I=function(e){if(!e.name)return 1;if(e.ownerDocument){for(var n=e.ownerDocument.querySelectorAll('input[type="radio"][name="'+e.name+'"]'),t=0;t<n.length;t++)if(n[t].checked)return n[t]===e;return 1}return 0},P={includeRoot:0,preventScroll:0},j=n.useCallback,L=[],M=function(){for(var e=arguments.length,n=new Array(e),t=0;e>t;t++)n[t]=arguments[t];return function(e){return n.forEach((function(n){"function"==typeof n?n(e):n&&"object"==typeof n&&(n.current=e)}))}},T=0,q=function(){return T++},U=0,B=n.createElement,_=function(e){return"undefined"!=typeof document&&document.querySelectorAll(e)},F=function(e){var r=e.container,o=void 0===r?"#portals":r,l=e.server,i=void 0===l?1:l,u=e.providers,c=e.children,a=n.useState(_(o)),s=a[0],f=a[1];if(n.useEffect((function(){f(_(o))}),[o]),0==s)i&&void 0!==u&&u.length>0&&(c=u.reduceRight(d,c));else if(s.length>0){for(var p=[],v=0;v<s.length;v++)p.push(t.createPortal(c,s[v]));return B(n.Fragment,null,p)}return null},z=n.createElement,G=n.createContext({isOpen:0,open:S,close:S,toggle:S});e.CloseButton=function(e){var t=e.children,o=n.useRef(null),l=t.props,i=h(o,{onClick:l.onClick});return n.cloneElement(t,r(i,{"aria-label":l.hasOwnProperty("aria-label")?l["aria-label"]:i["aria-label"],ref:M(o,t.ref)}))},e.Disclosure=function(e){var t=e.id,o=e.open,l=e.defaultOpen,i=e.onChange,u=void 0===i?S:i,f=e.children;t=function(e,t){void 0===t&&(t="🅰");var r=n.useState(U?q:void 0),o=r[0],l=r[1];return b((function(){U||(U=1,l(T++))}),[]),e||(void 0===o?o:t+o)}(t);var d=function(e,t,o){void 0===e&&(e=0),void 0===o&&(o=s);var l=n.useState(null!=t?t:e),i=l[0],u=l[1];return function(e,t){var r=C(t),o=c(e,e);n.useEffect((function(){e!==o&&r.current(e,o)}),[e,o,r])}(i,o),[null!=t?t:i,r(j((function(){return u(a)}),L),{on:j((function(){return u(1)}),L),off:j((function(){return u(0)}),L)})]}(l,o,u),p=d[0],v=d[1],y=n.useMemo((function(){return{id:t,open:v.on,close:v.off,toggle:v,isOpen:p}}),[t,p,v]);return z(G.Provider,{value:y},f)},e.Target=function(e){var t=e.closeOnEscape,o=void 0===t?1:t,l=e.portal,i=e.openClass,u=e.closedClass,c=e.openStyle,a=e.closedStyle,s=e.preventScroll,f=e.children,d=n.useRef(null),p=f.props,y=m(d,{openClass:v(p.className,i)||void 0,closedClass:v(p.className,u)||void 0,openStyle:p.style?r({},p.style,c):c,closedStyle:p.style?r({},p.style,a):a,closeOnEscape:o,preventScroll:s});return function(e,n){if(!n)return e;var t={children:e};return"string"==typeof n?t.container=n:r(t,n),z(F,t)}(n.cloneElement(f,r(y,{ref:M(d,f.ref)})),l)},e.Trigger=function(e){var t=e.openClass,o=e.closedClass,l=e.openStyle,i=e.closedStyle,u=e.children,c=n.useRef(null),a=u.props,s=g(c,{openClass:v(a.className,t)||void 0,closedClass:v(a.className,o)||void 0,openStyle:a.style?r({},a.style,l):l,closedStyle:a.style?r({},a.style,i):i}),f=s.onClick;return n.cloneElement(u,r(s,{onClick:function(e){var n;f(e),null===(n=a.onClick)||void 0===n||n.call(a,e)},ref:M(c,u.ref)}))},e.useCloseButton=h,e.useDisclosure=y,e.useTarget=m,e.useTrigger=g,Object.defineProperty(e,"__esModule",{value:1})})); | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","react","react-dom"],n):n((e=e||self).Disclosure={},e.React,e.ReactDOM)}(this,(function(e,n,t){"use strict";function r(){return(r=Object.assign||function(e){for(var n=1;arguments.length>n;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}function o(e,n,t,r){var o=C(t),l=C(r);b((function(){function t(){if(!i){for(var e=arguments.length,n=new Array(e),t=0;e>t;t++)n[t]=arguments[t];o.current.apply(this,n)}}var r=e&&"current"in e?e.current:e;if(r){var i=0;r.addEventListener(n,t);var u=l.current;return function(){i=1,r.removeEventListener(n,t),u&&u()}}}),[e,n])}function l(e,n){o(e,"keydown",(function(e){var t=n[E[e.key]||e.key];t&&t(e)}))}function i(e){return e.node}function u(e,t,r){void 0===t&&(t=0);var l=void 0===r?P:r,i=l.includeRoot,u=l.preventScroll,c=function(){var n=e&&"current"in e?e.current:e;if(n&&t){var r=A(n,i);r.length>0&&r[0].focus({preventScroll:u})}},a=C(c);n.useEffect((function(){a.current()}),[a,t]),o(e,"transitionend",c)}function c(e,t){var r=n.useRef(t);return n.useEffect((function(){r.current=e}),[e]),r.current}function a(e){return!e}function s(){}function f(e,t){var r=n.useRef(0),i=function(){return r.current=1};return o(e,"touchstart",i),o(e,"mousedown",i),l(e,{Enter:t," ":t}),{onClick:function(e){r.current&&t(e),r.current=0},role:"button",tabIndex:0}}function d(e,n){var t=n.provider,r=n.value;return B(t,{value:r},e)}function p(e){var n,t,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(n=0;n<e.length;n++)e[n]&&(t=p(e[n]))&&(r&&(r+=" "),r+=t);else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function v(){for(var e,n,t=0,r="";arguments.length>t;)(e=arguments[t++])&&(n=p(e))&&(r&&(r+=" "),r+=n);return r}function y(){return n.useContext(G)}function m(e,n){void 0===n&&(n={});var t=n,o=t.preventScroll,i=t.closeOnEscape,a=void 0===i?1:i,s=t.openClass,f=t.closedClass,d=t.openStyle,p=t.closedStyle,v=y(),m=v.id,h=v.isOpen,g=v.close;return u(e,!c(h)&&h,{includeRoot:1,preventScroll:o}),l(e,{Escape:function(){return a&&g()}}),{"aria-hidden":""+!h,id:m,className:h?s:f,style:r({visibility:h?"visible":"hidden"},h?d:p)}}function h(e,n){var t=(void 0===n?{}:n).onClick,o=y(),l=o.close,i=o.isOpen;return r({"aria-controls":o.id,"aria-expanded":String(i),"aria-label":"Close"},f(e,(function(e){l(),null==t||t(e)})))}function g(e,n){void 0===n&&(n={});var t=n,o=t.openClass,l=t.closedClass,i=t.openStyle,a=t.closedStyle,s=t.onClick,d=y(),p=d.isOpen,v=d.id,m=d.toggle;return u(e,c(p)&&!p,{includeRoot:1}),r({"aria-controls":v,"aria-expanded":String(p),className:p?o:l,style:p?i:a},f(e,(function(e){m(),null==s||s(e)})))}function S(){}var b=n["undefined"!=typeof document&&void 0!==document.createElement?"useLayoutEffect":"useEffect"],C=function(e){var t=n.useRef(e);return t.current=e,t},E={Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Left:"ArrowLeft",Esc:"Escape",Spacebar:" ",Del:"Delete",Crsel:"CrSel",Exsel:"ExSel",Add:"+",Subtract:"-",Multiply:"*",Divide:"/",Decimal:".",Scroll:"ScrollLock"},x='input,select,textarea,a[href],button,[tabindex],audio[controls],video[controls],[contenteditable]:not([contenteditable="false"])',O="undefined"==typeof Element?function(){return 0}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,A=function(e,n){void 0===n&&(n=0);var t,r,o,l=[],u=[],c=e.querySelectorAll(x);for(n&&O.call(e,x)&&(c=Array.prototype.slice.apply(c)).unshift(e),t=0;t<c.length;t++)r=c[t],k(r)&&(0===(o=R(r))?l.push(r):u.push({documentOrder:t,tabIndex:o,node:r}));return u.sort(D).map(i).concat(l)},k=function(e){return!(!w(e)||"INPUT"===e.tagName&&"radio"===e.type&&!I(e)||0>R(e))},w=function(e){return!(e.disabled||N(e)&&"hidden"===e.type||null===e.offsetParent||"hidden"===getComputedStyle(e).visibility)},R=function(e){var n=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(n)?"true"===e.contentEditable?0:e.tabIndex:n},D=function(e,n){return e.tabIndex===n.tabIndex?e.documentOrder-n.documentOrder:e.tabIndex-n.tabIndex},N=function(e){return"INPUT"===e.tagName},I=function(e){if(!e.name)return 1;if(e.ownerDocument){for(var n=e.ownerDocument.querySelectorAll('input[type="radio"][name="'+e.name+'"]'),t=0;t<n.length;t++)if(n[t].checked)return n[t]===e;return 1}return 0},P={includeRoot:0,preventScroll:0},j=n.useCallback,L=[],M=function(){for(var e=arguments.length,n=new Array(e),t=0;e>t;t++)n[t]=arguments[t];return function(e){return n.forEach((function(n){"function"==typeof n?n(e):n&&"object"==typeof n&&(n.current=e)}))}},T=0,q=function(){return T++},U=0,B=n.createElement,_=function(e){return"undefined"!=typeof document&&document.querySelectorAll(e)},F=function(e){var r=e.container,o=void 0===r?"#portals":r,l=e.server,i=void 0===l?1:l,u=e.providers,c=e.children,a=n.useState(_(o)),s=a[0],f=a[1];if(n.useEffect((function(){f(_(o))}),[o]),0==s)i&&void 0!==u&&u.length>0&&(c=u.reduceRight(d,c));else if(s.length>0){for(var p=[],v=0;v<s.length;v++)p.push(t.createPortal(c,s[v]));return B(n.Fragment,null,p)}return null},z=n.createElement,G=n.createContext({isOpen:0,open:S,close:S,toggle:S});e.CloseButton=function(e){var t=e.children,o=n.useRef(null),l=t.props,i=h(o,{onClick:l.onClick});return n.cloneElement(t,r(i,{"aria-label":l.hasOwnProperty("aria-label")?l["aria-label"]:i["aria-label"],ref:M(o,t.ref)}))},e.Disclosure=function(e){var t=e.id,o=e.open,l=e.defaultOpen,i=e.onChange,u=void 0===i?S:i,f=e.children;t=function(e,t){void 0===t&&(t="🅰");var r=n.useState(U?q:void 0),o=r[0],l=r[1];return b((function(){U||(U=1,l(T++))}),[]),e||(void 0===o?o:t+o)}(t);var d=function(e,t,o){void 0===e&&(e=0),void 0===o&&(o=s);var l=n.useState(null!=t?t:e),i=l[0],u=l[1];return function(e,t){var r=C(t),o=c(e,e);n.useEffect((function(){e!==o&&r.current(e,o)}),[e,o,r])}(i,o),[null!=t?t:i,r(j((function(){return u(a)}),L),{on:j((function(){return u(1)}),L),off:j((function(){return u(0)}),L)})]}(l,o,u),p=d[0],v=d[1],y=n.useMemo((function(){return{id:t,open:v.on,close:v.off,toggle:v,isOpen:p}}),[t,p,v]);return z(G.Provider,{value:y},f)},e.Target=function(e){var t=e.closeOnEscape,o=void 0===t?1:t,l=e.portal,i=e.openClass,u=e.closedClass,c=e.openStyle,a=e.closedStyle,s=e.preventScroll,f=e.children,d=n.useRef(null),p=f.props,y=m(d,{openClass:v(p.className,i)||void 0,closedClass:v(p.className,u)||void 0,openStyle:p.style?r({},p.style,c):c,closedStyle:p.style?r({},p.style,a):a,closeOnEscape:o,preventScroll:s});return function(e,n){if(!n)return e;var t={children:e};return"string"==typeof n?t.container=n:r(t,n),z(F,t)}(n.cloneElement(f,r(y,{ref:M(d,f.ref)})),l)},e.Trigger=function(e){var t=e.openClass,o=e.closedClass,l=e.openStyle,i=e.closedStyle,u=e.children,c=n.useRef(null),a=u.props,s=g(c,{openClass:v(a.className,t)||void 0,closedClass:v(a.className,o)||void 0,openStyle:a.style?r({},a.style,l):l,closedStyle:a.style?r({},a.style,i):i}),f=s.onClick;return n.cloneElement(u,r(s,{onClick:function(e){var n;f(e),null===(n=a.onClick)||void 0===n||n.call(a,e)},ref:M(c,u.ref)}))},e.useA11yCloseButton=h,e.useA11yTarget=m,e.useA11yTrigger=g,e.useDisclosure=y,Object.defineProperty(e,"__esModule",{value:1})})); | ||
//# sourceMappingURL=disclosure.js.map |
{ | ||
"name": "@accessible/disclosure", | ||
"version": "2.0.2", | ||
"version": "3.0.0", | ||
"homepage": "https://github.com/accessible-ui/disclosure#readme", | ||
@@ -5,0 +5,0 @@ "repository": "github:accessible-ui/disclosure", |
@@ -83,8 +83,8 @@ <hr> | ||
| Hook | Description | | ||
| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ||
| [`useDisclosure()`](#usedisclosure) | This hook provides the value of the disclosure's [DisclosureContextValue object](#disclosurecontextvalue). | | ||
| [`useTarget()`](#usetargettarget-options) | A React hook for creating a headless disclosure target to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | | ||
| [`useTrigger()`](#usetriggertarget-options) | A React hook for creating a headless disclosure trigger to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | | ||
| [`useCloseButton()`](#useclosebuttontarget-options) | A React hook for creating a headless close button to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | | ||
| Hook | Description | | ||
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ||
| [`useDisclosure()`](#usedisclosure) | This hook provides the value of the disclosure's [DisclosureContextValue object](#disclosurecontextvalue). | | ||
| [`useA11yTarget()`](#usea11ytargettarget-options) | A React hook for creating a headless disclosure target to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | | ||
| [`useA11yTrigger()`](#usea11ytriggertarget-options) | A React hook for creating a headless disclosure trigger to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | | ||
| [`useA11yCloseButton()`](#usea11yclosebuttontarget-options) | A React hook for creating a headless close button to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | | ||
@@ -106,3 +106,3 @@ ### <Disclosure> | ||
### useTarget(target, options?) | ||
### useA11yTarget(target, options?) | ||
@@ -116,8 +116,8 @@ A React hook for creating a headless disclosure target to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | ||
| target | <code>React.RefObject<T> \| T \| null</code> | Yes | A React ref or HTML element | | ||
| options | [`UseTargetOptions`](#usetargetoptions) | No | Configuration options | | ||
| options | [`UseA11yTargetOptions`](#usea11ytargetoptions) | No | Configuration options | | ||
#### UseTargetOptions | ||
#### UseA11yTargetOptions | ||
```ts | ||
export interface UseTargetOptions { | ||
export interface UseA11yTargetOptions { | ||
/** | ||
@@ -170,7 +170,7 @@ * Adds this class name to props when the disclosure is open | ||
import * as React from 'react' | ||
import {useTarget} from '@accessible/disclosure' | ||
import {useA11yTarget} from '@accessible/disclosure' | ||
const MyTarget = () => { | ||
const ref = React.useRef(null) | ||
const a11yProps = useTarget(ref, {preventScroll: true}) | ||
const a11yProps = useA11yTarget(ref, {preventScroll: true}) | ||
@@ -219,3 +219,3 @@ return ( | ||
### useTrigger(target, options?) | ||
### useA11yTrigger(target, options?) | ||
@@ -232,8 +232,8 @@ A React hook for creating a headless disclosure trigger to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | ||
| target | <code>React.RefObject<T> \| T \| null</code> | Yes | A React ref or HTML element | | ||
| options | [`UseTriggerOptions`](#usetriggeroptions) | No | Configuration options | | ||
| options | [`UseA11yTriggerOptions`](#usea11ytriggeroptions) | No | Configuration options | | ||
#### UseTriggerOptions | ||
#### UseA11yTriggerOptions | ||
```ts | ||
export interface UseTriggerOptions<E = React.MouseEvent<any, MouseEvent>> { | ||
export interface UseA11yTriggerOptions<E = React.MouseEvent<any, MouseEvent>> { | ||
/** | ||
@@ -281,7 +281,10 @@ * Adds this class name to props when the disclosure is open | ||
import * as React from 'react' | ||
import {useTrigger} from '@accessible/disclosure' | ||
import {useA11yTrigger} from '@accessible/disclosure' | ||
const MyTrigger = () => { | ||
const ref = React.useRef(null) | ||
const a11yProps = useTrigger(ref, {openClass: 'open', closedClass: 'closed'}) | ||
const a11yProps = useA11yTrigger(ref, { | ||
openClass: 'open', | ||
closedClass: 'closed', | ||
}) | ||
@@ -325,3 +328,3 @@ return ( | ||
### useCloseButton(target, options?) | ||
### useA11yCloseButton(target, options?) | ||
@@ -335,11 +338,13 @@ A React hook for creating a headless close button to [WAI-ARIA authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-faq.html). | ||
| Argument | Type | Required? | Description | | ||
| -------- | -------------------------------------------------- | --------- | --------------------------- | | ||
| target | <code>React.RefObject<T> \| T \| null</code> | Yes | A React ref or HTML element | | ||
| options | [`UseCloseButtonOptions`](#useclosebuttonoptions) | No | Configuration options | | ||
| Argument | Type | Required? | Description | | ||
| -------- | --------------------------------------------------------- | --------- | --------------------------- | | ||
| target | <code>React.RefObject<T> \| T \| null</code> | Yes | A React ref or HTML element | | ||
| options | [`UseA11yCloseButtonOptions`](#usea11yclosebuttonoptions) | No | Configuration options | | ||
#### UseCloseButtonOptions | ||
#### UseA11yCloseButtonOptions | ||
```ts | ||
export interface UseCloseButtonOptions<E = React.MouseEvent<any, MouseEvent>> { | ||
export interface UseA11yCloseButtonOptions< | ||
E = React.MouseEvent<any, MouseEvent> | ||
> { | ||
/** | ||
@@ -370,7 +375,7 @@ * Adds an onClick handler in addition to the default one that | ||
import * as React from 'react' | ||
import {useCloseButton} from '@accessible/disclosure' | ||
import {useA11yCloseButton} from '@accessible/disclosure' | ||
const MyTrigger = () => { | ||
const ref = React.useRef(null) | ||
const a11yProps = useCloseButton(ref, { | ||
const a11yProps = useA11yCloseButton(ref, { | ||
onClick: () => console.log('Closing!'), | ||
@@ -377,0 +382,0 @@ }) |
@@ -27,5 +27,5 @@ import * as React from 'react' | ||
*/ | ||
export declare function useTarget<T extends HTMLElement>( | ||
export declare function useA11yTarget<T extends HTMLElement>( | ||
target: React.RefObject<T> | T | null, | ||
options?: UseTargetOptions | ||
options?: UseA11yTargetOptions | ||
): { | ||
@@ -77,3 +77,3 @@ readonly 'aria-hidden': string | ||
*/ | ||
export declare function useCloseButton< | ||
export declare function useA11yCloseButton< | ||
T extends HTMLElement, | ||
@@ -83,3 +83,3 @@ E extends React.MouseEvent<T, MouseEvent> | ||
target: React.RefObject<T> | T | null, | ||
{onClick}?: UseCloseButtonOptions<E> | ||
{onClick}?: UseA11yCloseButtonOptions<E> | ||
): { | ||
@@ -123,3 +123,3 @@ readonly 'aria-controls': string | undefined | ||
*/ | ||
export declare function useTrigger< | ||
export declare function useA11yTrigger< | ||
T extends HTMLElement, | ||
@@ -129,3 +129,3 @@ E extends React.MouseEvent<T, MouseEvent> | ||
target: React.RefObject<T> | T | null, | ||
options?: UseTriggerOptions<E> | ||
options?: UseA11yTriggerOptions<E> | ||
): { | ||
@@ -214,3 +214,3 @@ readonly 'aria-controls': string | undefined | ||
} | ||
export interface UseTriggerOptions<E = React.MouseEvent<any, MouseEvent>> { | ||
export interface UseA11yTriggerOptions<E = React.MouseEvent<any, MouseEvent>> { | ||
/** | ||
@@ -238,3 +238,4 @@ * Adds this class name to props when the disclosure is open | ||
} | ||
export interface TriggerProps extends Omit<UseTriggerOptions<any>, 'onClick'> { | ||
export interface TriggerProps | ||
extends Omit<UseA11yTriggerOptions<any>, 'onClick'> { | ||
/** | ||
@@ -246,3 +247,3 @@ * The child is cloned by this component and has aria attributes injected | ||
} | ||
export interface UseTargetOptions { | ||
export interface UseA11yTargetOptions { | ||
/** | ||
@@ -276,3 +277,3 @@ * Adds this class name to props when the disclosure is open | ||
} | ||
export interface TargetProps extends UseTargetOptions { | ||
export interface TargetProps extends UseA11yTargetOptions { | ||
/** | ||
@@ -296,3 +297,5 @@ * When `true` this will render the disclosure into a React portal with the | ||
} | ||
export interface UseCloseButtonOptions<E = React.MouseEvent<any, MouseEvent>> { | ||
export interface UseA11yCloseButtonOptions< | ||
E = React.MouseEvent<any, MouseEvent> | ||
> { | ||
/** | ||
@@ -299,0 +302,0 @@ * Adds an onClick handler in addition to the default one that |
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
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
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
243525
2607
449