focus-trap 7.7.0 → 7.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
package/dist/focus-trap.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* focus-trap 7.7.
|
|
2
|
+
* focus-trap 7.7.1
|
|
3
3
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
4
4
|
*/
|
|
5
5
|
import{tabbable as e,focusable as t,isTabbable as n,getTabIndex as a,isFocusable as r}from"tabbable";function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function i(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=d(e))||t){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw o}}}}function u(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t);if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}var f={getActiveTrap:function(e){return(null==e?void 0:e.length)>0?e[e.length-1]:null},activateTrap:function(e,t){t!==f.getActiveTrap(e)&&f.pauseTrap(e);var n=e.indexOf(t);-1===n||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1),f.unpauseTrap(e)},pauseTrap:function(e){var t=f.getActiveTrap(e);null==t||t._setPausedState(!0)},unpauseTrap:function(e){var t=f.getActiveTrap(e);t&&!t._isManuallyPaused()&&t._setPausedState(!1)}},v=function(e){return"Tab"===(null==e?void 0:e.key)||9===(null==e?void 0:e.keyCode)},b=function(e){return v(e)&&!e.shiftKey},p=function(e){return v(e)&&e.shiftKey},y=function(e){return setTimeout(e,0)},m=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return"function"==typeof e?e.apply(void 0,n):e},h=function(e){return e.target.shadowRoot&&"function"==typeof e.composedPath?e.composedPath()[0]:e.target},w=[],g=function(o,u){var s,d=(null==u?void 0:u.document)||document,g=(null==u?void 0:u.trapStack)||w,N=c({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isolateSubtrees:!1,isKeyForward:b,isKeyBackward:p},u),T={containers:[],containerGroups:[],tabbableGroups:[],adjacentElements:new Set,alreadyInert:new Set,nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},S=function(e,t,n){return e&&void 0!==e[t]?e[t]:N[n||t]},E=function(e,t){var n="function"==typeof(null==t?void 0:t.composedPath)?t.composedPath():void 0;return T.containerGroups.findIndex((function(t){var a=t.container,r=t.tabbableNodes;return a.contains(e)||(null==n?void 0:n.includes(a))||r.find((function(t){return t===e}))}))},F=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.hasFallback,a=void 0!==n&&n,r=t.params,o=void 0===r?[]:r,i=N[e];if("function"==typeof i&&(i=i.apply(void 0,l(o))),!0===i&&(i=void 0),!i){if(void 0===i||!1===i)return i;throw new Error("`".concat(e,"` was specified but was not a node, or did not return a node"))}var u=i;if("string"==typeof i){try{u=d.querySelector(i)}catch(t){throw new Error("`".concat(e,'` appears to be an invalid selector; error="').concat(t.message,'"'))}if(!u&&!a)throw new Error("`".concat(e,"` as selector refers to no known node"))}return u},O=function(){var e=F("initialFocus",{hasFallback:!0});if(!1===e)return!1;if(void 0===e||e&&!r(e,N.tabbableOptions))if(E(d.activeElement)>=0)e=d.activeElement;else{var t=T.tabbableGroups[0];e=t&&t.firstTabbableNode||F("fallbackFocus")}else null===e&&(e=F("fallbackFocus"));if(!e)throw new Error("Your focus-trap needs to have at least one focusable element");return e},P=function(){if(T.containerGroups=T.containers.map((function(r){var o=e(r,N.tabbableOptions),i=t(r,N.tabbableOptions),u=o.length>0?o[0]:void 0,s=o.length>0?o[o.length-1]:void 0,c=i.find((function(e){return n(e)})),l=i.slice().reverse().find((function(e){return n(e)})),d=!!o.find((function(e){return a(e)>0}));return{container:r,tabbableNodes:o,focusableNodes:i,posTabIndexesFound:d,firstTabbableNode:u,lastTabbableNode:s,firstDomTabbableNode:c,lastDomTabbableNode:l,nextTabbableNode:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=o.indexOf(e);return a<0?t?i.slice(i.indexOf(e)+1).find((function(e){return n(e)})):i.slice(0,i.indexOf(e)).reverse().find((function(e){return n(e)})):o[a+(t?1:-1)]}}})),T.tabbableGroups=T.containerGroups.filter((function(e){return e.tabbableNodes.length>0})),T.tabbableGroups.length<=0&&!F("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(T.containerGroups.find((function(e){return e.posTabIndexesFound}))&&T.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},k=function(e){var t=e.activeElement;if(t)return t.shadowRoot&&null!==t.shadowRoot.activeElement?k(t.shadowRoot):t},I=function(e){!1!==e&&e!==k(document)&&(e&&e.focus?(e.focus({preventScroll:!!N.preventScroll}),T.mostRecentlyFocusedNode=e,function(e){return e.tagName&&"input"===e.tagName.toLowerCase()&&"function"==typeof e.select}(e)&&e.select()):I(O()))},D=function(e){var t=F("setReturnFocus",{params:[e]});return t||!1!==t&&e},R=function(e){var t=e.target,o=e.event,i=e.isBackward,u=void 0!==i&&i;t=t||h(o),P();var s=null;if(T.tabbableGroups.length>0){var c=E(t,o),l=c>=0?T.containerGroups[c]:void 0;if(c<0)s=u?T.tabbableGroups[T.tabbableGroups.length-1].lastTabbableNode:T.tabbableGroups[0].firstTabbableNode;else if(u){var d=T.tabbableGroups.findIndex((function(e){var n=e.firstTabbableNode;return t===n}));if(d<0&&(l.container===t||r(t,N.tabbableOptions)&&!n(t,N.tabbableOptions)&&!l.nextTabbableNode(t,!1))&&(d=c),d>=0){var f=0===d?T.tabbableGroups.length-1:d-1,b=T.tabbableGroups[f];s=a(t)>=0?b.lastTabbableNode:b.lastDomTabbableNode}else v(o)||(s=l.nextTabbableNode(t,!1))}else{var p=T.tabbableGroups.findIndex((function(e){var n=e.lastTabbableNode;return t===n}));if(p<0&&(l.container===t||r(t,N.tabbableOptions)&&!n(t,N.tabbableOptions)&&!l.nextTabbableNode(t))&&(p=c),p>=0){var y=p===T.tabbableGroups.length-1?0:p+1,m=T.tabbableGroups[y];s=a(t)>=0?m.firstTabbableNode:m.firstDomTabbableNode}else v(o)||(s=l.nextTabbableNode(t))}}else s=F("fallbackFocus");return s},A=function(e){var t=h(e);E(t,e)>=0||(m(N.clickOutsideDeactivates,e)?s.deactivate({returnFocus:N.returnFocusOnDeactivate}):m(N.allowOutsideClick,e)||e.preventDefault())},G=function(e){var t=h(e),n=E(t,e)>=0;if(n||t instanceof Document)n&&(T.mostRecentlyFocusedNode=t);else{var r;e.stopImmediatePropagation();var o=!0;if(T.mostRecentlyFocusedNode)if(a(T.mostRecentlyFocusedNode)>0){var i=E(T.mostRecentlyFocusedNode),u=T.containerGroups[i].tabbableNodes;if(u.length>0){var s=u.findIndex((function(e){return e===T.mostRecentlyFocusedNode}));s>=0&&(N.isKeyForward(T.recentNavEvent)?s+1<u.length&&(r=u[s+1],o=!1):s-1>=0&&(r=u[s-1],o=!1))}}else T.containerGroups.some((function(e){return e.tabbableNodes.some((function(e){return a(e)>0}))}))||(o=!1);else o=!1;o&&(r=R({target:T.mostRecentlyFocusedNode,isBackward:N.isKeyBackward(T.recentNavEvent)})),I(r||(T.mostRecentlyFocusedNode||O()))}T.recentNavEvent=void 0},j=function(e){(N.isKeyForward(e)||N.isKeyBackward(e))&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];T.recentNavEvent=e;var n=R({event:e,isBackward:t});n&&(v(e)&&e.preventDefault(),I(n))}(e,N.isKeyBackward(e))},x=function(e){var t;"Escape"!==(null==(t=e)?void 0:t.key)&&"Esc"!==(null==t?void 0:t.key)&&27!==(null==t?void 0:t.keyCode)||!1===m(N.escapeDeactivates,e)||(e.preventDefault(),s.deactivate())},_=function(e){var t=h(e);E(t,e)>=0||m(N.clickOutsideDeactivates,e)||m(N.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},L=function(){if(T.active)return f.activateTrap(g,s),T.delayInitialFocusTimer=N.delayInitialFocus?y((function(){I(O())})):I(O()),d.addEventListener("focusin",G,!0),d.addEventListener("mousedown",A,{capture:!0,passive:!1}),d.addEventListener("touchstart",A,{capture:!0,passive:!1}),d.addEventListener("click",_,{capture:!0,passive:!1}),d.addEventListener("keydown",j,{capture:!0,passive:!1}),d.addEventListener("keydown",x),s},B=function(){if(T.active)return d.removeEventListener("focusin",G,!0),d.removeEventListener("mousedown",A,!0),d.removeEventListener("touchstart",A,!0),d.removeEventListener("click",_,!0),d.removeEventListener("keydown",j,!0),d.removeEventListener("keydown",x),s},C="undefined"!=typeof window&&"MutationObserver"in window?new MutationObserver((function(e){e.some((function(e){return Array.from(e.removedNodes).some((function(e){return e===T.mostRecentlyFocusedNode}))}))&&I(O())})):void 0,K=function(){C&&(C.disconnect(),T.active&&!T.paused&&T.containers.map((function(e){C.observe(e,{subtree:!0,childList:!0})})))};return s={get active(){return T.active},get paused(){return T.paused},activate:function(e){if(T.active)return this;var t=S(e,"onActivate"),n=S(e,"onPostActivate"),a=S(e,"checkCanFocusTrap"),r=f.getActiveTrap(g),o=!1;r&&!r.paused&&(r._setSubtreeIsolation(!1),o=!0);try{a||P(),T.active=!0,T.paused=!1,T.nodeFocusedBeforeActivation=k(d),null==t||t();var i=function(){a&&P(),L(),K(),N.isolateSubtrees&&s._setSubtreeIsolation(!0),null==n||n()};if(a)return a(T.containers.concat()).then(i,i),this;i()}catch(e){throw r===f.getActiveTrap(g)&&o&&r._setSubtreeIsolation(!0),e}return this},deactivate:function(e){if(!T.active)return this;var t=c({onDeactivate:N.onDeactivate,onPostDeactivate:N.onPostDeactivate,checkCanReturnFocus:N.checkCanReturnFocus},e);clearTimeout(T.delayInitialFocusTimer),T.delayInitialFocusTimer=void 0,T.paused||s._setSubtreeIsolation(!1),T.alreadyInert.clear(),B(),T.active=!1,T.paused=!1,K(),f.deactivateTrap(g,s);var n=S(t,"onDeactivate"),a=S(t,"onPostDeactivate"),r=S(t,"checkCanReturnFocus"),o=S(t,"returnFocus","returnFocusOnDeactivate");null==n||n();var i=function(){y((function(){o&&I(D(T.nodeFocusedBeforeActivation)),null==a||a()}))};return o&&r?(r(D(T.nodeFocusedBeforeActivation)).then(i,i),this):(i(),this)},pause:function(e){return T.active?(T.manuallyPaused=!0,this._setPausedState(!0,e)):this},unpause:function(e){return T.active?(T.manuallyPaused=!1,g[g.length-1]!==this?this:this._setPausedState(!1,e)):this},updateContainerElements:function(e){var t=[].concat(e).filter(Boolean);return T.containers=t.map((function(e){return"string"==typeof e?d.querySelector(e):e})),N.isolateSubtrees&&function(e){T.active&&!T.paused&&s._setSubtreeIsolation(!1),T.adjacentElements.clear(),T.alreadyInert.clear();var t,n=new Set,a=new Set,r=i(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;n.add(o);for(var u="undefined"!=typeof ShadowRoot&&o.getRootNode()instanceof ShadowRoot,c=o;c;){n.add(c);var l=c.parentElement,d=[];l?d=l.children:!l&&u&&(d=c.getRootNode().children,l=c.getRootNode().host,u="undefined"!=typeof ShadowRoot&&l.getRootNode()instanceof ShadowRoot);var f,v=i(d);try{for(v.s();!(f=v.n()).done;){var b=f.value;a.add(b)}}catch(e){v.e(e)}finally{v.f()}c=l}}}catch(e){r.e(e)}finally{r.f()}n.forEach((function(e){a.delete(e)})),T.adjacentElements=a}(T.containers),T.active&&(P(),N.isolateSubtrees&&!T.paused&&s._setSubtreeIsolation(!0)),K(),this}},Object.defineProperties(s,{_isManuallyPaused:{value:function(){return T.manuallyPaused}},_setPausedState:{value:function(e,t){if(T.paused===e)return this;if(T.paused=e,e){var n=S(t,"onPause"),a=S(t,"onPostPause");null==n||n(),B(),K(),s._setSubtreeIsolation(!1),null==a||a()}else{var r=S(t,"onUnpause"),o=S(t,"onPostUnpause");null==r||r(),s._setSubtreeIsolation(!0),P(),L(),K(),null==o||o()}return this}},_setSubtreeIsolation:{value:function(e){N.isolateSubtrees&&T.adjacentElements.forEach((function(t){e?((t.inert||t.hasAttribute("inert"))&&T.alreadyInert.add(t),t.inert=!0):T.alreadyInert.has(t)||(t.inert=!1)}))}}}),s.updateContainerElements(o),s};export{g as createFocusTrap};
|
package/dist/focus-trap.js
CHANGED
package/dist/focus-trap.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* focus-trap 7.7.
|
|
2
|
+
* focus-trap 7.7.1
|
|
3
3
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
4
4
|
*/
|
|
5
5
|
"use strict";var e=require("tabbable");function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function n(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=u(e))||t){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw o}}}}function a(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t);if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,n){if(e){if("string"==typeof e)return t(e,n);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?t(e,n):void 0}}var s={getActiveTrap:function(e){return(null==e?void 0:e.length)>0?e[e.length-1]:null},activateTrap:function(e,t){t!==s.getActiveTrap(e)&&s.pauseTrap(e);var n=e.indexOf(t);-1===n||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1),s.unpauseTrap(e)},pauseTrap:function(e){var t=s.getActiveTrap(e);null==t||t._setPausedState(!0)},unpauseTrap:function(e){var t=s.getActiveTrap(e);t&&!t._isManuallyPaused()&&t._setPausedState(!1)}},c=function(e){return"Tab"===(null==e?void 0:e.key)||9===(null==e?void 0:e.keyCode)},l=function(e){return c(e)&&!e.shiftKey},d=function(e){return c(e)&&e.shiftKey},b=function(e){return setTimeout(e,0)},f=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return"function"==typeof e?e.apply(void 0,n):e},v=function(e){return e.target.shadowRoot&&"function"==typeof e.composedPath?e.composedPath()[0]:e.target},p=[];exports.createFocusTrap=function(t,a){var r,u=(null==a?void 0:a.document)||document,y=(null==a?void 0:a.trapStack)||p,m=o({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isolateSubtrees:!1,isKeyForward:l,isKeyBackward:d},a),h={containers:[],containerGroups:[],tabbableGroups:[],adjacentElements:new Set,alreadyInert:new Set,nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},w=function(e,t,n){return e&&void 0!==e[t]?e[t]:m[n||t]},g=function(e,t){var n="function"==typeof(null==t?void 0:t.composedPath)?t.composedPath():void 0;return h.containerGroups.findIndex((function(t){var a=t.container,r=t.tabbableNodes;return a.contains(e)||(null==n?void 0:n.includes(a))||r.find((function(t){return t===e}))}))},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.hasFallback,a=void 0!==n&&n,r=t.params,o=void 0===r?[]:r,s=m[e];if("function"==typeof s&&(s=s.apply(void 0,i(o))),!0===s&&(s=void 0),!s){if(void 0===s||!1===s)return s;throw new Error("`".concat(e,"` was specified but was not a node, or did not return a node"))}var c=s;if("string"==typeof s){try{c=u.querySelector(s)}catch(t){throw new Error("`".concat(e,'` appears to be an invalid selector; error="').concat(t.message,'"'))}if(!c&&!a)throw new Error("`".concat(e,"` as selector refers to no known node"))}return c},N=function(){var t=T("initialFocus",{hasFallback:!0});if(!1===t)return!1;if(void 0===t||t&&!e.isFocusable(t,m.tabbableOptions))if(g(u.activeElement)>=0)t=u.activeElement;else{var n=h.tabbableGroups[0];t=n&&n.firstTabbableNode||T("fallbackFocus")}else null===t&&(t=T("fallbackFocus"));if(!t)throw new Error("Your focus-trap needs to have at least one focusable element");return t},F=function(){if(h.containerGroups=h.containers.map((function(t){var n=e.tabbable(t,m.tabbableOptions),a=e.focusable(t,m.tabbableOptions),r=n.length>0?n[0]:void 0,o=n.length>0?n[n.length-1]:void 0,i=a.find((function(t){return e.isTabbable(t)})),u=a.slice().reverse().find((function(t){return e.isTabbable(t)})),s=!!n.find((function(t){return e.getTabIndex(t)>0}));return{container:t,tabbableNodes:n,focusableNodes:a,posTabIndexesFound:s,firstTabbableNode:r,lastTabbableNode:o,firstDomTabbableNode:i,lastDomTabbableNode:u,nextTabbableNode:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=n.indexOf(t);return o<0?r?a.slice(a.indexOf(t)+1).find((function(t){return e.isTabbable(t)})):a.slice(0,a.indexOf(t)).reverse().find((function(t){return e.isTabbable(t)})):n[o+(r?1:-1)]}}})),h.tabbableGroups=h.containerGroups.filter((function(e){return e.tabbableNodes.length>0})),h.tabbableGroups.length<=0&&!T("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(h.containerGroups.find((function(e){return e.posTabIndexesFound}))&&h.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},S=function(e){var t=e.activeElement;if(t)return t.shadowRoot&&null!==t.shadowRoot.activeElement?S(t.shadowRoot):t},E=function(e){!1!==e&&e!==S(document)&&(e&&e.focus?(e.focus({preventScroll:!!m.preventScroll}),h.mostRecentlyFocusedNode=e,function(e){return e.tagName&&"input"===e.tagName.toLowerCase()&&"function"==typeof e.select}(e)&&e.select()):E(N()))},O=function(e){var t=T("setReturnFocus",{params:[e]});return t||!1!==t&&e},I=function(t){var n=t.target,a=t.event,r=t.isBackward,o=void 0!==r&&r;n=n||v(a),F();var i=null;if(h.tabbableGroups.length>0){var u=g(n,a),s=u>=0?h.containerGroups[u]:void 0;if(u<0)i=o?h.tabbableGroups[h.tabbableGroups.length-1].lastTabbableNode:h.tabbableGroups[0].firstTabbableNode;else if(o){var l=h.tabbableGroups.findIndex((function(e){var t=e.firstTabbableNode;return n===t}));if(l<0&&(s.container===n||e.isFocusable(n,m.tabbableOptions)&&!e.isTabbable(n,m.tabbableOptions)&&!s.nextTabbableNode(n,!1))&&(l=u),l>=0){var d=0===l?h.tabbableGroups.length-1:l-1,b=h.tabbableGroups[d];i=e.getTabIndex(n)>=0?b.lastTabbableNode:b.lastDomTabbableNode}else c(a)||(i=s.nextTabbableNode(n,!1))}else{var f=h.tabbableGroups.findIndex((function(e){var t=e.lastTabbableNode;return n===t}));if(f<0&&(s.container===n||e.isFocusable(n,m.tabbableOptions)&&!e.isTabbable(n,m.tabbableOptions)&&!s.nextTabbableNode(n))&&(f=u),f>=0){var p=f===h.tabbableGroups.length-1?0:f+1,y=h.tabbableGroups[p];i=e.getTabIndex(n)>=0?y.firstTabbableNode:y.firstDomTabbableNode}else c(a)||(i=s.nextTabbableNode(n))}}else i=T("fallbackFocus");return i},P=function(e){var t=v(e);g(t,e)>=0||(f(m.clickOutsideDeactivates,e)?r.deactivate({returnFocus:m.returnFocusOnDeactivate}):f(m.allowOutsideClick,e)||e.preventDefault())},k=function(t){var n=v(t),a=g(n,t)>=0;if(a||n instanceof Document)a&&(h.mostRecentlyFocusedNode=n);else{var r;t.stopImmediatePropagation();var o=!0;if(h.mostRecentlyFocusedNode)if(e.getTabIndex(h.mostRecentlyFocusedNode)>0){var i=g(h.mostRecentlyFocusedNode),u=h.containerGroups[i].tabbableNodes;if(u.length>0){var s=u.findIndex((function(e){return e===h.mostRecentlyFocusedNode}));s>=0&&(m.isKeyForward(h.recentNavEvent)?s+1<u.length&&(r=u[s+1],o=!1):s-1>=0&&(r=u[s-1],o=!1))}}else h.containerGroups.some((function(t){return t.tabbableNodes.some((function(t){return e.getTabIndex(t)>0}))}))||(o=!1);else o=!1;o&&(r=I({target:h.mostRecentlyFocusedNode,isBackward:m.isKeyBackward(h.recentNavEvent)})),E(r||(h.mostRecentlyFocusedNode||N()))}h.recentNavEvent=void 0},D=function(e){(m.isKeyForward(e)||m.isKeyBackward(e))&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];h.recentNavEvent=e;var n=I({event:e,isBackward:t});n&&(c(e)&&e.preventDefault(),E(n))}(e,m.isKeyBackward(e))},R=function(e){var t;"Escape"!==(null==(t=e)?void 0:t.key)&&"Esc"!==(null==t?void 0:t.key)&&27!==(null==t?void 0:t.keyCode)||!1===f(m.escapeDeactivates,e)||(e.preventDefault(),r.deactivate())},x=function(e){var t=v(e);g(t,e)>=0||f(m.clickOutsideDeactivates,e)||f(m.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},A=function(){if(h.active)return s.activateTrap(y,r),h.delayInitialFocusTimer=m.delayInitialFocus?b((function(){E(N())})):E(N()),u.addEventListener("focusin",k,!0),u.addEventListener("mousedown",P,{capture:!0,passive:!1}),u.addEventListener("touchstart",P,{capture:!0,passive:!1}),u.addEventListener("click",x,{capture:!0,passive:!1}),u.addEventListener("keydown",D,{capture:!0,passive:!1}),u.addEventListener("keydown",R),r},G=function(){if(h.active)return u.removeEventListener("focusin",k,!0),u.removeEventListener("mousedown",P,!0),u.removeEventListener("touchstart",P,!0),u.removeEventListener("click",x,!0),u.removeEventListener("keydown",D,!0),u.removeEventListener("keydown",R),r},j="undefined"!=typeof window&&"MutationObserver"in window?new MutationObserver((function(e){e.some((function(e){return Array.from(e.removedNodes).some((function(e){return e===h.mostRecentlyFocusedNode}))}))&&E(N())})):void 0,_=function(){j&&(j.disconnect(),h.active&&!h.paused&&h.containers.map((function(e){j.observe(e,{subtree:!0,childList:!0})})))};return r={get active(){return h.active},get paused(){return h.paused},activate:function(e){if(h.active)return this;var t=w(e,"onActivate"),n=w(e,"onPostActivate"),a=w(e,"checkCanFocusTrap"),o=s.getActiveTrap(y),i=!1;o&&!o.paused&&(o._setSubtreeIsolation(!1),i=!0);try{a||F(),h.active=!0,h.paused=!1,h.nodeFocusedBeforeActivation=S(u),null==t||t();var c=function(){a&&F(),A(),_(),m.isolateSubtrees&&r._setSubtreeIsolation(!0),null==n||n()};if(a)return a(h.containers.concat()).then(c,c),this;c()}catch(e){throw o===s.getActiveTrap(y)&&i&&o._setSubtreeIsolation(!0),e}return this},deactivate:function(e){if(!h.active)return this;var t=o({onDeactivate:m.onDeactivate,onPostDeactivate:m.onPostDeactivate,checkCanReturnFocus:m.checkCanReturnFocus},e);clearTimeout(h.delayInitialFocusTimer),h.delayInitialFocusTimer=void 0,h.paused||r._setSubtreeIsolation(!1),h.alreadyInert.clear(),G(),h.active=!1,h.paused=!1,_(),s.deactivateTrap(y,r);var n=w(t,"onDeactivate"),a=w(t,"onPostDeactivate"),i=w(t,"checkCanReturnFocus"),u=w(t,"returnFocus","returnFocusOnDeactivate");null==n||n();var c=function(){b((function(){u&&E(O(h.nodeFocusedBeforeActivation)),null==a||a()}))};return u&&i?(i(O(h.nodeFocusedBeforeActivation)).then(c,c),this):(c(),this)},pause:function(e){return h.active?(h.manuallyPaused=!0,this._setPausedState(!0,e)):this},unpause:function(e){return h.active?(h.manuallyPaused=!1,y[y.length-1]!==this?this:this._setPausedState(!1,e)):this},updateContainerElements:function(e){var t=[].concat(e).filter(Boolean);return h.containers=t.map((function(e){return"string"==typeof e?u.querySelector(e):e})),m.isolateSubtrees&&function(e){h.active&&!h.paused&&r._setSubtreeIsolation(!1),h.adjacentElements.clear(),h.alreadyInert.clear();var t,a=new Set,o=new Set,i=n(e);try{for(i.s();!(t=i.n()).done;){var u=t.value;a.add(u);for(var s="undefined"!=typeof ShadowRoot&&u.getRootNode()instanceof ShadowRoot,c=u;c;){a.add(c);var l=c.parentElement,d=[];l?d=l.children:!l&&s&&(d=c.getRootNode().children,l=c.getRootNode().host,s="undefined"!=typeof ShadowRoot&&l.getRootNode()instanceof ShadowRoot);var b,f=n(d);try{for(f.s();!(b=f.n()).done;){var v=b.value;o.add(v)}}catch(e){f.e(e)}finally{f.f()}c=l}}}catch(e){i.e(e)}finally{i.f()}a.forEach((function(e){o.delete(e)})),h.adjacentElements=o}(h.containers),h.active&&(F(),m.isolateSubtrees&&!h.paused&&r._setSubtreeIsolation(!0)),_(),this}},Object.defineProperties(r,{_isManuallyPaused:{value:function(){return h.manuallyPaused}},_setPausedState:{value:function(e,t){if(h.paused===e)return this;if(h.paused=e,e){var n=w(t,"onPause"),a=w(t,"onPostPause");null==n||n(),G(),_(),r._setSubtreeIsolation(!1),null==a||a()}else{var o=w(t,"onUnpause"),i=w(t,"onPostUnpause");null==o||o(),r._setSubtreeIsolation(!0),F(),A(),_(),null==i||i()}return this}},_setSubtreeIsolation:{value:function(e){m.isolateSubtrees&&h.adjacentElements.forEach((function(t){e?((t.inert||t.hasAttribute("inert"))&&h.alreadyInert.add(t),t.inert=!0):h.alreadyInert.has(t)||(t.inert=!1)}))}}}),r.updateContainerElements(t),r};
|
package/dist/focus-trap.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* focus-trap 7.7.
|
|
2
|
+
* focus-trap 7.7.1
|
|
3
3
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
4
4
|
*/
|
|
5
5
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("tabbable")):"function"==typeof define&&define.amd?define(["exports","tabbable"],t):(e="undefined"!=typeof globalThis?globalThis:e||self,function(){var n=e.focusTrap,a=e.focusTrap={};t(a,e.tabbable),a.noConflict=function(){return e.focusTrap=n,a}}())}(this,(function(e,t){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function a(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=s(e))||t){n&&(e=n);var a=0,o=function(){};return{s:o,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,r=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw r}}}}function o(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t);if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}}var c={getActiveTrap:function(e){return(null==e?void 0:e.length)>0?e[e.length-1]:null},activateTrap:function(e,t){t!==c.getActiveTrap(e)&&c.pauseTrap(e);var n=e.indexOf(t);-1===n||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1),c.unpauseTrap(e)},pauseTrap:function(e){var t=c.getActiveTrap(e);null==t||t._setPausedState(!0)},unpauseTrap:function(e){var t=c.getActiveTrap(e);t&&!t._isManuallyPaused()&&t._setPausedState(!1)}},l=function(e){return"Tab"===(null==e?void 0:e.key)||9===(null==e?void 0:e.keyCode)},d=function(e){return l(e)&&!e.shiftKey},f=function(e){return l(e)&&e.shiftKey},b=function(e){return setTimeout(e,0)},v=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return"function"==typeof e?e.apply(void 0,n):e},p=function(e){return e.target.shadowRoot&&"function"==typeof e.composedPath?e.composedPath()[0]:e.target},y=[];e.createFocusTrap=function(e,n){var o,r=(null==n?void 0:n.document)||document,s=(null==n?void 0:n.trapStack)||y,m=i({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isolateSubtrees:!1,isKeyForward:d,isKeyBackward:f},n),h={containers:[],containerGroups:[],tabbableGroups:[],adjacentElements:new Set,alreadyInert:new Set,nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},w=function(e,t,n){return e&&void 0!==e[t]?e[t]:m[n||t]},g=function(e,t){var n="function"==typeof(null==t?void 0:t.composedPath)?t.composedPath():void 0;return h.containerGroups.findIndex((function(t){var a=t.container,o=t.tabbableNodes;return a.contains(e)||(null==n?void 0:n.includes(a))||o.find((function(t){return t===e}))}))},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.hasFallback,a=void 0!==n&&n,o=t.params,i=void 0===o?[]:o,s=m[e];if("function"==typeof s&&(s=s.apply(void 0,u(i))),!0===s&&(s=void 0),!s){if(void 0===s||!1===s)return s;throw new Error("`".concat(e,"` was specified but was not a node, or did not return a node"))}var c=s;if("string"==typeof s){try{c=r.querySelector(s)}catch(t){throw new Error("`".concat(e,'` appears to be an invalid selector; error="').concat(t.message,'"'))}if(!c&&!a)throw new Error("`".concat(e,"` as selector refers to no known node"))}return c},N=function(){var e=T("initialFocus",{hasFallback:!0});if(!1===e)return!1;if(void 0===e||e&&!t.isFocusable(e,m.tabbableOptions))if(g(r.activeElement)>=0)e=r.activeElement;else{var n=h.tabbableGroups[0];e=n&&n.firstTabbableNode||T("fallbackFocus")}else null===e&&(e=T("fallbackFocus"));if(!e)throw new Error("Your focus-trap needs to have at least one focusable element");return e},F=function(){if(h.containerGroups=h.containers.map((function(e){var n=t.tabbable(e,m.tabbableOptions),a=t.focusable(e,m.tabbableOptions),o=n.length>0?n[0]:void 0,r=n.length>0?n[n.length-1]:void 0,i=a.find((function(e){return t.isTabbable(e)})),u=a.slice().reverse().find((function(e){return t.isTabbable(e)})),s=!!n.find((function(e){return t.getTabIndex(e)>0}));return{container:e,tabbableNodes:n,focusableNodes:a,posTabIndexesFound:s,firstTabbableNode:o,lastTabbableNode:r,firstDomTabbableNode:i,lastDomTabbableNode:u,nextTabbableNode:function(e){var o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=n.indexOf(e);return r<0?o?a.slice(a.indexOf(e)+1).find((function(e){return t.isTabbable(e)})):a.slice(0,a.indexOf(e)).reverse().find((function(e){return t.isTabbable(e)})):n[r+(o?1:-1)]}}})),h.tabbableGroups=h.containerGroups.filter((function(e){return e.tabbableNodes.length>0})),h.tabbableGroups.length<=0&&!T("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(h.containerGroups.find((function(e){return e.posTabIndexesFound}))&&h.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},S=function(e){var t=e.activeElement;if(t)return t.shadowRoot&&null!==t.shadowRoot.activeElement?S(t.shadowRoot):t},E=function(e){!1!==e&&e!==S(document)&&(e&&e.focus?(e.focus({preventScroll:!!m.preventScroll}),h.mostRecentlyFocusedNode=e,function(e){return e.tagName&&"input"===e.tagName.toLowerCase()&&"function"==typeof e.select}(e)&&e.select()):E(N()))},O=function(e){var t=T("setReturnFocus",{params:[e]});return t||!1!==t&&e},I=function(e){var n=e.target,a=e.event,o=e.isBackward,r=void 0!==o&&o;n=n||p(a),F();var i=null;if(h.tabbableGroups.length>0){var u=g(n,a),s=u>=0?h.containerGroups[u]:void 0;if(u<0)i=r?h.tabbableGroups[h.tabbableGroups.length-1].lastTabbableNode:h.tabbableGroups[0].firstTabbableNode;else if(r){var c=h.tabbableGroups.findIndex((function(e){var t=e.firstTabbableNode;return n===t}));if(c<0&&(s.container===n||t.isFocusable(n,m.tabbableOptions)&&!t.isTabbable(n,m.tabbableOptions)&&!s.nextTabbableNode(n,!1))&&(c=u),c>=0){var d=0===c?h.tabbableGroups.length-1:c-1,f=h.tabbableGroups[d];i=t.getTabIndex(n)>=0?f.lastTabbableNode:f.lastDomTabbableNode}else l(a)||(i=s.nextTabbableNode(n,!1))}else{var b=h.tabbableGroups.findIndex((function(e){var t=e.lastTabbableNode;return n===t}));if(b<0&&(s.container===n||t.isFocusable(n,m.tabbableOptions)&&!t.isTabbable(n,m.tabbableOptions)&&!s.nextTabbableNode(n))&&(b=u),b>=0){var v=b===h.tabbableGroups.length-1?0:b+1,y=h.tabbableGroups[v];i=t.getTabIndex(n)>=0?y.firstTabbableNode:y.firstDomTabbableNode}else l(a)||(i=s.nextTabbableNode(n))}}else i=T("fallbackFocus");return i},P=function(e){var t=p(e);g(t,e)>=0||(v(m.clickOutsideDeactivates,e)?o.deactivate({returnFocus:m.returnFocusOnDeactivate}):v(m.allowOutsideClick,e)||e.preventDefault())},k=function(e){var n=p(e),a=g(n,e)>=0;if(a||n instanceof Document)a&&(h.mostRecentlyFocusedNode=n);else{var o;e.stopImmediatePropagation();var r=!0;if(h.mostRecentlyFocusedNode)if(t.getTabIndex(h.mostRecentlyFocusedNode)>0){var i=g(h.mostRecentlyFocusedNode),u=h.containerGroups[i].tabbableNodes;if(u.length>0){var s=u.findIndex((function(e){return e===h.mostRecentlyFocusedNode}));s>=0&&(m.isKeyForward(h.recentNavEvent)?s+1<u.length&&(o=u[s+1],r=!1):s-1>=0&&(o=u[s-1],r=!1))}}else h.containerGroups.some((function(e){return e.tabbableNodes.some((function(e){return t.getTabIndex(e)>0}))}))||(r=!1);else r=!1;r&&(o=I({target:h.mostRecentlyFocusedNode,isBackward:m.isKeyBackward(h.recentNavEvent)})),E(o||(h.mostRecentlyFocusedNode||N()))}h.recentNavEvent=void 0},x=function(e){(m.isKeyForward(e)||m.isKeyBackward(e))&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];h.recentNavEvent=e;var n=I({event:e,isBackward:t});n&&(l(e)&&e.preventDefault(),E(n))}(e,m.isKeyBackward(e))},D=function(e){var t;"Escape"!==(null==(t=e)?void 0:t.key)&&"Esc"!==(null==t?void 0:t.key)&&27!==(null==t?void 0:t.keyCode)||!1===v(m.escapeDeactivates,e)||(e.preventDefault(),o.deactivate())},R=function(e){var t=p(e);g(t,e)>=0||v(m.clickOutsideDeactivates,e)||v(m.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},A=function(){if(h.active)return c.activateTrap(s,o),h.delayInitialFocusTimer=m.delayInitialFocus?b((function(){E(N())})):E(N()),r.addEventListener("focusin",k,!0),r.addEventListener("mousedown",P,{capture:!0,passive:!1}),r.addEventListener("touchstart",P,{capture:!0,passive:!1}),r.addEventListener("click",R,{capture:!0,passive:!1}),r.addEventListener("keydown",x,{capture:!0,passive:!1}),r.addEventListener("keydown",D),o},j=function(){if(h.active)return r.removeEventListener("focusin",k,!0),r.removeEventListener("mousedown",P,!0),r.removeEventListener("touchstart",P,!0),r.removeEventListener("click",R,!0),r.removeEventListener("keydown",x,!0),r.removeEventListener("keydown",D),o},G="undefined"!=typeof window&&"MutationObserver"in window?new MutationObserver((function(e){e.some((function(e){return Array.from(e.removedNodes).some((function(e){return e===h.mostRecentlyFocusedNode}))}))&&E(N())})):void 0,_=function(){G&&(G.disconnect(),h.active&&!h.paused&&h.containers.map((function(e){G.observe(e,{subtree:!0,childList:!0})})))};return o={get active(){return h.active},get paused(){return h.paused},activate:function(e){if(h.active)return this;var t=w(e,"onActivate"),n=w(e,"onPostActivate"),a=w(e,"checkCanFocusTrap"),i=c.getActiveTrap(s),u=!1;i&&!i.paused&&(i._setSubtreeIsolation(!1),u=!0);try{a||F(),h.active=!0,h.paused=!1,h.nodeFocusedBeforeActivation=S(r),null==t||t();var l=function(){a&&F(),A(),_(),m.isolateSubtrees&&o._setSubtreeIsolation(!0),null==n||n()};if(a)return a(h.containers.concat()).then(l,l),this;l()}catch(e){throw i===c.getActiveTrap(s)&&u&&i._setSubtreeIsolation(!0),e}return this},deactivate:function(e){if(!h.active)return this;var t=i({onDeactivate:m.onDeactivate,onPostDeactivate:m.onPostDeactivate,checkCanReturnFocus:m.checkCanReturnFocus},e);clearTimeout(h.delayInitialFocusTimer),h.delayInitialFocusTimer=void 0,h.paused||o._setSubtreeIsolation(!1),h.alreadyInert.clear(),j(),h.active=!1,h.paused=!1,_(),c.deactivateTrap(s,o);var n=w(t,"onDeactivate"),a=w(t,"onPostDeactivate"),r=w(t,"checkCanReturnFocus"),u=w(t,"returnFocus","returnFocusOnDeactivate");null==n||n();var l=function(){b((function(){u&&E(O(h.nodeFocusedBeforeActivation)),null==a||a()}))};return u&&r?(r(O(h.nodeFocusedBeforeActivation)).then(l,l),this):(l(),this)},pause:function(e){return h.active?(h.manuallyPaused=!0,this._setPausedState(!0,e)):this},unpause:function(e){return h.active?(h.manuallyPaused=!1,s[s.length-1]!==this?this:this._setPausedState(!1,e)):this},updateContainerElements:function(e){var t=[].concat(e).filter(Boolean);return h.containers=t.map((function(e){return"string"==typeof e?r.querySelector(e):e})),m.isolateSubtrees&&function(e){h.active&&!h.paused&&o._setSubtreeIsolation(!1),h.adjacentElements.clear(),h.alreadyInert.clear();var t,n=new Set,r=new Set,i=a(e);try{for(i.s();!(t=i.n()).done;){var u=t.value;n.add(u);for(var s="undefined"!=typeof ShadowRoot&&u.getRootNode()instanceof ShadowRoot,c=u;c;){n.add(c);var l=c.parentElement,d=[];l?d=l.children:!l&&s&&(d=c.getRootNode().children,l=c.getRootNode().host,s="undefined"!=typeof ShadowRoot&&l.getRootNode()instanceof ShadowRoot);var f,b=a(d);try{for(b.s();!(f=b.n()).done;){var v=f.value;r.add(v)}}catch(e){b.e(e)}finally{b.f()}c=l}}}catch(e){i.e(e)}finally{i.f()}n.forEach((function(e){r.delete(e)})),h.adjacentElements=r}(h.containers),h.active&&(F(),m.isolateSubtrees&&!h.paused&&o._setSubtreeIsolation(!0)),_(),this}},Object.defineProperties(o,{_isManuallyPaused:{value:function(){return h.manuallyPaused}},_setPausedState:{value:function(e,t){if(h.paused===e)return this;if(h.paused=e,e){var n=w(t,"onPause"),a=w(t,"onPostPause");null==n||n(),j(),_(),o._setSubtreeIsolation(!1),null==a||a()}else{var r=w(t,"onUnpause"),i=w(t,"onPostUnpause");null==r||r(),o._setSubtreeIsolation(!0),F(),A(),_(),null==i||i()}return this}},_setSubtreeIsolation:{value:function(e){m.isolateSubtrees&&h.adjacentElements.forEach((function(t){e?((t.inert||t.hasAttribute("inert"))&&h.alreadyInert.add(t),t.inert=!0):h.alreadyInert.has(t)||(t.inert=!1)}))}}}),o.updateContainerElements(e),o}}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "focus-trap",
|
|
3
|
-
"version": "7.7.
|
|
3
|
+
"version": "7.7.1",
|
|
4
4
|
"description": "Trap focus within a DOM node.",
|
|
5
5
|
"main": "dist/focus-trap.js",
|
|
6
6
|
"module": "dist/focus-trap.esm.js",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
},
|
|
66
66
|
"homepage": "https://github.com/focus-trap/focus-trap#readme",
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"tabbable": "^6.
|
|
68
|
+
"tabbable": "^6.4.0"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@babel/cli": "^7.28.3",
|
|
@@ -87,13 +87,13 @@
|
|
|
87
87
|
"@types/jest": "^30.0.0",
|
|
88
88
|
"@types/jquery": "^3.5.33",
|
|
89
89
|
"@types/node": "^25.0.3",
|
|
90
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
90
|
+
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
91
91
|
"@typescript-eslint/parser": "^8.50.0",
|
|
92
92
|
"all-contributors-cli": "^6.26.1",
|
|
93
93
|
"babel-jest": "^30.1.2",
|
|
94
94
|
"babel-loader": "^10.0.0",
|
|
95
95
|
"cross-env": "^10.1.0",
|
|
96
|
-
"cypress": "^15.8.
|
|
96
|
+
"cypress": "^15.8.1",
|
|
97
97
|
"cypress-plugin-tab": "^1.0.5",
|
|
98
98
|
"eslint": "^9.39.2",
|
|
99
99
|
"eslint-config-prettier": "^10.1.8",
|
|
@@ -101,16 +101,16 @@
|
|
|
101
101
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
102
102
|
"eslint-plugin-cypress": "^5.2.0",
|
|
103
103
|
"eslint-plugin-import": "^2.32.0",
|
|
104
|
-
"eslint-plugin-jest": "^29.
|
|
104
|
+
"eslint-plugin-jest": "^29.12.0",
|
|
105
105
|
"eslint-plugin-jest-dom": "^5.5.0",
|
|
106
|
-
"eslint-plugin-testing-library": "^7.15.
|
|
106
|
+
"eslint-plugin-testing-library": "^7.15.3",
|
|
107
107
|
"globals": "^16.5.0",
|
|
108
108
|
"jest": "^30.2.0",
|
|
109
109
|
"jest-environment-jsdom": "^30.2.0",
|
|
110
110
|
"jest-watch-typeahead": "^3.0.1",
|
|
111
111
|
"onchange": "^7.1.0",
|
|
112
112
|
"prettier": "^3.7.4",
|
|
113
|
-
"rollup": "^4.
|
|
113
|
+
"rollup": "^4.54.0",
|
|
114
114
|
"rollup-plugin-livereload": "^2.0.5",
|
|
115
115
|
"rollup-plugin-serve": "^3.0.0",
|
|
116
116
|
"start-server-and-test": "^2.1.3",
|