@vuu-ui/vuu-utils 0.8.4-debug → 0.8.5-debug

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/esm/index.js CHANGED
@@ -918,6 +918,28 @@ var createEl = (elementType, className, textContent) => {
918
918
  }
919
919
  return el;
920
920
  };
921
+ var getFocusableElement = (el, tabIndex) => {
922
+ if (el) {
923
+ if (el.hasAttribute("tabindex")) {
924
+ const rootTabIndex = parseInt(el.getAttribute("tabindex"));
925
+ if (!isNaN(rootTabIndex) && (tabIndex === void 0 || rootTabIndex === tabIndex)) {
926
+ return el;
927
+ }
928
+ }
929
+ const focusableEl = typeof tabIndex === "number" ? el.querySelector(`[tabindex="${tabIndex}"]`) : el.querySelector("[tabindex]");
930
+ if (focusableEl) {
931
+ return focusableEl;
932
+ }
933
+ }
934
+ };
935
+ var focusFirstFocusableElement = (el, tabIndex) => {
936
+ requestAnimationFrame(() => {
937
+ const focusableElement = getFocusableElement(el, tabIndex);
938
+ if (focusableElement) {
939
+ focusableElement.focus();
940
+ }
941
+ });
942
+ };
921
943
 
922
944
  // src/event-emitter.ts
923
945
  function isArrayOfListeners(listeners) {
@@ -1308,6 +1330,20 @@ var addChildValues = (rows, json, cols, index = { value: 0 }, keyBase = "$root",
1308
1330
  return [leafCount, rowCount];
1309
1331
  };
1310
1332
 
1333
+ // src/keyboard-utils.ts
1334
+ var ArrowUp = "ArrowUp";
1335
+ var ArrowDown = "ArrowDown";
1336
+ var ArrowLeft = "ArrowLeft";
1337
+ var ArrowRight = "ArrowRight";
1338
+ var Enter = "Enter";
1339
+ var Escape = "Escape";
1340
+ var Home = "Home";
1341
+ var End = "End";
1342
+ var PageUp = "PageUp";
1343
+ var PageDown = "PageDown";
1344
+ var Space2 = " ";
1345
+ var Tab = "Tab";
1346
+
1311
1347
  // src/keyset.ts
1312
1348
  var KeySet = class {
1313
1349
  constructor(range) {
@@ -1717,13 +1753,25 @@ var getUrlParameter = (paramName, defaultValue) => {
1717
1753
  var hasUrlParameter = (paramName) => new URL(document.location.href).searchParams.has(paramName);
1718
1754
  export {
1719
1755
  AggregationType,
1756
+ ArrowDown,
1757
+ ArrowLeft,
1758
+ ArrowRight,
1759
+ ArrowUp,
1720
1760
  DOWN1,
1721
1761
  DOWN2,
1722
1762
  DataWindow,
1763
+ End,
1764
+ Enter,
1765
+ Escape,
1723
1766
  EventEmitter,
1767
+ Home,
1724
1768
  KeySet,
1769
+ PageDown,
1770
+ PageUp,
1725
1771
  RangeMonitor,
1726
1772
  RowSelected,
1773
+ Space2 as Space,
1774
+ Tab,
1727
1775
  UP1,
1728
1776
  UP2,
1729
1777
  WindowRange,
@@ -1746,6 +1794,7 @@ export {
1746
1794
  filterAsQuery,
1747
1795
  findColumn,
1748
1796
  flattenColumnGroup,
1797
+ focusFirstFocusableElement,
1749
1798
  formatDate,
1750
1799
  fromServerDataType,
1751
1800
  getCellConfigPanelRenderer,
@@ -1754,6 +1803,7 @@ export {
1754
1803
  getColumnStyle,
1755
1804
  getColumnsInViewport,
1756
1805
  getCookieValue,
1806
+ getFocusableElement,
1757
1807
  getFullRange,
1758
1808
  getGroupValueAndOffset,
1759
1809
  getLoggingConfigForWorker,