@tamagui/tabs 1.70.0 → 1.72.0
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/Tabs.js +8 -10
- package/dist/cjs/Tabs.js.map +1 -1
- package/dist/cjs/Tabs.native.js +8 -10
- package/dist/cjs/Tabs.native.js.map +1 -1
- package/dist/esm/Tabs.js +9 -11
- package/dist/esm/Tabs.js.map +1 -1
- package/dist/jsx/Tabs.js +9 -11
- package/dist/jsx/Tabs.js.map +1 -1
- package/dist/jsx/Tabs.native.js +9 -11
- package/dist/jsx/Tabs.native.js.map +1 -1
- package/package.json +10 -10
- package/src/Tabs.tsx +19 -19
- package/types/Tabs.d.ts +8 -0
- package/types/Tabs.d.ts.map +1 -1
package/dist/cjs/Tabs.js
CHANGED
|
@@ -25,22 +25,22 @@ __export(Tabs_exports, {
|
|
|
25
25
|
Tabs: () => Tabs
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(Tabs_exports);
|
|
28
|
-
var
|
|
29
|
-
const TAB_LIST_NAME = "TabsList", TabsListFrame = (0, import_web.styled)(import_group.Group, {
|
|
28
|
+
var import_get_button_sized = require("@tamagui/get-button-sized"), import_group = require("@tamagui/group"), import_roving_focus = require("@tamagui/roving-focus"), import_stacks = require("@tamagui/stacks"), import_use_controllable_state = require("@tamagui/use-controllable-state"), import_use_direction = require("@tamagui/use-direction"), import_web = require("@tamagui/web"), React = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime");
|
|
29
|
+
const TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsListFrame = (0, import_web.styled)(import_group.Group, {
|
|
30
30
|
name: TAB_LIST_NAME,
|
|
31
31
|
focusable: !0
|
|
32
32
|
}), TabsList = TabsListFrame.extractable(
|
|
33
33
|
React.forwardRef(
|
|
34
34
|
(props, forwardedRef) => {
|
|
35
|
-
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(
|
|
35
|
+
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(__scopeTabs);
|
|
36
36
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
37
37
|
import_roving_focus.RovingFocusGroup,
|
|
38
38
|
{
|
|
39
|
+
__scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
|
|
39
40
|
asChild: "except-style",
|
|
40
41
|
orientation: context.orientation,
|
|
41
42
|
dir: context.dir,
|
|
42
43
|
loop,
|
|
43
|
-
...rovingFocusGroupScope,
|
|
44
44
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
45
45
|
TabsListFrame,
|
|
46
46
|
{
|
|
@@ -103,7 +103,7 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = (0, import_web.styled)(im
|
|
|
103
103
|
disabled = !1,
|
|
104
104
|
onInteraction,
|
|
105
105
|
...triggerProps
|
|
106
|
-
} = props, context = useTabsContext(
|
|
106
|
+
} = props, context = useTabsContext(__scopeTabs), triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value), isSelected = value === context.value, [layout, setLayout] = React.useState(null), triggerRef = React.useRef(null), groupItemProps = (0, import_group.useGroupItem)({ disabled });
|
|
107
107
|
return React.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React.useEffect(() => {
|
|
108
108
|
if (!triggerRef.current || !import_web.isWeb)
|
|
109
109
|
return;
|
|
@@ -125,8 +125,8 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = (0, import_web.styled)(im
|
|
|
125
125
|
}, [isSelected, value, layout]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Theme, { name: isSelected ? "active" : null, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
126
126
|
import_roving_focus.RovingFocusGroup.Item,
|
|
127
127
|
{
|
|
128
|
+
__scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
|
|
128
129
|
asChild: "except-style",
|
|
129
|
-
...rovingFocusGroupScope,
|
|
130
130
|
focusable: !disabled,
|
|
131
131
|
active: isSelected,
|
|
132
132
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -186,7 +186,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = (0, import_web.styled)(im
|
|
|
186
186
|
}), TabsContent = TabsContentFrame.extractable(
|
|
187
187
|
React.forwardRef(
|
|
188
188
|
(props, forwardedRef) => {
|
|
189
|
-
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(
|
|
189
|
+
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(__scopeTabs), isSelected = value === context.value, show = forceMount || isSelected, triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value);
|
|
190
190
|
return show ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
191
191
|
TabsContentFrame,
|
|
192
192
|
{
|
|
@@ -207,9 +207,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = (0, import_web.styled)(im
|
|
|
207
207
|
)
|
|
208
208
|
);
|
|
209
209
|
TabsContent.displayName = CONTENT_NAME;
|
|
210
|
-
const TABS_NAME = "Tabs",
|
|
211
|
-
import_roving_focus.createRovingFocusGroupScope
|
|
212
|
-
]), useRovingFocusGroupScope = (0, import_roving_focus.createRovingFocusGroupScope)(), [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME), TabsFrame = (0, import_web.styled)(import_stacks.SizableStack, {
|
|
210
|
+
const TABS_NAME = "Tabs", { Provider: TabsProvider, useStyledContext: useTabsContext } = (0, import_web.createStyledContext)(), TabsFrame = (0, import_web.styled)(import_stacks.SizableStack, {
|
|
213
211
|
name: TABS_NAME
|
|
214
212
|
}), Tabs = (0, import_web.withStaticProperties)(
|
|
215
213
|
TabsFrame.extractable(
|
package/dist/cjs/Tabs.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Tabs.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/cjs/Tabs.native.js
CHANGED
|
@@ -26,22 +26,22 @@ __export(Tabs_exports, {
|
|
|
26
26
|
Tabs: () => Tabs
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(Tabs_exports);
|
|
29
|
-
var
|
|
30
|
-
const TAB_LIST_NAME = "TabsList", TabsListFrame = (0, import_web.styled)(import_group.Group, {
|
|
29
|
+
var import_get_button_sized = require("@tamagui/get-button-sized"), import_group = require("@tamagui/group"), import_roving_focus = require("@tamagui/roving-focus"), import_stacks = require("@tamagui/stacks"), import_use_controllable_state = require("@tamagui/use-controllable-state"), import_use_direction = require("@tamagui/use-direction"), import_web = require("@tamagui/web"), React = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime");
|
|
30
|
+
const TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsListFrame = (0, import_web.styled)(import_group.Group, {
|
|
31
31
|
name: TAB_LIST_NAME,
|
|
32
32
|
focusable: !0
|
|
33
33
|
}), TabsList = TabsListFrame.extractable(
|
|
34
34
|
React.forwardRef(
|
|
35
35
|
(props, forwardedRef) => {
|
|
36
|
-
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(
|
|
36
|
+
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(__scopeTabs);
|
|
37
37
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
38
38
|
import_roving_focus.RovingFocusGroup,
|
|
39
39
|
{
|
|
40
|
+
__scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
|
|
40
41
|
asChild: "except-style",
|
|
41
42
|
orientation: context.orientation,
|
|
42
43
|
dir: context.dir,
|
|
43
44
|
loop,
|
|
44
|
-
...rovingFocusGroupScope,
|
|
45
45
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
46
46
|
TabsListFrame,
|
|
47
47
|
{
|
|
@@ -104,7 +104,7 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = (0, import_web.styled)(im
|
|
|
104
104
|
disabled = !1,
|
|
105
105
|
onInteraction,
|
|
106
106
|
...triggerProps
|
|
107
|
-
} = props, context = useTabsContext(
|
|
107
|
+
} = props, context = useTabsContext(__scopeTabs), triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value), isSelected = value === context.value, [layout, setLayout] = React.useState(null), triggerRef = React.useRef(null), groupItemProps = (0, import_group.useGroupItem)({ disabled });
|
|
108
108
|
return React.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React.useEffect(() => {
|
|
109
109
|
if (!triggerRef.current || !import_web.isWeb)
|
|
110
110
|
return;
|
|
@@ -126,8 +126,8 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = (0, import_web.styled)(im
|
|
|
126
126
|
}, [isSelected, value, layout]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Theme, { name: isSelected ? "active" : null, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
127
127
|
import_roving_focus.RovingFocusGroup.Item,
|
|
128
128
|
{
|
|
129
|
+
__scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
|
|
129
130
|
asChild: "except-style",
|
|
130
|
-
...rovingFocusGroupScope,
|
|
131
131
|
focusable: !disabled,
|
|
132
132
|
active: isSelected,
|
|
133
133
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -187,7 +187,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = (0, import_web.styled)(im
|
|
|
187
187
|
}), TabsContent = TabsContentFrame.extractable(
|
|
188
188
|
React.forwardRef(
|
|
189
189
|
(props, forwardedRef) => {
|
|
190
|
-
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(
|
|
190
|
+
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(__scopeTabs), isSelected = value === context.value, show = forceMount || isSelected, triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value);
|
|
191
191
|
return show ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
192
192
|
TabsContentFrame,
|
|
193
193
|
{
|
|
@@ -208,9 +208,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = (0, import_web.styled)(im
|
|
|
208
208
|
)
|
|
209
209
|
);
|
|
210
210
|
TabsContent.displayName = CONTENT_NAME;
|
|
211
|
-
const TABS_NAME = "Tabs",
|
|
212
|
-
import_roving_focus.createRovingFocusGroupScope
|
|
213
|
-
]), useRovingFocusGroupScope = (0, import_roving_focus.createRovingFocusGroupScope)(), [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME), TabsFrame = (0, import_web.styled)(import_stacks.SizableStack, {
|
|
211
|
+
const TABS_NAME = "Tabs", { Provider: TabsProvider, useStyledContext: useTabsContext } = (0, import_web.createStyledContext)(), TabsFrame = (0, import_web.styled)(import_stacks.SizableStack, {
|
|
214
212
|
name: TABS_NAME
|
|
215
213
|
}), Tabs = (0, import_web.withStaticProperties)(
|
|
216
214
|
TabsFrame.extractable(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Tabs.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/Tabs.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { createContextScope } from "@tamagui/create-context";
|
|
2
1
|
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
3
2
|
import { Group, useGroupItem } from "@tamagui/group";
|
|
4
|
-
import { RovingFocusGroup
|
|
3
|
+
import { RovingFocusGroup } from "@tamagui/roving-focus";
|
|
5
4
|
import { SizableStack, ThemeableStack } from "@tamagui/stacks";
|
|
6
5
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
7
6
|
import { useDirection } from "@tamagui/use-direction";
|
|
@@ -9,6 +8,7 @@ import {
|
|
|
9
8
|
Theme,
|
|
10
9
|
composeEventHandlers,
|
|
11
10
|
composeRefs,
|
|
11
|
+
createStyledContext,
|
|
12
12
|
isWeb,
|
|
13
13
|
styled,
|
|
14
14
|
useEvent,
|
|
@@ -16,21 +16,21 @@ import {
|
|
|
16
16
|
} from "@tamagui/web";
|
|
17
17
|
import * as React from "react";
|
|
18
18
|
import { jsx } from "react/jsx-runtime";
|
|
19
|
-
const TAB_LIST_NAME = "TabsList", TabsListFrame = styled(Group, {
|
|
19
|
+
const TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsListFrame = styled(Group, {
|
|
20
20
|
name: TAB_LIST_NAME,
|
|
21
21
|
focusable: !0
|
|
22
22
|
}), TabsList = TabsListFrame.extractable(
|
|
23
23
|
React.forwardRef(
|
|
24
24
|
(props, forwardedRef) => {
|
|
25
|
-
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(
|
|
25
|
+
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(__scopeTabs);
|
|
26
26
|
return /* @__PURE__ */ jsx(
|
|
27
27
|
RovingFocusGroup,
|
|
28
28
|
{
|
|
29
|
+
__scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
|
|
29
30
|
asChild: "except-style",
|
|
30
31
|
orientation: context.orientation,
|
|
31
32
|
dir: context.dir,
|
|
32
33
|
loop,
|
|
33
|
-
...rovingFocusGroupScope,
|
|
34
34
|
children: /* @__PURE__ */ jsx(
|
|
35
35
|
TabsListFrame,
|
|
36
36
|
{
|
|
@@ -93,7 +93,7 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = styled(ThemeableStack, {
|
|
|
93
93
|
disabled = !1,
|
|
94
94
|
onInteraction,
|
|
95
95
|
...triggerProps
|
|
96
|
-
} = props, context = useTabsContext(
|
|
96
|
+
} = props, context = useTabsContext(__scopeTabs), triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value), isSelected = value === context.value, [layout, setLayout] = React.useState(null), triggerRef = React.useRef(null), groupItemProps = useGroupItem({ disabled });
|
|
97
97
|
return React.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React.useEffect(() => {
|
|
98
98
|
if (!triggerRef.current || !isWeb)
|
|
99
99
|
return;
|
|
@@ -115,8 +115,8 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = styled(ThemeableStack, {
|
|
|
115
115
|
}, [isSelected, value, layout]), /* @__PURE__ */ jsx(Theme, { name: isSelected ? "active" : null, children: /* @__PURE__ */ jsx(
|
|
116
116
|
RovingFocusGroup.Item,
|
|
117
117
|
{
|
|
118
|
+
__scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
|
|
118
119
|
asChild: "except-style",
|
|
119
|
-
...rovingFocusGroupScope,
|
|
120
120
|
focusable: !disabled,
|
|
121
121
|
active: isSelected,
|
|
122
122
|
children: /* @__PURE__ */ jsx(
|
|
@@ -176,7 +176,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = styled(ThemeableStack, {
|
|
|
176
176
|
}), TabsContent = TabsContentFrame.extractable(
|
|
177
177
|
React.forwardRef(
|
|
178
178
|
(props, forwardedRef) => {
|
|
179
|
-
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(
|
|
179
|
+
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(__scopeTabs), isSelected = value === context.value, show = forceMount || isSelected, triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value);
|
|
180
180
|
return show ? /* @__PURE__ */ jsx(
|
|
181
181
|
TabsContentFrame,
|
|
182
182
|
{
|
|
@@ -197,9 +197,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = styled(ThemeableStack, {
|
|
|
197
197
|
)
|
|
198
198
|
);
|
|
199
199
|
TabsContent.displayName = CONTENT_NAME;
|
|
200
|
-
const TABS_NAME = "Tabs",
|
|
201
|
-
createRovingFocusGroupScope
|
|
202
|
-
]), useRovingFocusGroupScope = createRovingFocusGroupScope(), [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME), TabsFrame = styled(SizableStack, {
|
|
200
|
+
const TABS_NAME = "Tabs", { Provider: TabsProvider, useStyledContext: useTabsContext } = createStyledContext(), TabsFrame = styled(SizableStack, {
|
|
203
201
|
name: TABS_NAME
|
|
204
202
|
}), Tabs = withStaticProperties(
|
|
205
203
|
TabsFrame.extractable(
|
package/dist/esm/Tabs.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Tabs.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/jsx/Tabs.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { createContextScope } from "@tamagui/create-context";
|
|
2
1
|
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
3
2
|
import { Group, useGroupItem } from "@tamagui/group";
|
|
4
|
-
import { RovingFocusGroup
|
|
3
|
+
import { RovingFocusGroup } from "@tamagui/roving-focus";
|
|
5
4
|
import { SizableStack, ThemeableStack } from "@tamagui/stacks";
|
|
6
5
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
7
6
|
import { useDirection } from "@tamagui/use-direction";
|
|
@@ -9,25 +8,26 @@ import {
|
|
|
9
8
|
Theme,
|
|
10
9
|
composeEventHandlers,
|
|
11
10
|
composeRefs,
|
|
11
|
+
createStyledContext,
|
|
12
12
|
isWeb,
|
|
13
13
|
styled,
|
|
14
14
|
useEvent,
|
|
15
15
|
withStaticProperties
|
|
16
16
|
} from "@tamagui/web";
|
|
17
17
|
import * as React from "react";
|
|
18
|
-
const TAB_LIST_NAME = "TabsList", TabsListFrame = styled(Group, {
|
|
18
|
+
const TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsListFrame = styled(Group, {
|
|
19
19
|
name: TAB_LIST_NAME,
|
|
20
20
|
focusable: !0
|
|
21
21
|
}), TabsList = TabsListFrame.extractable(
|
|
22
22
|
React.forwardRef(
|
|
23
23
|
(props, forwardedRef) => {
|
|
24
|
-
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(
|
|
24
|
+
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(__scopeTabs);
|
|
25
25
|
return <RovingFocusGroup
|
|
26
|
+
__scopeRovingFocusGroup={__scopeTabs || TABS_CONTEXT}
|
|
26
27
|
asChild="except-style"
|
|
27
28
|
orientation={context.orientation}
|
|
28
29
|
dir={context.dir}
|
|
29
30
|
loop={loop}
|
|
30
|
-
{...rovingFocusGroupScope}
|
|
31
31
|
><TabsListFrame
|
|
32
32
|
role="tablist"
|
|
33
33
|
aria-orientation={context.orientation}
|
|
@@ -84,7 +84,7 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = styled(ThemeableStack, {
|
|
|
84
84
|
disabled = !1,
|
|
85
85
|
onInteraction,
|
|
86
86
|
...triggerProps
|
|
87
|
-
} = props, context = useTabsContext(
|
|
87
|
+
} = props, context = useTabsContext(__scopeTabs), triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value), isSelected = value === context.value, [layout, setLayout] = React.useState(null), triggerRef = React.useRef(null), groupItemProps = useGroupItem({ disabled });
|
|
88
88
|
return React.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React.useEffect(() => {
|
|
89
89
|
if (!triggerRef.current || !isWeb)
|
|
90
90
|
return;
|
|
@@ -104,8 +104,8 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = styled(ThemeableStack, {
|
|
|
104
104
|
}, [context.triggersCount]), React.useEffect(() => {
|
|
105
105
|
isSelected && layout && onInteraction?.("select", layout);
|
|
106
106
|
}, [isSelected, value, layout]), <Theme name={isSelected ? "active" : null}><RovingFocusGroup.Item
|
|
107
|
+
__scopeRovingFocusGroup={__scopeTabs || TABS_CONTEXT}
|
|
107
108
|
asChild="except-style"
|
|
108
|
-
{...rovingFocusGroupScope}
|
|
109
109
|
focusable={!disabled}
|
|
110
110
|
active={isSelected}
|
|
111
111
|
><TabsTriggerFrame
|
|
@@ -160,7 +160,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = styled(ThemeableStack, {
|
|
|
160
160
|
}), TabsContent = TabsContentFrame.extractable(
|
|
161
161
|
React.forwardRef(
|
|
162
162
|
(props, forwardedRef) => {
|
|
163
|
-
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(
|
|
163
|
+
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(__scopeTabs), isSelected = value === context.value, show = forceMount || isSelected, triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value);
|
|
164
164
|
return show ? <TabsContentFrame
|
|
165
165
|
key={value}
|
|
166
166
|
data-state={isSelected ? "active" : "inactive"}
|
|
@@ -177,9 +177,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = styled(ThemeableStack, {
|
|
|
177
177
|
)
|
|
178
178
|
);
|
|
179
179
|
TabsContent.displayName = CONTENT_NAME;
|
|
180
|
-
const TABS_NAME = "Tabs",
|
|
181
|
-
createRovingFocusGroupScope
|
|
182
|
-
]), useRovingFocusGroupScope = createRovingFocusGroupScope(), [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME), TabsFrame = styled(SizableStack, {
|
|
180
|
+
const TABS_NAME = "Tabs", { Provider: TabsProvider, useStyledContext: useTabsContext } = createStyledContext(), TabsFrame = styled(SizableStack, {
|
|
183
181
|
name: TABS_NAME
|
|
184
182
|
}), Tabs = withStaticProperties(
|
|
185
183
|
TabsFrame.extractable(
|
package/dist/jsx/Tabs.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Tabs.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/jsx/Tabs.native.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { createContextScope } from "@tamagui/create-context";
|
|
2
1
|
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
3
2
|
import { Group, useGroupItem } from "@tamagui/group";
|
|
4
|
-
import { RovingFocusGroup
|
|
3
|
+
import { RovingFocusGroup } from "@tamagui/roving-focus";
|
|
5
4
|
import { SizableStack, ThemeableStack } from "@tamagui/stacks";
|
|
6
5
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
7
6
|
import { useDirection } from "@tamagui/use-direction";
|
|
@@ -9,25 +8,26 @@ import {
|
|
|
9
8
|
Theme,
|
|
10
9
|
composeEventHandlers,
|
|
11
10
|
composeRefs,
|
|
11
|
+
createStyledContext,
|
|
12
12
|
isWeb,
|
|
13
13
|
styled,
|
|
14
14
|
useEvent,
|
|
15
15
|
withStaticProperties
|
|
16
16
|
} from "@tamagui/web";
|
|
17
17
|
import * as React from "react";
|
|
18
|
-
const TAB_LIST_NAME = "TabsList", TabsListFrame = styled(Group, {
|
|
18
|
+
const TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsListFrame = styled(Group, {
|
|
19
19
|
name: TAB_LIST_NAME,
|
|
20
20
|
focusable: !0
|
|
21
21
|
}), TabsList = TabsListFrame.extractable(
|
|
22
22
|
React.forwardRef(
|
|
23
23
|
(props, forwardedRef) => {
|
|
24
|
-
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(
|
|
24
|
+
const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(__scopeTabs);
|
|
25
25
|
return <RovingFocusGroup
|
|
26
|
+
__scopeRovingFocusGroup={__scopeTabs || TABS_CONTEXT}
|
|
26
27
|
asChild="except-style"
|
|
27
28
|
orientation={context.orientation}
|
|
28
29
|
dir={context.dir}
|
|
29
30
|
loop={loop}
|
|
30
|
-
{...rovingFocusGroupScope}
|
|
31
31
|
><TabsListFrame
|
|
32
32
|
role="tablist"
|
|
33
33
|
aria-orientation={context.orientation}
|
|
@@ -84,7 +84,7 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = styled(ThemeableStack, {
|
|
|
84
84
|
disabled = !1,
|
|
85
85
|
onInteraction,
|
|
86
86
|
...triggerProps
|
|
87
|
-
} = props, context = useTabsContext(
|
|
87
|
+
} = props, context = useTabsContext(__scopeTabs), triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value), isSelected = value === context.value, [layout, setLayout] = React.useState(null), triggerRef = React.useRef(null), groupItemProps = useGroupItem({ disabled });
|
|
88
88
|
return React.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React.useEffect(() => {
|
|
89
89
|
if (!triggerRef.current || !isWeb)
|
|
90
90
|
return;
|
|
@@ -104,8 +104,8 @@ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = styled(ThemeableStack, {
|
|
|
104
104
|
}, [context.triggersCount]), React.useEffect(() => {
|
|
105
105
|
isSelected && layout && (onInteraction == null || onInteraction("select", layout));
|
|
106
106
|
}, [isSelected, value, layout]), <Theme name={isSelected ? "active" : null}><RovingFocusGroup.Item
|
|
107
|
+
__scopeRovingFocusGroup={__scopeTabs || TABS_CONTEXT}
|
|
107
108
|
asChild="except-style"
|
|
108
|
-
{...rovingFocusGroupScope}
|
|
109
109
|
focusable={!disabled}
|
|
110
110
|
active={isSelected}
|
|
111
111
|
><TabsTriggerFrame
|
|
@@ -160,7 +160,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = styled(ThemeableStack, {
|
|
|
160
160
|
}), TabsContent = TabsContentFrame.extractable(
|
|
161
161
|
React.forwardRef(
|
|
162
162
|
(props, forwardedRef) => {
|
|
163
|
-
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(
|
|
163
|
+
const { __scopeTabs, value, forceMount, children, ...contentProps } = props, context = useTabsContext(__scopeTabs), isSelected = value === context.value, show = forceMount || isSelected, triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value);
|
|
164
164
|
return show ? <TabsContentFrame
|
|
165
165
|
key={value}
|
|
166
166
|
data-state={isSelected ? "active" : "inactive"}
|
|
@@ -177,9 +177,7 @@ const CONTENT_NAME = "TabsContent", TabsContentFrame = styled(ThemeableStack, {
|
|
|
177
177
|
)
|
|
178
178
|
);
|
|
179
179
|
TabsContent.displayName = CONTENT_NAME;
|
|
180
|
-
const TABS_NAME = "Tabs",
|
|
181
|
-
createRovingFocusGroupScope
|
|
182
|
-
]), useRovingFocusGroupScope = createRovingFocusGroupScope(), [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME), TabsFrame = styled(SizableStack, {
|
|
180
|
+
const TABS_NAME = "Tabs", { Provider: TabsProvider, useStyledContext: useTabsContext } = createStyledContext(), TabsFrame = styled(SizableStack, {
|
|
183
181
|
name: TABS_NAME
|
|
184
182
|
}), Tabs = withStaticProperties(
|
|
185
183
|
TabsFrame.extractable(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Tabs.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "AAAA,SAAS,sBAAsB;AAC/B,SAAS,OAAmB,oBAAoB;AAChD,SAAS,wBAAwB;AACjC,SAAS,cAAc,sBAAsB;AAC7C,SAAS,4BAA4B;AACrC,SAAS,oBAAoB;AAC7B;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,YAAY,WAAW;AAGvB,MAAM,eAAe,eAMf,gBAAgB,YAEhB,gBAAgB,OAAO,OAAO;AAAA,EAClC,MAAM;AAAA,EACN,WAAW;AACb,CAAC,GAYK,WAAW,cAAc;AAAA,EAC7B,MAAM;AAAA,IACJ,CAAC,OAAmC,iBAAiB;AACnD,YAAM,EAAE,aAAa,OAAO,IAAM,UAAU,GAAG,UAAU,IAAI,OACvD,UAAU,eAAe,WAAW;AAE1C,aACE,CAAC;AAAA,QACC,yBAAyB,eAAe;AAAA,QACxC,QAAQ;AAAA,QACR,aAAa,QAAQ;AAAA,QACrB,KAAK,QAAQ;AAAA,QACb,MAAM;AAAA,OAEN,CAAC;AAAA,QACC,KAAK;AAAA,QACL,kBAAkB,QAAQ;AAAA,QAC1B,KAAK;AAAA,QACL,aAAa,QAAQ;AAAA,YACjB;AAAA,QAEH,SACH,EARC,cASH,EAhBC;AAAA,IAkBL;AAAA,EACF;AACF;AAEA,SAAS,cAAc;AAMvB,MAAM,eAAe,eAEf,mBAAmB,OAAO,gBAAgB;AAAA,EAC9C,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,iBAAiB;AAAA,QAEjB,YAAY;AAAA,UACV,iBAAiB;AAAA,QACnB;AAAA,QAEA,YAAY;AAAA,UACV,iBAAiB;AAAA,QACnB;AAAA,QAEA,YAAY;AAAA,UACV,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC,GAuBK,cAAc,iBAAiB;AAAA,EACnC,MAAM;AAAA,IACJ,CAAC,OAAsC,iBAAiB;AACtD,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,GAAG;AAAA,MACL,IAAI,OACE,UAAU,eAAe,WAAW,GACpC,YAAY,cAAc,QAAQ,QAAQ,KAAK,GAC/C,YAAY,cAAc,QAAQ,QAAQ,KAAK,GAC/C,aAAa,UAAU,QAAQ,OAC/B,CAAC,QAAQ,SAAS,IAAI,MAAM,SAA2B,IAAI,GAC3D,aAAa,MAAM,OAA0B,IAAI,GACjD,iBAAiB,aAAa,EAAE,SAAS,CAAC;AAEhD,mBAAM,UAAU,OACd,QAAQ,gBAAgB,GACjB,MAAM,QAAQ,kBAAkB,IACtC,CAAC,CAAC,GAEL,MAAM,UAAU,MAAM;AACpB,YAAI,CAAC,WAAW,WAAW,CAAC;AAAO;AAEnC,iBAAS,iBAAiB;AACxB,UAAK,WAAW,WAChB,UAAU;AAAA,YACR,OAAO,WAAW,QAAQ;AAAA,YAC1B,QAAQ,WAAW,QAAQ;AAAA,YAC3B,GAAG,WAAW,QAAQ;AAAA,YACtB,GAAG,WAAW,QAAQ;AAAA,UACxB,CAAC;AAAA,QACH;AACA,uBAAe;AAEf,cAAM,WAAW,IAAI,eAAe,cAAc;AAClD,wBAAS,QAAQ,WAAW,OAAO,GAE5B,MAAM;AACX,UAAK,WAAW,WAChB,SAAS,UAAU,WAAW,OAAO;AAAA,QACvC;AAAA,MACF,GAAG,CAAC,QAAQ,aAAa,CAAC,GAE1B,MAAM,UAAU,MAAM;AACpB,QAAI,cAAc,WAChB,uCAAgB,UAAU;AAAA,MAE9B,GAAG,CAAC,YAAY,OAAO,MAAM,CAAC,GAG5B,CAAC,MAAM,MAAM,aAAa,WAAW,MACnC,CAAC,iBAAiB;AAAA,QAChB,yBAAyB,eAAe;AAAA,QACxC,QAAQ;AAAA,QACR,WAAW,CAAC;AAAA,QACZ,QAAQ;AAAA,OAER,CAAC;AAAA,QACC,UAAU,CAAC,UAAU;AACnB,UAAK,SACH,UAAU,MAAM,YAAY,MAAM;AAAA,QAEtC;AAAA,QACA,WAAW,qBAAqB,MAAM,WAAW,MAAM;AACrD,UAAI,WACF,uCAAgB,SAAS;AAAA,QAE7B,CAAC;AAAA,QACD,YAAY,qBAAqB,MAAM,YAAY,MAAM;AACvD,iDAAgB,SAAS;AAAA,QAC3B,CAAC;AAAA,QACD,KAAK;AAAA,QACL,eAAe;AAAA,QACf,eAAe;AAAA,QACf,YAAY,aAAa,WAAW;AAAA,QACpC,eAAe,WAAW,KAAK;AAAA,QAC/B,UAAU;AAAA,QACV,IAAI;AAAA,QAEJ,MAAM,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,QACJ,KAAK,YAAY,cAAc,UAAU;AAAA,QACzC,SAAS,qBAAqB,MAAM,WAAW,QAAW,CAAC,UAAU;AAInE,gBAAM,YACJ,CAAC,SACC,MAAsC,WAAW,KAChD,MAAsC,YAAY;AACvD,UAAI,CAAC,YAAY,CAAC,cAAc,YAC9B,QAAQ,SAAS,KAAK,IAGtB,MAAM,eAAe;AAAA,QAEzB,CAAC;AAAA,YACI,SAAS;AAAA,UACZ,MAAM;AAAA,UACN,WAAW;AAAA,YACR,MAA6C;AAAA,YAC9C,CAAC,UAAU;AACT,cAAI,CAAC,KAAK,OAAO,EAAE,SAAS,MAAM,GAAG,MACnC,QAAQ,SAAS,KAAK,GACtB,MAAM,eAAe;AAAA,YAEzB;AAAA,UACF;AAAA,UACA,SAAS,qBAAqB,MAAM,SAAS,CAAC,UAAU;AACtD,YAAI,WACF,uCAAgB,SAAS;AAI3B,kBAAM,wBAAwB,QAAQ,mBAAmB;AACzD,YAAI,CAAC,cAAc,CAAC,YAAY,yBAC9B,QAAQ,SAAS,KAAK;AAAA,UAE1B,CAAC;AAAA,UACD,QAAQ,qBAAqB,MAAM,SAAS,MAAM;AAChD,mDAAgB,SAAS;AAAA,UAC3B,CAAC;AAAA,QACH;AAAA,MACF,EACF,EA1EC,iBAAiB,KA2EpB,EA5EC;AAAA,IA8EL;AAAA,EACF;AACF;AAEA,YAAY,cAAc;AAM1B,MAAM,eAAe,eAEf,mBAAmB,OAAO,gBAAgB;AAAA,EAC9C,MAAM;AACR,CAAC,GAaK,cAAc,iBAAiB;AAAA,EACnC,MAAM;AAAA,IACJ,CAAC,OAAsC,iBAAiB;AACtD,YAAM,EAAE,aAAa,OAAO,YAAY,UAAU,GAAG,aAAa,IAAI,OAChE,UAAU,eAAe,WAAW,GACpC,aAAa,UAAU,QAAQ,OAC/B,OAAO,cAAc,YAErB,YAAY,cAAc,QAAQ,QAAQ,KAAK,GAC/C,YAAY,cAAc,QAAQ,QAAQ,KAAK;AAErD,aAAK,OAEH,CAAC;AAAA,QACC,KAAK;AAAA,QACL,YAAY,aAAa,WAAW;AAAA,QACpC,kBAAkB,QAAQ;AAAA,QAC1B,KAAK;AAAA,QACL,iBAAiB;AAAA,QAEjB,QAAQ,CAAC;AAAA,QACT,IAAI;AAAA,QACJ,UAAU;AAAA,YACN;AAAA,QACJ,KAAK;AAAA,QAEJ,SACH,EAdC,oBAFe;AAAA,IAkBpB;AAAA,EACF;AACF;AAEA,YAAY,cAAc;AAM1B,MAAM,YAAY,QAqBZ,EAAE,UAAU,cAAc,kBAAkB,eAAe,IAC/D,oBAAsC,GAElC,YAAY,OAAO,cAAc;AAAA,EACrC,MAAM;AACR,CAAC,GA2BY,OAAO;AAAA,EAClB,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,CAAC,OAA+B,iBAAiB;AAC/C,cAAM;AAAA,UACJ;AAAA,UACA,OAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA,cAAc;AAAA,UACd;AAAA,UACA,iBAAiB;AAAA,UACjB,OAAO;AAAA,UACP,GAAG;AAAA,QACL,IAAI,OACE,YAAY,aAAa,GAAG,GAC5B,CAAC,OAAO,QAAQ,IAAI,qBAAqB;AAAA,UAC7C,MAAM;AAAA,UACN,UAAU;AAAA,UACV,aAAa,gBAAgB;AAAA,QAC/B,CAAC,GACK,CAAC,eAAe,gBAAgB,IAAI,MAAM,SAAS,CAAC,GACpD,kBAAkB,SAAS,MAAM,iBAAiB,CAAC,MAAM,IAAI,CAAC,CAAC,GAC/D,oBAAoB,SAAS,MAAM,iBAAiB,CAAC,MAAM,IAAI,CAAC,CAAC;AAEvE,eACE,CAAC;AAAA,UACC,OAAO;AAAA,UACP,QAAQ,MAAM,MAAM;AAAA,UACpB,OAAO;AAAA,UACP,UAAU;AAAA,UACV,aAAa;AAAA,UACb,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,MAAM;AAAA,UACN,iBAAiB;AAAA,UACjB,eAAe;AAAA,UACf,mBAAmB;AAAA,SAEnB,CAAC;AAAA,UACC,WAAW;AAAA,UAEX,kBAAkB;AAAA,cACd;AAAA,UACJ,KAAK;AAAA,QACP,EACF,EApBC;AAAA,MAsBL;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,MAAM;AAAA;AAAA;AAAA;AAAA,IAIN,SAAS;AAAA,IACT,KAAK;AAAA,IACL,SAAS;AAAA,EACX;AACF;AACA,KAAK,cAAc;AAInB,SAAS,cAAc,QAAgB,OAAe;AACpD,SAAO,GAAG,MAAM,YAAY,KAAK;AACnC;AAEA,SAAS,cAAc,QAAgB,OAAe;AACpD,SAAO,GAAG,MAAM,YAAY,KAAK;AACnC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/tabs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.72.0",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -25,21 +25,21 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@tamagui/create-context": "1.
|
|
29
|
-
"@tamagui/get-button-sized": "1.
|
|
30
|
-
"@tamagui/group": "1.
|
|
31
|
-
"@tamagui/roving-focus": "1.
|
|
32
|
-
"@tamagui/stacks": "1.
|
|
33
|
-
"@tamagui/use-controllable-state": "1.
|
|
34
|
-
"@tamagui/use-direction": "1.
|
|
35
|
-
"@tamagui/web": "1.
|
|
28
|
+
"@tamagui/create-context": "1.72.0",
|
|
29
|
+
"@tamagui/get-button-sized": "1.72.0",
|
|
30
|
+
"@tamagui/group": "1.72.0",
|
|
31
|
+
"@tamagui/roving-focus": "1.72.0",
|
|
32
|
+
"@tamagui/stacks": "1.72.0",
|
|
33
|
+
"@tamagui/use-controllable-state": "1.72.0",
|
|
34
|
+
"@tamagui/use-direction": "1.72.0",
|
|
35
|
+
"@tamagui/web": "1.72.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"react": "*",
|
|
39
39
|
"react-dom": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.
|
|
42
|
+
"@tamagui/build": "1.72.0",
|
|
43
43
|
"react": "^18.2.0",
|
|
44
44
|
"react-dom": "^18.2.0"
|
|
45
45
|
},
|
package/src/Tabs.tsx
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import type { Scope } from '@tamagui/create-context'
|
|
2
|
-
import { createContextScope } from '@tamagui/create-context'
|
|
3
1
|
import { getButtonSized } from '@tamagui/get-button-sized'
|
|
4
2
|
import { Group, GroupProps, useGroupItem } from '@tamagui/group'
|
|
5
|
-
import { RovingFocusGroup
|
|
6
|
-
import { SizableStack, ThemeableStack
|
|
3
|
+
import { RovingFocusGroup } from '@tamagui/roving-focus'
|
|
4
|
+
import { SizableStack, ThemeableStack } from '@tamagui/stacks'
|
|
7
5
|
import { useControllableState } from '@tamagui/use-controllable-state'
|
|
8
6
|
import { useDirection } from '@tamagui/use-direction'
|
|
9
7
|
import {
|
|
@@ -12,6 +10,7 @@ import {
|
|
|
12
10
|
Theme,
|
|
13
11
|
composeEventHandlers,
|
|
14
12
|
composeRefs,
|
|
13
|
+
createStyledContext,
|
|
15
14
|
isWeb,
|
|
16
15
|
styled,
|
|
17
16
|
useEvent,
|
|
@@ -20,6 +19,8 @@ import {
|
|
|
20
19
|
import * as React from 'react'
|
|
21
20
|
import type { LayoutRectangle } from 'react-native'
|
|
22
21
|
|
|
22
|
+
const TABS_CONTEXT = 'TabsContext'
|
|
23
|
+
|
|
23
24
|
/* -------------------------------------------------------------------------------------------------
|
|
24
25
|
* TabsList
|
|
25
26
|
* -----------------------------------------------------------------------------------------------*/
|
|
@@ -45,16 +46,15 @@ const TabsList = TabsListFrame.extractable(
|
|
|
45
46
|
React.forwardRef<HTMLDivElement, TabsListProps>(
|
|
46
47
|
(props: ScopedProps<TabsListProps>, forwardedRef) => {
|
|
47
48
|
const { __scopeTabs, loop = true, children, ...listProps } = props
|
|
48
|
-
const context = useTabsContext(
|
|
49
|
-
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs)
|
|
49
|
+
const context = useTabsContext(__scopeTabs)
|
|
50
50
|
|
|
51
51
|
return (
|
|
52
52
|
<RovingFocusGroup
|
|
53
|
+
__scopeRovingFocusGroup={__scopeTabs || TABS_CONTEXT}
|
|
53
54
|
asChild="except-style"
|
|
54
55
|
orientation={context.orientation}
|
|
55
56
|
dir={context.dir}
|
|
56
57
|
loop={loop}
|
|
57
|
-
{...rovingFocusGroupScope}
|
|
58
58
|
>
|
|
59
59
|
<TabsListFrame
|
|
60
60
|
role="tablist"
|
|
@@ -144,7 +144,7 @@ type TabsTriggerProps = TabsTriggerFrameProps & {
|
|
|
144
144
|
type TabsTabProps = TabsTriggerProps
|
|
145
145
|
|
|
146
146
|
const TabsTrigger = TabsTriggerFrame.extractable(
|
|
147
|
-
React.forwardRef<HTMLButtonElement, TabsTriggerProps
|
|
147
|
+
React.forwardRef<HTMLButtonElement, ScopedProps<TabsTriggerProps>>(
|
|
148
148
|
(props: ScopedProps<TabsTriggerProps>, forwardedRef) => {
|
|
149
149
|
const {
|
|
150
150
|
__scopeTabs,
|
|
@@ -153,8 +153,7 @@ const TabsTrigger = TabsTriggerFrame.extractable(
|
|
|
153
153
|
onInteraction,
|
|
154
154
|
...triggerProps
|
|
155
155
|
} = props
|
|
156
|
-
const context = useTabsContext(
|
|
157
|
-
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs)
|
|
156
|
+
const context = useTabsContext(__scopeTabs)
|
|
158
157
|
const triggerId = makeTriggerId(context.baseId, value)
|
|
159
158
|
const contentId = makeContentId(context.baseId, value)
|
|
160
159
|
const isSelected = value === context.value
|
|
@@ -199,8 +198,8 @@ const TabsTrigger = TabsTriggerFrame.extractable(
|
|
|
199
198
|
return (
|
|
200
199
|
<Theme name={isSelected ? 'active' : null}>
|
|
201
200
|
<RovingFocusGroup.Item
|
|
201
|
+
__scopeRovingFocusGroup={__scopeTabs || TABS_CONTEXT}
|
|
202
202
|
asChild="except-style"
|
|
203
|
-
{...rovingFocusGroupScope}
|
|
204
203
|
focusable={!disabled}
|
|
205
204
|
active={isSelected}
|
|
206
205
|
>
|
|
@@ -306,7 +305,7 @@ const TabsContent = TabsContentFrame.extractable(
|
|
|
306
305
|
React.forwardRef<HTMLDivElement, TabsContentProps>(
|
|
307
306
|
(props: ScopedProps<TabsContentProps>, forwardedRef) => {
|
|
308
307
|
const { __scopeTabs, value, forceMount, children, ...contentProps } = props
|
|
309
|
-
const context = useTabsContext(
|
|
308
|
+
const context = useTabsContext(__scopeTabs)
|
|
310
309
|
const isSelected = value === context.value
|
|
311
310
|
const show = forceMount || isSelected
|
|
312
311
|
|
|
@@ -343,11 +342,11 @@ TabsContent.displayName = CONTENT_NAME
|
|
|
343
342
|
|
|
344
343
|
const TABS_NAME = 'Tabs'
|
|
345
344
|
|
|
346
|
-
type ScopedProps<P> = P & { __scopeTabs?:
|
|
347
|
-
const [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [
|
|
348
|
-
|
|
349
|
-
])
|
|
350
|
-
const useRovingFocusGroupScope = createRovingFocusGroupScope()
|
|
345
|
+
type ScopedProps<P> = P & { __scopeTabs?: string }
|
|
346
|
+
// const [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [
|
|
347
|
+
// createRovingFocusGroupScope,
|
|
348
|
+
// ])
|
|
349
|
+
// const useRovingFocusGroupScope = createRovingFocusGroupScope()
|
|
351
350
|
|
|
352
351
|
type TabsContextValue = {
|
|
353
352
|
baseId: string
|
|
@@ -362,7 +361,8 @@ type TabsContextValue = {
|
|
|
362
361
|
triggersCount: number
|
|
363
362
|
}
|
|
364
363
|
|
|
365
|
-
const
|
|
364
|
+
const { Provider: TabsProvider, useStyledContext: useTabsContext } =
|
|
365
|
+
createStyledContext<TabsContextValue>()
|
|
366
366
|
|
|
367
367
|
const TabsFrame = styled(SizableStack, {
|
|
368
368
|
name: TABS_NAME,
|
|
@@ -395,7 +395,7 @@ type TabsProps = TabsFrameProps & {
|
|
|
395
395
|
|
|
396
396
|
export const Tabs = withStaticProperties(
|
|
397
397
|
TabsFrame.extractable(
|
|
398
|
-
React.forwardRef<HTMLDivElement, TabsProps
|
|
398
|
+
React.forwardRef<HTMLDivElement, ScopedProps<TabsProps>>(
|
|
399
399
|
(props: ScopedProps<TabsProps>, forwardedRef) => {
|
|
400
400
|
const {
|
|
401
401
|
__scopeTabs,
|
package/types/Tabs.d.ts
CHANGED
|
@@ -522,6 +522,8 @@ export declare const Tabs: React.ForwardRefExoticComponent<((Omit<import("react-
|
|
|
522
522
|
* @defaultValue automatic
|
|
523
523
|
* */
|
|
524
524
|
activationMode?: "automatic" | "manual" | undefined;
|
|
525
|
+
} & {
|
|
526
|
+
__scopeTabs?: string | undefined;
|
|
525
527
|
}) | Omit<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers | "style"> & import("@tamagui/web").ExtendBaseStackProps & import("@tamagui/web").TamaguiComponentPropsBase & {
|
|
526
528
|
style?: import("@tamagui/web").StyleProp<import("react-native").ViewStyle | React.CSSProperties | (React.CSSProperties & import("react-native").ViewStyle)>;
|
|
527
529
|
} & import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStylePropsBase> & import("@tamagui/web").WithShorthands<import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStylePropsBase>> & import("@tamagui/core").RNViewProps & Omit<{
|
|
@@ -592,6 +594,8 @@ export declare const Tabs: React.ForwardRefExoticComponent<((Omit<import("react-
|
|
|
592
594
|
* @defaultValue automatic
|
|
593
595
|
* */
|
|
594
596
|
activationMode?: "automatic" | "manual" | undefined;
|
|
597
|
+
} & {
|
|
598
|
+
__scopeTabs?: string | undefined;
|
|
595
599
|
}, "ref">) & React.RefAttributes<HTMLDivElement>> & {
|
|
596
600
|
List: React.ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers | "style"> & import("@tamagui/web").ExtendBaseStackProps & import("@tamagui/web").TamaguiComponentPropsBase & {
|
|
597
601
|
style?: import("@tamagui/web").StyleProp<import("react-native").ViewStyle | React.CSSProperties | (React.CSSProperties & import("react-native").ViewStyle)>;
|
|
@@ -739,6 +743,8 @@ export declare const Tabs: React.ForwardRefExoticComponent<((Omit<import("react-
|
|
|
739
743
|
value: string;
|
|
740
744
|
/** Used for making custom indicators when trigger interacted with */
|
|
741
745
|
onInteraction?: ((type: InteractionType, layout: TabLayout | null) => void) | undefined;
|
|
746
|
+
} & {
|
|
747
|
+
__scopeTabs?: string | undefined;
|
|
742
748
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
743
749
|
Tab: React.ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers | "style"> & import("@tamagui/web").ExtendBaseStackProps & import("@tamagui/web").TamaguiComponentPropsBase & {
|
|
744
750
|
style?: import("@tamagui/web").StyleProp<import("react-native").ViewStyle | React.CSSProperties | (React.CSSProperties & import("react-native").ViewStyle)>;
|
|
@@ -808,6 +814,8 @@ export declare const Tabs: React.ForwardRefExoticComponent<((Omit<import("react-
|
|
|
808
814
|
value: string;
|
|
809
815
|
/** Used for making custom indicators when trigger interacted with */
|
|
810
816
|
onInteraction?: ((type: InteractionType, layout: TabLayout | null) => void) | undefined;
|
|
817
|
+
} & {
|
|
818
|
+
__scopeTabs?: string | undefined;
|
|
811
819
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
812
820
|
Content: React.ForwardRefExoticComponent<((Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers | "style"> & import("@tamagui/web").ExtendBaseStackProps & import("@tamagui/web").TamaguiComponentPropsBase & {
|
|
813
821
|
style?: import("@tamagui/web").StyleProp<import("react-native").ViewStyle | React.CSSProperties | (React.CSSProperties & import("react-native").ViewStyle)>;
|
package/types/Tabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.tsx"],"names":[],"mappings":"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"}
|