@hanzogui/tabs 8.3.0 → 8.3.2
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/StyledContext.js +6 -0
- package/dist/cjs/StyledContext.js.map +1 -0
- package/dist/cjs/Tabs.js +58 -0
- package/dist/cjs/Tabs.js.map +1 -0
- package/dist/cjs/createTabs.js +178 -0
- package/dist/cjs/createTabs.js.map +1 -0
- package/dist/cjs/index.js +14 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/StyledContext.js +3 -0
- package/dist/esm/StyledContext.js.map +1 -0
- package/dist/esm/Tabs.js +55 -0
- package/dist/esm/Tabs.js.map +1 -0
- package/dist/esm/createTabs.js +174 -0
- package/dist/esm/createTabs.js.map +1 -0
- package/dist/esm/index.js +9 -10
- package/dist/esm/index.js.map +1 -1
- package/package.json +28 -28
- package/src/StyledContext.tsx +1 -1
- package/src/createTabs.tsx +6 -2
- package/src/index.ts +8 -4
- package/types/StyledContext.d.ts +1 -1
- package/types/StyledContext.d.ts.map +1 -1
- package/types/Tabs.d.ts +15 -15
- package/types/Tabs.d.ts.map +1 -1
- package/types/createTabs.d.ts +100 -100
- package/types/createTabs.d.ts.map +1 -1
- package/types/index.d.ts +141 -141
- package/types/index.d.ts.map +1 -1
- package/dist/cjs/StyledContext.cjs +0 -33
- package/dist/cjs/StyledContext.native.js +0 -36
- package/dist/cjs/StyledContext.native.js.map +0 -1
- package/dist/cjs/Tabs.cjs +0 -83
- package/dist/cjs/Tabs.native.js +0 -86
- package/dist/cjs/Tabs.native.js.map +0 -1
- package/dist/cjs/createTabs.cjs +0 -293
- package/dist/cjs/createTabs.native.js +0 -308
- package/dist/cjs/createTabs.native.js.map +0 -1
- package/dist/cjs/index.cjs +0 -37
- package/dist/cjs/index.native.js +0 -40
- package/dist/cjs/index.native.js.map +0 -1
- package/dist/esm/StyledContext.mjs +0 -7
- package/dist/esm/StyledContext.mjs.map +0 -1
- package/dist/esm/StyledContext.native.js +0 -7
- package/dist/esm/StyledContext.native.js.map +0 -1
- package/dist/esm/Tabs.mjs +0 -56
- package/dist/esm/Tabs.mjs.map +0 -1
- package/dist/esm/Tabs.native.js +0 -56
- package/dist/esm/Tabs.native.js.map +0 -1
- package/dist/esm/createTabs.mjs +0 -257
- package/dist/esm/createTabs.mjs.map +0 -1
- package/dist/esm/createTabs.native.js +0 -269
- package/dist/esm/createTabs.native.js.map +0 -1
- package/dist/esm/index.mjs +0 -11
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js +0 -11
- package/dist/esm/index.native.js.map +0 -1
- package/dist/jsx/StyledContext.mjs +0 -7
- package/dist/jsx/StyledContext.mjs.map +0 -1
- package/dist/jsx/StyledContext.native.js +0 -36
- package/dist/jsx/StyledContext.native.js.map +0 -1
- package/dist/jsx/Tabs.mjs +0 -56
- package/dist/jsx/Tabs.mjs.map +0 -1
- package/dist/jsx/Tabs.native.js +0 -86
- package/dist/jsx/Tabs.native.js.map +0 -1
- package/dist/jsx/createTabs.mjs +0 -257
- package/dist/jsx/createTabs.mjs.map +0 -1
- package/dist/jsx/createTabs.native.js +0 -308
- package/dist/jsx/createTabs.native.js.map +0 -1
- package/dist/jsx/index.js +0 -11
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs +0 -11
- package/dist/jsx/index.mjs.map +0 -1
- package/dist/jsx/index.native.js +0 -40
- package/dist/jsx/index.native.js.map +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTabsContext = exports.TabsProvider = void 0;
|
|
4
|
+
const core_1 = require("@hanzogui/core");
|
|
5
|
+
({ Provider: exports.TabsProvider, useStyledContext: exports.useTabsContext } = (0, core_1.createStyledContext)());
|
|
6
|
+
//# sourceMappingURL=StyledContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StyledContext.js","sourceRoot":"","sources":["../../src/StyledContext.tsx"],"names":[],"mappings":";;;AACA,yCAAoD;AAgBpD,CAAa,EAAE,QAAQ,EAAE,QAAA,YAAY,EAAE,gBAAgB,EAAE,QAAA,cAAc,EAAE,GACvE,IAAA,0BAAmB,GAAoB,EAAA"}
|
package/dist/cjs/Tabs.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultTabsContentFrame = exports.DefaultTabsTabFrame = exports.DefaultTabsFrame = void 0;
|
|
4
|
+
const core_1 = require("@hanzogui/core");
|
|
5
|
+
const get_button_sized_1 = require("@hanzogui/get-button-sized");
|
|
6
|
+
const stacks_1 = require("@hanzogui/stacks");
|
|
7
|
+
const TABS_NAME = 'Tabs';
|
|
8
|
+
exports.DefaultTabsFrame = (0, core_1.styled)(stacks_1.SizableStack, {
|
|
9
|
+
name: TABS_NAME,
|
|
10
|
+
});
|
|
11
|
+
const TRIGGER_NAME = 'TabsTrigger';
|
|
12
|
+
exports.DefaultTabsTabFrame = (0, core_1.styled)(core_1.View, {
|
|
13
|
+
name: TRIGGER_NAME,
|
|
14
|
+
role: 'tab',
|
|
15
|
+
variants: {
|
|
16
|
+
size: {
|
|
17
|
+
'...size': get_button_sized_1.getButtonSized,
|
|
18
|
+
},
|
|
19
|
+
disabled: {
|
|
20
|
+
true: {
|
|
21
|
+
pointerEvents: 'none',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
unstyled: {
|
|
25
|
+
false: {
|
|
26
|
+
borderWidth: 0,
|
|
27
|
+
backgroundColor: '$background',
|
|
28
|
+
userSelect: 'none',
|
|
29
|
+
justifyContent: 'center',
|
|
30
|
+
alignItems: 'center',
|
|
31
|
+
flexWrap: 'nowrap',
|
|
32
|
+
flexDirection: 'row',
|
|
33
|
+
cursor: 'pointer',
|
|
34
|
+
pressStyle: {
|
|
35
|
+
backgroundColor: '$backgroundPress',
|
|
36
|
+
},
|
|
37
|
+
focusVisibleStyle: {
|
|
38
|
+
outlineColor: '$outlineColor',
|
|
39
|
+
outlineWidth: 2,
|
|
40
|
+
outlineStyle: 'solid',
|
|
41
|
+
zIndex: 10,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
defaultVariants: {
|
|
47
|
+
unstyled: process.env.GUI_HEADLESS === '1',
|
|
48
|
+
},
|
|
49
|
+
}, {
|
|
50
|
+
accept: {
|
|
51
|
+
activeStyle: 'style',
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
const CONTENT_NAME = 'TabsContent';
|
|
55
|
+
exports.DefaultTabsContentFrame = (0, core_1.styled)(stacks_1.ThemeableStack, {
|
|
56
|
+
name: CONTENT_NAME,
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=Tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../src/Tabs.tsx"],"names":[],"mappings":";;;AAAA,yCAA6C;AAC7C,iEAA2D;AAC3D,6CAA+D;AAE/D,MAAM,SAAS,GAAG,MAAM,CAAA;AACX,QAAA,gBAAgB,GAAG,IAAA,aAAM,EAAC,qBAAY,EAAE;IACnD,IAAI,EAAE,SAAS;CAChB,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,aAAa,CAAA;AAErB,QAAA,mBAAmB,GAAG,IAAA,aAAM,EACvC,WAAI,EACJ;IACE,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,KAAK;IAEX,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,SAAS,EAAE,iCAAc;SAC1B;QAED,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,aAAa,EAAE,MAAM;aACtB;SACF;QAED,QAAQ,EAAE;YACR,KAAK,EAAE;gBACL,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,aAAa;gBAC9B,UAAU,EAAE,MAAM;gBAClB,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,aAAa,EAAE,KAAK;gBACpB,MAAM,EAAE,SAAS;gBAEjB,UAAU,EAAE;oBACV,eAAe,EAAE,kBAAkB;iBACpC;gBAED,iBAAiB,EAAE;oBACjB,YAAY,EAAE,eAAe;oBAC7B,YAAY,EAAE,CAAC;oBACf,YAAY,EAAE,OAAO;oBACrB,MAAM,EAAE,EAAE;iBACX;aACF;SACF;KACO;IAEV,eAAe,EAAE;QACf,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG;KAC3C;CACF,EACD;IACE,MAAM,EAAE;QACN,WAAW,EAAE,OAAO;KACZ;CACX,CACF,CAAA;AAED,MAAM,YAAY,GAAG,aAAa,CAAA;AAErB,QAAA,uBAAuB,GAAG,IAAA,aAAM,EAAC,uBAAc,EAAE;IAC5D,IAAI,EAAE,YAAY;CACnB,CAAC,CAAA"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTabs = createTabs;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const compose_refs_1 = require("@hanzogui/compose-refs");
|
|
7
|
+
const constants_1 = require("@hanzogui/constants");
|
|
8
|
+
const group_1 = require("@hanzogui/group");
|
|
9
|
+
const helpers_1 = require("@hanzogui/helpers");
|
|
10
|
+
const roving_focus_1 = require("@hanzogui/roving-focus");
|
|
11
|
+
const sizable_context_1 = require("@hanzogui/sizable-context");
|
|
12
|
+
const use_controllable_state_1 = require("@hanzogui/use-controllable-state");
|
|
13
|
+
const use_direction_1 = require("@hanzogui/use-direction");
|
|
14
|
+
const web_1 = require("@hanzogui/web");
|
|
15
|
+
const React = tslib_1.__importStar(require("react"));
|
|
16
|
+
const StyledContext_tsx_1 = require("./StyledContext.js");
|
|
17
|
+
const Tabs_tsx_1 = require("./Tabs.js");
|
|
18
|
+
function createTabs(createProps) {
|
|
19
|
+
const { ContentFrame = Tabs_tsx_1.DefaultTabsContentFrame, TabFrame = Tabs_tsx_1.DefaultTabsTabFrame, TabsFrame = Tabs_tsx_1.DefaultTabsFrame, } = createProps;
|
|
20
|
+
const TABS_CONTEXT = 'TabsContext';
|
|
21
|
+
const TAB_LIST_NAME = 'TabsList';
|
|
22
|
+
const TabsList = React.forwardRef((props, forwardedRef) => {
|
|
23
|
+
const { __scopeTabs, loop = true, children, ...listProps } = props;
|
|
24
|
+
const context = (0, StyledContext_tsx_1.useTabsContext)(__scopeTabs);
|
|
25
|
+
return ((0, jsx_runtime_1.jsx)(roving_focus_1.RovingFocusGroup, { __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT, orientation: context.orientation, dir: context.dir, loop: loop, asChild: true, children: (0, jsx_runtime_1.jsx)(group_1.Group, { role: "tablist", componentName: TAB_LIST_NAME, "aria-orientation": context.orientation, ref: forwardedRef, orientation: context.orientation, ...listProps, children: children }) }));
|
|
26
|
+
});
|
|
27
|
+
TabsList.displayName = TAB_LIST_NAME;
|
|
28
|
+
/* -------------------------------------------------------------------------------------------------
|
|
29
|
+
* TabsTrigger
|
|
30
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
31
|
+
const TRIGGER_NAME = 'TabsTrigger';
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use `TabLayout` instead
|
|
34
|
+
*/
|
|
35
|
+
const TabsTrigger = TabFrame.styleable((props, forwardedRef) => {
|
|
36
|
+
const { __scopeTabs, value, disabled = false, onInteraction, activeStyle, activeTheme, unstyled = false, ...triggerProps } = props;
|
|
37
|
+
const context = (0, StyledContext_tsx_1.useTabsContext)(__scopeTabs);
|
|
38
|
+
const triggerId = makeTriggerId(context.baseId, value);
|
|
39
|
+
const contentId = makeContentId(context.baseId, value);
|
|
40
|
+
const isSelected = value === context.value;
|
|
41
|
+
const [layout, setLayout] = React.useState(null);
|
|
42
|
+
const triggerRef = React.useRef(null);
|
|
43
|
+
const groupItemProps = (0, group_1.useGroupItem)({ disabled: !!disabled });
|
|
44
|
+
React.useEffect(() => {
|
|
45
|
+
context.registerTrigger();
|
|
46
|
+
return () => context.unregisterTrigger();
|
|
47
|
+
}, []);
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
if (!triggerRef.current || !constants_1.isWeb)
|
|
50
|
+
return;
|
|
51
|
+
const el = triggerRef.current;
|
|
52
|
+
function getTriggerSize() {
|
|
53
|
+
if (!el)
|
|
54
|
+
return;
|
|
55
|
+
setLayout({
|
|
56
|
+
width: el.offsetWidth,
|
|
57
|
+
height: el.offsetHeight,
|
|
58
|
+
x: el.offsetLeft,
|
|
59
|
+
y: el.offsetTop,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
getTriggerSize();
|
|
63
|
+
const observer = new ResizeObserver(getTriggerSize);
|
|
64
|
+
observer.observe(el);
|
|
65
|
+
return () => {
|
|
66
|
+
observer.disconnect();
|
|
67
|
+
};
|
|
68
|
+
}, [context.triggersCount]);
|
|
69
|
+
React.useEffect(() => {
|
|
70
|
+
if (isSelected && layout) {
|
|
71
|
+
onInteraction?.('select', layout);
|
|
72
|
+
}
|
|
73
|
+
}, [isSelected, value, layout]);
|
|
74
|
+
return ((0, jsx_runtime_1.jsx)(roving_focus_1.RovingFocusGroup.Item, { __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT, asChild: true, focusable: !disabled, active: isSelected, children: (0, jsx_runtime_1.jsx)(TabFrame, { ...(!constants_1.isWeb && {
|
|
75
|
+
onLayout: (event) => {
|
|
76
|
+
setLayout(event.nativeEvent.layout);
|
|
77
|
+
},
|
|
78
|
+
}), onMouseEnter: (0, helpers_1.composeEventHandlers)(props.onMouseEnter, () => {
|
|
79
|
+
if (layout) {
|
|
80
|
+
onInteraction?.('hover', layout);
|
|
81
|
+
}
|
|
82
|
+
}), onMouseLeave: (0, helpers_1.composeEventHandlers)(props.onMouseLeave, () => {
|
|
83
|
+
onInteraction?.('hover', null);
|
|
84
|
+
}), role: "tab", "aria-selected": isSelected, "aria-controls": contentId, "data-state": isSelected ? 'active' : 'inactive', "data-disabled": disabled ? '' : undefined, id: triggerId, theme: activeTheme ?? null, unstyled: unstyled, ...(!unstyled && {
|
|
85
|
+
size: context.size,
|
|
86
|
+
}), ...(isSelected && {
|
|
87
|
+
...(!unstyled &&
|
|
88
|
+
!activeStyle && {
|
|
89
|
+
backgroundColor: '$backgroundActive',
|
|
90
|
+
}),
|
|
91
|
+
...activeStyle,
|
|
92
|
+
}), ...groupItemProps, disabled: disabled ?? groupItemProps.disabled, ...triggerProps, ref: (0, compose_refs_1.composeRefs)(forwardedRef, triggerRef), onPress: (0, helpers_1.composeEventHandlers)(props.onPress ?? undefined, (event) => {
|
|
93
|
+
// only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
|
|
94
|
+
// but not when the control key is pressed (avoiding MacOS right click)
|
|
95
|
+
const webChecks = !constants_1.isWeb ||
|
|
96
|
+
(event.button === 0 &&
|
|
97
|
+
event.ctrlKey === false);
|
|
98
|
+
if (!disabled && !isSelected && webChecks) {
|
|
99
|
+
context.onChange(value);
|
|
100
|
+
}
|
|
101
|
+
}), ...(constants_1.isWeb && {
|
|
102
|
+
onKeyDown: (0, helpers_1.composeEventHandlers)(props.onKeyDown, (event) => {
|
|
103
|
+
if ([' ', 'Enter'].includes(event.key)) {
|
|
104
|
+
context.onChange(value);
|
|
105
|
+
event.preventDefault();
|
|
106
|
+
}
|
|
107
|
+
}),
|
|
108
|
+
onFocus: (0, helpers_1.composeEventHandlers)(props.onFocus, (event) => {
|
|
109
|
+
if (layout) {
|
|
110
|
+
onInteraction?.('focus', layout);
|
|
111
|
+
}
|
|
112
|
+
// handle "automatic" activation if necessary
|
|
113
|
+
// ie. activate tab following focus
|
|
114
|
+
const isAutomaticActivation = context.activationMode !== 'manual';
|
|
115
|
+
if (!isSelected && !disabled && isAutomaticActivation) {
|
|
116
|
+
context.onChange(value);
|
|
117
|
+
}
|
|
118
|
+
}),
|
|
119
|
+
onBlur: (0, helpers_1.composeEventHandlers)(props.onBlur, () => {
|
|
120
|
+
onInteraction?.('focus', null);
|
|
121
|
+
}),
|
|
122
|
+
}) }) }));
|
|
123
|
+
});
|
|
124
|
+
TabsTrigger.displayName = TRIGGER_NAME;
|
|
125
|
+
/* -------------------------------------------------------------------------------------------------
|
|
126
|
+
* TabsContent
|
|
127
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
128
|
+
const TabsContent = ContentFrame.styleable(function TabsContent(props, forwardedRef) {
|
|
129
|
+
const { __scopeTabs, value, forceMount, children, ...contentProps } = props;
|
|
130
|
+
const context = (0, StyledContext_tsx_1.useTabsContext)(__scopeTabs);
|
|
131
|
+
const isSelected = value === context.value;
|
|
132
|
+
const show = forceMount || isSelected;
|
|
133
|
+
const triggerId = makeTriggerId(context.baseId, value);
|
|
134
|
+
const contentId = makeContentId(context.baseId, value);
|
|
135
|
+
if (!show) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
return ((0, jsx_runtime_1.jsx)(ContentFrame, { "data-state": isSelected ? 'active' : 'inactive', "data-orientation": context.orientation, role: "tabpanel", "aria-labelledby": triggerId,
|
|
139
|
+
// @ts-ignore
|
|
140
|
+
hidden: !show, id: contentId, tabIndex: 0, ...contentProps, ref: forwardedRef, children: children }, value));
|
|
141
|
+
});
|
|
142
|
+
const TabsComponent = TabsFrame.styleable(function Tabs(props, forwardedRef) {
|
|
143
|
+
const { __scopeTabs, value: valueProp, onValueChange, defaultValue, orientation = 'horizontal', dir, activationMode = 'manual', size = '$true', ...tabsProps } = props;
|
|
144
|
+
const direction = (0, use_direction_1.useDirection)(dir);
|
|
145
|
+
const [value, setValue] = (0, use_controllable_state_1.useControllableState)({
|
|
146
|
+
prop: valueProp,
|
|
147
|
+
onChange: onValueChange,
|
|
148
|
+
defaultProp: defaultValue ?? '',
|
|
149
|
+
});
|
|
150
|
+
const [triggersCount, setTriggersCount] = React.useState(0);
|
|
151
|
+
const registerTrigger = (0, web_1.useEvent)(() => setTriggersCount((v) => v + 1));
|
|
152
|
+
const unregisterTrigger = (0, web_1.useEvent)(() => setTriggersCount((v) => v - 1));
|
|
153
|
+
return ((0, jsx_runtime_1.jsx)(sizable_context_1.SizableContext.Provider, { size: size, children: (0, jsx_runtime_1.jsx)(StyledContext_tsx_1.TabsProvider, { scope: __scopeTabs, baseId: React.useId(), value: value, onChange: setValue, orientation: orientation, dir: direction, activationMode: activationMode, size: size, registerTrigger: registerTrigger, triggersCount: triggersCount, unregisterTrigger: unregisterTrigger, children: (0, jsx_runtime_1.jsx)(TabsFrame, { direction: direction, "data-orientation": orientation, ...tabsProps, ref: forwardedRef }) }) }));
|
|
154
|
+
});
|
|
155
|
+
// make it so it can accept a generic
|
|
156
|
+
// this broke things outside our repo, but not sure why, all non style props were missing
|
|
157
|
+
// like onPress etc
|
|
158
|
+
// as <Tab = string>(
|
|
159
|
+
// props: TabsProps<Tab> & { ref?: React.Ref<GuiElement> }
|
|
160
|
+
// ) => React.JSX.Element
|
|
161
|
+
return (0, helpers_1.withStaticProperties)(TabsComponent, {
|
|
162
|
+
List: TabsList,
|
|
163
|
+
/**
|
|
164
|
+
* @deprecated Use Tabs.Tab instead
|
|
165
|
+
*/
|
|
166
|
+
Trigger: TabsTrigger,
|
|
167
|
+
Tab: TabsTrigger,
|
|
168
|
+
Content: TabsContent,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/* ---------------------------------------------------------------------------------------------- */
|
|
172
|
+
function makeTriggerId(baseId, value) {
|
|
173
|
+
return `${baseId}-trigger-${value}`;
|
|
174
|
+
}
|
|
175
|
+
function makeContentId(baseId, value) {
|
|
176
|
+
return `${baseId}-content-${value}`;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=createTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTabs.js","sourceRoot":"","sources":["../../src/createTabs.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tabs = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const createTabs_tsx_1 = require("./createTabs.js");
|
|
6
|
+
const Tabs_tsx_1 = require("./Tabs.js");
|
|
7
|
+
tslib_1.__exportStar(require("./createTabs.js"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./StyledContext.js"), exports);
|
|
9
|
+
exports.Tabs = (0, createTabs_tsx_1.createTabs)({
|
|
10
|
+
ContentFrame: Tabs_tsx_1.DefaultTabsContentFrame,
|
|
11
|
+
TabFrame: Tabs_tsx_1.DefaultTabsTabFrame,
|
|
12
|
+
TabsFrame: Tabs_tsx_1.DefaultTabsFrame,
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA6C;AAC7C,wCAImB;AACnB,0DAAgC;AAChC,6DAAmC;AAEtB,QAAA,IAAI,GAAG,IAAA,2BAAU,EAAC;IAC7B,YAAY,EAAE,kCAAuB;IACrC,QAAQ,EAAE,8BAAmB;IAC7B,SAAS,EAAE,2BAAgB;CAC5B,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "commonjs" }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StyledContext.js","sourceRoot":"","sources":["../../src/StyledContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAgBpD,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACvE,mBAAmB,EAAoB,CAAA"}
|
package/dist/esm/Tabs.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { styled, View } from '@hanzogui/core';
|
|
2
|
+
import { getButtonSized } from '@hanzogui/get-button-sized';
|
|
3
|
+
import { SizableStack, ThemeableStack } from '@hanzogui/stacks';
|
|
4
|
+
const TABS_NAME = 'Tabs';
|
|
5
|
+
export const DefaultTabsFrame = styled(SizableStack, {
|
|
6
|
+
name: TABS_NAME,
|
|
7
|
+
});
|
|
8
|
+
const TRIGGER_NAME = 'TabsTrigger';
|
|
9
|
+
export const DefaultTabsTabFrame = styled(View, {
|
|
10
|
+
name: TRIGGER_NAME,
|
|
11
|
+
role: 'tab',
|
|
12
|
+
variants: {
|
|
13
|
+
size: {
|
|
14
|
+
'...size': getButtonSized,
|
|
15
|
+
},
|
|
16
|
+
disabled: {
|
|
17
|
+
true: {
|
|
18
|
+
pointerEvents: 'none',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
unstyled: {
|
|
22
|
+
false: {
|
|
23
|
+
borderWidth: 0,
|
|
24
|
+
backgroundColor: '$background',
|
|
25
|
+
userSelect: 'none',
|
|
26
|
+
justifyContent: 'center',
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
flexWrap: 'nowrap',
|
|
29
|
+
flexDirection: 'row',
|
|
30
|
+
cursor: 'pointer',
|
|
31
|
+
pressStyle: {
|
|
32
|
+
backgroundColor: '$backgroundPress',
|
|
33
|
+
},
|
|
34
|
+
focusVisibleStyle: {
|
|
35
|
+
outlineColor: '$outlineColor',
|
|
36
|
+
outlineWidth: 2,
|
|
37
|
+
outlineStyle: 'solid',
|
|
38
|
+
zIndex: 10,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
defaultVariants: {
|
|
44
|
+
unstyled: process.env.GUI_HEADLESS === '1',
|
|
45
|
+
},
|
|
46
|
+
}, {
|
|
47
|
+
accept: {
|
|
48
|
+
activeStyle: 'style',
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
const CONTENT_NAME = 'TabsContent';
|
|
52
|
+
export const DefaultTabsContentFrame = styled(ThemeableStack, {
|
|
53
|
+
name: CONTENT_NAME,
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=Tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../src/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE/D,MAAM,SAAS,GAAG,MAAM,CAAA;AACxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,EAAE;IACnD,IAAI,EAAE,SAAS;CAChB,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,aAAa,CAAA;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CACvC,IAAI,EACJ;IACE,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,KAAK;IAEX,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,SAAS,EAAE,cAAc;SAC1B;QAED,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,aAAa,EAAE,MAAM;aACtB;SACF;QAED,QAAQ,EAAE;YACR,KAAK,EAAE;gBACL,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,aAAa;gBAC9B,UAAU,EAAE,MAAM;gBAClB,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,aAAa,EAAE,KAAK;gBACpB,MAAM,EAAE,SAAS;gBAEjB,UAAU,EAAE;oBACV,eAAe,EAAE,kBAAkB;iBACpC;gBAED,iBAAiB,EAAE;oBACjB,YAAY,EAAE,eAAe;oBAC7B,YAAY,EAAE,CAAC;oBACf,YAAY,EAAE,OAAO;oBACrB,MAAM,EAAE,EAAE;iBACX;aACF;SACF;KACO;IAEV,eAAe,EAAE;QACf,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG;KAC3C;CACF,EACD;IACE,MAAM,EAAE;QACN,WAAW,EAAE,OAAO;KACZ;CACX,CACF,CAAA;AAED,MAAM,YAAY,GAAG,aAAa,CAAA;AAElC,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,cAAc,EAAE;IAC5D,IAAI,EAAE,YAAY;CACnB,CAAC,CAAA"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { composeRefs } from '@hanzogui/compose-refs';
|
|
3
|
+
import { isWeb } from '@hanzogui/constants';
|
|
4
|
+
import { Group, useGroupItem } from '@hanzogui/group';
|
|
5
|
+
import { composeEventHandlers, withStaticProperties } from '@hanzogui/helpers';
|
|
6
|
+
import { RovingFocusGroup } from '@hanzogui/roving-focus';
|
|
7
|
+
import { SizableContext } from '@hanzogui/sizable-context';
|
|
8
|
+
import { useControllableState } from '@hanzogui/use-controllable-state';
|
|
9
|
+
import { useDirection } from '@hanzogui/use-direction';
|
|
10
|
+
import { useEvent } from '@hanzogui/web';
|
|
11
|
+
import * as React from 'react';
|
|
12
|
+
import { TabsProvider, useTabsContext } from './StyledContext.js';
|
|
13
|
+
import { DefaultTabsContentFrame, DefaultTabsFrame, DefaultTabsTabFrame, } from './Tabs.js';
|
|
14
|
+
export function createTabs(createProps) {
|
|
15
|
+
const { ContentFrame = DefaultTabsContentFrame, TabFrame = DefaultTabsTabFrame, TabsFrame = DefaultTabsFrame, } = createProps;
|
|
16
|
+
const TABS_CONTEXT = 'TabsContext';
|
|
17
|
+
const TAB_LIST_NAME = 'TabsList';
|
|
18
|
+
const TabsList = React.forwardRef((props, forwardedRef) => {
|
|
19
|
+
const { __scopeTabs, loop = true, children, ...listProps } = props;
|
|
20
|
+
const context = useTabsContext(__scopeTabs);
|
|
21
|
+
return (_jsx(RovingFocusGroup, { __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT, orientation: context.orientation, dir: context.dir, loop: loop, asChild: true, children: _jsx(Group, { role: "tablist", componentName: TAB_LIST_NAME, "aria-orientation": context.orientation, ref: forwardedRef, orientation: context.orientation, ...listProps, children: children }) }));
|
|
22
|
+
});
|
|
23
|
+
TabsList.displayName = TAB_LIST_NAME;
|
|
24
|
+
/* -------------------------------------------------------------------------------------------------
|
|
25
|
+
* TabsTrigger
|
|
26
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
27
|
+
const TRIGGER_NAME = 'TabsTrigger';
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use `TabLayout` instead
|
|
30
|
+
*/
|
|
31
|
+
const TabsTrigger = TabFrame.styleable((props, forwardedRef) => {
|
|
32
|
+
const { __scopeTabs, value, disabled = false, onInteraction, activeStyle, activeTheme, unstyled = false, ...triggerProps } = props;
|
|
33
|
+
const context = useTabsContext(__scopeTabs);
|
|
34
|
+
const triggerId = makeTriggerId(context.baseId, value);
|
|
35
|
+
const contentId = makeContentId(context.baseId, value);
|
|
36
|
+
const isSelected = value === context.value;
|
|
37
|
+
const [layout, setLayout] = React.useState(null);
|
|
38
|
+
const triggerRef = React.useRef(null);
|
|
39
|
+
const groupItemProps = useGroupItem({ disabled: !!disabled });
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
context.registerTrigger();
|
|
42
|
+
return () => context.unregisterTrigger();
|
|
43
|
+
}, []);
|
|
44
|
+
React.useEffect(() => {
|
|
45
|
+
if (!triggerRef.current || !isWeb)
|
|
46
|
+
return;
|
|
47
|
+
const el = triggerRef.current;
|
|
48
|
+
function getTriggerSize() {
|
|
49
|
+
if (!el)
|
|
50
|
+
return;
|
|
51
|
+
setLayout({
|
|
52
|
+
width: el.offsetWidth,
|
|
53
|
+
height: el.offsetHeight,
|
|
54
|
+
x: el.offsetLeft,
|
|
55
|
+
y: el.offsetTop,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getTriggerSize();
|
|
59
|
+
const observer = new ResizeObserver(getTriggerSize);
|
|
60
|
+
observer.observe(el);
|
|
61
|
+
return () => {
|
|
62
|
+
observer.disconnect();
|
|
63
|
+
};
|
|
64
|
+
}, [context.triggersCount]);
|
|
65
|
+
React.useEffect(() => {
|
|
66
|
+
if (isSelected && layout) {
|
|
67
|
+
onInteraction?.('select', layout);
|
|
68
|
+
}
|
|
69
|
+
}, [isSelected, value, layout]);
|
|
70
|
+
return (_jsx(RovingFocusGroup.Item, { __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT, asChild: true, focusable: !disabled, active: isSelected, children: _jsx(TabFrame, { ...(!isWeb && {
|
|
71
|
+
onLayout: (event) => {
|
|
72
|
+
setLayout(event.nativeEvent.layout);
|
|
73
|
+
},
|
|
74
|
+
}), onMouseEnter: composeEventHandlers(props.onMouseEnter, () => {
|
|
75
|
+
if (layout) {
|
|
76
|
+
onInteraction?.('hover', layout);
|
|
77
|
+
}
|
|
78
|
+
}), onMouseLeave: composeEventHandlers(props.onMouseLeave, () => {
|
|
79
|
+
onInteraction?.('hover', null);
|
|
80
|
+
}), role: "tab", "aria-selected": isSelected, "aria-controls": contentId, "data-state": isSelected ? 'active' : 'inactive', "data-disabled": disabled ? '' : undefined, id: triggerId, theme: activeTheme ?? null, unstyled: unstyled, ...(!unstyled && {
|
|
81
|
+
size: context.size,
|
|
82
|
+
}), ...(isSelected && {
|
|
83
|
+
...(!unstyled &&
|
|
84
|
+
!activeStyle && {
|
|
85
|
+
backgroundColor: '$backgroundActive',
|
|
86
|
+
}),
|
|
87
|
+
...activeStyle,
|
|
88
|
+
}), ...groupItemProps, disabled: disabled ?? groupItemProps.disabled, ...triggerProps, ref: composeRefs(forwardedRef, triggerRef), onPress: composeEventHandlers(props.onPress ?? undefined, (event) => {
|
|
89
|
+
// only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
|
|
90
|
+
// but not when the control key is pressed (avoiding MacOS right click)
|
|
91
|
+
const webChecks = !isWeb ||
|
|
92
|
+
(event.button === 0 &&
|
|
93
|
+
event.ctrlKey === false);
|
|
94
|
+
if (!disabled && !isSelected && webChecks) {
|
|
95
|
+
context.onChange(value);
|
|
96
|
+
}
|
|
97
|
+
}), ...(isWeb && {
|
|
98
|
+
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
|
|
99
|
+
if ([' ', 'Enter'].includes(event.key)) {
|
|
100
|
+
context.onChange(value);
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
}
|
|
103
|
+
}),
|
|
104
|
+
onFocus: composeEventHandlers(props.onFocus, (event) => {
|
|
105
|
+
if (layout) {
|
|
106
|
+
onInteraction?.('focus', layout);
|
|
107
|
+
}
|
|
108
|
+
// handle "automatic" activation if necessary
|
|
109
|
+
// ie. activate tab following focus
|
|
110
|
+
const isAutomaticActivation = context.activationMode !== 'manual';
|
|
111
|
+
if (!isSelected && !disabled && isAutomaticActivation) {
|
|
112
|
+
context.onChange(value);
|
|
113
|
+
}
|
|
114
|
+
}),
|
|
115
|
+
onBlur: composeEventHandlers(props.onBlur, () => {
|
|
116
|
+
onInteraction?.('focus', null);
|
|
117
|
+
}),
|
|
118
|
+
}) }) }));
|
|
119
|
+
});
|
|
120
|
+
TabsTrigger.displayName = TRIGGER_NAME;
|
|
121
|
+
/* -------------------------------------------------------------------------------------------------
|
|
122
|
+
* TabsContent
|
|
123
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
124
|
+
const TabsContent = ContentFrame.styleable(function TabsContent(props, forwardedRef) {
|
|
125
|
+
const { __scopeTabs, value, forceMount, children, ...contentProps } = props;
|
|
126
|
+
const context = useTabsContext(__scopeTabs);
|
|
127
|
+
const isSelected = value === context.value;
|
|
128
|
+
const show = forceMount || isSelected;
|
|
129
|
+
const triggerId = makeTriggerId(context.baseId, value);
|
|
130
|
+
const contentId = makeContentId(context.baseId, value);
|
|
131
|
+
if (!show) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
return (_jsx(ContentFrame, { "data-state": isSelected ? 'active' : 'inactive', "data-orientation": context.orientation, role: "tabpanel", "aria-labelledby": triggerId,
|
|
135
|
+
// @ts-ignore
|
|
136
|
+
hidden: !show, id: contentId, tabIndex: 0, ...contentProps, ref: forwardedRef, children: children }, value));
|
|
137
|
+
});
|
|
138
|
+
const TabsComponent = TabsFrame.styleable(function Tabs(props, forwardedRef) {
|
|
139
|
+
const { __scopeTabs, value: valueProp, onValueChange, defaultValue, orientation = 'horizontal', dir, activationMode = 'manual', size = '$true', ...tabsProps } = props;
|
|
140
|
+
const direction = useDirection(dir);
|
|
141
|
+
const [value, setValue] = useControllableState({
|
|
142
|
+
prop: valueProp,
|
|
143
|
+
onChange: onValueChange,
|
|
144
|
+
defaultProp: defaultValue ?? '',
|
|
145
|
+
});
|
|
146
|
+
const [triggersCount, setTriggersCount] = React.useState(0);
|
|
147
|
+
const registerTrigger = useEvent(() => setTriggersCount((v) => v + 1));
|
|
148
|
+
const unregisterTrigger = useEvent(() => setTriggersCount((v) => v - 1));
|
|
149
|
+
return (_jsx(SizableContext.Provider, { size: size, children: _jsx(TabsProvider, { scope: __scopeTabs, baseId: React.useId(), value: value, onChange: setValue, orientation: orientation, dir: direction, activationMode: activationMode, size: size, registerTrigger: registerTrigger, triggersCount: triggersCount, unregisterTrigger: unregisterTrigger, children: _jsx(TabsFrame, { direction: direction, "data-orientation": orientation, ...tabsProps, ref: forwardedRef }) }) }));
|
|
150
|
+
});
|
|
151
|
+
// make it so it can accept a generic
|
|
152
|
+
// this broke things outside our repo, but not sure why, all non style props were missing
|
|
153
|
+
// like onPress etc
|
|
154
|
+
// as <Tab = string>(
|
|
155
|
+
// props: TabsProps<Tab> & { ref?: React.Ref<GuiElement> }
|
|
156
|
+
// ) => React.JSX.Element
|
|
157
|
+
return withStaticProperties(TabsComponent, {
|
|
158
|
+
List: TabsList,
|
|
159
|
+
/**
|
|
160
|
+
* @deprecated Use Tabs.Tab instead
|
|
161
|
+
*/
|
|
162
|
+
Trigger: TabsTrigger,
|
|
163
|
+
Tab: TabsTrigger,
|
|
164
|
+
Content: TabsContent,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
/* ---------------------------------------------------------------------------------------------- */
|
|
168
|
+
function makeTriggerId(baseId, value) {
|
|
169
|
+
return `${baseId}-trigger-${value}`;
|
|
170
|
+
}
|
|
171
|
+
function makeContentId(baseId, value) {
|
|
172
|
+
return `${baseId}-content-${value}`;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=createTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTabs.js","sourceRoot":"","sources":["../../src/createTabs.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { createTabs } from
|
|
2
|
-
import { DefaultTabsContentFrame, DefaultTabsFrame, DefaultTabsTabFrame } from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
const Tabs = createTabs({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { createTabs } from './createTabs.js';
|
|
2
|
+
import { DefaultTabsContentFrame, DefaultTabsFrame, DefaultTabsTabFrame, } from './Tabs.js';
|
|
3
|
+
export * from './createTabs.js';
|
|
4
|
+
export * from './StyledContext.js';
|
|
5
|
+
export const Tabs = createTabs({
|
|
6
|
+
ContentFrame: DefaultTabsContentFrame,
|
|
7
|
+
TabFrame: DefaultTabsTabFrame,
|
|
8
|
+
TabsFrame: DefaultTabsFrame,
|
|
9
9
|
});
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAA;AAC7C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,WAAY,CAAA;AACnB,cAAc,iBAAkB,CAAA;AAChC,cAAc,oBAAqB,CAAA;AAEnC,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC;IAC7B,YAAY,EAAE,uBAAuB;IACrC,QAAQ,EAAE,mBAAmB;IAC7B,SAAS,EAAE,gBAAgB;CAC5B,CAAC,CAAA"}
|