@hanzogui/tabs 2.0.0-rc.41-hanzoai.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/StyledContext.cjs +33 -0
  3. package/dist/cjs/StyledContext.native.js +36 -0
  4. package/dist/cjs/StyledContext.native.js.map +1 -0
  5. package/dist/cjs/Tabs.cjs +83 -0
  6. package/dist/cjs/Tabs.native.js +86 -0
  7. package/dist/cjs/Tabs.native.js.map +1 -0
  8. package/dist/cjs/createTabs.cjs +293 -0
  9. package/dist/cjs/createTabs.native.js +308 -0
  10. package/dist/cjs/createTabs.native.js.map +1 -0
  11. package/dist/cjs/index.cjs +37 -0
  12. package/dist/cjs/index.native.js +40 -0
  13. package/dist/cjs/index.native.js.map +1 -0
  14. package/dist/esm/StyledContext.mjs +7 -0
  15. package/dist/esm/StyledContext.mjs.map +1 -0
  16. package/dist/esm/StyledContext.native.js +7 -0
  17. package/dist/esm/StyledContext.native.js.map +1 -0
  18. package/dist/esm/Tabs.mjs +56 -0
  19. package/dist/esm/Tabs.mjs.map +1 -0
  20. package/dist/esm/Tabs.native.js +56 -0
  21. package/dist/esm/Tabs.native.js.map +1 -0
  22. package/dist/esm/createTabs.mjs +257 -0
  23. package/dist/esm/createTabs.mjs.map +1 -0
  24. package/dist/esm/createTabs.native.js +269 -0
  25. package/dist/esm/createTabs.native.js.map +1 -0
  26. package/dist/esm/index.js +11 -0
  27. package/dist/esm/index.js.map +1 -0
  28. package/dist/esm/index.mjs +11 -0
  29. package/dist/esm/index.mjs.map +1 -0
  30. package/dist/esm/index.native.js +11 -0
  31. package/dist/esm/index.native.js.map +1 -0
  32. package/dist/jsx/StyledContext.mjs +7 -0
  33. package/dist/jsx/StyledContext.mjs.map +1 -0
  34. package/dist/jsx/StyledContext.native.js +36 -0
  35. package/dist/jsx/StyledContext.native.js.map +1 -0
  36. package/dist/jsx/Tabs.mjs +56 -0
  37. package/dist/jsx/Tabs.mjs.map +1 -0
  38. package/dist/jsx/Tabs.native.js +86 -0
  39. package/dist/jsx/Tabs.native.js.map +1 -0
  40. package/dist/jsx/createTabs.mjs +257 -0
  41. package/dist/jsx/createTabs.mjs.map +1 -0
  42. package/dist/jsx/createTabs.native.js +308 -0
  43. package/dist/jsx/createTabs.native.js.map +1 -0
  44. package/dist/jsx/index.js +11 -0
  45. package/dist/jsx/index.js.map +1 -0
  46. package/dist/jsx/index.mjs +11 -0
  47. package/dist/jsx/index.mjs.map +1 -0
  48. package/dist/jsx/index.native.js +40 -0
  49. package/dist/jsx/index.native.js.map +1 -0
  50. package/package.json +65 -0
  51. package/src/StyledContext.tsx +19 -0
  52. package/src/Tabs.tsx +69 -0
  53. package/src/createTabs.tsx +438 -0
  54. package/src/index.ts +10 -0
  55. package/types/StyledContext.d.ts +19 -0
  56. package/types/StyledContext.d.ts.map +1 -0
  57. package/types/Tabs.d.ts +38 -0
  58. package/types/Tabs.d.ts.map +1 -0
  59. package/types/createTabs.d.ts +527 -0
  60. package/types/createTabs.d.ts.map +1 -0
  61. package/types/index.d.ts +539 -0
  62. package/types/index.d.ts.map +1 -0
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var createTabs_exports = {};
37
+ __export(createTabs_exports, {
38
+ createTabs: () => createTabs
39
+ });
40
+ module.exports = __toCommonJS(createTabs_exports);
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var import_compose_refs = require("@hanzogui/compose-refs");
43
+ var import_constants = require("@hanzogui/constants");
44
+ var import_group = require("@hanzogui/group");
45
+ var import_helpers = require("@hanzogui/helpers");
46
+ var import_roving_focus = require("@hanzogui/roving-focus");
47
+ var import_sizable_context = require("@hanzogui/sizable-context");
48
+ var import_use_controllable_state = require("@hanzogui/use-controllable-state");
49
+ var import_use_direction = require("@hanzogui/use-direction");
50
+ var import_web = require("@hanzogui/web");
51
+ var React = __toESM(require("react"), 1);
52
+ var import_StyledContext = require("./StyledContext.native.js");
53
+ var import_Tabs = require("./Tabs.native.js");
54
+ function createTabs(createProps) {
55
+ var {
56
+ ContentFrame = import_Tabs.DefaultTabsContentFrame,
57
+ TabFrame = import_Tabs.DefaultTabsTabFrame,
58
+ TabsFrame = import_Tabs.DefaultTabsFrame
59
+ } = createProps;
60
+ var TABS_CONTEXT = "TabsContext";
61
+ var TAB_LIST_NAME = "TabsList";
62
+ var TabsList = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
63
+ var {
64
+ __scopeTabs,
65
+ loop = true,
66
+ children,
67
+ ...listProps
68
+ } = props;
69
+ var context = (0, import_StyledContext.useTabsContext)(__scopeTabs);
70
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup, {
71
+ __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
72
+ orientation: context.orientation,
73
+ dir: context.dir,
74
+ loop,
75
+ asChild: true,
76
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_group.Group, {
77
+ role: "tablist",
78
+ componentName: TAB_LIST_NAME,
79
+ "aria-orientation": context.orientation,
80
+ ref: forwardedRef,
81
+ orientation: context.orientation,
82
+ ...listProps,
83
+ children
84
+ })
85
+ });
86
+ });
87
+ TabsList.displayName = TAB_LIST_NAME;
88
+ var TRIGGER_NAME = "TabsTrigger";
89
+ var TabsTrigger = TabFrame.styleable(function (props, forwardedRef) {
90
+ var {
91
+ __scopeTabs,
92
+ value,
93
+ disabled = false,
94
+ onInteraction,
95
+ activeStyle,
96
+ activeTheme,
97
+ unstyled = false,
98
+ ...triggerProps
99
+ } = props;
100
+ var context = (0, import_StyledContext.useTabsContext)(__scopeTabs);
101
+ var triggerId = makeTriggerId(context.baseId, value);
102
+ var contentId = makeContentId(context.baseId, value);
103
+ var isSelected = value === context.value;
104
+ var [layout, setLayout] = React.useState(null);
105
+ var triggerRef = React.useRef(null);
106
+ var groupItemProps = (0, import_group.useGroupItem)({
107
+ disabled: !!disabled
108
+ });
109
+ React.useEffect(function () {
110
+ context.registerTrigger();
111
+ return function () {
112
+ return context.unregisterTrigger();
113
+ };
114
+ }, []);
115
+ React.useEffect(function () {
116
+ if (!triggerRef.current || !import_constants.isWeb) return;
117
+ var el = triggerRef.current;
118
+ function getTriggerSize() {
119
+ if (!el) return;
120
+ setLayout({
121
+ width: el.offsetWidth,
122
+ height: el.offsetHeight,
123
+ x: el.offsetLeft,
124
+ y: el.offsetTop
125
+ });
126
+ }
127
+ getTriggerSize();
128
+ var observer = new ResizeObserver(getTriggerSize);
129
+ observer.observe(el);
130
+ return function () {
131
+ observer.disconnect();
132
+ };
133
+ }, [context.triggersCount]);
134
+ React.useEffect(function () {
135
+ if (isSelected && layout) {
136
+ onInteraction === null || onInteraction === void 0 ? void 0 : onInteraction("select", layout);
137
+ }
138
+ }, [isSelected, value, layout]);
139
+ var _props_onPress;
140
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup.Item, {
141
+ __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
142
+ asChild: true,
143
+ focusable: !disabled,
144
+ active: isSelected,
145
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(TabFrame, {
146
+ ...(!import_constants.isWeb && {
147
+ onLayout: function (event) {
148
+ setLayout(event.nativeEvent.layout);
149
+ }
150
+ }),
151
+ onMouseEnter: (0, import_helpers.composeEventHandlers)(props.onMouseEnter, function () {
152
+ if (layout) {
153
+ onInteraction === null || onInteraction === void 0 ? void 0 : onInteraction("hover", layout);
154
+ }
155
+ }),
156
+ onMouseLeave: (0, import_helpers.composeEventHandlers)(props.onMouseLeave, function () {
157
+ onInteraction === null || onInteraction === void 0 ? void 0 : onInteraction("hover", null);
158
+ }),
159
+ role: "tab",
160
+ "aria-selected": isSelected,
161
+ "aria-controls": contentId,
162
+ "data-state": isSelected ? "active" : "inactive",
163
+ "data-disabled": disabled ? "" : void 0,
164
+ id: triggerId,
165
+ theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,
166
+ unstyled,
167
+ ...(!unstyled && {
168
+ size: context.size
169
+ }),
170
+ ...(isSelected && {
171
+ ...(!unstyled && !activeStyle && {
172
+ backgroundColor: "$backgroundActive"
173
+ }),
174
+ ...activeStyle
175
+ }),
176
+ ...groupItemProps,
177
+ disabled: disabled !== null && disabled !== void 0 ? disabled : groupItemProps.disabled,
178
+ ...triggerProps,
179
+ ref: (0, import_compose_refs.composeRefs)(forwardedRef, triggerRef),
180
+ onPress: (0, import_helpers.composeEventHandlers)((_props_onPress = props.onPress) !== null && _props_onPress !== void 0 ? _props_onPress : void 0, function (event) {
181
+ var webChecks = !import_constants.isWeb || event.button === 0 && event.ctrlKey === false;
182
+ if (!disabled && !isSelected && webChecks) {
183
+ context.onChange(value);
184
+ }
185
+ }),
186
+ ...(import_constants.isWeb && {
187
+ onKeyDown: (0, import_helpers.composeEventHandlers)(props.onKeyDown, function (event) {
188
+ if ([" ", "Enter"].includes(event.key)) {
189
+ context.onChange(value);
190
+ event.preventDefault();
191
+ }
192
+ }),
193
+ onFocus: (0, import_helpers.composeEventHandlers)(props.onFocus, function (event) {
194
+ if (layout) {
195
+ onInteraction === null || onInteraction === void 0 ? void 0 : onInteraction("focus", layout);
196
+ }
197
+ var isAutomaticActivation = context.activationMode !== "manual";
198
+ if (!isSelected && !disabled && isAutomaticActivation) {
199
+ context.onChange(value);
200
+ }
201
+ }),
202
+ onBlur: (0, import_helpers.composeEventHandlers)(props.onBlur, function () {
203
+ onInteraction === null || onInteraction === void 0 ? void 0 : onInteraction("focus", null);
204
+ })
205
+ })
206
+ })
207
+ });
208
+ });
209
+ TabsTrigger.displayName = TRIGGER_NAME;
210
+ var TabsContent = ContentFrame.styleable(function TabsContent2(props, forwardedRef) {
211
+ var {
212
+ __scopeTabs,
213
+ value,
214
+ forceMount,
215
+ children,
216
+ ...contentProps
217
+ } = props;
218
+ var context = (0, import_StyledContext.useTabsContext)(__scopeTabs);
219
+ var isSelected = value === context.value;
220
+ var show = forceMount || isSelected;
221
+ var triggerId = makeTriggerId(context.baseId, value);
222
+ var contentId = makeContentId(context.baseId, value);
223
+ if (!show) {
224
+ return null;
225
+ }
226
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ContentFrame, {
227
+ "data-state": isSelected ? "active" : "inactive",
228
+ "data-orientation": context.orientation,
229
+ role: "tabpanel",
230
+ "aria-labelledby": triggerId,
231
+ // @ts-ignore
232
+ hidden: !show,
233
+ id: contentId,
234
+ tabIndex: 0,
235
+ ...contentProps,
236
+ ref: forwardedRef,
237
+ children
238
+ }, value);
239
+ });
240
+ var TabsComponent = TabsFrame.styleable(function Tabs(props, forwardedRef) {
241
+ var {
242
+ __scopeTabs,
243
+ value: valueProp,
244
+ onValueChange,
245
+ defaultValue,
246
+ orientation = "horizontal",
247
+ dir,
248
+ activationMode = "manual",
249
+ size = "$true",
250
+ ...tabsProps
251
+ } = props;
252
+ var direction = (0, import_use_direction.useDirection)(dir);
253
+ var [value, setValue] = (0, import_use_controllable_state.useControllableState)({
254
+ prop: valueProp,
255
+ onChange: onValueChange,
256
+ defaultProp: defaultValue !== null && defaultValue !== void 0 ? defaultValue : ""
257
+ });
258
+ var [triggersCount, setTriggersCount] = React.useState(0);
259
+ var registerTrigger = (0, import_web.useEvent)(function () {
260
+ return setTriggersCount(function (v) {
261
+ return v + 1;
262
+ });
263
+ });
264
+ var unregisterTrigger = (0, import_web.useEvent)(function () {
265
+ return setTriggersCount(function (v) {
266
+ return v - 1;
267
+ });
268
+ });
269
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_sizable_context.SizableContext.Provider, {
270
+ size,
271
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StyledContext.TabsProvider, {
272
+ scope: __scopeTabs,
273
+ baseId: React.useId(),
274
+ value,
275
+ onChange: setValue,
276
+ orientation,
277
+ dir: direction,
278
+ activationMode,
279
+ size,
280
+ registerTrigger,
281
+ triggersCount,
282
+ unregisterTrigger,
283
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(TabsFrame, {
284
+ direction,
285
+ "data-orientation": orientation,
286
+ ...tabsProps,
287
+ ref: forwardedRef
288
+ })
289
+ })
290
+ });
291
+ });
292
+ return (0, import_helpers.withStaticProperties)(TabsComponent, {
293
+ List: TabsList,
294
+ /**
295
+ * @deprecated Use Tabs.Tab instead
296
+ */
297
+ Trigger: TabsTrigger,
298
+ Tab: TabsTrigger,
299
+ Content: TabsContent
300
+ });
301
+ }
302
+ function makeTriggerId(baseId, value) {
303
+ return `${baseId}-trigger-${value}`;
304
+ }
305
+ function makeContentId(baseId, value) {
306
+ return `${baseId}-content-${value}`;
307
+ }
308
+ //# sourceMappingURL=createTabs.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","createTabs_exports","createTabs","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_group","import_helpers","import_roving_focus","import_sizable_context","import_use_controllable_state","import_use_direction","import_web","React","import_StyledContext","import_Tabs","createProps","ContentFrame","DefaultTabsContentFrame","TabFrame","DefaultTabsTabFrame","TabsFrame","DefaultTabsFrame","TABS_CONTEXT","TAB_LIST_NAME","TabsList","forwardRef","props","forwardedRef","__scopeTabs","loop","children","listProps","context","useTabsContext","jsx","RovingFocusGroup","__scopeRovingFocusGroup","orientation","dir","asChild","Group","role","componentName","ref","displayName","TRIGGER_NAME","TabsTrigger","styleable","disabled","onInteraction","activeStyle","activeTheme","unstyled","triggerProps","triggerId","makeTriggerId","baseId","contentId","makeContentId","isSelected","layout","setLayout","useState","triggerRef","useRef","groupItemProps","useGroupItem","useEffect","registerTrigger","unregisterTrigger","current","isWeb","el","getTriggerSize","width","offsetWidth","height","offsetHeight","x","offsetLeft","y","offsetTop","observer","ResizeObserver","observe","disconnect","triggersCount","_props_onPress","Item","focusable","active","onLayout","event","nativeEvent","onMouseEnter","composeEventHandlers","onMouseLeave","id","theme","size","backgroundColor","composeRefs","onPress","webChecks","button","ctrlKey","onChange","onKeyDown","includes","preventDefault","onFocus","isAutomaticActivation","activationMode","onBlur","TabsContent","TabsContent2","forceMount","contentProps","show","hidden","tabIndex","TabsComponent","Tabs","valueProp","onValueChange","defaultValue","tabsProps","direction","useDirection","setValue","useControllableState","prop","defaultProp","setTriggersCount","useEvent","v","SizableContext","Provider","TabsProvider","scope","useId","withStaticProperties","List","Trigger"],"sources":["../../src/createTabs.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { createTabs } from "./createTabs.mjs";
2
+ import { DefaultTabsContentFrame, DefaultTabsFrame, DefaultTabsTabFrame } from "./Tabs.mjs";
3
+ export * from "./createTabs.mjs";
4
+ export * from "./StyledContext.mjs";
5
+ const Tabs = createTabs({
6
+ ContentFrame: DefaultTabsContentFrame,
7
+ TabFrame: DefaultTabsTabFrame,
8
+ TabsFrame: DefaultTabsFrame
9
+ });
10
+ export { Tabs };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTabs","DefaultTabsContentFrame","DefaultTabsFrame","DefaultTabsTabFrame","Tabs","ContentFrame","TabFrame","TabsFrame"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,uBAAA,EAAyBC,gBAAA,EAAkBC,mBAAA,QAA2B;AAC/E,cAAc;AACd,cAAc;AAEP,MAAMC,IAAA,GAAOJ,UAAA,CAAW;EAC7BK,YAAA,EAAcJ,uBAAA;EACdK,QAAA,EAAUH,mBAAA;EACVI,SAAA,EAAWL;AACb,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { createTabs } from "./createTabs.mjs";
2
+ import { DefaultTabsContentFrame, DefaultTabsFrame, DefaultTabsTabFrame } from "./Tabs.mjs";
3
+ export * from "./createTabs.mjs";
4
+ export * from "./StyledContext.mjs";
5
+ const Tabs = createTabs({
6
+ ContentFrame: DefaultTabsContentFrame,
7
+ TabFrame: DefaultTabsTabFrame,
8
+ TabsFrame: DefaultTabsFrame
9
+ });
10
+ export { Tabs };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTabs","DefaultTabsContentFrame","DefaultTabsFrame","DefaultTabsTabFrame","Tabs","ContentFrame","TabFrame","TabsFrame"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,uBAAA,EAAyBC,gBAAA,EAAkBC,mBAAA,QAA2B;AAC/E,cAAc;AACd,cAAc;AAEP,MAAMC,IAAA,GAAOJ,UAAA,CAAW;EAC7BK,YAAA,EAAcJ,uBAAA;EACdK,QAAA,EAAUH,mBAAA;EACVI,SAAA,EAAWL;AACb,CAAC","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
23
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
+ value: true
25
+ }), mod);
26
+ var index_exports = {};
27
+ __export(index_exports, {
28
+ Tabs: () => Tabs
29
+ });
30
+ module.exports = __toCommonJS(index_exports);
31
+ var import_createTabs = require("./createTabs.native.js");
32
+ var import_Tabs = require("./Tabs.native.js");
33
+ __reExport(index_exports, require("./createTabs.native.js"), module.exports);
34
+ __reExport(index_exports, require("./StyledContext.native.js"), module.exports);
35
+ var Tabs = (0, import_createTabs.createTabs)({
36
+ ContentFrame: import_Tabs.DefaultTabsContentFrame,
37
+ TabFrame: import_Tabs.DefaultTabsTabFrame,
38
+ TabsFrame: import_Tabs.DefaultTabsFrame
39
+ });
40
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAyB;AAClC,IAAAC,gBAAc,GAAAF,MAAA,CAAAG,wBAAA;AACd,IAAAC,iBAAc,GAAAJ,MAAA,CAAAK,mBAAA;AAEP,IAAAC,YAAa,GAAAN,MAAW,CAAAO,SAAA,CAAAC,cAAA;AAAA,IAC7BC,QAAA,GAAAA,CAAcC,MAAA,EAAAC,GAAA;EACd,SAAAC,IAAU,IAAAD,GAAA,EACVZ,SAAW,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AACb,CAAC","ignoreList":[]}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@hanzogui/tabs",
3
+ "version": "2.0.0-rc.41-hanzoai.1",
4
+ "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
+ "source": "src/index.ts",
6
+ "files": [
7
+ "src",
8
+ "types",
9
+ "dist"
10
+ ],
11
+ "type": "module",
12
+ "sideEffects": [
13
+ "*.css"
14
+ ],
15
+ "main": "dist/cjs",
16
+ "module": "dist/esm",
17
+ "types": "./types/index.d.ts",
18
+ "exports": {
19
+ "./package.json": "./package.json",
20
+ ".": {
21
+ "types": "./types/index.d.ts",
22
+ "react-native": "./dist/esm/index.native.js",
23
+ "browser": "./dist/esm/index.mjs",
24
+ "module": "./dist/esm/index.mjs",
25
+ "import": "./dist/esm/index.mjs",
26
+ "require": "./dist/cjs/index.cjs",
27
+ "default": "./dist/esm/index.mjs"
28
+ }
29
+ },
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "scripts": {
34
+ "build": "hanzogui-build",
35
+ "watch": "hanzogui-build --watch",
36
+ "clean": "hanzogui-build clean",
37
+ "clean:build": "hanzogui-build clean:build"
38
+ },
39
+ "dependencies": {
40
+ "@hanzogui/compose-refs": "2.0.0-rc.41-hanzoai.1",
41
+ "@hanzogui/constants": "2.0.0-rc.41-hanzoai.1",
42
+ "@hanzogui/core": "2.0.0-rc.41-hanzoai.1",
43
+ "@hanzogui/create-context": "2.0.0-rc.41-hanzoai.1",
44
+ "@hanzogui/element": "2.0.0-rc.41-hanzoai.1",
45
+ "@hanzogui/get-button-sized": "2.0.0-rc.41-hanzoai.1",
46
+ "@hanzogui/group": "2.0.0-rc.41-hanzoai.1",
47
+ "@hanzogui/helpers": "2.0.0-rc.41-hanzoai.1",
48
+ "@hanzogui/roving-focus": "2.0.0-rc.41-hanzoai.1",
49
+ "@hanzogui/sizable-context": "2.0.0-rc.41-hanzoai.1",
50
+ "@hanzogui/stacks": "2.0.0-rc.41-hanzoai.1",
51
+ "@hanzogui/use-controllable-state": "2.0.0-rc.41-hanzoai.1",
52
+ "@hanzogui/use-direction": "2.0.0-rc.41-hanzoai.1",
53
+ "@hanzogui/web": "2.0.0-rc.41-hanzoai.1"
54
+ },
55
+ "devDependencies": {
56
+ "@hanzogui/build": "2.0.0-rc.41-hanzoai.1",
57
+ "react": ">=19",
58
+ "react-native": "0.83.2"
59
+ },
60
+ "peerDependencies": {
61
+ "react": ">=19",
62
+ "react-native": "*"
63
+ },
64
+ "module:jsx": "dist/jsx"
65
+ }
@@ -0,0 +1,19 @@
1
+ import type { SizeTokens } from '@hanzogui/core'
2
+ import { createStyledContext } from '@hanzogui/core'
3
+ import type { TabsProps } from './createTabs'
4
+
5
+ export type TabsContextValue = {
6
+ baseId: string
7
+ value?: string
8
+ onChange: (value: string) => void
9
+ orientation?: TabsProps['orientation']
10
+ dir?: TabsProps['dir']
11
+ activationMode?: TabsProps['activationMode']
12
+ size: SizeTokens
13
+ registerTrigger: () => void
14
+ unregisterTrigger: () => void
15
+ triggersCount: number
16
+ }
17
+
18
+ export const { Provider: TabsProvider, useStyledContext: useTabsContext } =
19
+ createStyledContext<TabsContextValue>()
package/src/Tabs.tsx ADDED
@@ -0,0 +1,69 @@
1
+ import { styled, View } from '@hanzogui/core'
2
+ import { getButtonSized } from '@hanzogui/get-button-sized'
3
+ import { SizableStack, ThemeableStack } from '@hanzogui/stacks'
4
+
5
+ const TABS_NAME = 'Tabs'
6
+ export const DefaultTabsFrame = styled(SizableStack, {
7
+ name: TABS_NAME,
8
+ })
9
+
10
+ const TRIGGER_NAME = 'TabsTrigger'
11
+
12
+ export const DefaultTabsTabFrame = styled(
13
+ View,
14
+ {
15
+ name: TRIGGER_NAME,
16
+ role: 'tab',
17
+
18
+ variants: {
19
+ size: {
20
+ '...size': getButtonSized,
21
+ },
22
+
23
+ disabled: {
24
+ true: {
25
+ pointerEvents: 'none',
26
+ },
27
+ },
28
+
29
+ unstyled: {
30
+ false: {
31
+ borderWidth: 0,
32
+ backgroundColor: '$background',
33
+ userSelect: 'none',
34
+ justifyContent: 'center',
35
+ alignItems: 'center',
36
+ flexWrap: 'nowrap',
37
+ flexDirection: 'row',
38
+ cursor: 'pointer',
39
+
40
+ pressStyle: {
41
+ backgroundColor: '$backgroundPress',
42
+ },
43
+
44
+ focusVisibleStyle: {
45
+ outlineColor: '$outlineColor',
46
+ outlineWidth: 2,
47
+ outlineStyle: 'solid',
48
+ zIndex: 10,
49
+ },
50
+ },
51
+ },
52
+ } as const,
53
+
54
+ defaultVariants: {
55
+ unstyled: process.env.HANZOGUI_HEADLESS === '1',
56
+ },
57
+ },
58
+ {
59
+ accept: {
60
+ activeStyle: 'style',
61
+ } as const,
62
+ }
63
+ )
64
+
65
+ const CONTENT_NAME = 'TabsContent'
66
+
67
+ export const DefaultTabsContentFrame = styled(ThemeableStack, {
68
+ name: CONTENT_NAME,
69
+ })