@amboss/design-system 3.20.5 → 3.20.6

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useFocusByIndex",{enumerable:!0,get:function(){return useFocusByIndex}});const _react=require("react"),getNextEnabledIndex=(items,startIndex,direction)=>{let index=startIndex+direction;for(;index>=0&&index<items.length;){if(!items[index]?.isDisabled)return index;index+=direction}return -1},getClosestEnabledIndex=(items,currentIndex)=>{if(!items.length)return -1;if(currentIndex>=0&&currentIndex<items.length&&!items[currentIndex]?.isDisabled)return currentIndex;let forward=getNextEnabledIndex(items,currentIndex,1);return -1!==forward?forward:getNextEnabledIndex(items,currentIndex,-1)},useFocusByIndex=({data,containerRef,nodeSelector,preventScroll=!1})=>{let[focusedIndex,setFocusedIndex]=(0,_react.useState)(()=>getClosestEnabledIndex(data,0)),focusedIndexRef=(0,_react.useRef)(focusedIndex);(0,_react.useEffect)(()=>{focusedIndexRef.current=focusedIndex},[focusedIndex]);let focusItemAtIndex=(0,_react.useCallback)(index=>{if(-1===index)return;let container=containerRef.current;if(!container)return;let element=container.querySelector(`[${nodeSelector}="${index}"]`);!element||data[index]?.isDisabled||(element.focus({preventScroll}),setFocusedIndex(index))},[containerRef,data,nodeSelector,preventScroll]);return(0,_react.useEffect)(()=>{let container=containerRef.current;if(!container)return;let handleContainerFocus=()=>{let nextIndex=getClosestEnabledIndex(data,focusedIndexRef.current);-1!==nextIndex&&focusItemAtIndex(nextIndex)},handleFocusIn=event=>{let target=event.target;if(!container.contains(target))return;let attributeValue=target.getAttribute(nodeSelector);if(null===attributeValue)return;let parsedIndex=Number(attributeValue);Number.isNaN(parsedIndex)||data[parsedIndex]?.isDisabled||setFocusedIndex(parsedIndex)},handleFocusOut=event=>{let nextTarget=event.relatedTarget;nextTarget&&container.contains(nextTarget)||setFocusedIndex(getClosestEnabledIndex(data,0))};return container.addEventListener("focus",handleContainerFocus),container.addEventListener("focusin",handleFocusIn),container.addEventListener("focusout",handleFocusOut),()=>{container.removeEventListener("focus",handleContainerFocus),container.removeEventListener("focusin",handleFocusIn),container.removeEventListener("focusout",handleFocusOut)}},[containerRef,data,focusItemAtIndex,nodeSelector]),{moveFocus:(0,_react.useCallback)(offset=>{let nextIndex;if(!data.length)return;let direction=offset>0?1:-1,remainingSteps=Math.abs(offset);for(nextIndex=-1===focusedIndex?direction>0?-1:data.length:focusedIndex;remainingSteps>0;){let candidate=getNextEnabledIndex(data,nextIndex,direction);if(-1===candidate)return;nextIndex=candidate,remainingSteps-=1}nextIndex!==focusedIndex&&focusItemAtIndex(nextIndex)},[data,focusItemAtIndex,focusedIndex]),focusedIndex}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useFocusByIndex",{enumerable:!0,get:function(){return useFocusByIndex}});const _react=require("react"),getNextEnabledIndex=(items,startIndex,direction)=>{let index=startIndex+direction;for(;index>=0&&index<items.length;){if(!items[index]?.isDisabled)return index;index+=direction}return -1},getClosestEnabledIndex=(items,currentIndex)=>{if(!items.length)return -1;if(currentIndex>=0&&currentIndex<items.length&&!items[currentIndex]?.isDisabled)return currentIndex;let forward=getNextEnabledIndex(items,currentIndex,1);return -1!==forward?forward:getNextEnabledIndex(items,currentIndex,-1)},useFocusByIndex=({data,containerRef,nodeSelector,preventScroll=!1})=>{let[focusedIndex,setFocusedIndex]=(0,_react.useState)(()=>getClosestEnabledIndex(data,0)),focusedIndexRef=(0,_react.useRef)(focusedIndex);(0,_react.useEffect)(()=>{focusedIndexRef.current=focusedIndex},[focusedIndex]);let focusItemAtIndex=(0,_react.useCallback)(index=>{if(-1===index)return;let container=containerRef.current;if(!container)return;let element=container.querySelector(`[${nodeSelector}="${index}"]`);!element||data[index]?.isDisabled||(element.focus({preventScroll}),setFocusedIndex(index))},[containerRef,data,nodeSelector,preventScroll]);return(0,_react.useEffect)(()=>{let container=containerRef.current;if(!container)return;let handleContainerFocus=()=>{let nextIndex=getClosestEnabledIndex(data,focusedIndexRef.current);-1!==nextIndex&&focusItemAtIndex(nextIndex)},handleFocusIn=event=>{let target=event.target;if(!container.contains(target))return;let attributeValue=target.getAttribute(nodeSelector);if(null===attributeValue)return;let parsedIndex=Number(attributeValue);Number.isNaN(parsedIndex)||data[parsedIndex]?.isDisabled||setFocusedIndex(parsedIndex)};return container.addEventListener("focus",handleContainerFocus),container.addEventListener("focusin",handleFocusIn),()=>{container.removeEventListener("focus",handleContainerFocus),container.removeEventListener("focusin",handleFocusIn)}},[containerRef,data,focusItemAtIndex,nodeSelector]),{moveFocus:(0,_react.useCallback)(offset=>{let nextIndex;if(!data.length)return;let direction=offset>0?1:-1,remainingSteps=Math.abs(offset);for(nextIndex=-1===focusedIndex?direction>0?-1:data.length:focusedIndex;remainingSteps>0;){let candidate=getNextEnabledIndex(data,nextIndex,direction);if(-1===candidate)return;nextIndex=candidate,remainingSteps-=1}nextIndex!==focusedIndex&&focusItemAtIndex(nextIndex)},[data,focusItemAtIndex,focusedIndex]),focusedIndex}};
@@ -1 +1 @@
1
- import{useCallback,useEffect,useRef,useState}from"react";let getNextEnabledIndex=(items,startIndex,direction)=>{let index=startIndex+direction;for(;index>=0&&index<items.length;){if(!items[index]?.isDisabled)return index;index+=direction}return -1},getClosestEnabledIndex=(items,currentIndex)=>{if(!items.length)return -1;if(currentIndex>=0&&currentIndex<items.length&&!items[currentIndex]?.isDisabled)return currentIndex;let forward=getNextEnabledIndex(items,currentIndex,1);return -1!==forward?forward:getNextEnabledIndex(items,currentIndex,-1)};export const useFocusByIndex=({data,containerRef,nodeSelector,preventScroll=!1})=>{let[focusedIndex,setFocusedIndex]=useState(()=>getClosestEnabledIndex(data,0)),focusedIndexRef=useRef(focusedIndex);useEffect(()=>{focusedIndexRef.current=focusedIndex},[focusedIndex]);let focusItemAtIndex=useCallback(index=>{if(-1===index)return;let container=containerRef.current;if(!container)return;let element=container.querySelector(`[${nodeSelector}="${index}"]`);!element||data[index]?.isDisabled||(element.focus({preventScroll}),setFocusedIndex(index))},[containerRef,data,nodeSelector,preventScroll]);return useEffect(()=>{let container=containerRef.current;if(!container)return;let handleContainerFocus=()=>{let nextIndex=getClosestEnabledIndex(data,focusedIndexRef.current);-1!==nextIndex&&focusItemAtIndex(nextIndex)},handleFocusIn=event=>{let target=event.target;if(!container.contains(target))return;let attributeValue=target.getAttribute(nodeSelector);if(null===attributeValue)return;let parsedIndex=Number(attributeValue);Number.isNaN(parsedIndex)||data[parsedIndex]?.isDisabled||setFocusedIndex(parsedIndex)},handleFocusOut=event=>{let nextTarget=event.relatedTarget;nextTarget&&container.contains(nextTarget)||setFocusedIndex(getClosestEnabledIndex(data,0))};return container.addEventListener("focus",handleContainerFocus),container.addEventListener("focusin",handleFocusIn),container.addEventListener("focusout",handleFocusOut),()=>{container.removeEventListener("focus",handleContainerFocus),container.removeEventListener("focusin",handleFocusIn),container.removeEventListener("focusout",handleFocusOut)}},[containerRef,data,focusItemAtIndex,nodeSelector]),{moveFocus:useCallback(offset=>{let nextIndex;if(!data.length)return;let direction=offset>0?1:-1,remainingSteps=Math.abs(offset);for(nextIndex=-1===focusedIndex?direction>0?-1:data.length:focusedIndex;remainingSteps>0;){let candidate=getNextEnabledIndex(data,nextIndex,direction);if(-1===candidate)return;nextIndex=candidate,remainingSteps-=1}nextIndex!==focusedIndex&&focusItemAtIndex(nextIndex)},[data,focusItemAtIndex,focusedIndex]),focusedIndex}};
1
+ import{useCallback,useEffect,useRef,useState}from"react";let getNextEnabledIndex=(items,startIndex,direction)=>{let index=startIndex+direction;for(;index>=0&&index<items.length;){if(!items[index]?.isDisabled)return index;index+=direction}return -1},getClosestEnabledIndex=(items,currentIndex)=>{if(!items.length)return -1;if(currentIndex>=0&&currentIndex<items.length&&!items[currentIndex]?.isDisabled)return currentIndex;let forward=getNextEnabledIndex(items,currentIndex,1);return -1!==forward?forward:getNextEnabledIndex(items,currentIndex,-1)};export const useFocusByIndex=({data,containerRef,nodeSelector,preventScroll=!1})=>{let[focusedIndex,setFocusedIndex]=useState(()=>getClosestEnabledIndex(data,0)),focusedIndexRef=useRef(focusedIndex);useEffect(()=>{focusedIndexRef.current=focusedIndex},[focusedIndex]);let focusItemAtIndex=useCallback(index=>{if(-1===index)return;let container=containerRef.current;if(!container)return;let element=container.querySelector(`[${nodeSelector}="${index}"]`);!element||data[index]?.isDisabled||(element.focus({preventScroll}),setFocusedIndex(index))},[containerRef,data,nodeSelector,preventScroll]);return useEffect(()=>{let container=containerRef.current;if(!container)return;let handleContainerFocus=()=>{let nextIndex=getClosestEnabledIndex(data,focusedIndexRef.current);-1!==nextIndex&&focusItemAtIndex(nextIndex)},handleFocusIn=event=>{let target=event.target;if(!container.contains(target))return;let attributeValue=target.getAttribute(nodeSelector);if(null===attributeValue)return;let parsedIndex=Number(attributeValue);Number.isNaN(parsedIndex)||data[parsedIndex]?.isDisabled||setFocusedIndex(parsedIndex)};return container.addEventListener("focus",handleContainerFocus),container.addEventListener("focusin",handleFocusIn),()=>{container.removeEventListener("focus",handleContainerFocus),container.removeEventListener("focusin",handleFocusIn)}},[containerRef,data,focusItemAtIndex,nodeSelector]),{moveFocus:useCallback(offset=>{let nextIndex;if(!data.length)return;let direction=offset>0?1:-1,remainingSteps=Math.abs(offset);for(nextIndex=-1===focusedIndex?direction>0?-1:data.length:focusedIndex;remainingSteps>0;){let candidate=getNextEnabledIndex(data,nextIndex,direction);if(-1===candidate)return;nextIndex=candidate,remainingSteps-=1}nextIndex!==focusedIndex&&focusItemAtIndex(nextIndex)},[data,focusItemAtIndex,focusedIndex]),focusedIndex}};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amboss/design-system",
3
- "version": "3.20.5",
3
+ "version": "3.20.6",
4
4
  "description": "the design system for AMBOSS products",
5
5
  "author": "AMBOSS",
6
6
  "license": "ISC",