@tamagui/roving-focus 2.7.7 → 3.0.0-beta.1091.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/dist/cjs/RovingFocusGroup.cjs +199 -200
- package/dist/cjs/RovingFocusGroup.native.cjs +41 -0
- package/dist/cjs/RovingFocusGroup.native.js +22 -29
- package/dist/cjs/RovingFocusGroup.native.js.map +1 -1
- package/dist/cjs/index.cjs +9 -11
- package/dist/cjs/index.native.cjs +20 -0
- package/dist/cjs/index.native.js +9 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/RovingFocusGroup.mjs +184 -176
- package/dist/esm/RovingFocusGroup.mjs.map +1 -1
- package/dist/esm/RovingFocusGroup.native.js +10 -14
- package/dist/esm/RovingFocusGroup.native.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/index.native.js +1 -2
- package/package.json +13 -12
- package/src/RovingFocusGroup.native.tsx +2 -2
- package/src/RovingFocusGroup.tsx +96 -29
- package/types/RovingFocusGroup.d.ts +14 -11
- package/types/RovingFocusGroup.d.ts.map +1 -1
- package/types/RovingFocusGroup.native.d.ts +8 -2
- package/types/RovingFocusGroup.native.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
package/src/RovingFocusGroup.tsx
CHANGED
|
@@ -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 {
|
|
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 =
|
|
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?: (
|
|
22
|
-
|
|
37
|
+
onCurrentTabStopIdChange?: (
|
|
38
|
+
tabStopId: string | null,
|
|
39
|
+
details: RovingFocusChangeDetails
|
|
40
|
+
) => void
|
|
41
|
+
onEntryFocus?: (details: RovingFocusEntryDetails) => void
|
|
23
42
|
}
|
|
24
43
|
|
|
25
|
-
const RovingFocusGroupImpl =
|
|
44
|
+
const RovingFocusGroupImpl = createRefComponent<
|
|
26
45
|
RovingFocusGroupImplElement,
|
|
27
46
|
ScopedProps<RovingFocusGroupImplProps>
|
|
28
47
|
>((props: ScopedProps<RovingFocusGroupImplProps>, forwardedRef) => {
|
|
@@ -41,17 +60,29 @@ 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:
|
|
69
|
+
onChange: (tabStopId, details) => {
|
|
70
|
+
if (details) onCurrentTabStopIdChange?.(tabStopId, details)
|
|
71
|
+
},
|
|
48
72
|
})
|
|
49
73
|
const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false)
|
|
74
|
+
// registrations are unknown during ssr; keep an entry stop until effects settle.
|
|
75
|
+
const [hasMounted, setHasMounted] = React.useState(false)
|
|
50
76
|
const handleEntryFocus = useEvent(onEntryFocus)
|
|
51
77
|
const getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT)
|
|
52
78
|
const isClickFocusRef = React.useRef(false)
|
|
79
|
+
const pendingFocusDetailsRef = React.useRef<RovingFocusChangeDetails | null>(null)
|
|
53
80
|
const [focusableItemsCount, setFocusableItemsCount] = React.useState(0)
|
|
54
81
|
|
|
82
|
+
React.useEffect(() => {
|
|
83
|
+
setHasMounted(true)
|
|
84
|
+
}, [])
|
|
85
|
+
|
|
55
86
|
const Comp = (asChild ? Slot : View) as typeof View
|
|
56
87
|
|
|
57
88
|
return (
|
|
@@ -62,9 +93,19 @@ const RovingFocusGroupImpl = React.forwardRef<
|
|
|
62
93
|
loop={loop}
|
|
63
94
|
currentTabStopId={currentTabStopId}
|
|
64
95
|
onItemFocus={React.useCallback(
|
|
65
|
-
(tabStopId) =>
|
|
66
|
-
|
|
96
|
+
(tabStopId, event) => {
|
|
97
|
+
if (tabStopId === currentTabStopId) return
|
|
98
|
+
const details =
|
|
99
|
+
pendingFocusDetailsRef.current ??
|
|
100
|
+
createChangeEventDetails('trigger-focus', event, event.currentTarget)
|
|
101
|
+
pendingFocusDetailsRef.current = null
|
|
102
|
+
setCurrentTabStopId(tabStopId, details)
|
|
103
|
+
},
|
|
104
|
+
[currentTabStopId, setCurrentTabStopId]
|
|
67
105
|
)}
|
|
106
|
+
setPendingFocusDetails={React.useCallback((details) => {
|
|
107
|
+
pendingFocusDetailsRef.current = details
|
|
108
|
+
}, [])}
|
|
68
109
|
onItemShiftTab={React.useCallback(() => setIsTabbingBackOut(true), [])}
|
|
69
110
|
onFocusableItemAdd={React.useCallback(
|
|
70
111
|
() => setFocusableItemsCount((prevCount) => prevCount + 1),
|
|
@@ -76,7 +117,7 @@ const RovingFocusGroupImpl = React.forwardRef<
|
|
|
76
117
|
)}
|
|
77
118
|
>
|
|
78
119
|
<Comp
|
|
79
|
-
tabIndex={isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0}
|
|
120
|
+
tabIndex={isTabbingBackOut || (hasMounted && focusableItemsCount === 0) ? -1 : 0}
|
|
80
121
|
data-orientation={orientation}
|
|
81
122
|
{...groupProps}
|
|
82
123
|
ref={composedRefs}
|
|
@@ -96,12 +137,14 @@ const RovingFocusGroupImpl = React.forwardRef<
|
|
|
96
137
|
isKeyboardFocus &&
|
|
97
138
|
!isTabbingBackOut
|
|
98
139
|
) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
140
|
+
const details = createChangeEventDetails(
|
|
141
|
+
'trigger-focus',
|
|
142
|
+
event,
|
|
143
|
+
event.currentTarget
|
|
144
|
+
)
|
|
145
|
+
handleEntryFocus(details)
|
|
146
|
+
|
|
147
|
+
if (!details.isCanceled) {
|
|
105
148
|
const items = getItems().filter((item) => item.focusable)
|
|
106
149
|
const activeItem = items.find((item) => item.active)
|
|
107
150
|
const currentItem = items.find((item) => item.id === currentTabStopId)
|
|
@@ -130,30 +173,32 @@ const RovingFocusGroupImpl = React.forwardRef<
|
|
|
130
173
|
|
|
131
174
|
const ITEM_NAME = 'RovingFocusGroupItem'
|
|
132
175
|
|
|
133
|
-
type RovingFocusItemElement =
|
|
176
|
+
type RovingFocusItemElement = GetRef<typeof View>
|
|
134
177
|
type PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof View>
|
|
135
178
|
interface RovingFocusItemProps extends PrimitiveSpanProps {
|
|
136
179
|
tabStopId?: string
|
|
137
|
-
focusable?: boolean
|
|
138
180
|
active?: boolean
|
|
139
181
|
}
|
|
140
182
|
|
|
141
|
-
const RovingFocusGroupItem =
|
|
183
|
+
const RovingFocusGroupItem = createRefComponent<
|
|
142
184
|
RovingFocusItemElement,
|
|
143
185
|
ScopedProps<RovingFocusItemProps>
|
|
144
186
|
>((props: ScopedProps<RovingFocusItemProps>, forwardedRef) => {
|
|
145
187
|
const {
|
|
146
188
|
__scopeRovingFocusGroup,
|
|
147
|
-
focusable = true,
|
|
148
189
|
active = false,
|
|
149
190
|
tabStopId,
|
|
191
|
+
tabIndex: tabIndexProp,
|
|
150
192
|
...itemProps
|
|
151
193
|
} = props
|
|
194
|
+
// authored tabindex controls eligibility; the group selects the single tab stop.
|
|
195
|
+
const focusable = Number(tabIndexProp ?? 0) >= 0
|
|
152
196
|
const autoId = React.useId()
|
|
153
197
|
const id = tabStopId || autoId
|
|
154
198
|
const context = useRovingFocusContext(__scopeRovingFocusGroup)
|
|
155
199
|
const isCurrentTabStop = context.currentTabStopId === id
|
|
156
200
|
const getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT)
|
|
201
|
+
const skipNextFocusRequestRef = React.useRef(false)
|
|
157
202
|
|
|
158
203
|
const { onFocusableItemAdd, onFocusableItemRemove } = context
|
|
159
204
|
|
|
@@ -172,7 +217,7 @@ const RovingFocusGroupItem = React.forwardRef<
|
|
|
172
217
|
active={active}
|
|
173
218
|
>
|
|
174
219
|
<View
|
|
175
|
-
tabIndex={focusable ? 0 : -1}
|
|
220
|
+
tabIndex={focusable && isCurrentTabStop ? 0 : -1}
|
|
176
221
|
data-orientation={context.orientation}
|
|
177
222
|
{...itemProps}
|
|
178
223
|
ref={forwardedRef}
|
|
@@ -181,9 +226,21 @@ const RovingFocusGroupItem = React.forwardRef<
|
|
|
181
226
|
// Even though the item has tabIndex={-1}, that only means take it out of the tab order.
|
|
182
227
|
if (!focusable) event.preventDefault()
|
|
183
228
|
// Safari doesn't focus a button when clicked so we run our logic on mousedown also
|
|
184
|
-
else
|
|
229
|
+
else {
|
|
230
|
+
skipNextFocusRequestRef.current = true
|
|
231
|
+
queueMicrotask(() => {
|
|
232
|
+
skipNextFocusRequestRef.current = false
|
|
233
|
+
})
|
|
234
|
+
context.onItemFocus(id, event)
|
|
235
|
+
}
|
|
236
|
+
})}
|
|
237
|
+
onFocus={composeEventHandlers(props.onFocus, (event) => {
|
|
238
|
+
if (skipNextFocusRequestRef.current) {
|
|
239
|
+
skipNextFocusRequestRef.current = false
|
|
240
|
+
return
|
|
241
|
+
}
|
|
242
|
+
context.onItemFocus(id, event)
|
|
185
243
|
})}
|
|
186
|
-
onFocus={composeEventHandlers(props.onFocus, () => context.onItemFocus(id))}
|
|
187
244
|
{...(isWeb && {
|
|
188
245
|
onKeyDown: composeEventHandlers(
|
|
189
246
|
(props as React.ComponentProps<'span'>).onKeyDown,
|
|
@@ -215,7 +272,16 @@ const RovingFocusGroupItem = React.forwardRef<
|
|
|
215
272
|
* Imperative focus during keydown is risky so we prevent React's batching updates
|
|
216
273
|
* to avoid potential bugs. See: https://github.com/facebook/react/issues/20332
|
|
217
274
|
*/
|
|
218
|
-
|
|
275
|
+
const details = createChangeEventDetails(
|
|
276
|
+
'keyboard',
|
|
277
|
+
event,
|
|
278
|
+
event.currentTarget
|
|
279
|
+
)
|
|
280
|
+
setTimeout(() => {
|
|
281
|
+
context.setPendingFocusDetails(details)
|
|
282
|
+
focusFirst(candidateNodes, { focusVisible: true })
|
|
283
|
+
context.setPendingFocusDetails(null)
|
|
284
|
+
})
|
|
219
285
|
}
|
|
220
286
|
}
|
|
221
287
|
),
|
|
@@ -264,7 +330,8 @@ interface RovingFocusGroupOptions {
|
|
|
264
330
|
|
|
265
331
|
type RovingContextValue = RovingFocusGroupOptions & {
|
|
266
332
|
currentTabStopId: string | null
|
|
267
|
-
onItemFocus(tabStopId: string): void
|
|
333
|
+
onItemFocus(tabStopId: string, event: React.MouseEvent | React.FocusEvent): void
|
|
334
|
+
setPendingFocusDetails(details: RovingFocusChangeDetails | null): void
|
|
268
335
|
onItemShiftTab(): void
|
|
269
336
|
onFocusableItemAdd(): void
|
|
270
337
|
onFocusableItemRemove(): void
|
|
@@ -282,7 +349,7 @@ interface RovingFocusGroupProps extends RovingFocusGroupImplProps {}
|
|
|
282
349
|
const ROVING_FOCUS_GROUP_CONTEXT = 'RovingFocusGroupContext'
|
|
283
350
|
|
|
284
351
|
const RovingFocusGroup = withStaticProperties(
|
|
285
|
-
|
|
352
|
+
createRefComponent<RovingFocusGroupElement, ScopedProps<RovingFocusGroupProps>>(
|
|
286
353
|
(props: ScopedProps<RovingFocusGroupProps>, forwardedRef) => {
|
|
287
354
|
return (
|
|
288
355
|
<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?: (
|
|
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:
|
|
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
|
-
}
|
|
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:
|
|
41
|
+
declare const RovingFocusGroup: ((props: RovingFocusGroupProps & {
|
|
40
42
|
__scopeRovingFocusGroup?: string;
|
|
41
|
-
} &
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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,
|
|
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;AAuID,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").
|
|
3
|
-
|
|
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").WithFlatVariantValues<{}> & 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").WithFlatVariantValues<{}> & 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,
|
|
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"}
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
|
package/dist/esm/index.mjs.map
DELETED
|
@@ -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":[]}
|