@tamagui/roving-focus 2.7.7 → 3.0.0-beta.643.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.
@@ -1,28 +1,47 @@
1
1
  import { createCollection } from '@tamagui/collection'
2
2
  import { useComposedRefs } from '@tamagui/compose-refs'
3
3
  import { isWeb } from '@tamagui/constants'
4
- import { Slot, View, createStyledContext, useEvent } from '@tamagui/core'
4
+ import {
5
+ Slot,
6
+ View,
7
+ createChangeEventDetails,
8
+ createStyledContext,
9
+ useEvent,
10
+ createRefComponent,
11
+ type GetRef,
12
+ type TamaguiChangeEventDetails,
13
+ } from '@tamagui/core'
5
14
  import { composeEventHandlers, withStaticProperties } from '@tamagui/helpers'
6
15
  import { useControllableState } from '@tamagui/use-controllable-state'
7
16
  import { useDirection } from '@tamagui/use-direction'
8
17
  import * as React from 'react'
9
18
 
10
- const ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus'
11
- const EVENT_OPTIONS = { bubbles: false, cancelable: true }
12
-
13
19
  /* -----------------------------------------------------------------------------------------------*/
14
20
 
15
- type RovingFocusGroupImplElement = React.ElementRef<typeof View>
21
+ type RovingFocusGroupImplElement = GetRef<typeof View>
16
22
  type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof View>
23
+ export type RovingFocusChangeDetails = TamaguiChangeEventDetails<
24
+ 'keyboard' | 'trigger-focus' | 'focus-out',
25
+ React.KeyboardEvent | React.MouseEvent | React.FocusEvent
26
+ >
27
+
28
+ export type RovingFocusEntryDetails = TamaguiChangeEventDetails<
29
+ 'trigger-focus',
30
+ React.FocusEvent
31
+ >
32
+
17
33
  interface RovingFocusGroupImplProps
18
34
  extends Omit<PrimitiveDivProps, 'dir'>, RovingFocusGroupOptions {
19
35
  currentTabStopId?: string | null
20
36
  defaultCurrentTabStopId?: string
21
- onCurrentTabStopIdChange?: (tabStopId: string | null) => void
22
- onEntryFocus?: (event: Event) => void
37
+ onCurrentTabStopIdChange?: (
38
+ tabStopId: string | null,
39
+ details: RovingFocusChangeDetails
40
+ ) => void
41
+ onEntryFocus?: (details: RovingFocusEntryDetails) => void
23
42
  }
24
43
 
25
- const RovingFocusGroupImpl = React.forwardRef<
44
+ const RovingFocusGroupImpl = createRefComponent<
26
45
  RovingFocusGroupImplElement,
27
46
  ScopedProps<RovingFocusGroupImplProps>
28
47
  >((props: ScopedProps<RovingFocusGroupImplProps>, forwardedRef) => {
@@ -41,15 +60,21 @@ const RovingFocusGroupImpl = React.forwardRef<
41
60
  const ref = React.useRef<RovingFocusGroupImplElement>(null)
42
61
  const composedRefs = useComposedRefs(forwardedRef, ref)
43
62
  const direction = useDirection(dir)
44
- const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({
63
+ const [currentTabStopId = null, setCurrentTabStopId] = useControllableState<
64
+ string | null,
65
+ RovingFocusChangeDetails
66
+ >({
45
67
  prop: currentTabStopIdProp,
46
68
  defaultProp: defaultCurrentTabStopId ?? null,
47
- onChange: onCurrentTabStopIdChange,
69
+ onChange: (tabStopId, details) => {
70
+ if (details) onCurrentTabStopIdChange?.(tabStopId, details)
71
+ },
48
72
  })
49
73
  const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false)
50
74
  const handleEntryFocus = useEvent(onEntryFocus)
51
75
  const getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT)
52
76
  const isClickFocusRef = React.useRef(false)
77
+ const pendingFocusDetailsRef = React.useRef<RovingFocusChangeDetails | null>(null)
53
78
  const [focusableItemsCount, setFocusableItemsCount] = React.useState(0)
54
79
 
55
80
  const Comp = (asChild ? Slot : View) as typeof View
@@ -62,9 +87,19 @@ const RovingFocusGroupImpl = React.forwardRef<
62
87
  loop={loop}
63
88
  currentTabStopId={currentTabStopId}
64
89
  onItemFocus={React.useCallback(
65
- (tabStopId) => setCurrentTabStopId(tabStopId),
66
- [setCurrentTabStopId]
90
+ (tabStopId, event) => {
91
+ if (tabStopId === currentTabStopId) return
92
+ const details =
93
+ pendingFocusDetailsRef.current ??
94
+ createChangeEventDetails('trigger-focus', event, event.currentTarget)
95
+ pendingFocusDetailsRef.current = null
96
+ setCurrentTabStopId(tabStopId, details)
97
+ },
98
+ [currentTabStopId, setCurrentTabStopId]
67
99
  )}
100
+ setPendingFocusDetails={React.useCallback((details) => {
101
+ pendingFocusDetailsRef.current = details
102
+ }, [])}
68
103
  onItemShiftTab={React.useCallback(() => setIsTabbingBackOut(true), [])}
69
104
  onFocusableItemAdd={React.useCallback(
70
105
  () => setFocusableItemsCount((prevCount) => prevCount + 1),
@@ -96,12 +131,14 @@ const RovingFocusGroupImpl = React.forwardRef<
96
131
  isKeyboardFocus &&
97
132
  !isTabbingBackOut
98
133
  ) {
99
- // create a cancelable event that onEntryFocus can call preventDefault on
100
- const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS)
101
- // call onEntryFocus directly (dispatching to DOM had issues with asChild/Slot)
102
- handleEntryFocus(entryFocusEvent)
103
-
104
- if (!entryFocusEvent.defaultPrevented) {
134
+ const details = createChangeEventDetails(
135
+ 'trigger-focus',
136
+ event,
137
+ event.currentTarget
138
+ )
139
+ handleEntryFocus(details)
140
+
141
+ if (!details.isCanceled) {
105
142
  const items = getItems().filter((item) => item.focusable)
106
143
  const activeItem = items.find((item) => item.active)
107
144
  const currentItem = items.find((item) => item.id === currentTabStopId)
@@ -130,30 +167,32 @@ const RovingFocusGroupImpl = React.forwardRef<
130
167
 
131
168
  const ITEM_NAME = 'RovingFocusGroupItem'
132
169
 
133
- type RovingFocusItemElement = React.ElementRef<typeof View>
170
+ type RovingFocusItemElement = GetRef<typeof View>
134
171
  type PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof View>
135
172
  interface RovingFocusItemProps extends PrimitiveSpanProps {
136
173
  tabStopId?: string
137
- focusable?: boolean
138
174
  active?: boolean
139
175
  }
140
176
 
141
- const RovingFocusGroupItem = React.forwardRef<
177
+ const RovingFocusGroupItem = createRefComponent<
142
178
  RovingFocusItemElement,
143
179
  ScopedProps<RovingFocusItemProps>
144
180
  >((props: ScopedProps<RovingFocusItemProps>, forwardedRef) => {
145
181
  const {
146
182
  __scopeRovingFocusGroup,
147
- focusable = true,
148
183
  active = false,
149
184
  tabStopId,
185
+ tabIndex: tabIndexProp,
150
186
  ...itemProps
151
187
  } = props
188
+ const tabIndex = tabIndexProp ?? 0
189
+ const focusable = Number(tabIndex) >= 0
152
190
  const autoId = React.useId()
153
191
  const id = tabStopId || autoId
154
192
  const context = useRovingFocusContext(__scopeRovingFocusGroup)
155
193
  const isCurrentTabStop = context.currentTabStopId === id
156
194
  const getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT)
195
+ const skipNextFocusRequestRef = React.useRef(false)
157
196
 
158
197
  const { onFocusableItemAdd, onFocusableItemRemove } = context
159
198
 
@@ -172,7 +211,7 @@ const RovingFocusGroupItem = React.forwardRef<
172
211
  active={active}
173
212
  >
174
213
  <View
175
- tabIndex={focusable ? 0 : -1}
214
+ tabIndex={tabIndex}
176
215
  data-orientation={context.orientation}
177
216
  {...itemProps}
178
217
  ref={forwardedRef}
@@ -181,9 +220,21 @@ const RovingFocusGroupItem = React.forwardRef<
181
220
  // Even though the item has tabIndex={-1}, that only means take it out of the tab order.
182
221
  if (!focusable) event.preventDefault()
183
222
  // Safari doesn't focus a button when clicked so we run our logic on mousedown also
184
- else context.onItemFocus(id)
223
+ else {
224
+ skipNextFocusRequestRef.current = true
225
+ queueMicrotask(() => {
226
+ skipNextFocusRequestRef.current = false
227
+ })
228
+ context.onItemFocus(id, event)
229
+ }
230
+ })}
231
+ onFocus={composeEventHandlers(props.onFocus, (event) => {
232
+ if (skipNextFocusRequestRef.current) {
233
+ skipNextFocusRequestRef.current = false
234
+ return
235
+ }
236
+ context.onItemFocus(id, event)
185
237
  })}
186
- onFocus={composeEventHandlers(props.onFocus, () => context.onItemFocus(id))}
187
238
  {...(isWeb && {
188
239
  onKeyDown: composeEventHandlers(
189
240
  (props as React.ComponentProps<'span'>).onKeyDown,
@@ -215,7 +266,16 @@ const RovingFocusGroupItem = React.forwardRef<
215
266
  * Imperative focus during keydown is risky so we prevent React's batching updates
216
267
  * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332
217
268
  */
218
- setTimeout(() => focusFirst(candidateNodes, { focusVisible: true }))
269
+ const details = createChangeEventDetails(
270
+ 'keyboard',
271
+ event,
272
+ event.currentTarget
273
+ )
274
+ setTimeout(() => {
275
+ context.setPendingFocusDetails(details)
276
+ focusFirst(candidateNodes, { focusVisible: true })
277
+ context.setPendingFocusDetails(null)
278
+ })
219
279
  }
220
280
  }
221
281
  ),
@@ -264,7 +324,8 @@ interface RovingFocusGroupOptions {
264
324
 
265
325
  type RovingContextValue = RovingFocusGroupOptions & {
266
326
  currentTabStopId: string | null
267
- onItemFocus(tabStopId: string): void
327
+ onItemFocus(tabStopId: string, event: React.MouseEvent | React.FocusEvent): void
328
+ setPendingFocusDetails(details: RovingFocusChangeDetails | null): void
268
329
  onItemShiftTab(): void
269
330
  onFocusableItemAdd(): void
270
331
  onFocusableItemRemove(): void
@@ -282,7 +343,7 @@ interface RovingFocusGroupProps extends RovingFocusGroupImplProps {}
282
343
  const ROVING_FOCUS_GROUP_CONTEXT = 'RovingFocusGroupContext'
283
344
 
284
345
  const RovingFocusGroup = withStaticProperties(
285
- React.forwardRef<RovingFocusGroupElement, ScopedProps<RovingFocusGroupProps>>(
346
+ createRefComponent<RovingFocusGroupElement, ScopedProps<RovingFocusGroupProps>>(
286
347
  (props: ScopedProps<RovingFocusGroupProps>, forwardedRef) => {
287
348
  return (
288
349
  <Collection.Provider
@@ -1,21 +1,23 @@
1
- import { View } from '@tamagui/core';
1
+ import { View, type TamaguiChangeEventDetails } from '@tamagui/core';
2
2
  import * as React from 'react';
3
3
  type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof View>;
4
+ export type RovingFocusChangeDetails = TamaguiChangeEventDetails<'keyboard' | 'trigger-focus' | 'focus-out', React.KeyboardEvent | React.MouseEvent | React.FocusEvent>;
5
+ export type RovingFocusEntryDetails = TamaguiChangeEventDetails<'trigger-focus', React.FocusEvent>;
4
6
  interface RovingFocusGroupImplProps extends Omit<PrimitiveDivProps, 'dir'>, RovingFocusGroupOptions {
5
7
  currentTabStopId?: string | null;
6
8
  defaultCurrentTabStopId?: string;
7
- onCurrentTabStopIdChange?: (tabStopId: string | null) => void;
8
- onEntryFocus?: (event: Event) => void;
9
+ onCurrentTabStopIdChange?: (tabStopId: string | null, details: RovingFocusChangeDetails) => void;
10
+ onEntryFocus?: (details: RovingFocusEntryDetails) => void;
9
11
  }
10
12
  type PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof View>;
11
13
  interface RovingFocusItemProps extends PrimitiveSpanProps {
12
14
  tabStopId?: string;
13
- focusable?: boolean;
14
15
  active?: boolean;
15
16
  }
16
- declare const RovingFocusGroupItem: React.ForwardRefExoticComponent<RovingFocusItemProps & {
17
+ declare const RovingFocusGroupItem: import("@tamagui/compose-refs").RefComponent<import("@tamagui/core").TamaguiElement, ScopedProps<RovingFocusItemProps>>;
18
+ type ScopedProps<P> = P & {
17
19
  __scopeRovingFocusGroup?: string;
18
- } & React.RefAttributes<(HTMLElement & import("@tamagui/core").TamaguiElementMethods) | import("react-native").View>>;
20
+ };
19
21
  type Orientation = React.AriaAttributes['aria-orientation'];
20
22
  type Direction = 'ltr' | 'rtl';
21
23
  interface RovingFocusGroupOptions {
@@ -36,12 +38,13 @@ interface RovingFocusGroupOptions {
36
38
  }
37
39
  interface RovingFocusGroupProps extends RovingFocusGroupImplProps {
38
40
  }
39
- declare const RovingFocusGroup: React.ForwardRefExoticComponent<RovingFocusGroupProps & {
41
+ declare const RovingFocusGroup: ((props: RovingFocusGroupProps & {
40
42
  __scopeRovingFocusGroup?: string;
41
- } & React.RefAttributes<(HTMLElement & import("@tamagui/core").TamaguiElementMethods) | import("react-native").View>> & {
42
- Item: React.ForwardRefExoticComponent<RovingFocusItemProps & {
43
- __scopeRovingFocusGroup?: string;
44
- } & React.RefAttributes<(HTMLElement & import("@tamagui/core").TamaguiElementMethods) | import("react-native").View>>;
43
+ } & import("@tamagui/compose-refs").RefProp<import("@tamagui/core").TamaguiElement>) => React.ReactNode) & {
44
+ displayName?: string;
45
+ propTypes?: any;
46
+ } & {
47
+ Item: import("@tamagui/compose-refs").RefComponent<import("@tamagui/core").TamaguiElement, ScopedProps<RovingFocusItemProps>>;
45
48
  };
46
49
  export { RovingFocusGroup, RovingFocusGroupItem };
47
50
  export type { RovingFocusGroupProps, RovingFocusItemProps };
@@ -1 +1 @@
1
- {"version":3,"file":"RovingFocusGroup.d.ts","sourceRoot":"","sources":["../src/RovingFocusGroup.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,IAAI,EAAiC,MAAM,eAAe,CAAA;AAIzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,KAAK,iBAAiB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,IAAI,CAAC,CAAA;AACpE,UAAU,yBACR,SAAQ,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,uBAAuB;IAC/D,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;AA+GD,KAAK,kBAAkB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,IAAI,CAAC,CAAA;AACrE,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;8BAkG4B,MAAM;qHAb1D,CAAA;AAmBF,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;AAyDD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"RovingFocusGroup.d.ts","sourceRoot":"","sources":["../src/RovingFocusGroup.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,IAAI,EAMJ,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAA;AAItB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,KAAK,iBAAiB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,IAAI,CAAC,CAAA;AACpE,MAAM,MAAM,wBAAwB,GAAG,yBAAyB,CAC9D,UAAU,GAAG,eAAe,GAAG,WAAW,EAC1C,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAC1D,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAC7D,eAAe,EACf,KAAK,CAAC,UAAU,CACjB,CAAA;AAED,UAAU,yBACR,SAAQ,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,uBAAuB;IAC/D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,wBAAwB,CAAC,EAAE,CACzB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,wBAAwB,KAC9B,IAAI,CAAA;IACT,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;CAC1D;AAiID,KAAK,kBAAkB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,IAAI,CAAC,CAAA;AACrE,UAAU,oBAAqB,SAAQ,kBAAkB;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,QAAA,MAAM,oBAAoB,yHA6GxB,CAAA;AAaF,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAM9D,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;AAkBD,UAAU,qBAAsB,SAAQ,yBAAyB;CAAG;AAIpE,QAAA,MAAM,gBAAgB;8BA9CgC,MAAM;;;;;;CAiE3D,CAAA;AAyDD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAA"}
@@ -1,6 +1,12 @@
1
1
  import type { RovingFocusGroupProps, RovingFocusItemProps } from './RovingFocusGroup';
2
- declare const RovingFocusGroupItem: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {}, import("@tamagui/core").StaticConfigPublic>;
3
- declare const RovingFocusGroup: import("react").ForwardRefExoticComponent<Omit<import("@tamagui/core").RNTamaguiViewNonStyleProps, keyof import("@tamagui/core").StackStyleBase> & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase>> & import("@tamagui/core").WithPseudoProps<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase>>> & import("@tamagui/core").WithMediaProps<import("@tamagui/core").WithThemeShorthandsAndPseudos<import("@tamagui/core").StackStyleBase, {}>> & import("react").RefAttributes<import("@tamagui/core").TamaguiElement>> & import("@tamagui/core").StaticComponentObject<import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {}, import("@tamagui/core").StaticConfigPublic> & Omit<import("@tamagui/core").StaticConfigPublic, "staticConfig" | "styleable"> & {
2
+ declare const RovingFocusGroupItem: import("react").FunctionComponent<Omit<import("@tamagui/core").RNTamaguiViewNonStyleProps, keyof import("@tamagui/core").StackStyleBase> & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase>> & {
3
+ ref?: import("react").Ref<import("@tamagui/core").TamaguiElement> | undefined;
4
+ }> & import("@tamagui/core").StaticComponentObject<import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {}, import("@tamagui/core").StaticConfigPublic> & Omit<import("@tamagui/core").StaticConfigPublic, "staticConfig"> & {
5
+ __tama: [import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {}, import("@tamagui/core").StaticConfigPublic];
6
+ };
7
+ declare const RovingFocusGroup: import("react").FunctionComponent<Omit<import("@tamagui/core").RNTamaguiViewNonStyleProps, keyof import("@tamagui/core").StackStyleBase> & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase>> & {
8
+ ref?: import("react").Ref<import("@tamagui/core").TamaguiElement> | undefined;
9
+ }> & import("@tamagui/core").StaticComponentObject<import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {}, import("@tamagui/core").StaticConfigPublic> & Omit<import("@tamagui/core").StaticConfigPublic, "staticConfig"> & {
4
10
  __tama: [import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {}, import("@tamagui/core").StaticConfigPublic];
5
11
  } & ((props: RovingFocusGroupProps & {
6
12
  children?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"RovingFocusGroup.native.d.ts","sourceRoot":"","sources":["../src/RovingFocusGroup.native.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAKrF,QAAA,MAAM,oBAAoB,iQAExB,CAAA;AAOF,QAAA,MAAM,gBAAgB;;aAEV,qBAAqB,GAAG;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,KAAG,GAAG;UAG1B,OAAO,oBAAoB,GAAG;QAC1D,CAAC,KAAK,EAAE,oBAAoB,GAAG;YAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;SAAE,GAAG,GAAG,CAAA;KACxD;CAEJ,CAAA;AAID,QAAA,MAAM,2BAA2B,gBAAmB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,CAAA;AACxD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"RovingFocusGroup.native.d.ts","sourceRoot":"","sources":["../src/RovingFocusGroup.native.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAKrF,QAAA,MAAM,oBAAoB;;;;CAExB,CAAA;AAOF,QAAA,MAAM,gBAAgB;;;;aAEV,qBAAqB,GAAG;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,KAAG,GAAG;UAG1B,OAAO,oBAAoB,GAAG;QAC1D,CAAC,KAAK,EAAE,oBAAoB,GAAG;YAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;SAAE,GAAG,GAAG,CAAA;KACxD;CAEJ,CAAA;AAID,QAAA,MAAM,2BAA2B,gBAAmB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,CAAA;AACxD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}