@basic-ui/core 0.0.38 → 0.0.39
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/build/cjs/index.js.map +1 -1
- package/build/esm/Accordion/Accordion.d.ts +1 -1
- package/build/esm/Accordion/Accordion.js +23 -17
- package/build/esm/Accordion/Accordion.js.map +1 -1
- package/build/esm/Accordion/AccordionBody.d.ts +1 -1
- package/build/esm/Accordion/AccordionBody.js +24 -15
- package/build/esm/Accordion/AccordionBody.js.map +1 -1
- package/build/esm/Accordion/AccordionHeader.d.ts +1 -1
- package/build/esm/Accordion/AccordionHeader.js +46 -31
- package/build/esm/Accordion/AccordionHeader.js.map +1 -1
- package/build/esm/Accordion/AccordionItem.d.ts +1 -1
- package/build/esm/Accordion/AccordionItem.js +17 -16
- package/build/esm/Accordion/AccordionItem.js.map +1 -1
- package/build/esm/Accordion/context.d.ts +1 -1
- package/build/esm/Accordion/context.js +12 -10
- package/build/esm/Accordion/context.js.map +1 -1
- package/build/esm/CheckBox/CheckBox.d.ts +1 -1
- package/build/esm/CheckBox/CheckBox.js +20 -12
- package/build/esm/CheckBox/CheckBox.js.map +1 -1
- package/build/esm/ComboBox/Combobox.d.ts +1 -1
- package/build/esm/ComboBox/Combobox.js +53 -46
- package/build/esm/ComboBox/Combobox.js.map +1 -1
- package/build/esm/ComboBox/ComboboxButton.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxButton.js +20 -20
- package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
- package/build/esm/ComboBox/ComboboxInput.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxInput.js +53 -50
- package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
- package/build/esm/ComboBox/ComboboxLabel.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxLabel.js +12 -12
- package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
- package/build/esm/ComboBox/ComboboxList.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxList.js +16 -17
- package/build/esm/ComboBox/ComboboxList.js.map +1 -1
- package/build/esm/ComboBox/ComboboxOption.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxOption.js +32 -34
- package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
- package/build/esm/ComboBox/ComboboxPopover.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxPopover.js +16 -17
- package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
- package/build/esm/ComboBox/context.d.ts +3 -3
- package/build/esm/ComboBox/context.js +6 -5
- package/build/esm/ComboBox/context.js.map +1 -1
- package/build/esm/ComboBox/hooks.d.ts +1 -1
- package/build/esm/ComboBox/hooks.js +82 -115
- package/build/esm/ComboBox/hooks.js.map +1 -1
- package/build/esm/ComboBox/makeHash.js +3 -3
- package/build/esm/ComboBox/makeHash.js.map +1 -1
- package/build/esm/FocusLock/FocusLock.d.ts +1 -1
- package/build/esm/FocusLock/FocusLock.js +18 -16
- package/build/esm/FocusLock/FocusLock.js.map +1 -1
- package/build/esm/FocusLock/tabUtils.js +4 -4
- package/build/esm/FocusLock/tabUtils.js.map +1 -1
- package/build/esm/FocusLock/useFocusLock.js +10 -11
- package/build/esm/FocusLock/useFocusLock.js.map +1 -1
- package/build/esm/List/List.d.ts +1 -1
- package/build/esm/List/List.js +6 -6
- package/build/esm/List/List.js.map +1 -1
- package/build/esm/List/ListItem.d.ts +1 -1
- package/build/esm/List/ListItem.js +6 -6
- package/build/esm/List/ListItem.js.map +1 -1
- package/build/esm/List/context.js +3 -3
- package/build/esm/List/context.js.map +1 -1
- package/build/esm/Menu/Menu.d.ts +1 -1
- package/build/esm/Menu/Menu.js +30 -21
- package/build/esm/Menu/Menu.js.map +1 -1
- package/build/esm/Menu/MenuButton.d.ts +1 -1
- package/build/esm/Menu/MenuButton.js +28 -24
- package/build/esm/Menu/MenuButton.js.map +1 -1
- package/build/esm/Menu/MenuItem.d.ts +1 -1
- package/build/esm/Menu/MenuItem.js +24 -24
- package/build/esm/Menu/MenuItem.js.map +1 -1
- package/build/esm/Menu/MenuList.d.ts +1 -1
- package/build/esm/Menu/MenuList.js +62 -45
- package/build/esm/Menu/MenuList.js.map +1 -1
- package/build/esm/Menu/MenuPopover.d.ts +2 -2
- package/build/esm/Menu/MenuPopover.js +9 -10
- package/build/esm/Menu/MenuPopover.js.map +1 -1
- package/build/esm/Menu/context.d.ts +1 -1
- package/build/esm/Menu/context.js +11 -8
- package/build/esm/Menu/context.js.map +1 -1
- package/build/esm/Modal/Modal.d.ts +2 -2
- package/build/esm/Modal/Modal.js +12 -10
- package/build/esm/Modal/Modal.js.map +1 -1
- package/build/esm/Modal/ModalBackdrop.d.ts +1 -1
- package/build/esm/Modal/ModalBackdrop.js +21 -19
- package/build/esm/Modal/ModalBackdrop.js.map +1 -1
- package/build/esm/Popper/Popper.d.ts +2 -2
- package/build/esm/Popper/Popper.js +47 -37
- package/build/esm/Popper/Popper.js.map +1 -1
- package/build/esm/Popper/PopperArrow.d.ts +1 -1
- package/build/esm/Popper/PopperArrow.js +9 -9
- package/build/esm/Popper/PopperArrow.js.map +1 -1
- package/build/esm/Popper/context.d.ts +1 -1
- package/build/esm/Popper/context.js +5 -3
- package/build/esm/Popper/context.js.map +1 -1
- package/build/esm/Portal/Portal.d.ts +1 -1
- package/build/esm/Portal/Portal.js +6 -5
- package/build/esm/Portal/Portal.js.map +1 -1
- package/build/esm/RadioButton/RadioButton.d.ts +2 -2
- package/build/esm/RadioButton/RadioButton.js +13 -13
- package/build/esm/RadioButton/RadioButton.js.map +1 -1
- package/build/esm/RadioButton/RadioGroup.d.ts +2 -2
- package/build/esm/RadioButton/RadioGroup.js +23 -16
- package/build/esm/RadioButton/RadioGroup.js.map +1 -1
- package/build/esm/RadioButton/context.js +6 -5
- package/build/esm/RadioButton/context.js.map +1 -1
- package/build/esm/SkipNav/SkipNav.d.ts +1 -1
- package/build/esm/SkipNav/SkipNav.js +6 -6
- package/build/esm/SkipNav/SkipNav.js.map +1 -1
- package/build/esm/Spinner/Spinner.d.ts +1 -1
- package/build/esm/Spinner/Spinner.js +42 -31
- package/build/esm/Spinner/Spinner.js.map +1 -1
- package/build/esm/Spinner/SpinnerButton.d.ts +1 -1
- package/build/esm/Spinner/SpinnerButton.js +12 -12
- package/build/esm/Spinner/SpinnerButton.js.map +1 -1
- package/build/esm/Spinner/context.js +6 -5
- package/build/esm/Spinner/context.js.map +1 -1
- package/build/esm/Tabs/Tab.d.ts +1 -1
- package/build/esm/Tabs/Tab.js +30 -29
- package/build/esm/Tabs/Tab.js.map +1 -1
- package/build/esm/Tabs/TabList.d.ts +1 -1
- package/build/esm/Tabs/TabList.js +25 -21
- package/build/esm/Tabs/TabList.js.map +1 -1
- package/build/esm/Tabs/TabPanel.d.ts +1 -1
- package/build/esm/Tabs/TabPanel.js +13 -12
- package/build/esm/Tabs/TabPanel.js.map +1 -1
- package/build/esm/Tabs/TabPanels.d.ts +1 -1
- package/build/esm/Tabs/TabPanels.js +14 -12
- package/build/esm/Tabs/TabPanels.js.map +1 -1
- package/build/esm/Tabs/Tabs.d.ts +1 -1
- package/build/esm/Tabs/Tabs.js +28 -14
- package/build/esm/Tabs/Tabs.js.map +1 -1
- package/build/esm/Tabs/context.d.ts +1 -1
- package/build/esm/Tabs/context.js +12 -10
- package/build/esm/Tabs/context.js.map +1 -1
- package/build/esm/Tooltip/Tooltip.d.ts +2 -1
- package/build/esm/Tooltip/Tooltip.js +17 -15
- package/build/esm/Tooltip/Tooltip.js.map +1 -1
- package/build/esm/Tooltip/stateMachine.js +56 -80
- package/build/esm/Tooltip/stateMachine.js.map +1 -1
- package/build/esm/Tooltip/useTooltip.d.ts +1 -1
- package/build/esm/Tooltip/useTooltip.js +31 -29
- package/build/esm/Tooltip/useTooltip.js.map +1 -1
- package/build/esm/hooks/useAutoFocus.js +1 -1
- package/build/esm/hooks/useAutoFocus.js.map +1 -1
- package/build/esm/hooks/useChildrenCounter.d.ts +1 -1
- package/build/esm/hooks/useChildrenCounter.js +6 -4
- package/build/esm/hooks/useChildrenCounter.js.map +1 -1
- package/build/esm/hooks/useControlledState.d.ts +1 -1
- package/build/esm/hooks/useControlledState.js +7 -2
- package/build/esm/hooks/useControlledState.js.map +1 -1
- package/build/esm/hooks/useFocusReturn.d.ts +1 -1
- package/build/esm/hooks/useFocusReturn.js +6 -6
- package/build/esm/hooks/useFocusReturn.js.map +1 -1
- package/build/esm/hooks/useFocusState.js +13 -9
- package/build/esm/hooks/useFocusState.js.map +1 -1
- package/build/esm/hooks/useGestureHandlers.js +59 -63
- package/build/esm/hooks/useGestureHandlers.js.map +1 -1
- package/build/esm/hooks/useMeasure.js +13 -7
- package/build/esm/hooks/useMeasure.js.map +1 -1
- package/build/esm/hooks/useOnClickOutside.js +5 -4
- package/build/esm/hooks/useOnClickOutside.js.map +1 -1
- package/build/esm/hooks/useOnKeyDown.js +4 -3
- package/build/esm/hooks/useOnKeyDown.js.map +1 -1
- package/build/esm/hooks/useReducerMachine.d.ts +1 -1
- package/build/esm/hooks/useReducerMachine.js +13 -10
- package/build/esm/hooks/useReducerMachine.js.map +1 -1
- package/build/esm/hooks/useRemoveBodyScroll.js +4 -4
- package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
- package/build/esm/hooks/useScope.d.ts +1 -1
- package/build/esm/hooks/useScope.js +10 -12
- package/build/esm/hooks/useScope.js.map +1 -1
- package/build/esm/hooks/useThrottle.js +10 -5
- package/build/esm/hooks/useThrottle.js.map +1 -1
- package/build/esm/utils/assignRef.d.ts +1 -1
- package/build/esm/utils/assignRef.js +7 -3
- package/build/esm/utils/assignRef.js.map +1 -1
- package/build/esm/utils/createSubscription.js +7 -5
- package/build/esm/utils/createSubscription.js.map +1 -1
- package/build/esm/utils/rubberBandClamp.js +5 -2
- package/build/esm/utils/rubberBandClamp.js.map +1 -1
- package/build/esm/utils/wrapEvent.js +7 -3
- package/build/esm/utils/wrapEvent.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/Accordion/Accordion.story.tsx +1 -0
- package/src/Accordion/Accordion.tsx +4 -2
- package/src/Accordion/AccordionBody.tsx +4 -4
- package/src/Accordion/AccordionHeader.tsx +7 -8
- package/src/Accordion/AccordionItem.tsx +4 -2
- package/src/Accordion/context.ts +2 -1
- package/src/CheckBox/CheckBox.tsx +2 -1
- package/src/ComboBox/ComboBox.story.tsx +3 -3
- package/src/ComboBox/Combobox.tsx +8 -10
- package/src/ComboBox/ComboboxButton.tsx +4 -9
- package/src/ComboBox/ComboboxInput.tsx +2 -1
- package/src/ComboBox/ComboboxLabel.tsx +2 -1
- package/src/ComboBox/ComboboxList.tsx +2 -1
- package/src/ComboBox/ComboboxOption.tsx +1 -1
- package/src/ComboBox/ComboboxPopover.tsx +2 -1
- package/src/ComboBox/context.ts +4 -3
- package/src/ComboBox/hooks.tsx +6 -9
- package/src/FocusLock/FocusLock.tsx +2 -1
- package/src/FocusLock/useFocusLock.ts +1 -0
- package/src/List/List.tsx +1 -1
- package/src/List/ListItem.tsx +1 -1
- package/src/Menu/Menu.story.tsx +6 -5
- package/src/Menu/Menu.tsx +4 -2
- package/src/Menu/MenuButton.tsx +4 -8
- package/src/Menu/MenuItem.tsx +2 -1
- package/src/Menu/MenuList.tsx +4 -8
- package/src/Menu/MenuPopover.tsx +4 -2
- package/src/Menu/context.ts +2 -1
- package/src/Modal/Modal.story.tsx +1 -0
- package/src/Modal/Modal.tsx +4 -2
- package/src/Modal/ModalBackdrop.tsx +2 -1
- package/src/Modal/NavDrawer.story.tsx +3 -3
- package/src/Popper/Popper.story.tsx +3 -4
- package/src/Popper/Popper.tsx +8 -7
- package/src/Popper/PopperArrow.tsx +2 -1
- package/src/Popper/context.ts +2 -1
- package/src/Portal/Portal.tsx +1 -1
- package/src/RadioButton/RadioButton.story.tsx +1 -0
- package/src/RadioButton/RadioButton.tsx +4 -2
- package/src/RadioButton/RadioGroup.tsx +4 -2
- package/src/SkipNav/SkipNav.tsx +1 -1
- package/src/Spinner/Spinner.story.tsx +1 -0
- package/src/Spinner/Spinner.tsx +2 -1
- package/src/Spinner/SpinnerButton.tsx +2 -1
- package/src/Tabs/Tab.story.tsx +1 -0
- package/src/Tabs/Tab.tsx +4 -4
- package/src/Tabs/TabList.tsx +2 -1
- package/src/Tabs/TabPanel.tsx +2 -1
- package/src/Tabs/TabPanels.tsx +1 -1
- package/src/Tabs/Tabs.tsx +2 -1
- package/src/Tabs/context.ts +2 -1
- package/src/Tooltip/Tooltip.story.tsx +2 -1
- package/src/Tooltip/Tooltip.tsx +3 -7
- package/src/Tooltip/stateMachine.ts +1 -1
- package/src/Tooltip/useTooltip.ts +3 -1
- package/src/hooks/useAutoFocus.ts +1 -0
- package/src/hooks/useChildrenCounter.ts +2 -1
- package/src/hooks/useControlledState.ts +3 -1
- package/src/hooks/useFocusReturn.ts +2 -1
- package/src/hooks/useFocusState.ts +1 -0
- package/src/hooks/useReducerMachine.ts +2 -1
- package/src/hooks/useScope.ts +2 -1
- package/src/utils/assignRef.ts +1 -1
- package/build/esm/hooks/useId.d.ts +0 -3
- package/build/esm/hooks/useId.js +0 -16
- package/build/esm/hooks/useId.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createContext, useContext } from 'react'; // Spinner Component
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
var spinbuttonContext = /*#__PURE__*/createContext(null);
|
|
4
|
+
var SpinnerProvider = spinbuttonContext.Provider;
|
|
5
|
+
export { SpinnerProvider };
|
|
6
|
+
export var useSpinnerContext = function useSpinnerContext() {
|
|
7
|
+
return useContext(spinbuttonContext);
|
|
8
|
+
};
|
|
8
9
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Spinner/context.ts"],"names":["createContext","useContext","spinbuttonContext","
|
|
1
|
+
{"version":3,"sources":["../../../src/Spinner/context.ts"],"names":["createContext","useContext","spinbuttonContext","SpinnerProvider","Provider","useSpinnerContext"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C,C,CAEA;;AAgBA,IAAMC,iBAAiB,gBAAGF,aAAa,CAA6B,IAA7B,CAAvC;IACyBG,e,GAAoBD,iB,CAA9BE,Q;;AACf,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAAMJ,UAAU,CAACC,iBAAD,CAAhB;AAAA,CAA1B","sourcesContent":["import { createContext, useContext } from 'react';\n\n// Spinner Component\nexport interface SpinnerContextProps {\n value: number;\n minValue: number;\n maxValue: number;\n stepSize: number;\n onChange?: (\n e:\n | React.MouseEvent<HTMLButtonElement>\n | React.KeyboardEvent<HTMLDivElement>,\n value: number\n ) => void;\n clamp: (value: number) => number;\n spinnerHasFocus: boolean;\n}\n\nconst spinbuttonContext = createContext<SpinnerContextProps | null>(null);\nexport const { Provider: SpinnerProvider } = spinbuttonContext;\nexport const useSpinnerContext = () => useContext(spinbuttonContext);\n"],"file":"context.js"}
|
package/build/esm/Tabs/Tab.d.ts
CHANGED
package/build/esm/Tabs/Tab.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
import { forwardRef, useRef } from 'react';
|
|
4
|
+
import * as React from 'react';
|
|
4
5
|
import { useTabsContext, useTabListContext } from './context';
|
|
5
6
|
import { assignMultipleRefs, getCircularIndex, wrapEvent } from '../utils';
|
|
6
7
|
import { scopeQuery } from './scopeQuery';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
|
|
9
10
|
function getNextIndex(desiredIndex, delta, allTabs) {
|
|
10
|
-
for (
|
|
11
|
-
|
|
11
|
+
for (var i = 0; i < allTabs.length; i++) {
|
|
12
|
+
var nextIndex = getCircularIndex(desiredIndex + delta * i, allTabs.length);
|
|
12
13
|
|
|
13
14
|
if (nextIndex !== null && !allTabs[nextIndex].disabled) {
|
|
14
15
|
return nextIndex;
|
|
@@ -18,35 +19,35 @@ function getNextIndex(desiredIndex, delta, allTabs) {
|
|
|
18
19
|
return null;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
export var Tab = /*#__PURE__*/forwardRef(function Tab(props, forwardedRef) {
|
|
23
|
+
var _ref = props,
|
|
24
|
+
_ref$as = _ref.as,
|
|
25
|
+
Comp = _ref$as === void 0 ? 'button' : _ref$as,
|
|
26
|
+
onKeyDown = _ref.onKeyDown,
|
|
27
|
+
onClick = _ref.onClick,
|
|
28
|
+
_ref$index = _ref.index,
|
|
29
|
+
tabIndex = _ref$index === void 0 ? -1 : _ref$index,
|
|
30
|
+
otherProps = _objectWithoutProperties(_ref, ["as", "onKeyDown", "onClick", "index"]);
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
var tabContext = useTabsContext();
|
|
33
|
+
var tabListContext = useTabListContext();
|
|
34
|
+
var ref = useRef(undefined);
|
|
34
35
|
|
|
35
36
|
if (!tabContext || !tabListContext) {
|
|
36
37
|
throw new Error('Missing <Tabs /> or <TabList /> in the component tree');
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
41
|
+
var right = tabListContext.vertical ? 'ArrowDown' : 'ArrowRight';
|
|
42
|
+
var left = tabListContext.vertical ? 'ArrowUp' : 'ArrowLeft';
|
|
43
|
+
var first = 'Home';
|
|
44
|
+
var last = 'End';
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
var navigateIndex = function navigateIndex(desiredIndex, isLast) {
|
|
47
|
+
var delta = e.key === right || e.key === first ? 1 : -1;
|
|
48
|
+
var allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);
|
|
49
|
+
var currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;
|
|
50
|
+
var nextIndex = getNextIndex(isLast ? desiredIndex : currentIndex + desiredIndex, delta, allTabs);
|
|
50
51
|
|
|
51
52
|
if (nextIndex !== null && nextIndex !== currentIndex && tabContext.onChange) {
|
|
52
53
|
allTabs[nextIndex].focus();
|
|
@@ -72,16 +73,16 @@ export const Tab = /*#__PURE__*/forwardRef(function Tab(props, forwardedRef) {
|
|
|
72
73
|
}
|
|
73
74
|
};
|
|
74
75
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
var handleClick = function handleClick(e) {
|
|
77
|
+
var allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);
|
|
78
|
+
var currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;
|
|
78
79
|
|
|
79
80
|
if (currentIndex >= 0) {
|
|
80
81
|
tabContext.onChange && tabContext.onChange(e, currentIndex);
|
|
81
82
|
}
|
|
82
83
|
};
|
|
83
84
|
|
|
84
|
-
|
|
85
|
+
var isSelected = tabIndex === tabContext.currentIndex;
|
|
85
86
|
return /*#__PURE__*/_jsx(Comp, _extends({}, otherProps, {
|
|
86
87
|
ref: assignMultipleRefs(ref, forwardedRef),
|
|
87
88
|
"data-tab": "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tabs/Tab.tsx"],"names":["forwardRef","useRef","useTabsContext","useTabListContext","assignMultipleRefs","getCircularIndex","wrapEvent","scopeQuery","getNextIndex","desiredIndex","delta","allTabs","i","length","nextIndex","disabled","Tab","props","forwardedRef","as","Comp","onKeyDown","onClick","index","tabIndex","otherProps","tabContext","tabListContext","ref","undefined","Error","handleKeyDown","e","right","vertical","left","first","last","navigateIndex","isLast","key","tabsScope","current","queryAllNodes","currentIndex","indexOf","onChange","focus","manualActivation","handleClick","isSelected","tabListId"],"mappings":";;AAAA,SAASA,UAAT,EAAqBC,MAArB,QAAmC,OAAnC;AAEA,SAASC,cAAT,EAAyBC,iBAAzB,QAAkD,WAAlD;AACA,SAASC,kBAAT,EAA6BC,gBAA7B,EAA+CC,SAA/C,QAAgE,UAAhE;AACA,SAASC,UAAT,QAA2B,cAA3B;;;AAEA,SAASC,YAAT,CACEC,YADF,EAEEC,KAFF,EAGEC,OAHF,EAIE;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,OAAO,CAACE,MAA5B,EAAoCD,CAAC,EAArC,EAAyC;AACvC,
|
|
1
|
+
{"version":3,"sources":["../../../src/Tabs/Tab.tsx"],"names":["forwardRef","useRef","React","useTabsContext","useTabListContext","assignMultipleRefs","getCircularIndex","wrapEvent","scopeQuery","getNextIndex","desiredIndex","delta","allTabs","i","length","nextIndex","disabled","Tab","props","forwardedRef","as","Comp","onKeyDown","onClick","index","tabIndex","otherProps","tabContext","tabListContext","ref","undefined","Error","handleKeyDown","e","right","vertical","left","first","last","navigateIndex","isLast","key","tabsScope","current","queryAllNodes","currentIndex","indexOf","onChange","focus","manualActivation","handleClick","isSelected","tabListId"],"mappings":"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","sourcesContent":["import { forwardRef, useRef } from 'react';\nimport * as React from 'react';\n\nimport { useTabsContext, useTabListContext } from './context';\nimport { assignMultipleRefs, getCircularIndex, wrapEvent } from '../utils';\nimport { scopeQuery } from './scopeQuery';\n\nfunction getNextIndex(\n desiredIndex: number,\n delta: number,\n allTabs: HTMLButtonElement[]\n) {\n for (let i = 0; i < allTabs.length; i++) {\n const nextIndex = getCircularIndex(\n desiredIndex + delta * i,\n allTabs.length\n );\n\n if (nextIndex !== null && !allTabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n\n return null;\n}\n\nexport interface TabProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(function Tab(\n props,\n forwardedRef\n) {\n const {\n as: Comp = 'button',\n onKeyDown,\n onClick,\n index: tabIndex = -1,\n ...otherProps\n } = props as TabProps & { index: number };\n const tabContext = useTabsContext();\n const tabListContext = useTabListContext();\n\n const ref = useRef<HTMLButtonElement | undefined>(undefined);\n\n if (!tabContext || !tabListContext) {\n throw new Error('Missing <Tabs /> or <TabList /> in the component tree');\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n const right = tabListContext.vertical ? 'ArrowDown' : 'ArrowRight';\n const left = tabListContext.vertical ? 'ArrowUp' : 'ArrowLeft';\n const first = 'Home';\n const last = 'End';\n\n const navigateIndex = (desiredIndex: number, isLast: boolean) => {\n const delta = e.key === right || e.key === first ? 1 : -1;\n\n const allTabs =\n tabListContext.tabsScope.current.queryAllNodes(scopeQuery);\n const currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;\n\n const nextIndex = getNextIndex(\n isLast ? desiredIndex : currentIndex + desiredIndex,\n delta,\n allTabs as HTMLButtonElement[]\n );\n\n if (\n nextIndex !== null &&\n nextIndex !== currentIndex &&\n tabContext.onChange\n ) {\n allTabs[nextIndex].focus();\n !tabListContext.manualActivation && tabContext.onChange(e, nextIndex);\n }\n };\n\n switch (e.key) {\n case right:\n case left: {\n navigateIndex(e.key === right ? 1 : -1, false);\n break;\n }\n case first: // Home / End\n case last: {\n navigateIndex(e.key === first ? 0 : -1, true);\n break;\n }\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);\n const currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;\n\n if (currentIndex >= 0) {\n tabContext.onChange && tabContext.onChange(e, currentIndex);\n }\n };\n\n const isSelected = tabIndex === tabContext.currentIndex;\n\n return (\n <Comp\n {...otherProps}\n ref={assignMultipleRefs(ref, forwardedRef)}\n data-tab=\"\"\n id={\n tabContext.tabListId !== null && tabIndex >= 0\n ? `tab-${tabContext.tabListId}-${tabIndex}`\n : undefined\n }\n aria-controls={\n tabContext.tabListId !== null && tabIndex >= 0\n ? `tabpanel-${tabContext.tabListId}-${tabIndex}`\n : undefined\n }\n role=\"tab\"\n tabIndex={isSelected ? 0 : -1}\n aria-selected={isSelected}\n selected={isSelected}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onClick={wrapEvent(onClick, handleClick)}\n />\n );\n});\n"],"file":"Tab.js"}
|
|
@@ -1,46 +1,50 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
import { forwardRef, useRef, useEffect, Children, cloneElement, useId } from 'react';
|
|
4
|
+
import * as React from 'react';
|
|
4
5
|
import { TabListProvider, useTabsContext } from './context';
|
|
5
6
|
import { useScope } from '../hooks';
|
|
6
7
|
import { assignMultipleRefs } from '../utils';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
export var TabList = /*#__PURE__*/forwardRef(function TabList(props, forwardedRef) {
|
|
10
|
+
var _props$as = props.as,
|
|
11
|
+
Comp = _props$as === void 0 ? 'div' : _props$as,
|
|
12
|
+
_props$manualActivati = props.manualActivation,
|
|
13
|
+
manualActivation = _props$manualActivati === void 0 ? false : _props$manualActivati,
|
|
14
|
+
_props$vertical = props.vertical,
|
|
15
|
+
vertical = _props$vertical === void 0 ? false : _props$vertical,
|
|
16
|
+
childrenProps = props.children,
|
|
17
|
+
otherProps = _objectWithoutProperties(props, ["as", "manualActivation", "vertical", "children"]);
|
|
16
18
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
var ref = useRef();
|
|
20
|
+
var tabsScope = useScope(ref);
|
|
21
|
+
var tabsContext = useTabsContext();
|
|
22
|
+
var id = useId();
|
|
21
23
|
|
|
22
24
|
if (!tabsContext) {
|
|
23
25
|
throw new Error('Missing <Tabs /> in the component tree');
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
useEffect(()
|
|
28
|
+
useEffect(function () {
|
|
27
29
|
if (id !== undefined) {
|
|
28
30
|
tabsContext.setTabListId(id);
|
|
29
|
-
return ()
|
|
31
|
+
return function () {
|
|
30
32
|
tabsContext.setTabListId(null);
|
|
31
33
|
};
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
return;
|
|
35
37
|
}, [id, tabsContext, tabsContext.setTabListId]);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
var children = Children.map(childrenProps, function (node, index) {
|
|
39
|
+
return /*#__PURE__*/cloneElement(node, {
|
|
40
|
+
index: index
|
|
41
|
+
});
|
|
42
|
+
});
|
|
39
43
|
return /*#__PURE__*/_jsx(TabListProvider, {
|
|
40
44
|
value: {
|
|
41
|
-
tabsScope,
|
|
42
|
-
manualActivation,
|
|
43
|
-
vertical
|
|
45
|
+
tabsScope: tabsScope,
|
|
46
|
+
manualActivation: manualActivation,
|
|
47
|
+
vertical: vertical
|
|
44
48
|
},
|
|
45
49
|
children: /*#__PURE__*/_jsx(Comp, _extends({
|
|
46
50
|
ref: assignMultipleRefs(forwardedRef, ref),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tabs/TabList.tsx"],"names":["forwardRef","useRef","useEffect","Children","cloneElement","useId","TabListProvider","useTabsContext","useScope","assignMultipleRefs","TabList","props","forwardedRef","as","Comp","manualActivation","vertical","
|
|
1
|
+
{"version":3,"sources":["../../../src/Tabs/TabList.tsx"],"names":["forwardRef","useRef","useEffect","Children","cloneElement","useId","React","TabListProvider","useTabsContext","useScope","assignMultipleRefs","TabList","props","forwardedRef","as","Comp","manualActivation","vertical","childrenProps","children","otherProps","ref","tabsScope","tabsContext","id","Error","undefined","setTabListId","map","node","index"],"mappings":";;AAAA,SACEA,UADF,EAEEC,MAFF,EAGEC,SAHF,EAIEC,QAJF,EAKEC,YALF,EAMEC,KANF,QAOO,OAPP;AAQA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,eAAT,EAA0BC,cAA1B,QAAgD,WAAhD;AACA,SAASC,QAAT,QAAyB,UAAzB;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAUA,OAAO,IAAMC,OAAO,gBAAGX,UAAU,CAC/B,SAASW,OAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAsC;AAAA,kBAOhCD,KAPgC,CAElCE,EAFkC;AAAA,MAE9BC,IAF8B,0BAEvB,KAFuB;AAAA,8BAOhCH,KAPgC,CAGlCI,gBAHkC;AAAA,MAGlCA,gBAHkC,sCAGf,KAHe;AAAA,wBAOhCJ,KAPgC,CAIlCK,QAJkC;AAAA,MAIlCA,QAJkC,gCAIvB,KAJuB;AAAA,MAKxBC,aALwB,GAOhCN,KAPgC,CAKlCO,QALkC;AAAA,MAM/BC,UAN+B,4BAOhCR,KAPgC;;AASpC,MAAMS,GAAG,GAAGpB,MAAM,EAAlB;AACA,MAAMqB,SAAS,GAAGb,QAAQ,CAACY,GAAD,CAA1B;AACA,MAAME,WAAW,GAAGf,cAAc,EAAlC;AACA,MAAMgB,EAAE,GAAGnB,KAAK,EAAhB;;AAEA,MAAI,CAACkB,WAAL,EAAkB;AAChB,UAAM,IAAIE,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAEDvB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIsB,EAAE,KAAKE,SAAX,EAAsB;AACpBH,MAAAA,WAAW,CAACI,YAAZ,CAAyBH,EAAzB;AAEA,aAAO,YAAM;AACXD,QAAAA,WAAW,CAACI,YAAZ,CAAyB,IAAzB;AACD,OAFD;AAGD;;AAED;AACD,GAVQ,EAUN,CAACH,EAAD,EAAKD,WAAL,EAAkBA,WAAW,CAACI,YAA9B,CAVM,CAAT;AAYA,MAAMR,QAAQ,GAAGhB,QAAQ,CAACyB,GAAT,CAAaV,aAAb,EAA4B,UAACW,IAAD,EAAOC,KAAP;AAAA,wBAC3C1B,YAAY,CAACyB,IAAD,EAAc;AAAEC,MAAAA,KAAK,EAALA;AAAF,KAAd,CAD+B;AAAA,GAA5B,CAAjB;AAIA,sBACE,KAAC,eAAD;AAAiB,IAAA,KAAK,EAAE;AAAER,MAAAA,SAAS,EAATA,SAAF;AAAaN,MAAAA,gBAAgB,EAAhBA,gBAAb;AAA+BC,MAAAA,QAAQ,EAARA;AAA/B,KAAxB;AAAA,2BACE,KAAC,IAAD;AACE,MAAA,GAAG,EAAEP,kBAAkB,CAACG,YAAD,EAAeQ,GAAf,CADzB;AAEE,uBAAc,EAFhB;AAGE,MAAA,IAAI,EAAC;AAHP,OAIMD,UAJN;AAAA,gBAMGD;AANH;AADF,IADF;AAYD,CA/C8B,CAA1B","sourcesContent":["import {\n forwardRef,\n useRef,\n useEffect,\n Children,\n cloneElement,\n useId,\n} from 'react';\nimport * as React from 'react';\n\nimport { TabListProvider, useTabsContext } from './context';\nimport { useScope } from '../hooks';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface TabListProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n manualActivation?: boolean;\n vertical?: boolean;\n children?: React.ReactNode;\n}\n\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(\n function TabList(props, forwardedRef) {\n const {\n as: Comp = 'div',\n manualActivation = false,\n vertical = false,\n children: childrenProps,\n ...otherProps\n } = props;\n\n const ref = useRef();\n const tabsScope = useScope(ref);\n const tabsContext = useTabsContext();\n const id = useId();\n\n if (!tabsContext) {\n throw new Error('Missing <Tabs /> in the component tree');\n }\n\n useEffect(() => {\n if (id !== undefined) {\n tabsContext.setTabListId(id);\n\n return () => {\n tabsContext.setTabListId(null);\n };\n }\n\n return;\n }, [id, tabsContext, tabsContext.setTabListId]);\n\n const children = Children.map(childrenProps, (node, index) =>\n cloneElement(node as any, { index })\n );\n\n return (\n <TabListProvider value={{ tabsScope, manualActivation, vertical }}>\n <Comp\n ref={assignMultipleRefs(forwardedRef, ref)}\n data-tab-list=\"\"\n role=\"tablist\"\n {...otherProps}\n >\n {children}\n </Comp>\n </TabListProvider>\n );\n }\n);\n"],"file":"TabList.js"}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
|
+
import * as React from 'react';
|
|
4
5
|
import { useTabsContext } from './context';
|
|
5
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
export var TabPanel = /*#__PURE__*/forwardRef(function TabPanel(props, forwardedRef) {
|
|
8
|
+
var _ref = props,
|
|
9
|
+
_ref$as = _ref.as,
|
|
10
|
+
Comp = _ref$as === void 0 ? 'div' : _ref$as,
|
|
11
|
+
index = _ref.index,
|
|
12
|
+
_ref$lazy = _ref.lazy,
|
|
13
|
+
lazy = _ref$lazy === void 0 ? false : _ref$lazy,
|
|
14
|
+
children = _ref.children,
|
|
15
|
+
otherProps = _objectWithoutProperties(_ref, ["as", "index", "lazy", "children"]);
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
var tabsContext = useTabsContext();
|
|
17
18
|
|
|
18
19
|
if (!tabsContext) {
|
|
19
20
|
throw new Error('Missing <Tabs /> in the component tree.');
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
var isSelected = tabsContext.currentIndex === index;
|
|
23
24
|
return /*#__PURE__*/_jsx(Comp, _extends({
|
|
24
25
|
ref: forwardedRef,
|
|
25
26
|
"data-tab-panel": "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tabs/TabPanel.tsx"],"names":["forwardRef","useTabsContext","TabPanel","props","forwardedRef","as","Comp","index","lazy","children","otherProps","tabsContext","Error","isSelected","currentIndex","tabListId","undefined"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,cAAT,QAA+B,WAA/B;;AASA,OAAO,
|
|
1
|
+
{"version":3,"sources":["../../../src/Tabs/TabPanel.tsx"],"names":["forwardRef","React","useTabsContext","TabPanel","props","forwardedRef","as","Comp","index","lazy","children","otherProps","tabsContext","Error","isSelected","currentIndex","tabListId","undefined"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,cAAT,QAA+B,WAA/B;;AASA,OAAO,IAAMC,QAAQ,gBAAGH,UAAU,CAChC,SAASG,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;AAAA,aAOjCD,KAPiC;AAAA,qBAEnCE,EAFmC;AAAA,MAE/BC,IAF+B,wBAExB,KAFwB;AAAA,MAGnCC,KAHmC,QAGnCA,KAHmC;AAAA,uBAInCC,IAJmC;AAAA,MAInCA,IAJmC,0BAI5B,KAJ4B;AAAA,MAKnCC,QALmC,QAKnCA,QALmC;AAAA,MAMhCC,UANgC;;AAQrC,MAAMC,WAAW,GAAGV,cAAc,EAAlC;;AAEA,MAAI,CAACU,WAAL,EAAkB;AAChB,UAAM,IAAIC,KAAJ,CAAU,yCAAV,CAAN;AACD;;AAED,MAAMC,UAAU,GAAGF,WAAW,CAACG,YAAZ,KAA6BP,KAAhD;AAEA,sBACE,KAAC,IAAD;AACE,IAAA,GAAG,EAAEH,YADP;AAEE,sBAAe,EAFjB;AAGE,IAAA,IAAI,EAAC,UAHP;AAIE,IAAA,EAAE,EACAO,WAAW,CAACI,SAAZ,KAA0B,IAA1B,sBACgBJ,WAAW,CAACI,SAD5B,cACyCR,KADzC,IAEIS,SAPR;AASE,uBACEL,WAAW,CAACI,SAAZ,KAA0B,IAA1B,iBACWJ,WAAW,CAACI,SADvB,cACoCR,KADpC,IAEIS,SAZR;AAcE,IAAA,MAAM,EAAEH,UAAU,GAAGG,SAAH,GAAe,QAdnC;AAeE,IAAA,QAAQ,EAAE;AAfZ,KAgBMN,UAhBN;AAAA,cAkBG,CAACG,UAAU,IAAI,CAACL,IAAhB,KAAyBC;AAlB5B,KADF;AAsBD,CAvC+B,CAA3B","sourcesContent":["import { forwardRef } from 'react';\nimport * as React from 'react';\n\nimport { useTabsContext } from './context';\n\nexport interface TabPanelProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n lazy?: boolean;\n}\n\nexport const TabPanel = forwardRef<HTMLDivElement, TabPanelProps>(\n function TabPanel(props, forwardedRef) {\n const {\n as: Comp = 'div',\n index,\n lazy = false,\n children,\n ...otherProps\n } = props as TabPanelProps & { index: number };\n const tabsContext = useTabsContext();\n\n if (!tabsContext) {\n throw new Error('Missing <Tabs /> in the component tree.');\n }\n\n const isSelected = tabsContext.currentIndex === index;\n\n return (\n <Comp\n ref={forwardedRef}\n data-tab-panel=\"\"\n role=\"tabpanel\"\n id={\n tabsContext.tabListId !== null\n ? `tabpanel-${tabsContext.tabListId}-${index}`\n : undefined\n }\n aria-labelledby={\n tabsContext.tabListId !== null\n ? `tab-${tabsContext.tabListId}-${index}`\n : undefined\n }\n hidden={isSelected ? undefined : 'hidden'}\n tabIndex={0}\n {...otherProps}\n >\n {(isSelected || !lazy) && children}\n </Comp>\n );\n }\n);\n"],"file":"TabPanel.js"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
import { forwardRef, Fragment, Children, cloneElement } from 'react';
|
|
4
|
+
import * as React from 'react';
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
otherProps = _objectWithoutPropertiesLoose(props, ["as", "children", "lazy"]);
|
|
6
|
+
export var TabPanels = /*#__PURE__*/forwardRef(function TabPanels(props, forwardedRef) {
|
|
7
|
+
var _props$as = props.as,
|
|
8
|
+
Comp = _props$as === void 0 ? Fragment : _props$as,
|
|
9
|
+
childrenProps = props.children,
|
|
10
|
+
lazy = props.lazy,
|
|
11
|
+
otherProps = _objectWithoutProperties(props, ["as", "children", "lazy"]);
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
var children = Children.map(childrenProps, function (node, index) {
|
|
14
|
+
return /*#__PURE__*/cloneElement(node, {
|
|
15
|
+
index: index,
|
|
16
|
+
lazy: lazy
|
|
17
|
+
});
|
|
18
|
+
});
|
|
17
19
|
return /*#__PURE__*/_jsx(Comp, _extends({
|
|
18
20
|
ref: forwardedRef
|
|
19
21
|
}, otherProps, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tabs/TabPanels.tsx"],"names":["forwardRef","Fragment","Children","cloneElement","TabPanels","props","forwardedRef","as","Comp","
|
|
1
|
+
{"version":3,"sources":["../../../src/Tabs/TabPanels.tsx"],"names":["forwardRef","Fragment","Children","cloneElement","React","TabPanels","props","forwardedRef","as","Comp","childrenProps","children","lazy","otherProps","map","node","index"],"mappings":";;AAAA,SAASA,UAAT,EAAqBC,QAArB,EAA+BC,QAA/B,EAAyCC,YAAzC,QAA6D,OAA7D;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;;AASA,OAAO,IAAMC,SAAS,gBAAGL,UAAU,CACjC,SAASK,SAAT,CAAmBC,KAAnB,EAA0BC,YAA1B,EAAwC;AAAA,kBAMlCD,KANkC,CAEpCE,EAFoC;AAAA,MAEhCC,IAFgC,0BAEzBR,QAFyB;AAAA,MAG1BS,aAH0B,GAMlCJ,KANkC,CAGpCK,QAHoC;AAAA,MAIpCC,IAJoC,GAMlCN,KANkC,CAIpCM,IAJoC;AAAA,MAKjCC,UALiC,4BAMlCP,KANkC;;AAQtC,MAAMK,QAAQ,GAAGT,QAAQ,CAACY,GAAT,CAAaJ,aAAb,EAA4B,UAACK,IAAD,EAAOC,KAAP;AAAA,wBAC3Cb,YAAY,CAACY,IAAD,EAAc;AAAEC,MAAAA,KAAK,EAALA,KAAF;AAASJ,MAAAA,IAAI,EAAJA;AAAT,KAAd,CAD+B;AAAA,GAA5B,CAAjB;AAIA,sBACE,KAAC,IAAD;AAAM,IAAA,GAAG,EAAEL;AAAX,KAA6BM,UAA7B;AAAA,cACGF;AADH,KADF;AAKD,CAlBgC,CAA5B","sourcesContent":["import { forwardRef, Fragment, Children, cloneElement } from 'react';\nimport * as React from 'react';\n\nexport interface TabPanelsProps {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n lazy?: boolean;\n children?: React.ReactNode;\n}\n\nexport const TabPanels = forwardRef<HTMLDivElement, TabPanelsProps>(\n function TabPanels(props, forwardedRef) {\n const {\n as: Comp = Fragment,\n children: childrenProps,\n lazy,\n ...otherProps\n } = props;\n\n const children = Children.map(childrenProps, (node, index) =>\n cloneElement(node as any, { index, lazy })\n );\n\n return (\n <Comp ref={forwardedRef} {...otherProps}>\n {children}\n </Comp>\n );\n }\n);\n"],"file":"TabPanels.js"}
|
package/build/esm/Tabs/Tabs.d.ts
CHANGED
package/build/esm/Tabs/Tabs.js
CHANGED
|
@@ -1,26 +1,40 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
4
|
import { forwardRef, Fragment, useState } from 'react';
|
|
5
|
+
import * as React from 'react';
|
|
4
6
|
import { TabsProvider } from './context';
|
|
5
7
|
import { useControlledState } from '../hooks';
|
|
6
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
export var Tabs = /*#__PURE__*/forwardRef(function Tabs(props, forwardedRef) {
|
|
10
|
+
var _props$as = props.as,
|
|
11
|
+
Comp = _props$as === void 0 ? Fragment : _props$as,
|
|
12
|
+
indexProp = props.index,
|
|
13
|
+
onChangeProp = props.onChange,
|
|
14
|
+
_props$defaultIndex = props.defaultIndex,
|
|
15
|
+
defaultIndex = _props$defaultIndex === void 0 ? 0 : _props$defaultIndex,
|
|
16
|
+
otherProps = _objectWithoutProperties(props, ["as", "index", "onChange", "defaultIndex"]);
|
|
17
|
+
|
|
18
|
+
var _useControlledState = useControlledState(indexProp, onChangeProp, defaultIndex, function (setState) {
|
|
19
|
+
return function (e, idx) {
|
|
20
|
+
return setState(idx);
|
|
21
|
+
};
|
|
22
|
+
}),
|
|
23
|
+
_useControlledState2 = _slicedToArray(_useControlledState, 2),
|
|
24
|
+
index = _useControlledState2[0],
|
|
25
|
+
onChange = _useControlledState2[1];
|
|
26
|
+
|
|
27
|
+
var _useState = useState(null),
|
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
+
tabListId = _useState2[0],
|
|
30
|
+
setTabListId = _useState2[1];
|
|
15
31
|
|
|
16
|
-
const [index, onChange] = useControlledState(indexProp, onChangeProp, defaultIndex, setState => (e, idx) => setState(idx));
|
|
17
|
-
const [tabListId, setTabListId] = useState(null);
|
|
18
32
|
return /*#__PURE__*/_jsx(TabsProvider, {
|
|
19
33
|
value: {
|
|
20
34
|
currentIndex: index || 0,
|
|
21
|
-
onChange,
|
|
22
|
-
tabListId,
|
|
23
|
-
setTabListId
|
|
35
|
+
onChange: onChange,
|
|
36
|
+
tabListId: tabListId,
|
|
37
|
+
setTabListId: setTabListId
|
|
24
38
|
},
|
|
25
39
|
children: /*#__PURE__*/_jsx(Comp, _extends({
|
|
26
40
|
ref: forwardedRef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tabs/Tabs.tsx"],"names":["forwardRef","Fragment","useState","TabsProvider","useControlledState","Tabs","props","forwardedRef","as","Comp","
|
|
1
|
+
{"version":3,"sources":["../../../src/Tabs/Tabs.tsx"],"names":["forwardRef","Fragment","useState","React","TabsProvider","useControlledState","Tabs","props","forwardedRef","as","Comp","indexProp","index","onChangeProp","onChange","defaultIndex","otherProps","setState","e","idx","tabListId","setTabListId","currentIndex"],"mappings":";;;AAAA,SAASA,UAAT,EAAqBC,QAArB,EAA+BC,QAA/B,QAA+C,OAA/C;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAgBA,OAAO,IAAMC,IAAI,gBAAGN,UAAU,CAA4B,SAASM,IAAT,CACxDC,KADwD,EAExDC,YAFwD,EAGxD;AAAA,kBAOID,KAPJ,CAEEE,EAFF;AAAA,MAEMC,IAFN,0BAEaT,QAFb;AAAA,MAGSU,SAHT,GAOIJ,KAPJ,CAGEK,KAHF;AAAA,MAIYC,YAJZ,GAOIN,KAPJ,CAIEO,QAJF;AAAA,4BAOIP,KAPJ,CAKEQ,YALF;AAAA,MAKEA,YALF,oCAKiB,CALjB;AAAA,MAMKC,UANL,4BAOIT,KAPJ;;AAAA,4BAQ0BF,kBAAkB,CAC1CM,SAD0C,EAE1CE,YAF0C,EAG1CE,YAH0C,EAI1C,UAACE,QAAD;AAAA,WAAc,UAACC,CAAD,EAAIC,GAAJ;AAAA,aAAYF,QAAQ,CAACE,GAAD,CAApB;AAAA,KAAd;AAAA,GAJ0C,CAR5C;AAAA;AAAA,MAQOP,KARP;AAAA,MAQcE,QARd;;AAAA,kBAekCZ,QAAQ,CAAgB,IAAhB,CAf1C;AAAA;AAAA,MAeOkB,SAfP;AAAA,MAekBC,YAflB;;AAiBA,sBACE,KAAC,YAAD;AACE,IAAA,KAAK,EAAE;AAAEC,MAAAA,YAAY,EAAEV,KAAK,IAAI,CAAzB;AAA4BE,MAAAA,QAAQ,EAARA,QAA5B;AAAsCM,MAAAA,SAAS,EAATA,SAAtC;AAAiDC,MAAAA,YAAY,EAAZA;AAAjD,KADT;AAAA,2BAGE,KAAC,IAAD;AAAM,MAAA,GAAG,EAAEb;AAAX,OAA6BQ,UAA7B;AAHF,IADF;AAOD,CA3B6B,CAAvB","sourcesContent":["import { forwardRef, Fragment, useState } from 'react';\nimport * as React from 'react';\n\nimport { TabsProvider } from './context';\nimport { useControlledState } from '../hooks';\n\nexport interface TabsProps {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n onChange?: (\n e:\n | React.MouseEvent<HTMLButtonElement>\n | React.KeyboardEvent<HTMLButtonElement>,\n value: number\n ) => void;\n index?: number;\n defaultIndex?: number;\n}\n\nexport const Tabs = forwardRef<HTMLDivElement, TabsProps>(function Tabs(\n props,\n forwardedRef\n) {\n const {\n as: Comp = Fragment,\n index: indexProp,\n onChange: onChangeProp,\n defaultIndex = 0,\n ...otherProps\n } = props;\n const [index, onChange] = useControlledState(\n indexProp,\n onChangeProp,\n defaultIndex,\n (setState) => (e, idx) => setState(idx)\n );\n\n const [tabListId, setTabListId] = useState<string | null>(null);\n\n return (\n <TabsProvider\n value={{ currentIndex: index || 0, onChange, tabListId, setTabListId }}\n >\n <Comp ref={forwardedRef} {...otherProps} />\n </TabsProvider>\n );\n});\n"],"file":"Tabs.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { Scope } from '../hooks/useScope';
|
|
2
|
+
import type { Scope } from '../hooks/useScope';
|
|
3
3
|
export interface TabsContextProps {
|
|
4
4
|
currentIndex: number;
|
|
5
5
|
onChange?: (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>, value: number) => void;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { createContext, useContext } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
var tabsContext = /*#__PURE__*/createContext(null);
|
|
3
|
+
var TabsProvider = tabsContext.Provider;
|
|
4
|
+
export { TabsProvider };
|
|
5
|
+
export var useTabsContext = function useTabsContext() {
|
|
6
|
+
return useContext(tabsContext);
|
|
7
|
+
}; // TabList Component
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
var tablistContext = /*#__PURE__*/createContext(null);
|
|
10
|
+
var TabListProvider = tablistContext.Provider;
|
|
11
|
+
export { TabListProvider };
|
|
12
|
+
export var useTabListContext = function useTabListContext() {
|
|
13
|
+
return useContext(tablistContext);
|
|
14
|
+
};
|
|
13
15
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tabs/context.ts"],"names":["createContext","useContext","tabsContext","
|
|
1
|
+
{"version":3,"sources":["../../../src/Tabs/context.ts"],"names":["createContext","useContext","tabsContext","TabsProvider","Provider","useTabsContext","tablistContext","TabListProvider","useTabListContext"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAiBA,IAAMC,WAAW,gBAAGF,aAAa,CAA0B,IAA1B,CAAjC;IACyBG,Y,GAAiBD,W,CAA3BE,Q;;AACf,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB;AAAA,SAAMJ,UAAU,CAACC,WAAD,CAAhB;AAAA,CAAvB,C,CAEP;;AAOA,IAAMI,cAAc,gBAAGN,aAAa,CAA6B,IAA7B,CAApC;IACyBO,e,GAAoBD,c,CAA9BF,Q;;AACf,OAAO,IAAMI,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAAMP,UAAU,CAACK,cAAD,CAAhB;AAAA,CAA1B","sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { Scope } from '../hooks/useScope';\n\n// Tabs Component\nexport interface TabsContextProps {\n currentIndex: number;\n onChange?: (\n e:\n | React.MouseEvent<HTMLButtonElement>\n | React.KeyboardEvent<HTMLButtonElement>,\n value: number\n ) => void;\n tabListId: string | null;\n setTabListId: (v: string | null) => void;\n}\n\nconst tabsContext = createContext<TabsContextProps | null>(null);\nexport const { Provider: TabsProvider } = tabsContext;\nexport const useTabsContext = () => useContext(tabsContext);\n\n// TabList Component\nexport interface TabListContextProps {\n tabsScope: Scope<HTMLElement>;\n manualActivation: boolean;\n vertical: boolean;\n}\n\nconst tablistContext = createContext<TabListContextProps | null>(null);\nexport const { Provider: TabListProvider } = tablistContext;\nexport const useTabListContext = () => useContext(tablistContext);\n"],"file":"context.js"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RefAttributes } from 'react';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
export type { InjectedTooltipProps } from './useTooltip';
|
|
3
4
|
export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
@@ -7,4 +8,4 @@ export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
7
8
|
label: React.ReactNode;
|
|
8
9
|
disabled?: boolean;
|
|
9
10
|
}
|
|
10
|
-
export declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps &
|
|
11
|
+
export declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & RefAttributes<HTMLDivElement>>;
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
4
|
import React, { forwardRef, cloneElement, Children } from 'react';
|
|
4
5
|
import { useTooltip } from './useTooltip';
|
|
5
6
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
export var Tooltip = /*#__PURE__*/forwardRef(function Tooltip(props, forwardedRef) {
|
|
10
|
+
var _props$as = props.as,
|
|
11
|
+
Comp = _props$as === void 0 ? 'div' : _props$as,
|
|
12
|
+
innerAs = props.innerAs,
|
|
13
|
+
children = props.children,
|
|
14
|
+
_props$disabled = props.disabled,
|
|
15
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
16
|
+
otherProps = _objectWithoutProperties(props, ["as", "innerAs", "children", "disabled"]);
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
const [childProps, _ref] = useTooltip(child.props, child.ref, otherProps);
|
|
18
|
+
var child = Children.only(children);
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
var _useTooltip = useTooltip(child.props, child.ref, otherProps),
|
|
21
|
+
_useTooltip2 = _slicedToArray(_useTooltip, 2),
|
|
22
|
+
childProps = _useTooltip2[0],
|
|
23
|
+
_useTooltip2$ = _useTooltip2[1],
|
|
24
|
+
visible = _useTooltip2$.visible,
|
|
25
|
+
tooltipProps = _objectWithoutProperties(_useTooltip2$, ["visible"]);
|
|
24
26
|
|
|
25
27
|
if (disabled) {
|
|
26
28
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tooltip/Tooltip.tsx"],"names":["React","forwardRef","cloneElement","Children","useTooltip","Tooltip","props","forwardedRef","as","Comp","innerAs","children","disabled","otherProps","child","only","
|
|
1
|
+
{"version":3,"sources":["../../../src/Tooltip/Tooltip.tsx"],"names":["React","forwardRef","cloneElement","Children","useTooltip","Tooltip","props","forwardedRef","as","Comp","innerAs","children","disabled","otherProps","child","only","ref","childProps","visible","tooltipProps"],"mappings":";;;AACA,OAAOA,KAAP,IAAgBC,UAAhB,EAA4BC,YAA5B,EAA0CC,QAA1C,QAA0D,OAA1D;AAEA,SAASC,UAAT,QAA2B,cAA3B;;;;AAWA,OAAO,IAAMC,OAAO,gBAAGJ,UAAU,CAC/B,SAASI,OAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAsC;AAAA,kBAOhCD,KAPgC,CAElCE,EAFkC;AAAA,MAE9BC,IAF8B,0BAEvB,KAFuB;AAAA,MAGlCC,OAHkC,GAOhCJ,KAPgC,CAGlCI,OAHkC;AAAA,MAIlCC,QAJkC,GAOhCL,KAPgC,CAIlCK,QAJkC;AAAA,wBAOhCL,KAPgC,CAKlCM,QALkC;AAAA,MAKlCA,QALkC,gCAKvB,KALuB;AAAA,MAM/BC,UAN+B,4BAOhCP,KAPgC;;AAQpC,MAAMQ,KAAwC,GAAGX,QAAQ,CAACY,IAAT,CAC/CJ,QAD+C,CAAjD;;AARoC,oBAWeP,UAAU,CAC3DU,KAAK,CAACR,KADqD,EAE3DQ,KAAK,CAACE,GAFqD,EAG3DH,UAH2D,CAXzB;AAAA;AAAA,MAW7BI,UAX6B;AAAA;AAAA,MAWfC,OAXe,iBAWfA,OAXe;AAAA,MAWHC,YAXG;;AAiBpC,MAAIP,QAAJ,EAAc;AACZ,wBAAO;AAAA,gBAAGE;AAAH,MAAP;AACD;;AAED,sBACE;AAAA,4BACGZ,YAAY,CAACY,KAAD,EAAQG,UAAR,CADf,EAEGC,OAAO,iBAAI,KAAC,IAAD;AAAM,MAAA,EAAE,EAAER,OAAV;AAAmB,MAAA,GAAG,EAAEH;AAAxB,OAA0CY,YAA1C,EAFd;AAAA,IADF;AAMD,CA5B8B,CAA1B","sourcesContent":["import type { ReactElement, RefAttributes } from 'react';\nimport React, { forwardRef, cloneElement, Children } from 'react';\n\nimport { useTooltip } from './useTooltip';\nexport type { InjectedTooltipProps } from './useTooltip';\n\nexport interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n label: React.ReactNode;\n disabled?: boolean;\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip(props, forwardedRef) {\n const {\n as: Comp = 'div',\n innerAs,\n children,\n disabled = false,\n ...otherProps\n } = props;\n const child: ReactElement & RefAttributes<any> = Children.only(\n children\n ) as any;\n const [childProps, { visible, ...tooltipProps }] = useTooltip(\n child.props,\n child.ref,\n otherProps\n );\n\n if (disabled) {\n return <>{child}</>;\n }\n\n return (\n <>\n {cloneElement(child, childProps)}\n {visible && <Comp as={innerAs} ref={forwardedRef} {...tooltipProps} />}\n </>\n );\n }\n);\n"],"file":"Tooltip.js"}
|