@tamagui/roving-focus 1.143.0 → 2.0.0-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.
@@ -31,7 +31,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  }), mod);
32
32
  var RovingFocusGroup_exports = {};
33
33
  __export(RovingFocusGroup_exports, {
34
- RovingFocusGroup: () => RovingFocusGroup
34
+ RovingFocusGroup: () => RovingFocusGroup,
35
+ RovingFocusGroupItem: () => RovingFocusGroupItem
35
36
  });
36
37
  module.exports = __toCommonJS(RovingFocusGroup_exports);
37
38
  var import_collection = require("@tamagui/collection"),
@@ -58,6 +59,7 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus",
58
59
  defaultCurrentTabStopId,
59
60
  onCurrentTabStopIdChange,
60
61
  onEntryFocus,
62
+ asChild,
61
63
  ...groupProps
62
64
  } = props,
63
65
  ref = React.useRef(null),
@@ -73,10 +75,12 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus",
73
75
  getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT),
74
76
  isClickFocusRef = React.useRef(!1),
75
77
  [focusableItemsCount, setFocusableItemsCount] = React.useState(0);
76
- return React.useEffect(() => {
78
+ React.useEffect(() => {
77
79
  const node = ref.current;
78
80
  if (node) return node.addEventListener(ENTRY_FOCUS, handleEntryFocus), () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
79
- }, [handleEntryFocus]), /* @__PURE__ */(0, import_jsx_runtime.jsx)(RovingFocusProvider, {
81
+ }, [handleEntryFocus]);
82
+ const Comp = asChild ? import_core.Slot : import_core.Stack;
83
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(RovingFocusProvider, {
80
84
  scope: __scopeRovingFocusGroup,
81
85
  orientation,
82
86
  dir: direction,
@@ -86,14 +90,12 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus",
86
90
  onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(!0), []),
87
91
  onFocusableItemAdd: React.useCallback(() => setFocusableItemsCount(prevCount => prevCount + 1), []),
88
92
  onFocusableItemRemove: React.useCallback(() => setFocusableItemsCount(prevCount => prevCount - 1), []),
89
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_core.Stack, {
93
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Comp, {
90
94
  tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
91
95
  "data-orientation": orientation,
92
96
  ...groupProps,
93
97
  ref: composedRefs,
94
- style: [{
95
- outline: "none"
96
- }, props.style],
98
+ outlineStyle: "none",
97
99
  onMouseDown: (0, import_helpers.composeEventHandlers)(props.onMouseDown, () => {
98
100
  isClickFocusRef.current = !0;
99
101
  }),
@@ -22,7 +22,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
23
  var RovingFocusGroup_exports = {};
24
24
  __export(RovingFocusGroup_exports, {
25
- RovingFocusGroup: () => RovingFocusGroup
25
+ RovingFocusGroup: () => RovingFocusGroup,
26
+ RovingFocusGroupItem: () => RovingFocusGroupItem
26
27
  });
27
28
  module.exports = __toCommonJS(RovingFocusGroup_exports);
28
29
  var import_collection = require("@tamagui/collection"), import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_helpers = require("@tamagui/helpers"), import_use_controllable_state = require("@tamagui/use-controllable-state"), import_use_direction = require("@tamagui/use-direction"), React = __toESM(require("react"), 1), import_jsx_runtime = require("react/jsx-runtime");
@@ -36,17 +37,20 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus", EVENT_OPTIONS = { bubbles:
36
37
  defaultCurrentTabStopId,
37
38
  onCurrentTabStopIdChange,
38
39
  onEntryFocus,
40
+ asChild,
39
41
  ...groupProps
40
42
  } = props, ref = React.useRef(null), composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, ref), direction = (0, import_use_direction.useDirection)(dir), [currentTabStopId = null, setCurrentTabStopId] = (0, import_use_controllable_state.useControllableState)({
41
43
  prop: currentTabStopIdProp,
42
44
  defaultProp: defaultCurrentTabStopId ?? null,
43
45
  onChange: onCurrentTabStopIdChange
44
46
  }), [isTabbingBackOut, setIsTabbingBackOut] = React.useState(!1), handleEntryFocus = (0, import_core.useEvent)(onEntryFocus), getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT), isClickFocusRef = React.useRef(!1), [focusableItemsCount, setFocusableItemsCount] = React.useState(0);
45
- return React.useEffect(() => {
47
+ React.useEffect(() => {
46
48
  const node = ref.current;
47
49
  if (node)
48
50
  return node.addEventListener(ENTRY_FOCUS, handleEntryFocus), () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
49
- }, [handleEntryFocus]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
51
+ }, [handleEntryFocus]);
52
+ const Comp = asChild ? import_core.Slot : import_core.Stack;
53
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
50
54
  RovingFocusProvider,
51
55
  {
52
56
  scope: __scopeRovingFocusGroup,
@@ -68,13 +72,13 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus", EVENT_OPTIONS = { bubbles:
68
72
  []
69
73
  ),
70
74
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
71
- import_core.Stack,
75
+ Comp,
72
76
  {
73
77
  tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
74
78
  "data-orientation": orientation,
75
79
  ...groupProps,
76
80
  ref: composedRefs,
77
- style: [{ outline: "none" }, props.style],
81
+ outlineStyle: "none",
78
82
  onMouseDown: (0, import_helpers.composeEventHandlers)(props.onMouseDown, () => {
79
83
  isClickFocusRef.current = !0;
80
84
  }),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/RovingFocusGroup.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import { createCollection } from "@tamagui/collection";
2
2
  import { useComposedRefs } from "@tamagui/compose-refs";
3
3
  import { isWeb } from "@tamagui/constants";
4
- import { Stack, createStyledContext, useEvent } from "@tamagui/core";
4
+ import { Slot, Stack, createStyledContext, useEvent } from "@tamagui/core";
5
5
  import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
6
6
  import { useControllableState } from "@tamagui/use-controllable-state";
7
7
  import { useDirection } from "@tamagui/use-direction";
@@ -17,17 +17,20 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus", EVENT_OPTIONS = { bubbles:
17
17
  defaultCurrentTabStopId,
18
18
  onCurrentTabStopIdChange,
19
19
  onEntryFocus,
20
+ asChild,
20
21
  ...groupProps
21
22
  } = props, ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), direction = useDirection(dir), [currentTabStopId = null, setCurrentTabStopId] = useControllableState({
22
23
  prop: currentTabStopIdProp,
23
24
  defaultProp: defaultCurrentTabStopId ?? null,
24
25
  onChange: onCurrentTabStopIdChange
25
26
  }), [isTabbingBackOut, setIsTabbingBackOut] = React.useState(!1), handleEntryFocus = useEvent(onEntryFocus), getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT), isClickFocusRef = React.useRef(!1), [focusableItemsCount, setFocusableItemsCount] = React.useState(0);
26
- return React.useEffect(() => {
27
+ React.useEffect(() => {
27
28
  const node = ref.current;
28
29
  if (node)
29
30
  return node.addEventListener(ENTRY_FOCUS, handleEntryFocus), () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
30
- }, [handleEntryFocus]), /* @__PURE__ */ jsx(
31
+ }, [handleEntryFocus]);
32
+ const Comp = asChild ? Slot : Stack;
33
+ return /* @__PURE__ */ jsx(
31
34
  RovingFocusProvider,
32
35
  {
33
36
  scope: __scopeRovingFocusGroup,
@@ -49,13 +52,13 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus", EVENT_OPTIONS = { bubbles:
49
52
  []
50
53
  ),
51
54
  children: /* @__PURE__ */ jsx(
52
- Stack,
55
+ Comp,
53
56
  {
54
57
  tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
55
58
  "data-orientation": orientation,
56
59
  ...groupProps,
57
60
  ref: composedRefs,
58
- style: [{ outline: "none" }, props.style],
61
+ outlineStyle: "none",
59
62
  onMouseDown: composeEventHandlers(props.onMouseDown, () => {
60
63
  isClickFocusRef.current = !0;
61
64
  }),
@@ -189,6 +192,7 @@ function wrapArray(array, startIndex) {
189
192
  return array.map((_, index) => array[(startIndex + index) % array.length]);
190
193
  }
191
194
  export {
192
- RovingFocusGroup
195
+ RovingFocusGroup,
196
+ RovingFocusGroupItem
193
197
  };
194
198
  //# sourceMappingURL=RovingFocusGroup.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/RovingFocusGroup.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import { createCollection } from "@tamagui/collection";
2
2
  import { useComposedRefs } from "@tamagui/compose-refs";
3
3
  import { isWeb } from "@tamagui/constants";
4
- import { Stack, createStyledContext, useEvent } from "@tamagui/core";
4
+ import { Slot, Stack, createStyledContext, useEvent } from "@tamagui/core";
5
5
  import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
6
6
  import { useControllableState } from "@tamagui/use-controllable-state";
7
7
  import { useDirection } from "@tamagui/use-direction";
@@ -22,6 +22,7 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus",
22
22
  defaultCurrentTabStopId,
23
23
  onCurrentTabStopIdChange,
24
24
  onEntryFocus,
25
+ asChild,
25
26
  ...groupProps
26
27
  } = props,
27
28
  ref = React.useRef(null),
@@ -37,10 +38,12 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus",
37
38
  getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT),
38
39
  isClickFocusRef = React.useRef(!1),
39
40
  [focusableItemsCount, setFocusableItemsCount] = React.useState(0);
40
- return React.useEffect(() => {
41
+ React.useEffect(() => {
41
42
  const node = ref.current;
42
43
  if (node) return node.addEventListener(ENTRY_FOCUS, handleEntryFocus), () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
43
- }, [handleEntryFocus]), /* @__PURE__ */jsx(RovingFocusProvider, {
44
+ }, [handleEntryFocus]);
45
+ const Comp = asChild ? Slot : Stack;
46
+ return /* @__PURE__ */jsx(RovingFocusProvider, {
44
47
  scope: __scopeRovingFocusGroup,
45
48
  orientation,
46
49
  dir: direction,
@@ -50,14 +53,12 @@ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus",
50
53
  onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(!0), []),
51
54
  onFocusableItemAdd: React.useCallback(() => setFocusableItemsCount(prevCount => prevCount + 1), []),
52
55
  onFocusableItemRemove: React.useCallback(() => setFocusableItemsCount(prevCount => prevCount - 1), []),
53
- children: /* @__PURE__ */jsx(Stack, {
56
+ children: /* @__PURE__ */jsx(Comp, {
54
57
  tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
55
58
  "data-orientation": orientation,
56
59
  ...groupProps,
57
60
  ref: composedRefs,
58
- style: [{
59
- outline: "none"
60
- }, props.style],
61
+ outlineStyle: "none",
61
62
  onMouseDown: composeEventHandlers(props.onMouseDown, () => {
62
63
  isClickFocusRef.current = !0;
63
64
  }),
@@ -181,5 +182,5 @@ function focusFirst(candidates) {
181
182
  function wrapArray(array, startIndex) {
182
183
  return array.map((_, index) => array[(startIndex + index) % array.length]);
183
184
  }
184
- export { RovingFocusGroup };
185
+ export { RovingFocusGroup, RovingFocusGroupItem };
185
186
  //# sourceMappingURL=RovingFocusGroup.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createCollection","useComposedRefs","isWeb","Stack","createStyledContext","useEvent","composeEventHandlers","withStaticProperties","useControllableState","useDirection","React","jsx","ENTRY_FOCUS","EVENT_OPTIONS","bubbles","cancelable","RovingFocusGroupImpl","forwardRef","props","forwardedRef","__scopeRovingFocusGroup","orientation","loop","dir","currentTabStopId","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","groupProps","ref","useRef","composedRefs","direction","setCurrentTabStopId","prop","defaultProp","onChange","isTabbingBackOut","setIsTabbingBackOut","useState","handleEntryFocus","getItems","useCollection","ROVING_FOCUS_GROUP_CONTEXT","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","useEffect","node","current","addEventListener","removeEventListener","RovingFocusProvider","scope","onItemFocus","useCallback","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","children","tabIndex","style","outline","onMouseDown","onFocus","event","isKeyboardFocus","target","currentTarget","entryFocusEvent","CustomEvent","dispatchEvent","defaultPrevented","items","filter","item","focusable","activeItem","find","active","currentItem","id","candidateNodes","Boolean","map","focusFirst","onBlur","ITEM_NAME","RovingFocusGroupItem","itemProps","autoId","useId","context","useRovingFocusContext","isCurrentTabStop","Collection","ItemSlot","preventDefault","onKeyDown","key","shiftKey","focusIntent","getFocusIntent","reverse","currentIndex","indexOf","wrapArray","slice","setTimeout","displayName","GROUP_NAME","Provider","useStyledContext","RovingFocusGroup","Slot","Item","MAP_KEY_TO_FOCUS_INTENT","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","getDirectionAwareKey","includes","candidates","PREVIOUSLY_FOCUSED_ELEMENT","document","activeElement","candidate","focus","array","startIndex","_","index","length"],"sources":["../../src/RovingFocusGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createCollection","useComposedRefs","isWeb","Slot","Stack","createStyledContext","useEvent","composeEventHandlers","withStaticProperties","useControllableState","useDirection","React","jsx","ENTRY_FOCUS","EVENT_OPTIONS","bubbles","cancelable","RovingFocusGroupImpl","forwardRef","props","forwardedRef","__scopeRovingFocusGroup","orientation","loop","dir","currentTabStopId","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","asChild","groupProps","ref","useRef","composedRefs","direction","setCurrentTabStopId","prop","defaultProp","onChange","isTabbingBackOut","setIsTabbingBackOut","useState","handleEntryFocus","getItems","useCollection","ROVING_FOCUS_GROUP_CONTEXT","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","useEffect","node","current","addEventListener","removeEventListener","Comp","RovingFocusProvider","scope","onItemFocus","useCallback","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","children","tabIndex","outlineStyle","onMouseDown","onFocus","event","isKeyboardFocus","target","currentTarget","entryFocusEvent","CustomEvent","dispatchEvent","defaultPrevented","items","filter","item","focusable","activeItem","find","active","currentItem","id","candidateNodes","Boolean","map","focusFirst","onBlur","ITEM_NAME","RovingFocusGroupItem","itemProps","autoId","useId","context","useRovingFocusContext","isCurrentTabStop","Collection","ItemSlot","preventDefault","onKeyDown","key","shiftKey","focusIntent","getFocusIntent","reverse","currentIndex","indexOf","wrapArray","slice","setTimeout","displayName","GROUP_NAME","Provider","useStyledContext","RovingFocusGroup","Item","MAP_KEY_TO_FOCUS_INTENT","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","getDirectionAwareKey","includes","candidates","PREVIOUSLY_FOCUSED_ELEMENT","document","activeElement","candidate","focus","array","startIndex","_","index","length"],"sources":["../../src/RovingFocusGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/roving-focus",
3
- "version": "1.143.0",
3
+ "version": "2.0.0-001",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -38,18 +38,18 @@
38
38
  }
39
39
  },
40
40
  "dependencies": {
41
- "@tamagui/collection": "1.143.0",
42
- "@tamagui/compose-refs": "1.143.0",
43
- "@tamagui/constants": "1.143.0",
44
- "@tamagui/core": "1.143.0",
45
- "@tamagui/create-context": "1.143.0",
46
- "@tamagui/helpers": "1.143.0",
47
- "@tamagui/use-controllable-state": "1.143.0",
48
- "@tamagui/use-direction": "1.143.0",
49
- "@tamagui/use-event": "1.143.0"
41
+ "@tamagui/collection": "2.0.0-001",
42
+ "@tamagui/compose-refs": "2.0.0-001",
43
+ "@tamagui/constants": "2.0.0-001",
44
+ "@tamagui/core": "2.0.0-001",
45
+ "@tamagui/create-context": "2.0.0-001",
46
+ "@tamagui/helpers": "2.0.0-001",
47
+ "@tamagui/use-controllable-state": "2.0.0-001",
48
+ "@tamagui/use-direction": "2.0.0-001",
49
+ "@tamagui/use-event": "2.0.0-001"
50
50
  },
51
51
  "devDependencies": {
52
- "@tamagui/build": "1.143.0",
52
+ "@tamagui/build": "2.0.0-001",
53
53
  "react": "*"
54
54
  },
55
55
  "publishConfig": {
@@ -1,7 +1,7 @@
1
1
  import { createCollection } from '@tamagui/collection'
2
2
  import { useComposedRefs } from '@tamagui/compose-refs'
3
3
  import { isWeb } from '@tamagui/constants'
4
- import { Stack, createStyledContext, useEvent } from '@tamagui/core'
4
+ import { Slot, Stack, createStyledContext, useEvent } from '@tamagui/core'
5
5
  import { composeEventHandlers, withStaticProperties } from '@tamagui/helpers'
6
6
  import { useControllableState } from '@tamagui/use-controllable-state'
7
7
  import { useDirection } from '@tamagui/use-direction'
@@ -36,6 +36,7 @@ const RovingFocusGroupImpl = React.forwardRef<
36
36
  defaultCurrentTabStopId,
37
37
  onCurrentTabStopIdChange,
38
38
  onEntryFocus,
39
+ asChild,
39
40
  ...groupProps
40
41
  } = props
41
42
  const ref = React.useRef<RovingFocusGroupImplElement>(null)
@@ -60,6 +61,8 @@ const RovingFocusGroupImpl = React.forwardRef<
60
61
  }
61
62
  }, [handleEntryFocus])
62
63
 
64
+ const Comp = (asChild ? Slot : Stack) as typeof Stack
65
+
63
66
  return (
64
67
  <RovingFocusProvider
65
68
  scope={__scopeRovingFocusGroup}
@@ -81,13 +84,13 @@ const RovingFocusGroupImpl = React.forwardRef<
81
84
  []
82
85
  )}
83
86
  >
84
- <Stack
87
+ <Comp
85
88
  tabIndex={isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0}
86
89
  data-orientation={orientation}
87
90
  {...groupProps}
88
91
  ref={composedRefs}
92
+ outlineStyle="none"
89
93
  // @ts-ignore
90
- style={[{ outline: 'none' }, props.style]}
91
94
  onMouseDown={composeEventHandlers(props.onMouseDown, () => {
92
95
  isClickFocusRef.current = true
93
96
  })}
@@ -97,7 +100,6 @@ const RovingFocusGroupImpl = React.forwardRef<
97
100
  // We do this because Safari doesn't focus buttons when clicked, and
98
101
  // instead, the wrapper will get focused and not through a bubbling event.
99
102
  const isKeyboardFocus = !isClickFocusRef.current
100
-
101
103
  if (
102
104
  event.target === event.currentTarget &&
103
105
  isKeyboardFocus &&
@@ -363,6 +365,6 @@ function wrapArray<T>(array: T[], startIndex: number) {
363
365
  return array.map((_, index) => array[(startIndex + index) % array.length])
364
366
  }
365
367
 
366
- export { RovingFocusGroup }
368
+ export { RovingFocusGroup, RovingFocusGroupItem }
367
369
 
368
370
  export type { RovingFocusGroupProps, RovingFocusItemProps }
@@ -13,6 +13,9 @@ interface RovingFocusItemProps extends PrimitiveSpanProps {
13
13
  focusable?: boolean;
14
14
  active?: boolean;
15
15
  }
16
+ declare const RovingFocusGroupItem: React.ForwardRefExoticComponent<RovingFocusItemProps & {
17
+ __scopeRovingFocusGroup?: string;
18
+ } & React.RefAttributes<HTMLElement | import("react-native").View>>;
16
19
  type Orientation = React.AriaAttributes['aria-orientation'];
17
20
  type Direction = 'ltr' | 'rtl';
18
21
  interface RovingFocusGroupOptions {
@@ -40,6 +43,6 @@ declare const RovingFocusGroup: React.ForwardRefExoticComponent<RovingFocusGroup
40
43
  __scopeRovingFocusGroup?: string;
41
44
  } & React.RefAttributes<HTMLElement | import("react-native").View>>;
42
45
  };
43
- export { RovingFocusGroup };
46
+ export { RovingFocusGroup, RovingFocusGroupItem };
44
47
  export type { RovingFocusGroupProps, RovingFocusItemProps };
45
48
  //# sourceMappingURL=RovingFocusGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RovingFocusGroup.d.ts","sourceRoot":"","sources":["../src/RovingFocusGroup.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAiC,MAAM,eAAe,CAAA;AAIpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,KAAK,iBAAiB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,KAAK,CAAC,CAAA;AACrE,UAAU,yBACR,SAAQ,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EACpC,uBAAuB;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,wBAAwB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACtC;AAmHD,KAAK,kBAAkB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,KAAK,CAAC,CAAA;AACtE,UAAU,oBAAqB,SAAQ,kBAAkB;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AA4GD,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;AAC3D,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK,CAAA;AAE9B,UAAU,uBAAuB;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAA;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAiBD,UAAU,qBAAsB,SAAQ,yBAAyB;CAAG;AAIpE,QAAA,MAAM,gBAAgB;8BA7CgC,MAAM;;;kCAAN,MAAM;;CAgE3D,CAAA;AAwDD,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"RovingFocusGroup.d.ts","sourceRoot":"","sources":["../src/RovingFocusGroup.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,EAAiC,MAAM,eAAe,CAAA;AAI1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,KAAK,iBAAiB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,KAAK,CAAC,CAAA;AACrE,UAAU,yBACR,SAAQ,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EACpC,uBAAuB;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,wBAAwB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACtC;AAqHD,KAAK,kBAAkB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,KAAK,CAAC,CAAA;AACtE,UAAU,oBAAqB,SAAQ,kBAAkB;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,QAAA,MAAM,oBAAoB;8BAoG4B,MAAM;mEAf1D,CAAA;AAqBF,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;AAC3D,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK,CAAA;AAE9B,UAAU,uBAAuB;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAA;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAiBD,UAAU,qBAAsB,SAAQ,yBAAyB;CAAG;AAIpE,QAAA,MAAM,gBAAgB;8BA7CgC,MAAM;;;kCAAN,MAAM;;CAgE3D,CAAA;AAwDD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAA"}