@tamagui/tabs 1.74.3 → 1.74.4

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.
@@ -0,0 +1,269 @@
1
+ import { getButtonSized } from "@tamagui/get-button-sized";
2
+ import { Group, useGroupItem } from "@tamagui/group";
3
+ import { RovingFocusGroup } from "@tamagui/roving-focus";
4
+ import { SizableStack, ThemeableStack } from "@tamagui/stacks";
5
+ import { useControllableState } from "@tamagui/use-controllable-state";
6
+ import { useDirection } from "@tamagui/use-direction";
7
+ import {
8
+ Theme,
9
+ composeEventHandlers,
10
+ composeRefs,
11
+ createStyledContext,
12
+ isWeb,
13
+ styled,
14
+ useEvent,
15
+ withStaticProperties
16
+ } from "@tamagui/web";
17
+ import * as React from "react";
18
+ import { jsx } from "react/jsx-runtime";
19
+ const TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsListFrame = styled(Group, {
20
+ name: TAB_LIST_NAME,
21
+ focusable: !0
22
+ }), TabsList = TabsListFrame.extractable(
23
+ React.forwardRef(
24
+ (props, forwardedRef) => {
25
+ const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(__scopeTabs);
26
+ return /* @__PURE__ */ jsx(
27
+ RovingFocusGroup,
28
+ {
29
+ __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
30
+ asChild: "except-style",
31
+ orientation: context.orientation,
32
+ dir: context.dir,
33
+ loop,
34
+ children: /* @__PURE__ */ jsx(
35
+ TabsListFrame,
36
+ {
37
+ role: "tablist",
38
+ "aria-orientation": context.orientation,
39
+ ref: forwardedRef,
40
+ orientation: context.orientation,
41
+ ...listProps,
42
+ children
43
+ }
44
+ )
45
+ }
46
+ );
47
+ }
48
+ )
49
+ );
50
+ TabsList.displayName = TAB_LIST_NAME;
51
+ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = styled(ThemeableStack, {
52
+ name: TRIGGER_NAME,
53
+ justifyContent: "center",
54
+ alignItems: "center",
55
+ flexWrap: "nowrap",
56
+ flexDirection: "row",
57
+ cursor: "pointer",
58
+ focusable: !0,
59
+ userSelect: "none",
60
+ variants: {
61
+ size: {
62
+ "...size": getButtonSized
63
+ },
64
+ disabled: {
65
+ true: {
66
+ pointerEvents: "none"
67
+ }
68
+ },
69
+ unstyled: {
70
+ false: {
71
+ backgroundColor: "$background",
72
+ pressStyle: {
73
+ backgroundColor: "$backgroundPress"
74
+ },
75
+ hoverStyle: {
76
+ backgroundColor: "$backgroundHover"
77
+ },
78
+ focusStyle: {
79
+ backgroundColor: "$backgroundFocus"
80
+ }
81
+ }
82
+ }
83
+ },
84
+ defaultVariants: {
85
+ unstyled: !1
86
+ }
87
+ }), TabsTrigger = TabsTriggerFrame.extractable(
88
+ React.forwardRef(
89
+ (props, forwardedRef) => {
90
+ const {
91
+ __scopeTabs,
92
+ value,
93
+ disabled = !1,
94
+ onInteraction,
95
+ ...triggerProps
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
+ return React.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React.useEffect(() => {
98
+ if (!triggerRef.current || !isWeb)
99
+ return;
100
+ function getTriggerSize() {
101
+ triggerRef.current && setLayout({
102
+ width: triggerRef.current.offsetWidth,
103
+ height: triggerRef.current.offsetHeight,
104
+ x: triggerRef.current.offsetLeft,
105
+ y: triggerRef.current.offsetTop
106
+ });
107
+ }
108
+ getTriggerSize();
109
+ const observer = new ResizeObserver(getTriggerSize);
110
+ return observer.observe(triggerRef.current), () => {
111
+ triggerRef.current && observer.unobserve(triggerRef.current);
112
+ };
113
+ }, [context.triggersCount]), React.useEffect(() => {
114
+ isSelected && layout && onInteraction?.("select", layout);
115
+ }, [isSelected, value, layout]), /* @__PURE__ */ jsx(Theme, { name: isSelected ? "active" : null, children: /* @__PURE__ */ jsx(
116
+ RovingFocusGroup.Item,
117
+ {
118
+ __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
119
+ asChild: "except-style",
120
+ focusable: !disabled,
121
+ active: isSelected,
122
+ children: /* @__PURE__ */ jsx(
123
+ TabsTriggerFrame,
124
+ {
125
+ onLayout: (event) => {
126
+ isWeb || setLayout(event.nativeEvent.layout);
127
+ },
128
+ onHoverIn: composeEventHandlers(props.onHoverIn, () => {
129
+ layout && onInteraction?.("hover", layout);
130
+ }),
131
+ onHoverOut: composeEventHandlers(props.onHoverOut, () => {
132
+ onInteraction?.("hover", null);
133
+ }),
134
+ role: "tab",
135
+ "aria-selected": isSelected,
136
+ "aria-controls": contentId,
137
+ "data-state": isSelected ? "active" : "inactive",
138
+ "data-disabled": disabled ? "" : void 0,
139
+ disabled,
140
+ id: triggerId,
141
+ size: context.size,
142
+ ...groupItemProps,
143
+ ...triggerProps,
144
+ ref: composeRefs(forwardedRef, triggerRef),
145
+ onPress: composeEventHandlers(props.onPress ?? void 0, (event) => {
146
+ const webChecks = !isWeb || event.button === 0 && event.ctrlKey === !1;
147
+ !disabled && !isSelected && webChecks ? context.onChange(value) : event.preventDefault();
148
+ }),
149
+ ...isWeb && {
150
+ type: "button",
151
+ onKeyDown: composeEventHandlers(
152
+ props.onKeyDown,
153
+ (event) => {
154
+ [" ", "Enter"].includes(event.key) && (context.onChange(value), event.preventDefault());
155
+ }
156
+ ),
157
+ onFocus: composeEventHandlers(props.onFocus, (event) => {
158
+ layout && onInteraction?.("focus", layout);
159
+ const isAutomaticActivation = context.activationMode !== "manual";
160
+ !isSelected && !disabled && isAutomaticActivation && context.onChange(value);
161
+ }),
162
+ onBlur: composeEventHandlers(props.onFocus, () => {
163
+ onInteraction?.("focus", null);
164
+ })
165
+ }
166
+ }
167
+ )
168
+ }
169
+ ) });
170
+ }
171
+ )
172
+ );
173
+ TabsTrigger.displayName = TRIGGER_NAME;
174
+ const CONTENT_NAME = "TabsContent", TabsContentFrame = styled(ThemeableStack, {
175
+ name: CONTENT_NAME
176
+ }), TabsContent = TabsContentFrame.extractable(
177
+ React.forwardRef(
178
+ (props, forwardedRef) => {
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
+ return show ? /* @__PURE__ */ jsx(
181
+ TabsContentFrame,
182
+ {
183
+ "data-state": isSelected ? "active" : "inactive",
184
+ "data-orientation": context.orientation,
185
+ role: "tabpanel",
186
+ "aria-labelledby": triggerId,
187
+ hidden: !show,
188
+ id: contentId,
189
+ tabIndex: 0,
190
+ ...contentProps,
191
+ ref: forwardedRef,
192
+ children
193
+ },
194
+ value
195
+ ) : null;
196
+ }
197
+ )
198
+ );
199
+ TabsContent.displayName = CONTENT_NAME;
200
+ const TABS_NAME = "Tabs", { Provider: TabsProvider, useStyledContext: useTabsContext } = createStyledContext(), TabsFrame = styled(SizableStack, {
201
+ name: TABS_NAME
202
+ }), Tabs = withStaticProperties(
203
+ TabsFrame.extractable(
204
+ React.forwardRef(
205
+ (props, forwardedRef) => {
206
+ const {
207
+ __scopeTabs,
208
+ value: valueProp,
209
+ onValueChange,
210
+ defaultValue,
211
+ orientation = "horizontal",
212
+ dir,
213
+ activationMode = "automatic",
214
+ size = "$true",
215
+ ...tabsProps
216
+ } = props, direction = useDirection(dir), [value, setValue] = useControllableState({
217
+ prop: valueProp,
218
+ onChange: onValueChange,
219
+ defaultProp: defaultValue ?? ""
220
+ }), [triggersCount, setTriggersCount] = React.useState(0), registerTrigger = useEvent(() => setTriggersCount((v) => v + 1)), unregisterTrigger = useEvent(() => setTriggersCount((v) => v - 1));
221
+ return /* @__PURE__ */ jsx(
222
+ TabsProvider,
223
+ {
224
+ scope: __scopeTabs,
225
+ baseId: React.useId(),
226
+ value,
227
+ onChange: setValue,
228
+ orientation,
229
+ dir: direction,
230
+ activationMode,
231
+ size,
232
+ registerTrigger,
233
+ triggersCount,
234
+ unregisterTrigger,
235
+ children: /* @__PURE__ */ jsx(
236
+ TabsFrame,
237
+ {
238
+ direction,
239
+ "data-orientation": orientation,
240
+ ...tabsProps,
241
+ ref: forwardedRef
242
+ }
243
+ )
244
+ }
245
+ );
246
+ }
247
+ )
248
+ ),
249
+ {
250
+ List: TabsList,
251
+ /**
252
+ * @deprecated Use Tabs.Tab instead
253
+ */
254
+ Trigger: TabsTrigger,
255
+ Tab: TabsTrigger,
256
+ Content: TabsContent
257
+ }
258
+ );
259
+ Tabs.displayName = TABS_NAME;
260
+ function makeTriggerId(baseId, value) {
261
+ return `${baseId}-trigger-${value}`;
262
+ }
263
+ function makeContentId(baseId, value) {
264
+ return `${baseId}-content-${value}`;
265
+ }
266
+ export {
267
+ Tabs
268
+ };
269
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Tabs.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./Tabs";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": "AAAA,cAAc;",
5
+ "names": []
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/tabs",
3
- "version": "1.74.3",
3
+ "version": "1.74.4",
4
4
  "sideEffects": false,
5
5
  "source": "src/index.ts",
6
6
  "types": "./types/index.d.ts",
@@ -29,21 +29,21 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@tamagui/create-context": "1.74.3",
33
- "@tamagui/get-button-sized": "1.74.3",
34
- "@tamagui/group": "1.74.3",
35
- "@tamagui/roving-focus": "1.74.3",
36
- "@tamagui/stacks": "1.74.3",
37
- "@tamagui/use-controllable-state": "1.74.3",
38
- "@tamagui/use-direction": "1.74.3",
39
- "@tamagui/web": "1.74.3"
32
+ "@tamagui/create-context": "1.74.4",
33
+ "@tamagui/get-button-sized": "1.74.4",
34
+ "@tamagui/group": "1.74.4",
35
+ "@tamagui/roving-focus": "1.74.4",
36
+ "@tamagui/stacks": "1.74.4",
37
+ "@tamagui/use-controllable-state": "1.74.4",
38
+ "@tamagui/use-direction": "1.74.4",
39
+ "@tamagui/web": "1.74.4"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "react": "*",
43
43
  "react-dom": "*"
44
44
  },
45
45
  "devDependencies": {
46
- "@tamagui/build": "1.74.3",
46
+ "@tamagui/build": "1.74.4",
47
47
  "react": "^18.2.0",
48
48
  "react-dom": "^18.2.0"
49
49
  },