@tamagui/elements 1.89.0-1706308641099

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,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA6B;AAEtB,MAAM,cAAU,mBAAO,iBAAM;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA,EACf,mBAAmB;AACrB,CAAC,GAEY,cAAU,mBAAO,iBAAM;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AACjB,CAAC,GAEY,WAAO,mBAAO,iBAAM;AAAA,EAC/B,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AACjB,CAAC,GAEY,aAAS,mBAAO,iBAAM;AAAA,EACjC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,mBAAmB;AAAA,EACnB,eAAe;AACjB,CAAC,GAEY,YAAQ,mBAAO,iBAAM;AAAA,EAChC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC,GAEY,aAAS,mBAAO,iBAAM;AAAA,EACjC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC,GAEY,UAAM,mBAAO,iBAAM;AAAA,EAC9B,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var src_exports = {};
17
+ __export(src_exports, {
18
+ Article: () => Article,
19
+ Aside: () => Aside,
20
+ Footer: () => Footer,
21
+ Header: () => Header,
22
+ Main: () => Main,
23
+ Nav: () => Nav,
24
+ Section: () => Section
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+ var import_web = require("@tamagui/web");
28
+ const Section = (0, import_web.styled)(import_web.View, {
29
+ name: "Section",
30
+ tag: "section",
31
+ flexDirection: "column",
32
+ accessibilityRole: "summary"
33
+ }), Article = (0, import_web.styled)(import_web.View, {
34
+ name: "Article",
35
+ tag: "article",
36
+ flexDirection: "column"
37
+ }), Main = (0, import_web.styled)(import_web.View, {
38
+ name: "Main",
39
+ tag: "main",
40
+ flexDirection: "column"
41
+ }), Header = (0, import_web.styled)(import_web.View, {
42
+ name: "Header",
43
+ tag: "header",
44
+ accessibilityRole: "header",
45
+ flexDirection: "column"
46
+ }), Aside = (0, import_web.styled)(import_web.View, {
47
+ name: "Aside",
48
+ tag: "aside",
49
+ flexDirection: "column"
50
+ // accessibilityRole: 'complementary',
51
+ }), Footer = (0, import_web.styled)(import_web.View, {
52
+ name: "Footer",
53
+ tag: "footer",
54
+ flexDirection: "column"
55
+ // accessibilityRole: 'contentinfo',
56
+ }), Nav = (0, import_web.styled)(import_web.View, {
57
+ name: "Nav",
58
+ tag: "nav",
59
+ flexDirection: "column"
60
+ // accessibilityRole: 'navigation',
61
+ });
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ Article,
65
+ Aside,
66
+ Footer,
67
+ Header,
68
+ Main,
69
+ Nav,
70
+ Section
71
+ });
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA6B;AAEtB,MAAM,cAAU,mBAAO,iBAAM;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA,EACf,mBAAmB;AACrB,CAAC,GAEY,cAAU,mBAAO,iBAAM;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AACjB,CAAC,GAEY,WAAO,mBAAO,iBAAM;AAAA,EAC/B,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AACjB,CAAC,GAEY,aAAS,mBAAO,iBAAM;AAAA,EACjC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,mBAAmB;AAAA,EACnB,eAAe;AACjB,CAAC,GAEY,YAAQ,mBAAO,iBAAM;AAAA,EAChC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC,GAEY,aAAS,mBAAO,iBAAM;AAAA,EACjC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC,GAEY,UAAM,mBAAO,iBAAM;AAAA,EAC9B,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,267 @@
1
+ import { composeRefs } from "@tamagui/compose-refs";
2
+ import { isWeb } from "@tamagui/constants";
3
+ import { getButtonSized } from "@tamagui/get-button-sized";
4
+ import { Group, useGroupItem } from "@tamagui/group";
5
+ import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
6
+ import { RovingFocusGroup } from "@tamagui/roving-focus";
7
+ import { SizableStack, ThemeableStack } from "@tamagui/stacks";
8
+ import { useControllableState } from "@tamagui/use-controllable-state";
9
+ import { useDirection } from "@tamagui/use-direction";
10
+ import {
11
+ Theme,
12
+ createStyledContext,
13
+ styled,
14
+ useEvent
15
+ } from "@tamagui/web";
16
+ import * as React from "react";
17
+ import { jsx } from "react/jsx-runtime";
18
+ const TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsListFrame = styled(Group, {
19
+ name: TAB_LIST_NAME
20
+ }), TabsList = TabsListFrame.extractable(
21
+ React.forwardRef(
22
+ (props, forwardedRef) => {
23
+ const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(__scopeTabs);
24
+ return /* @__PURE__ */ jsx(
25
+ RovingFocusGroup,
26
+ {
27
+ __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
28
+ orientation: context.orientation,
29
+ dir: context.dir,
30
+ loop,
31
+ children: /* @__PURE__ */ jsx(
32
+ TabsListFrame,
33
+ {
34
+ role: "tablist",
35
+ "aria-orientation": context.orientation,
36
+ ref: forwardedRef,
37
+ orientation: context.orientation,
38
+ ...listProps,
39
+ children
40
+ }
41
+ )
42
+ }
43
+ );
44
+ }
45
+ )
46
+ );
47
+ TabsList.displayName = TAB_LIST_NAME;
48
+ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = styled(ThemeableStack, {
49
+ name: TRIGGER_NAME,
50
+ tag: "button",
51
+ justifyContent: "center",
52
+ alignItems: "center",
53
+ flexWrap: "nowrap",
54
+ flexDirection: "row",
55
+ cursor: "pointer",
56
+ userSelect: "none",
57
+ variants: {
58
+ size: {
59
+ "...size": getButtonSized
60
+ },
61
+ disabled: {
62
+ true: {
63
+ pointerEvents: "none"
64
+ }
65
+ },
66
+ active: {
67
+ true: {
68
+ hoverStyle: {
69
+ backgroundColor: "$background"
70
+ },
71
+ focusStyle: {
72
+ backgroundColor: "$background"
73
+ }
74
+ }
75
+ },
76
+ unstyled: {
77
+ false: {
78
+ backgroundColor: "$background",
79
+ pressStyle: {
80
+ backgroundColor: "$backgroundPress"
81
+ },
82
+ hoverStyle: {
83
+ backgroundColor: "$backgroundHover"
84
+ },
85
+ focusStyle: {
86
+ backgroundColor: "$backgroundFocus"
87
+ }
88
+ }
89
+ }
90
+ },
91
+ defaultVariants: {
92
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
93
+ }
94
+ }), TabsTrigger = TabsTriggerFrame.extractable(
95
+ React.forwardRef(
96
+ (props, forwardedRef) => {
97
+ const {
98
+ __scopeTabs,
99
+ value,
100
+ disabled = !1,
101
+ onInteraction,
102
+ ...triggerProps
103
+ } = 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: !!disabled });
104
+ return React.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React.useEffect(() => {
105
+ if (!triggerRef.current || !isWeb)
106
+ return;
107
+ function getTriggerSize() {
108
+ triggerRef.current && setLayout({
109
+ width: triggerRef.current.offsetWidth,
110
+ height: triggerRef.current.offsetHeight,
111
+ x: triggerRef.current.offsetLeft,
112
+ y: triggerRef.current.offsetTop
113
+ });
114
+ }
115
+ getTriggerSize();
116
+ const observer = new ResizeObserver(getTriggerSize);
117
+ return observer.observe(triggerRef.current), () => {
118
+ triggerRef.current && observer.unobserve(triggerRef.current);
119
+ };
120
+ }, [context.triggersCount]), React.useEffect(() => {
121
+ isSelected && layout && onInteraction?.("select", layout);
122
+ }, [isSelected, value, layout]), /* @__PURE__ */ jsx(Theme, { name: isSelected ? "active" : null, forceClassName: !0, children: /* @__PURE__ */ jsx(
123
+ RovingFocusGroup.Item,
124
+ {
125
+ __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
126
+ asChild: !0,
127
+ focusable: !disabled,
128
+ active: isSelected,
129
+ children: /* @__PURE__ */ jsx(
130
+ TabsTriggerFrame,
131
+ {
132
+ onLayout: (event) => {
133
+ isWeb || setLayout(event.nativeEvent.layout);
134
+ },
135
+ onHoverIn: composeEventHandlers(props.onHoverIn, () => {
136
+ layout && onInteraction?.("hover", layout);
137
+ }),
138
+ onHoverOut: composeEventHandlers(props.onHoverOut, () => {
139
+ onInteraction?.("hover", null);
140
+ }),
141
+ role: "tab",
142
+ "aria-selected": isSelected,
143
+ "aria-controls": contentId,
144
+ "data-state": isSelected ? "active" : "inactive",
145
+ "data-disabled": disabled ? "" : void 0,
146
+ disabled,
147
+ id: triggerId,
148
+ size: context.size,
149
+ ...groupItemProps,
150
+ ...triggerProps,
151
+ ref: composeRefs(forwardedRef, triggerRef),
152
+ onPress: composeEventHandlers(props.onPress ?? void 0, (event) => {
153
+ const webChecks = !isWeb || event.button === 0 && event.ctrlKey === !1;
154
+ !disabled && !isSelected && webChecks ? context.onChange(value) : event.preventDefault();
155
+ }),
156
+ ...isWeb && {
157
+ type: "button",
158
+ onKeyDown: composeEventHandlers(
159
+ props.onKeyDown,
160
+ (event) => {
161
+ [" ", "Enter"].includes(event.key) && (context.onChange(value), event.preventDefault());
162
+ }
163
+ ),
164
+ onFocus: composeEventHandlers(props.onFocus, (event) => {
165
+ layout && onInteraction?.("focus", layout);
166
+ const isAutomaticActivation = context.activationMode !== "manual";
167
+ !isSelected && !disabled && isAutomaticActivation && context.onChange(value);
168
+ }),
169
+ onBlur: composeEventHandlers(props.onFocus, () => {
170
+ onInteraction?.("focus", null);
171
+ })
172
+ }
173
+ }
174
+ )
175
+ }
176
+ ) });
177
+ }
178
+ )
179
+ );
180
+ TabsTrigger.displayName = TRIGGER_NAME;
181
+ const CONTENT_NAME = "TabsContent", TabsContentFrame = styled(ThemeableStack, {
182
+ name: CONTENT_NAME
183
+ }), TabsContent = TabsContentFrame.styleable(
184
+ function(props, forwardedRef) {
185
+ 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);
186
+ return show ? /* @__PURE__ */ jsx(
187
+ TabsContentFrame,
188
+ {
189
+ "data-state": isSelected ? "active" : "inactive",
190
+ "data-orientation": context.orientation,
191
+ role: "tabpanel",
192
+ "aria-labelledby": triggerId,
193
+ hidden: !show,
194
+ id: contentId,
195
+ tabIndex: 0,
196
+ ...contentProps,
197
+ ref: forwardedRef,
198
+ children
199
+ },
200
+ value
201
+ ) : null;
202
+ }
203
+ ), TABS_NAME = "Tabs", { Provider: TabsProvider, useStyledContext: useTabsContext } = createStyledContext(), TabsFrame = styled(SizableStack, {
204
+ name: TABS_NAME
205
+ }), TabsComponent = TabsFrame.styleable(
206
+ (props, forwardedRef) => {
207
+ const {
208
+ __scopeTabs,
209
+ value: valueProp,
210
+ onValueChange,
211
+ defaultValue,
212
+ orientation = "horizontal",
213
+ dir,
214
+ activationMode = "automatic",
215
+ size = "$true",
216
+ ...tabsProps
217
+ } = props, direction = useDirection(dir), [value, setValue] = useControllableState({
218
+ prop: valueProp,
219
+ onChange: onValueChange,
220
+ defaultProp: defaultValue ?? ""
221
+ }), [triggersCount, setTriggersCount] = React.useState(0), registerTrigger = useEvent(() => setTriggersCount((v) => v + 1)), unregisterTrigger = useEvent(() => setTriggersCount((v) => v - 1));
222
+ return /* @__PURE__ */ jsx(
223
+ TabsProvider,
224
+ {
225
+ scope: __scopeTabs,
226
+ baseId: React.useId(),
227
+ value,
228
+ onChange: setValue,
229
+ orientation,
230
+ dir: direction,
231
+ activationMode,
232
+ size,
233
+ registerTrigger,
234
+ triggersCount,
235
+ unregisterTrigger,
236
+ children: /* @__PURE__ */ jsx(
237
+ TabsFrame,
238
+ {
239
+ direction,
240
+ "data-orientation": orientation,
241
+ ...tabsProps,
242
+ ref: forwardedRef
243
+ }
244
+ )
245
+ }
246
+ );
247
+ }
248
+ ), Tabs = withStaticProperties(TabsComponent, {
249
+ List: TabsList,
250
+ /**
251
+ * @deprecated Use Tabs.Tab instead
252
+ */
253
+ Trigger: TabsTrigger,
254
+ Tab: TabsTrigger,
255
+ Content: TabsContent
256
+ });
257
+ Tabs.displayName = TABS_NAME;
258
+ function makeTriggerId(baseId, value) {
259
+ return `${baseId}-trigger-${value}`;
260
+ }
261
+ function makeContentId(baseId, value) {
262
+ return `${baseId}-content-${value}`;
263
+ }
264
+ export {
265
+ Tabs
266
+ };
267
+ //# 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,280 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
12
+ for (let key of __getOwnPropNames(from))
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
+ mod
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
+ var Tabs_exports = {};
25
+ __export(Tabs_exports, {
26
+ Tabs: () => Tabs
27
+ });
28
+ module.exports = __toCommonJS(Tabs_exports);
29
+ var import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_get_button_sized = require("@tamagui/get-button-sized"), import_group = require("@tamagui/group"), import_helpers = require("@tamagui/helpers"), 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
+ name: TAB_LIST_NAME
32
+ }), TabsList = TabsListFrame.extractable(
33
+ React.forwardRef(
34
+ (props, forwardedRef) => {
35
+ const { __scopeTabs, loop = !0, children, ...listProps } = props, context = useTabsContext(__scopeTabs);
36
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
37
+ import_roving_focus.RovingFocusGroup,
38
+ {
39
+ __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
40
+ orientation: context.orientation,
41
+ dir: context.dir,
42
+ loop,
43
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
44
+ TabsListFrame,
45
+ {
46
+ role: "tablist",
47
+ "aria-orientation": context.orientation,
48
+ ref: forwardedRef,
49
+ orientation: context.orientation,
50
+ ...listProps,
51
+ children
52
+ }
53
+ )
54
+ }
55
+ );
56
+ }
57
+ )
58
+ );
59
+ TabsList.displayName = TAB_LIST_NAME;
60
+ const TRIGGER_NAME = "TabsTrigger", TabsTriggerFrame = (0, import_web.styled)(import_stacks.ThemeableStack, {
61
+ name: TRIGGER_NAME,
62
+ tag: "button",
63
+ justifyContent: "center",
64
+ alignItems: "center",
65
+ flexWrap: "nowrap",
66
+ flexDirection: "row",
67
+ cursor: "pointer",
68
+ userSelect: "none",
69
+ variants: {
70
+ size: {
71
+ "...size": import_get_button_sized.getButtonSized
72
+ },
73
+ disabled: {
74
+ true: {
75
+ pointerEvents: "none"
76
+ }
77
+ },
78
+ active: {
79
+ true: {
80
+ hoverStyle: {
81
+ backgroundColor: "$background"
82
+ },
83
+ focusStyle: {
84
+ backgroundColor: "$background"
85
+ }
86
+ }
87
+ },
88
+ unstyled: {
89
+ false: {
90
+ backgroundColor: "$background",
91
+ pressStyle: {
92
+ backgroundColor: "$backgroundPress"
93
+ },
94
+ hoverStyle: {
95
+ backgroundColor: "$backgroundHover"
96
+ },
97
+ focusStyle: {
98
+ backgroundColor: "$backgroundFocus"
99
+ }
100
+ }
101
+ }
102
+ },
103
+ defaultVariants: {
104
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
105
+ }
106
+ }), TabsTrigger = TabsTriggerFrame.extractable(
107
+ React.forwardRef(
108
+ (props, forwardedRef) => {
109
+ const {
110
+ __scopeTabs,
111
+ value,
112
+ disabled = !1,
113
+ onInteraction,
114
+ ...triggerProps
115
+ } = 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: !!disabled });
116
+ return React.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React.useEffect(() => {
117
+ if (!triggerRef.current || !import_constants.isWeb)
118
+ return;
119
+ function getTriggerSize() {
120
+ triggerRef.current && setLayout({
121
+ width: triggerRef.current.offsetWidth,
122
+ height: triggerRef.current.offsetHeight,
123
+ x: triggerRef.current.offsetLeft,
124
+ y: triggerRef.current.offsetTop
125
+ });
126
+ }
127
+ getTriggerSize();
128
+ const observer = new ResizeObserver(getTriggerSize);
129
+ return observer.observe(triggerRef.current), () => {
130
+ triggerRef.current && observer.unobserve(triggerRef.current);
131
+ };
132
+ }, [context.triggersCount]), React.useEffect(() => {
133
+ isSelected && layout && (onInteraction == null || onInteraction("select", layout));
134
+ }, [isSelected, value, layout]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.Theme, { name: isSelected ? "active" : null, forceClassName: !0, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
135
+ import_roving_focus.RovingFocusGroup.Item,
136
+ {
137
+ __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
138
+ asChild: !0,
139
+ focusable: !disabled,
140
+ active: isSelected,
141
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
142
+ TabsTriggerFrame,
143
+ {
144
+ onLayout: (event) => {
145
+ import_constants.isWeb || setLayout(event.nativeEvent.layout);
146
+ },
147
+ onHoverIn: (0, import_helpers.composeEventHandlers)(props.onHoverIn, () => {
148
+ layout && (onInteraction == null || onInteraction("hover", layout));
149
+ }),
150
+ onHoverOut: (0, import_helpers.composeEventHandlers)(props.onHoverOut, () => {
151
+ onInteraction == null || onInteraction("hover", null);
152
+ }),
153
+ role: "tab",
154
+ "aria-selected": isSelected,
155
+ "aria-controls": contentId,
156
+ "data-state": isSelected ? "active" : "inactive",
157
+ "data-disabled": disabled ? "" : void 0,
158
+ disabled,
159
+ id: triggerId,
160
+ size: context.size,
161
+ ...groupItemProps,
162
+ ...triggerProps,
163
+ ref: (0, import_compose_refs.composeRefs)(forwardedRef, triggerRef),
164
+ onPress: (0, import_helpers.composeEventHandlers)(props.onPress ?? void 0, (event) => {
165
+ const webChecks = !import_constants.isWeb || event.button === 0 && event.ctrlKey === !1;
166
+ !disabled && !isSelected && webChecks ? context.onChange(value) : event.preventDefault();
167
+ }),
168
+ ...import_constants.isWeb && {
169
+ type: "button",
170
+ onKeyDown: (0, import_helpers.composeEventHandlers)(
171
+ props.onKeyDown,
172
+ (event) => {
173
+ [" ", "Enter"].includes(event.key) && (context.onChange(value), event.preventDefault());
174
+ }
175
+ ),
176
+ onFocus: (0, import_helpers.composeEventHandlers)(props.onFocus, (event) => {
177
+ layout && (onInteraction == null || onInteraction("focus", layout));
178
+ const isAutomaticActivation = context.activationMode !== "manual";
179
+ !isSelected && !disabled && isAutomaticActivation && context.onChange(value);
180
+ }),
181
+ onBlur: (0, import_helpers.composeEventHandlers)(props.onFocus, () => {
182
+ onInteraction == null || onInteraction("focus", null);
183
+ })
184
+ }
185
+ }
186
+ )
187
+ }
188
+ ) });
189
+ }
190
+ )
191
+ );
192
+ TabsTrigger.displayName = TRIGGER_NAME;
193
+ const CONTENT_NAME = "TabsContent", TabsContentFrame = (0, import_web.styled)(import_stacks.ThemeableStack, {
194
+ name: CONTENT_NAME
195
+ }), TabsContent = TabsContentFrame.styleable(
196
+ function(props, forwardedRef) {
197
+ 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);
198
+ return show ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
199
+ TabsContentFrame,
200
+ {
201
+ "data-state": isSelected ? "active" : "inactive",
202
+ "data-orientation": context.orientation,
203
+ role: "tabpanel",
204
+ "aria-labelledby": triggerId,
205
+ hidden: !show,
206
+ id: contentId,
207
+ tabIndex: 0,
208
+ ...contentProps,
209
+ ref: forwardedRef,
210
+ children
211
+ },
212
+ value
213
+ ) : null;
214
+ }
215
+ ), TABS_NAME = "Tabs", { Provider: TabsProvider, useStyledContext: useTabsContext } = (0, import_web.createStyledContext)(), TabsFrame = (0, import_web.styled)(import_stacks.SizableStack, {
216
+ name: TABS_NAME
217
+ }), TabsComponent = TabsFrame.styleable(
218
+ (props, forwardedRef) => {
219
+ const {
220
+ __scopeTabs,
221
+ value: valueProp,
222
+ onValueChange,
223
+ defaultValue,
224
+ orientation = "horizontal",
225
+ dir,
226
+ activationMode = "automatic",
227
+ size = "$true",
228
+ ...tabsProps
229
+ } = props, direction = (0, import_use_direction.useDirection)(dir), [value, setValue] = (0, import_use_controllable_state.useControllableState)({
230
+ prop: valueProp,
231
+ onChange: onValueChange,
232
+ defaultProp: defaultValue ?? ""
233
+ }), [triggersCount, setTriggersCount] = React.useState(0), registerTrigger = (0, import_web.useEvent)(() => setTriggersCount((v) => v + 1)), unregisterTrigger = (0, import_web.useEvent)(() => setTriggersCount((v) => v - 1));
234
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
235
+ TabsProvider,
236
+ {
237
+ scope: __scopeTabs,
238
+ baseId: React.useId(),
239
+ value,
240
+ onChange: setValue,
241
+ orientation,
242
+ dir: direction,
243
+ activationMode,
244
+ size,
245
+ registerTrigger,
246
+ triggersCount,
247
+ unregisterTrigger,
248
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
249
+ TabsFrame,
250
+ {
251
+ direction,
252
+ "data-orientation": orientation,
253
+ ...tabsProps,
254
+ ref: forwardedRef
255
+ }
256
+ )
257
+ }
258
+ );
259
+ }
260
+ ), Tabs = (0, import_helpers.withStaticProperties)(TabsComponent, {
261
+ List: TabsList,
262
+ /**
263
+ * @deprecated Use Tabs.Tab instead
264
+ */
265
+ Trigger: TabsTrigger,
266
+ Tab: TabsTrigger,
267
+ Content: TabsContent
268
+ });
269
+ Tabs.displayName = TABS_NAME;
270
+ function makeTriggerId(baseId, value) {
271
+ return `${baseId}-trigger-${value}`;
272
+ }
273
+ function makeContentId(baseId, value) {
274
+ return `${baseId}-content-${value}`;
275
+ }
276
+ // Annotate the CommonJS export names for ESM import in node:
277
+ 0 && (module.exports = {
278
+ Tabs
279
+ });
280
+ //# 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
+ }