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