@react-spectrum/tabs 3.1.1-nightly.3012 → 3.1.1-nightly.3025
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/main.js +3 -1
- package/dist/main.js.map +1 -1
- package/dist/module.js +3 -1
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/Tabs.tsx +3 -1
package/dist/main.js
CHANGED
|
@@ -233,9 +233,11 @@ function $a016f96d614f365ec6ad3cd2df19b52$var$Tab(props) {
|
|
|
233
233
|
isHovered
|
|
234
234
|
} = useHover(_babelRuntimeHelpersExtends({}, props));
|
|
235
235
|
let isSelected = state.selectedKey === key;
|
|
236
|
+
let domProps = filterDOMProps(item.props);
|
|
237
|
+
delete domProps.id;
|
|
236
238
|
return /*#__PURE__*/_react.createElement(FocusRing, {
|
|
237
239
|
focusRingClass: classNames($a221257d7bd2e9d0c131cda7c75f4f5$$interop$default, 'focus-ring')
|
|
238
|
-
}, /*#__PURE__*/_react.createElement("div", _babelRuntimeHelpersExtends({}, mergeProps(tabProps, hoverProps), {
|
|
240
|
+
}, /*#__PURE__*/_react.createElement("div", _babelRuntimeHelpersExtends({}, mergeProps(tabProps, hoverProps, domProps), {
|
|
239
241
|
ref: ref,
|
|
240
242
|
className: classNames($a221257d7bd2e9d0c131cda7c75f4f5$$interop$default, 'spectrum-Tabs-item', {
|
|
241
243
|
'is-selected': isSelected,
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./node_modules/@adobe/spectrum-css-temp/components/tabs/vars.css","./packages/@react-spectrum/tabs/src/Tabs.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, unwrapDOMRef, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMProps, DOMRef, Node, Orientation} from '@react-types/shared';\nimport {filterDOMProps, useValueEffect} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Item, Picker} from '@react-spectrum/picker';\nimport {ListCollection, SingleSelectListState} from '@react-stately/list';\nimport {mergeProps, useId, useLayoutEffect} from '@react-aria/utils';\nimport React, {Key, MutableRefObject, ReactElement, useCallback, useContext, useEffect, useRef, useState} from 'react';\nimport {SpectrumPickerProps} from '@react-types/select';\nimport {SpectrumTabListProps, SpectrumTabPanelsProps, SpectrumTabsProps} from '@react-types/tabs';\nimport styles from '@adobe/spectrum-css-temp/components/tabs/vars.css';\nimport {TabListState, useTabListState} from '@react-stately/tabs';\nimport {Text} from '@react-spectrum/text';\nimport {useCollection} from '@react-stately/collections';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProvider, useProviderProps} from '@react-spectrum/provider';\nimport {useResizeObserver} from '@react-aria/utils';\nimport {useTab, useTabList, useTabPanel} from '@react-aria/tabs';\n\ninterface TabsContext<T> {\n tabProps: SpectrumTabsProps<T>,\n tabState: {\n tabListState: TabListState<T>,\n setTabListState: (state: TabListState<T>) => void,\n selectedTab: HTMLElement,\n collapse: boolean\n },\n refs: {\n wrapperRef: MutableRefObject<HTMLDivElement>,\n tablistRef: MutableRefObject<HTMLDivElement>\n },\n tabPanelProps: {\n 'aria-labelledby': string\n }\n}\n\nconst TabContext = React.createContext<TabsContext<any>>(null);\n\nfunction Tabs<T extends object>(props: SpectrumTabsProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n orientation = 'horizontal' as Orientation,\n density = 'regular',\n children,\n ...otherProps\n } = props;\n\n let domRef = useDOMRef(ref);\n let tablistRef = useRef<HTMLDivElement>();\n let wrapperRef = useRef<HTMLDivElement>();\n\n let {direction} = useLocale();\n let {styleProps} = useStyleProps(otherProps);\n let [collapse, setCollapse] = useValueEffect(false);\n let [selectedTab, setSelectedTab] = useState<HTMLElement>();\n const [tabListState, setTabListState] = useState<TabListState<T>>(null);\n\n useEffect(() => {\n if (tablistRef.current) {\n let selectedTab: HTMLElement = tablistRef.current.querySelector(`[data-key=\"${tabListState?.selectedKey}\"]`);\n\n if (selectedTab != null) {\n setSelectedTab(selectedTab);\n }\n }\n // collapse is in the dep array so selectedTab can be updated for TabLine positioning\n }, [children, tabListState?.selectedKey, collapse, tablistRef]);\n\n let checkShouldCollapse = useCallback(() => {\n let computeShouldCollapse = () => {\n if (wrapperRef.current) {\n let tabsComponent = wrapperRef.current;\n let tabs = tablistRef.current.querySelectorAll('[role=\"tab\"]');\n let lastTab = tabs[tabs.length - 1];\n\n let end = direction === 'rtl' ? 'left' : 'right';\n let farEdgeTabList = tabsComponent.getBoundingClientRect()[end];\n let farEdgeLastTab = lastTab?.getBoundingClientRect()[end];\n let shouldCollapse = direction === 'rtl' ? farEdgeLastTab < farEdgeTabList : farEdgeTabList < farEdgeLastTab;\n\n return shouldCollapse;\n }\n };\n\n if (orientation !== 'vertical') {\n setCollapse(function* () {\n // Make Tabs render in non-collapsed state\n yield false;\n\n // Compute if Tabs should collapse and update\n yield computeShouldCollapse();\n });\n }\n }, [tablistRef, wrapperRef, direction, orientation, setCollapse]);\n\n useEffect(() => {\n checkShouldCollapse();\n }, [children, checkShouldCollapse]);\n\n useResizeObserver({ref: wrapperRef, onResize: checkShouldCollapse});\n\n let tabPanelProps = {\n 'aria-labelledby': undefined\n };\n\n // When the tabs are collapsed, the tabPanel should be labelled by the Picker button element.\n let collapsibleTabListId = useId();\n if (collapse && orientation !== 'vertical') {\n tabPanelProps['aria-labelledby'] = collapsibleTabListId;\n }\n return (\n <TabContext.Provider\n value={{\n tabProps: {...props, orientation, density},\n tabState: {tabListState, setTabListState, selectedTab, collapse},\n refs: {tablistRef, wrapperRef},\n tabPanelProps\n }}>\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel',\n `spectrum-TabsPanel--${orientation}`,\n styleProps.className\n )}>\n {props.children}\n </div>\n </TabContext.Provider>\n );\n}\n\ninterface TabProps<T> extends DOMProps {\n item: Node<T>,\n state: SingleSelectListState<T>,\n isDisabled?: boolean,\n orientation?: Orientation\n}\n\n// @private\nfunction Tab<T>(props: TabProps<T>) {\n let {item, state, isDisabled: propsDisabled} = props;\n let {key, rendered} = item;\n let isDisabled = propsDisabled || state.disabledKeys.has(key);\n\n let ref = useRef<HTMLDivElement>();\n let {tabProps} = useTab({key, isDisabled}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n ...props\n });\n let isSelected = state.selectedKey === key;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(tabProps, hoverProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Tabs-item',\n {\n 'is-selected': isSelected,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n }\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n UNSAFE_className: classNames(styles, 'spectrum-Tabs-itemLabel')\n }\n }}>\n {typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered}\n </SlotProvider>\n </div>\n </FocusRing>\n );\n}\n\ninterface TabLineProps {\n orientation?: Orientation,\n selectedTab?: HTMLElement,\n selectedKey?: Key\n}\n\n// @private\nfunction TabLine(props: TabLineProps) {\n let {\n orientation,\n // Is either the tab node (non-collapsed) or the picker node (collapsed)\n selectedTab,\n // selectedKey is provided so that the TabLine styles are updated when the TabPicker's width updates from a selection change\n selectedKey\n } = props;\n\n let {direction} = useLocale();\n let {scale} = useProvider();\n\n let [style, setStyle] = useState({\n width: undefined,\n height: undefined\n });\n\n useLayoutEffect(() => {\n if (selectedTab) {\n let styleObj = {transform: undefined, width: undefined, height: undefined};\n // In RTL, calculate the transform from the right edge of the tablist so that resizing the window doesn't break the Tabline position due to offsetLeft changes\n let offset = direction === 'rtl' ? -1 * ((selectedTab.offsetParent as HTMLElement)?.offsetWidth - selectedTab.offsetWidth - selectedTab.offsetLeft) : selectedTab.offsetLeft;\n styleObj.transform = orientation === 'vertical'\n ? `translateY(${selectedTab.offsetTop}px)`\n : `translateX(${offset}px)`;\n\n if (orientation === 'horizontal') {\n styleObj.width = `${selectedTab.offsetWidth}px`;\n } else {\n styleObj.height = `${selectedTab.offsetHeight}px`;\n }\n setStyle(styleObj);\n }\n\n }, [direction, setStyle, selectedTab, orientation, scale, selectedKey]);\n\n return <div className={classNames(styles, 'spectrum-Tabs-selectionIndicator')} role=\"presentation\" style={style} />;\n}\n\n/**\n * A TabList is used within Tabs to group tabs that a user can switch between.\n * The keys of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.\n */\nexport function TabList<T>(props: SpectrumTabListProps<T>) {\n const tabContext = useContext(TabContext);\n const {refs, tabState, tabProps, tabPanelProps} = tabContext;\n const {isQuiet, density, isDisabled, orientation} = tabProps;\n const {selectedTab, collapse, setTabListState} = tabState;\n const {tablistRef, wrapperRef} = refs;\n // Pass original Tab props but override children to create the collection.\n const state = useTabListState({...tabProps, children: props.children});\n\n let {styleProps} = useStyleProps(props);\n const {tabListProps} = useTabList({...tabProps, ...props}, state, tablistRef);\n\n useEffect(() => {\n // Passing back to root as useTabPanel needs the TabListState\n setTabListState(state);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.disabledKeys, state.selectedItem, state.selectedKey, props.children]);\n let stylePropsForVertical = orientation === 'vertical' ? styleProps : {};\n\n let tabListclassName = classNames(styles, 'spectrum-TabsPanel-tabs');\n const tabContent = (\n <div\n {...stylePropsForVertical}\n {...tabListProps}\n ref={tablistRef}\n className={classNames(\n styles,\n 'spectrum-Tabs',\n `spectrum-Tabs--${orientation}`,\n tabListclassName,\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n orientation === 'vertical' && styleProps.className\n )\n }>\n {[...state.collection].map((item) => (\n <Tab key={item.key} item={item} state={state} isDisabled={isDisabled} orientation={orientation} />\n ))}\n <TabLine orientation={orientation} selectedTab={selectedTab} />\n </div>\n );\n\n\n if (orientation === 'vertical') {\n return tabContent;\n } else {\n return (\n <div\n {...styleProps}\n ref={wrapperRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel-collapseWrapper',\n styleProps.className\n )}>\n {collapse ? <TabPicker {...props} {...tabProps} id={tabPanelProps['aria-labelledby']} state={state} className={tabListclassName} /> : tabContent}\n </div>\n );\n }\n}\n\n/**\n * TabPanels is used within Tabs as a container for the content of each tab.\n * The keys of the items within the <TabPanels> must match up with a corresponding item inside the <TabList>.\n */\nexport function TabPanels<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabProps} = useContext(TabContext);\n const {tabListState} = tabState;\n\n const factory = nodes => new ListCollection(nodes);\n const collection = useCollection({items: tabProps.items, ...props}, factory, {suppressTextValueWarning: true});\n const selectedItem = tabListState ? collection.getItem(tabListState.selectedKey) : null;\n\n return (\n <TabPanel {...props} key={tabListState?.selectedKey}>\n {selectedItem && selectedItem.props.children}\n </TabPanel>\n );\n}\n\n// @private\nfunction TabPanel<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabPanelProps: ctxTabPanelProps} = useContext(TabContext);\n const {tabListState} = tabState;\n let ref = useRef();\n const {tabPanelProps} = useTabPanel(props, tabListState, ref);\n let {styleProps} = useStyleProps(props);\n\n if (ctxTabPanelProps['aria-labelledby']) {\n tabPanelProps['aria-labelledby'] = ctxTabPanelProps['aria-labelledby'];\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div {...styleProps} {...tabPanelProps} ref={ref} className={classNames(styles, 'spectrum-TabsPanel-tabpanel', styleProps.className)}>\n {props.children}\n </div>\n </FocusRing>\n );\n}\n\ninterface TabPickerProps<T> extends Omit<SpectrumPickerProps<T>, 'children'> {\n density?: 'compact' | 'regular',\n state: SingleSelectListState<T>,\n className?: string\n}\n\nfunction TabPicker<T>(props: TabPickerProps<T>) {\n let {\n isDisabled,\n isQuiet,\n state,\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel,\n density,\n className,\n id\n } = props;\n\n let ref = useRef();\n let [pickerNode, setPickerNode] = useState(null);\n\n useEffect(() => {\n let node = unwrapDOMRef(ref);\n setPickerNode(node.current);\n }, [ref]);\n\n let items = [...state.collection].map((item) => ({\n rendered: item.rendered,\n textValue: item.textValue,\n id: item.key\n }));\n\n let pickerProps = {\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel\n };\n\n // TODO: Figure out if tabListProps should go onto the div here, v2 doesn't do it\n return (\n <div\n className={classNames(\n styles,\n 'spectrum-Tabs',\n 'spectrum-Tabs--horizontal',\n 'spectrum-Tabs--isCollapsed',\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n className\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n button: {\n focusRingClass: classNames(styles, 'focus-ring')\n }\n }}>\n <Picker\n {...pickerProps}\n id={id}\n items={items}\n ref={ref}\n isQuiet\n isDisabled={isDisabled}\n selectedKey={state.selectedKey}\n disabledKeys={state.disabledKeys}\n onSelectionChange={state.setSelectedKey}>\n {item => <Item textValue={item.textValue}>{item.rendered}</Item>}\n </Picker>\n {pickerNode && <TabLine orientation=\"horizontal\" selectedTab={pickerNode} selectedKey={state.selectedKey} />}\n </SlotProvider>\n </div>\n );\n}\n\n/**\n * Tabs organize content into multiple sections and allow users to navigate between them. The content under the set of tabs should be related and form a coherent unit.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Tabs = React.forwardRef(Tabs) as <T>(props: SpectrumTabsProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_Tabs as Tabs};\n"],"names":["$parcel$interopDefault","a","__esModule","default","TabContext","React","createContext","Tabs","props","ref","useProviderProps","orientation","density","children","otherProps","domRef","useDOMRef","tablistRef","useRef","wrapperRef","direction","useLocale","styleProps","useStyleProps","collapse","setCollapse","useValueEffect","selectedTab","setSelectedTab","useState","tabListState","setTabListState","useEffect","current","querySelector","selectedKey","checkShouldCollapse","useCallback","computeShouldCollapse","tabsComponent","tabs","querySelectorAll","lastTab","length","end","farEdgeTabList","getBoundingClientRect","farEdgeLastTab","shouldCollapse","useResizeObserver","onResize","tabPanelProps","undefined","collapsibleTabListId","useId","tabProps","tabState","refs","filterDOMProps","classNames","className","Tab","item","state","isDisabled","propsDisabled","key","rendered","disabledKeys","has","useTab","hoverProps","isHovered","useHover","isSelected","mergeProps","icon","size","UNSAFE_className","text","TabLine","scale","useProvider","style","setStyle","width","height","useLayoutEffect","styleObj","transform","offset","offsetParent","offsetWidth","offsetLeft","offsetTop","offsetHeight","TabList","tabContext","useContext","isQuiet","useTabListState","tabListProps","useTabList","selectedItem","stylePropsForVertical","tabListclassName","tabContent","collection","map","TabPanels","factory","nodes","ListCollection","useCollection","items","suppressTextValueWarning","getItem","TabPanel","ctxTabPanelProps","useTabPanel","TabPicker","ariaLabeledBy","ariaLabel","id","pickerNode","setPickerNode","node","unwrapDOMRef","textValue","pickerProps","button","focusRingClass","setSelectedKey","_Tabs","forwardRef"],"version":3,"file":"main.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./node_modules/@adobe/spectrum-css-temp/components/tabs/vars.css","./packages/@react-spectrum/tabs/src/Tabs.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, unwrapDOMRef, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMProps, DOMRef, Node, Orientation} from '@react-types/shared';\nimport {filterDOMProps, useValueEffect} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Item, Picker} from '@react-spectrum/picker';\nimport {ListCollection, SingleSelectListState} from '@react-stately/list';\nimport {mergeProps, useId, useLayoutEffect} from '@react-aria/utils';\nimport React, {Key, MutableRefObject, ReactElement, useCallback, useContext, useEffect, useRef, useState} from 'react';\nimport {SpectrumPickerProps} from '@react-types/select';\nimport {SpectrumTabListProps, SpectrumTabPanelsProps, SpectrumTabsProps} from '@react-types/tabs';\nimport styles from '@adobe/spectrum-css-temp/components/tabs/vars.css';\nimport {TabListState, useTabListState} from '@react-stately/tabs';\nimport {Text} from '@react-spectrum/text';\nimport {useCollection} from '@react-stately/collections';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProvider, useProviderProps} from '@react-spectrum/provider';\nimport {useResizeObserver} from '@react-aria/utils';\nimport {useTab, useTabList, useTabPanel} from '@react-aria/tabs';\n\ninterface TabsContext<T> {\n tabProps: SpectrumTabsProps<T>,\n tabState: {\n tabListState: TabListState<T>,\n setTabListState: (state: TabListState<T>) => void,\n selectedTab: HTMLElement,\n collapse: boolean\n },\n refs: {\n wrapperRef: MutableRefObject<HTMLDivElement>,\n tablistRef: MutableRefObject<HTMLDivElement>\n },\n tabPanelProps: {\n 'aria-labelledby': string\n }\n}\n\nconst TabContext = React.createContext<TabsContext<any>>(null);\n\nfunction Tabs<T extends object>(props: SpectrumTabsProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n orientation = 'horizontal' as Orientation,\n density = 'regular',\n children,\n ...otherProps\n } = props;\n\n let domRef = useDOMRef(ref);\n let tablistRef = useRef<HTMLDivElement>();\n let wrapperRef = useRef<HTMLDivElement>();\n\n let {direction} = useLocale();\n let {styleProps} = useStyleProps(otherProps);\n let [collapse, setCollapse] = useValueEffect(false);\n let [selectedTab, setSelectedTab] = useState<HTMLElement>();\n const [tabListState, setTabListState] = useState<TabListState<T>>(null);\n\n useEffect(() => {\n if (tablistRef.current) {\n let selectedTab: HTMLElement = tablistRef.current.querySelector(`[data-key=\"${tabListState?.selectedKey}\"]`);\n\n if (selectedTab != null) {\n setSelectedTab(selectedTab);\n }\n }\n // collapse is in the dep array so selectedTab can be updated for TabLine positioning\n }, [children, tabListState?.selectedKey, collapse, tablistRef]);\n\n let checkShouldCollapse = useCallback(() => {\n let computeShouldCollapse = () => {\n if (wrapperRef.current) {\n let tabsComponent = wrapperRef.current;\n let tabs = tablistRef.current.querySelectorAll('[role=\"tab\"]');\n let lastTab = tabs[tabs.length - 1];\n\n let end = direction === 'rtl' ? 'left' : 'right';\n let farEdgeTabList = tabsComponent.getBoundingClientRect()[end];\n let farEdgeLastTab = lastTab?.getBoundingClientRect()[end];\n let shouldCollapse = direction === 'rtl' ? farEdgeLastTab < farEdgeTabList : farEdgeTabList < farEdgeLastTab;\n\n return shouldCollapse;\n }\n };\n\n if (orientation !== 'vertical') {\n setCollapse(function* () {\n // Make Tabs render in non-collapsed state\n yield false;\n\n // Compute if Tabs should collapse and update\n yield computeShouldCollapse();\n });\n }\n }, [tablistRef, wrapperRef, direction, orientation, setCollapse]);\n\n useEffect(() => {\n checkShouldCollapse();\n }, [children, checkShouldCollapse]);\n\n useResizeObserver({ref: wrapperRef, onResize: checkShouldCollapse});\n\n let tabPanelProps = {\n 'aria-labelledby': undefined\n };\n\n // When the tabs are collapsed, the tabPanel should be labelled by the Picker button element.\n let collapsibleTabListId = useId();\n if (collapse && orientation !== 'vertical') {\n tabPanelProps['aria-labelledby'] = collapsibleTabListId;\n }\n return (\n <TabContext.Provider\n value={{\n tabProps: {...props, orientation, density},\n tabState: {tabListState, setTabListState, selectedTab, collapse},\n refs: {tablistRef, wrapperRef},\n tabPanelProps\n }}>\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel',\n `spectrum-TabsPanel--${orientation}`,\n styleProps.className\n )}>\n {props.children}\n </div>\n </TabContext.Provider>\n );\n}\n\ninterface TabProps<T> extends DOMProps {\n item: Node<T>,\n state: SingleSelectListState<T>,\n isDisabled?: boolean,\n orientation?: Orientation\n}\n\n// @private\nfunction Tab<T>(props: TabProps<T>) {\n let {item, state, isDisabled: propsDisabled} = props;\n let {key, rendered} = item;\n let isDisabled = propsDisabled || state.disabledKeys.has(key);\n\n let ref = useRef<HTMLDivElement>();\n let {tabProps} = useTab({key, isDisabled}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n ...props\n });\n let isSelected = state.selectedKey === key;\n let domProps = filterDOMProps(item.props);\n delete domProps.id;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(tabProps, hoverProps, domProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Tabs-item',\n {\n 'is-selected': isSelected,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n }\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n UNSAFE_className: classNames(styles, 'spectrum-Tabs-itemLabel')\n }\n }}>\n {typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered}\n </SlotProvider>\n </div>\n </FocusRing>\n );\n}\n\ninterface TabLineProps {\n orientation?: Orientation,\n selectedTab?: HTMLElement,\n selectedKey?: Key\n}\n\n// @private\nfunction TabLine(props: TabLineProps) {\n let {\n orientation,\n // Is either the tab node (non-collapsed) or the picker node (collapsed)\n selectedTab,\n // selectedKey is provided so that the TabLine styles are updated when the TabPicker's width updates from a selection change\n selectedKey\n } = props;\n\n let {direction} = useLocale();\n let {scale} = useProvider();\n\n let [style, setStyle] = useState({\n width: undefined,\n height: undefined\n });\n\n useLayoutEffect(() => {\n if (selectedTab) {\n let styleObj = {transform: undefined, width: undefined, height: undefined};\n // In RTL, calculate the transform from the right edge of the tablist so that resizing the window doesn't break the Tabline position due to offsetLeft changes\n let offset = direction === 'rtl' ? -1 * ((selectedTab.offsetParent as HTMLElement)?.offsetWidth - selectedTab.offsetWidth - selectedTab.offsetLeft) : selectedTab.offsetLeft;\n styleObj.transform = orientation === 'vertical'\n ? `translateY(${selectedTab.offsetTop}px)`\n : `translateX(${offset}px)`;\n\n if (orientation === 'horizontal') {\n styleObj.width = `${selectedTab.offsetWidth}px`;\n } else {\n styleObj.height = `${selectedTab.offsetHeight}px`;\n }\n setStyle(styleObj);\n }\n\n }, [direction, setStyle, selectedTab, orientation, scale, selectedKey]);\n\n return <div className={classNames(styles, 'spectrum-Tabs-selectionIndicator')} role=\"presentation\" style={style} />;\n}\n\n/**\n * A TabList is used within Tabs to group tabs that a user can switch between.\n * The keys of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.\n */\nexport function TabList<T>(props: SpectrumTabListProps<T>) {\n const tabContext = useContext(TabContext);\n const {refs, tabState, tabProps, tabPanelProps} = tabContext;\n const {isQuiet, density, isDisabled, orientation} = tabProps;\n const {selectedTab, collapse, setTabListState} = tabState;\n const {tablistRef, wrapperRef} = refs;\n // Pass original Tab props but override children to create the collection.\n const state = useTabListState({...tabProps, children: props.children});\n\n let {styleProps} = useStyleProps(props);\n const {tabListProps} = useTabList({...tabProps, ...props}, state, tablistRef);\n\n useEffect(() => {\n // Passing back to root as useTabPanel needs the TabListState\n setTabListState(state);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.disabledKeys, state.selectedItem, state.selectedKey, props.children]);\n let stylePropsForVertical = orientation === 'vertical' ? styleProps : {};\n\n let tabListclassName = classNames(styles, 'spectrum-TabsPanel-tabs');\n const tabContent = (\n <div\n {...stylePropsForVertical}\n {...tabListProps}\n ref={tablistRef}\n className={classNames(\n styles,\n 'spectrum-Tabs',\n `spectrum-Tabs--${orientation}`,\n tabListclassName,\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n orientation === 'vertical' && styleProps.className\n )\n }>\n {[...state.collection].map((item) => (\n <Tab key={item.key} item={item} state={state} isDisabled={isDisabled} orientation={orientation} />\n ))}\n <TabLine orientation={orientation} selectedTab={selectedTab} />\n </div>\n );\n\n\n if (orientation === 'vertical') {\n return tabContent;\n } else {\n return (\n <div\n {...styleProps}\n ref={wrapperRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel-collapseWrapper',\n styleProps.className\n )}>\n {collapse ? <TabPicker {...props} {...tabProps} id={tabPanelProps['aria-labelledby']} state={state} className={tabListclassName} /> : tabContent}\n </div>\n );\n }\n}\n\n/**\n * TabPanels is used within Tabs as a container for the content of each tab.\n * The keys of the items within the <TabPanels> must match up with a corresponding item inside the <TabList>.\n */\nexport function TabPanels<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabProps} = useContext(TabContext);\n const {tabListState} = tabState;\n\n const factory = nodes => new ListCollection(nodes);\n const collection = useCollection({items: tabProps.items, ...props}, factory, {suppressTextValueWarning: true});\n const selectedItem = tabListState ? collection.getItem(tabListState.selectedKey) : null;\n\n return (\n <TabPanel {...props} key={tabListState?.selectedKey}>\n {selectedItem && selectedItem.props.children}\n </TabPanel>\n );\n}\n\n// @private\nfunction TabPanel<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabPanelProps: ctxTabPanelProps} = useContext(TabContext);\n const {tabListState} = tabState;\n let ref = useRef();\n const {tabPanelProps} = useTabPanel(props, tabListState, ref);\n let {styleProps} = useStyleProps(props);\n\n if (ctxTabPanelProps['aria-labelledby']) {\n tabPanelProps['aria-labelledby'] = ctxTabPanelProps['aria-labelledby'];\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div {...styleProps} {...tabPanelProps} ref={ref} className={classNames(styles, 'spectrum-TabsPanel-tabpanel', styleProps.className)}>\n {props.children}\n </div>\n </FocusRing>\n );\n}\n\ninterface TabPickerProps<T> extends Omit<SpectrumPickerProps<T>, 'children'> {\n density?: 'compact' | 'regular',\n state: SingleSelectListState<T>,\n className?: string\n}\n\nfunction TabPicker<T>(props: TabPickerProps<T>) {\n let {\n isDisabled,\n isQuiet,\n state,\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel,\n density,\n className,\n id\n } = props;\n\n let ref = useRef();\n let [pickerNode, setPickerNode] = useState(null);\n\n useEffect(() => {\n let node = unwrapDOMRef(ref);\n setPickerNode(node.current);\n }, [ref]);\n\n let items = [...state.collection].map((item) => ({\n rendered: item.rendered,\n textValue: item.textValue,\n id: item.key\n }));\n\n let pickerProps = {\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel\n };\n\n // TODO: Figure out if tabListProps should go onto the div here, v2 doesn't do it\n return (\n <div\n className={classNames(\n styles,\n 'spectrum-Tabs',\n 'spectrum-Tabs--horizontal',\n 'spectrum-Tabs--isCollapsed',\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n className\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n button: {\n focusRingClass: classNames(styles, 'focus-ring')\n }\n }}>\n <Picker\n {...pickerProps}\n id={id}\n items={items}\n ref={ref}\n isQuiet\n isDisabled={isDisabled}\n selectedKey={state.selectedKey}\n disabledKeys={state.disabledKeys}\n onSelectionChange={state.setSelectedKey}>\n {item => <Item textValue={item.textValue}>{item.rendered}</Item>}\n </Picker>\n {pickerNode && <TabLine orientation=\"horizontal\" selectedTab={pickerNode} selectedKey={state.selectedKey} />}\n </SlotProvider>\n </div>\n );\n}\n\n/**\n * Tabs organize content into multiple sections and allow users to navigate between them. The content under the set of tabs should be related and form a coherent unit.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Tabs = React.forwardRef(Tabs) as <T>(props: SpectrumTabsProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_Tabs as Tabs};\n"],"names":["$parcel$interopDefault","a","__esModule","default","TabContext","React","createContext","Tabs","props","ref","useProviderProps","orientation","density","children","otherProps","domRef","useDOMRef","tablistRef","useRef","wrapperRef","direction","useLocale","styleProps","useStyleProps","collapse","setCollapse","useValueEffect","selectedTab","setSelectedTab","useState","tabListState","setTabListState","useEffect","current","querySelector","selectedKey","checkShouldCollapse","useCallback","computeShouldCollapse","tabsComponent","tabs","querySelectorAll","lastTab","length","end","farEdgeTabList","getBoundingClientRect","farEdgeLastTab","shouldCollapse","useResizeObserver","onResize","tabPanelProps","undefined","collapsibleTabListId","useId","tabProps","tabState","refs","filterDOMProps","classNames","className","Tab","item","state","isDisabled","propsDisabled","key","rendered","disabledKeys","has","useTab","hoverProps","isHovered","useHover","isSelected","domProps","id","mergeProps","icon","size","UNSAFE_className","text","TabLine","scale","useProvider","style","setStyle","width","height","useLayoutEffect","styleObj","transform","offset","offsetParent","offsetWidth","offsetLeft","offsetTop","offsetHeight","TabList","tabContext","useContext","isQuiet","useTabListState","tabListProps","useTabList","selectedItem","stylePropsForVertical","tabListclassName","tabContent","collection","map","TabPanels","factory","nodes","ListCollection","useCollection","items","suppressTextValueWarning","getItem","TabPanel","ctxTabPanelProps","useTabPanel","TabPicker","ariaLabeledBy","ariaLabel","pickerNode","setPickerNode","node","unwrapDOMRef","textValue","pickerProps","button","focusRingClass","setSelectedKey","_Tabs","forwardRef"],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -169,9 +169,11 @@ function $f4a414b256968d66045841d53c86a275$var$Tab(props) {
|
|
|
169
169
|
isHovered
|
|
170
170
|
} = useHover(_babelRuntimeHelpersEsmExtends({}, props));
|
|
171
171
|
let isSelected = state.selectedKey === key;
|
|
172
|
+
let domProps = filterDOMProps(item.props);
|
|
173
|
+
delete domProps.id;
|
|
172
174
|
return /*#__PURE__*/_react.createElement(FocusRing, {
|
|
173
175
|
focusRingClass: classNames($d8728aa9d94f6b7dd1d3f754a952088$$interop$default, 'focus-ring')
|
|
174
|
-
}, /*#__PURE__*/_react.createElement("div", _babelRuntimeHelpersEsmExtends({}, mergeProps(tabProps, hoverProps), {
|
|
176
|
+
}, /*#__PURE__*/_react.createElement("div", _babelRuntimeHelpersEsmExtends({}, mergeProps(tabProps, hoverProps, domProps), {
|
|
175
177
|
ref: ref,
|
|
176
178
|
className: classNames($d8728aa9d94f6b7dd1d3f754a952088$$interop$default, 'spectrum-Tabs-item', {
|
|
177
179
|
'is-selected': isSelected,
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./node_modules/@adobe/spectrum-css-temp/components/tabs/vars.css","./packages/@react-spectrum/tabs/src/Tabs.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, unwrapDOMRef, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMProps, DOMRef, Node, Orientation} from '@react-types/shared';\nimport {filterDOMProps, useValueEffect} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Item, Picker} from '@react-spectrum/picker';\nimport {ListCollection, SingleSelectListState} from '@react-stately/list';\nimport {mergeProps, useId, useLayoutEffect} from '@react-aria/utils';\nimport React, {Key, MutableRefObject, ReactElement, useCallback, useContext, useEffect, useRef, useState} from 'react';\nimport {SpectrumPickerProps} from '@react-types/select';\nimport {SpectrumTabListProps, SpectrumTabPanelsProps, SpectrumTabsProps} from '@react-types/tabs';\nimport styles from '@adobe/spectrum-css-temp/components/tabs/vars.css';\nimport {TabListState, useTabListState} from '@react-stately/tabs';\nimport {Text} from '@react-spectrum/text';\nimport {useCollection} from '@react-stately/collections';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProvider, useProviderProps} from '@react-spectrum/provider';\nimport {useResizeObserver} from '@react-aria/utils';\nimport {useTab, useTabList, useTabPanel} from '@react-aria/tabs';\n\ninterface TabsContext<T> {\n tabProps: SpectrumTabsProps<T>,\n tabState: {\n tabListState: TabListState<T>,\n setTabListState: (state: TabListState<T>) => void,\n selectedTab: HTMLElement,\n collapse: boolean\n },\n refs: {\n wrapperRef: MutableRefObject<HTMLDivElement>,\n tablistRef: MutableRefObject<HTMLDivElement>\n },\n tabPanelProps: {\n 'aria-labelledby': string\n }\n}\n\nconst TabContext = React.createContext<TabsContext<any>>(null);\n\nfunction Tabs<T extends object>(props: SpectrumTabsProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n orientation = 'horizontal' as Orientation,\n density = 'regular',\n children,\n ...otherProps\n } = props;\n\n let domRef = useDOMRef(ref);\n let tablistRef = useRef<HTMLDivElement>();\n let wrapperRef = useRef<HTMLDivElement>();\n\n let {direction} = useLocale();\n let {styleProps} = useStyleProps(otherProps);\n let [collapse, setCollapse] = useValueEffect(false);\n let [selectedTab, setSelectedTab] = useState<HTMLElement>();\n const [tabListState, setTabListState] = useState<TabListState<T>>(null);\n\n useEffect(() => {\n if (tablistRef.current) {\n let selectedTab: HTMLElement = tablistRef.current.querySelector(`[data-key=\"${tabListState?.selectedKey}\"]`);\n\n if (selectedTab != null) {\n setSelectedTab(selectedTab);\n }\n }\n // collapse is in the dep array so selectedTab can be updated for TabLine positioning\n }, [children, tabListState?.selectedKey, collapse, tablistRef]);\n\n let checkShouldCollapse = useCallback(() => {\n let computeShouldCollapse = () => {\n if (wrapperRef.current) {\n let tabsComponent = wrapperRef.current;\n let tabs = tablistRef.current.querySelectorAll('[role=\"tab\"]');\n let lastTab = tabs[tabs.length - 1];\n\n let end = direction === 'rtl' ? 'left' : 'right';\n let farEdgeTabList = tabsComponent.getBoundingClientRect()[end];\n let farEdgeLastTab = lastTab?.getBoundingClientRect()[end];\n let shouldCollapse = direction === 'rtl' ? farEdgeLastTab < farEdgeTabList : farEdgeTabList < farEdgeLastTab;\n\n return shouldCollapse;\n }\n };\n\n if (orientation !== 'vertical') {\n setCollapse(function* () {\n // Make Tabs render in non-collapsed state\n yield false;\n\n // Compute if Tabs should collapse and update\n yield computeShouldCollapse();\n });\n }\n }, [tablistRef, wrapperRef, direction, orientation, setCollapse]);\n\n useEffect(() => {\n checkShouldCollapse();\n }, [children, checkShouldCollapse]);\n\n useResizeObserver({ref: wrapperRef, onResize: checkShouldCollapse});\n\n let tabPanelProps = {\n 'aria-labelledby': undefined\n };\n\n // When the tabs are collapsed, the tabPanel should be labelled by the Picker button element.\n let collapsibleTabListId = useId();\n if (collapse && orientation !== 'vertical') {\n tabPanelProps['aria-labelledby'] = collapsibleTabListId;\n }\n return (\n <TabContext.Provider\n value={{\n tabProps: {...props, orientation, density},\n tabState: {tabListState, setTabListState, selectedTab, collapse},\n refs: {tablistRef, wrapperRef},\n tabPanelProps\n }}>\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel',\n `spectrum-TabsPanel--${orientation}`,\n styleProps.className\n )}>\n {props.children}\n </div>\n </TabContext.Provider>\n );\n}\n\ninterface TabProps<T> extends DOMProps {\n item: Node<T>,\n state: SingleSelectListState<T>,\n isDisabled?: boolean,\n orientation?: Orientation\n}\n\n// @private\nfunction Tab<T>(props: TabProps<T>) {\n let {item, state, isDisabled: propsDisabled} = props;\n let {key, rendered} = item;\n let isDisabled = propsDisabled || state.disabledKeys.has(key);\n\n let ref = useRef<HTMLDivElement>();\n let {tabProps} = useTab({key, isDisabled}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n ...props\n });\n let isSelected = state.selectedKey === key;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(tabProps, hoverProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Tabs-item',\n {\n 'is-selected': isSelected,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n }\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n UNSAFE_className: classNames(styles, 'spectrum-Tabs-itemLabel')\n }\n }}>\n {typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered}\n </SlotProvider>\n </div>\n </FocusRing>\n );\n}\n\ninterface TabLineProps {\n orientation?: Orientation,\n selectedTab?: HTMLElement,\n selectedKey?: Key\n}\n\n// @private\nfunction TabLine(props: TabLineProps) {\n let {\n orientation,\n // Is either the tab node (non-collapsed) or the picker node (collapsed)\n selectedTab,\n // selectedKey is provided so that the TabLine styles are updated when the TabPicker's width updates from a selection change\n selectedKey\n } = props;\n\n let {direction} = useLocale();\n let {scale} = useProvider();\n\n let [style, setStyle] = useState({\n width: undefined,\n height: undefined\n });\n\n useLayoutEffect(() => {\n if (selectedTab) {\n let styleObj = {transform: undefined, width: undefined, height: undefined};\n // In RTL, calculate the transform from the right edge of the tablist so that resizing the window doesn't break the Tabline position due to offsetLeft changes\n let offset = direction === 'rtl' ? -1 * ((selectedTab.offsetParent as HTMLElement)?.offsetWidth - selectedTab.offsetWidth - selectedTab.offsetLeft) : selectedTab.offsetLeft;\n styleObj.transform = orientation === 'vertical'\n ? `translateY(${selectedTab.offsetTop}px)`\n : `translateX(${offset}px)`;\n\n if (orientation === 'horizontal') {\n styleObj.width = `${selectedTab.offsetWidth}px`;\n } else {\n styleObj.height = `${selectedTab.offsetHeight}px`;\n }\n setStyle(styleObj);\n }\n\n }, [direction, setStyle, selectedTab, orientation, scale, selectedKey]);\n\n return <div className={classNames(styles, 'spectrum-Tabs-selectionIndicator')} role=\"presentation\" style={style} />;\n}\n\n/**\n * A TabList is used within Tabs to group tabs that a user can switch between.\n * The keys of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.\n */\nexport function TabList<T>(props: SpectrumTabListProps<T>) {\n const tabContext = useContext(TabContext);\n const {refs, tabState, tabProps, tabPanelProps} = tabContext;\n const {isQuiet, density, isDisabled, orientation} = tabProps;\n const {selectedTab, collapse, setTabListState} = tabState;\n const {tablistRef, wrapperRef} = refs;\n // Pass original Tab props but override children to create the collection.\n const state = useTabListState({...tabProps, children: props.children});\n\n let {styleProps} = useStyleProps(props);\n const {tabListProps} = useTabList({...tabProps, ...props}, state, tablistRef);\n\n useEffect(() => {\n // Passing back to root as useTabPanel needs the TabListState\n setTabListState(state);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.disabledKeys, state.selectedItem, state.selectedKey, props.children]);\n let stylePropsForVertical = orientation === 'vertical' ? styleProps : {};\n\n let tabListclassName = classNames(styles, 'spectrum-TabsPanel-tabs');\n const tabContent = (\n <div\n {...stylePropsForVertical}\n {...tabListProps}\n ref={tablistRef}\n className={classNames(\n styles,\n 'spectrum-Tabs',\n `spectrum-Tabs--${orientation}`,\n tabListclassName,\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n orientation === 'vertical' && styleProps.className\n )\n }>\n {[...state.collection].map((item) => (\n <Tab key={item.key} item={item} state={state} isDisabled={isDisabled} orientation={orientation} />\n ))}\n <TabLine orientation={orientation} selectedTab={selectedTab} />\n </div>\n );\n\n\n if (orientation === 'vertical') {\n return tabContent;\n } else {\n return (\n <div\n {...styleProps}\n ref={wrapperRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel-collapseWrapper',\n styleProps.className\n )}>\n {collapse ? <TabPicker {...props} {...tabProps} id={tabPanelProps['aria-labelledby']} state={state} className={tabListclassName} /> : tabContent}\n </div>\n );\n }\n}\n\n/**\n * TabPanels is used within Tabs as a container for the content of each tab.\n * The keys of the items within the <TabPanels> must match up with a corresponding item inside the <TabList>.\n */\nexport function TabPanels<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabProps} = useContext(TabContext);\n const {tabListState} = tabState;\n\n const factory = nodes => new ListCollection(nodes);\n const collection = useCollection({items: tabProps.items, ...props}, factory, {suppressTextValueWarning: true});\n const selectedItem = tabListState ? collection.getItem(tabListState.selectedKey) : null;\n\n return (\n <TabPanel {...props} key={tabListState?.selectedKey}>\n {selectedItem && selectedItem.props.children}\n </TabPanel>\n );\n}\n\n// @private\nfunction TabPanel<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabPanelProps: ctxTabPanelProps} = useContext(TabContext);\n const {tabListState} = tabState;\n let ref = useRef();\n const {tabPanelProps} = useTabPanel(props, tabListState, ref);\n let {styleProps} = useStyleProps(props);\n\n if (ctxTabPanelProps['aria-labelledby']) {\n tabPanelProps['aria-labelledby'] = ctxTabPanelProps['aria-labelledby'];\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div {...styleProps} {...tabPanelProps} ref={ref} className={classNames(styles, 'spectrum-TabsPanel-tabpanel', styleProps.className)}>\n {props.children}\n </div>\n </FocusRing>\n );\n}\n\ninterface TabPickerProps<T> extends Omit<SpectrumPickerProps<T>, 'children'> {\n density?: 'compact' | 'regular',\n state: SingleSelectListState<T>,\n className?: string\n}\n\nfunction TabPicker<T>(props: TabPickerProps<T>) {\n let {\n isDisabled,\n isQuiet,\n state,\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel,\n density,\n className,\n id\n } = props;\n\n let ref = useRef();\n let [pickerNode, setPickerNode] = useState(null);\n\n useEffect(() => {\n let node = unwrapDOMRef(ref);\n setPickerNode(node.current);\n }, [ref]);\n\n let items = [...state.collection].map((item) => ({\n rendered: item.rendered,\n textValue: item.textValue,\n id: item.key\n }));\n\n let pickerProps = {\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel\n };\n\n // TODO: Figure out if tabListProps should go onto the div here, v2 doesn't do it\n return (\n <div\n className={classNames(\n styles,\n 'spectrum-Tabs',\n 'spectrum-Tabs--horizontal',\n 'spectrum-Tabs--isCollapsed',\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n className\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n button: {\n focusRingClass: classNames(styles, 'focus-ring')\n }\n }}>\n <Picker\n {...pickerProps}\n id={id}\n items={items}\n ref={ref}\n isQuiet\n isDisabled={isDisabled}\n selectedKey={state.selectedKey}\n disabledKeys={state.disabledKeys}\n onSelectionChange={state.setSelectedKey}>\n {item => <Item textValue={item.textValue}>{item.rendered}</Item>}\n </Picker>\n {pickerNode && <TabLine orientation=\"horizontal\" selectedTab={pickerNode} selectedKey={state.selectedKey} />}\n </SlotProvider>\n </div>\n );\n}\n\n/**\n * Tabs organize content into multiple sections and allow users to navigate between them. The content under the set of tabs should be related and form a coherent unit.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Tabs = React.forwardRef(Tabs) as <T>(props: SpectrumTabsProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_Tabs as Tabs};\n"],"names":["$parcel$interopDefault","a","__esModule","default","TabContext","React","createContext","Tabs","props","ref","useProviderProps","orientation","density","children","otherProps","domRef","useDOMRef","tablistRef","useRef","wrapperRef","direction","useLocale","styleProps","useStyleProps","collapse","setCollapse","useValueEffect","selectedTab","setSelectedTab","useState","tabListState","setTabListState","useEffect","current","querySelector","selectedKey","checkShouldCollapse","useCallback","computeShouldCollapse","tabsComponent","tabs","querySelectorAll","lastTab","length","end","farEdgeTabList","getBoundingClientRect","farEdgeLastTab","shouldCollapse","useResizeObserver","onResize","tabPanelProps","undefined","collapsibleTabListId","useId","tabProps","tabState","refs","filterDOMProps","classNames","className","Tab","item","state","isDisabled","propsDisabled","key","rendered","disabledKeys","has","useTab","hoverProps","isHovered","useHover","isSelected","mergeProps","icon","size","UNSAFE_className","text","TabLine","scale","useProvider","style","setStyle","width","height","useLayoutEffect","styleObj","transform","offset","offsetParent","offsetWidth","offsetLeft","offsetTop","offsetHeight","TabList","tabContext","useContext","isQuiet","useTabListState","tabListProps","useTabList","selectedItem","stylePropsForVertical","tabListclassName","tabContent","collection","map","TabPanels","factory","nodes","ListCollection","useCollection","items","suppressTextValueWarning","getItem","TabPanel","ctxTabPanelProps","useTabPanel","TabPicker","ariaLabeledBy","ariaLabel","id","pickerNode","setPickerNode","node","unwrapDOMRef","textValue","pickerProps","button","focusRingClass","setSelectedKey","_Tabs","forwardRef"],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./node_modules/@adobe/spectrum-css-temp/components/tabs/vars.css","./packages/@react-spectrum/tabs/src/Tabs.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, unwrapDOMRef, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMProps, DOMRef, Node, Orientation} from '@react-types/shared';\nimport {filterDOMProps, useValueEffect} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Item, Picker} from '@react-spectrum/picker';\nimport {ListCollection, SingleSelectListState} from '@react-stately/list';\nimport {mergeProps, useId, useLayoutEffect} from '@react-aria/utils';\nimport React, {Key, MutableRefObject, ReactElement, useCallback, useContext, useEffect, useRef, useState} from 'react';\nimport {SpectrumPickerProps} from '@react-types/select';\nimport {SpectrumTabListProps, SpectrumTabPanelsProps, SpectrumTabsProps} from '@react-types/tabs';\nimport styles from '@adobe/spectrum-css-temp/components/tabs/vars.css';\nimport {TabListState, useTabListState} from '@react-stately/tabs';\nimport {Text} from '@react-spectrum/text';\nimport {useCollection} from '@react-stately/collections';\nimport {useHover} from '@react-aria/interactions';\nimport {useLocale} from '@react-aria/i18n';\nimport {useProvider, useProviderProps} from '@react-spectrum/provider';\nimport {useResizeObserver} from '@react-aria/utils';\nimport {useTab, useTabList, useTabPanel} from '@react-aria/tabs';\n\ninterface TabsContext<T> {\n tabProps: SpectrumTabsProps<T>,\n tabState: {\n tabListState: TabListState<T>,\n setTabListState: (state: TabListState<T>) => void,\n selectedTab: HTMLElement,\n collapse: boolean\n },\n refs: {\n wrapperRef: MutableRefObject<HTMLDivElement>,\n tablistRef: MutableRefObject<HTMLDivElement>\n },\n tabPanelProps: {\n 'aria-labelledby': string\n }\n}\n\nconst TabContext = React.createContext<TabsContext<any>>(null);\n\nfunction Tabs<T extends object>(props: SpectrumTabsProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n orientation = 'horizontal' as Orientation,\n density = 'regular',\n children,\n ...otherProps\n } = props;\n\n let domRef = useDOMRef(ref);\n let tablistRef = useRef<HTMLDivElement>();\n let wrapperRef = useRef<HTMLDivElement>();\n\n let {direction} = useLocale();\n let {styleProps} = useStyleProps(otherProps);\n let [collapse, setCollapse] = useValueEffect(false);\n let [selectedTab, setSelectedTab] = useState<HTMLElement>();\n const [tabListState, setTabListState] = useState<TabListState<T>>(null);\n\n useEffect(() => {\n if (tablistRef.current) {\n let selectedTab: HTMLElement = tablistRef.current.querySelector(`[data-key=\"${tabListState?.selectedKey}\"]`);\n\n if (selectedTab != null) {\n setSelectedTab(selectedTab);\n }\n }\n // collapse is in the dep array so selectedTab can be updated for TabLine positioning\n }, [children, tabListState?.selectedKey, collapse, tablistRef]);\n\n let checkShouldCollapse = useCallback(() => {\n let computeShouldCollapse = () => {\n if (wrapperRef.current) {\n let tabsComponent = wrapperRef.current;\n let tabs = tablistRef.current.querySelectorAll('[role=\"tab\"]');\n let lastTab = tabs[tabs.length - 1];\n\n let end = direction === 'rtl' ? 'left' : 'right';\n let farEdgeTabList = tabsComponent.getBoundingClientRect()[end];\n let farEdgeLastTab = lastTab?.getBoundingClientRect()[end];\n let shouldCollapse = direction === 'rtl' ? farEdgeLastTab < farEdgeTabList : farEdgeTabList < farEdgeLastTab;\n\n return shouldCollapse;\n }\n };\n\n if (orientation !== 'vertical') {\n setCollapse(function* () {\n // Make Tabs render in non-collapsed state\n yield false;\n\n // Compute if Tabs should collapse and update\n yield computeShouldCollapse();\n });\n }\n }, [tablistRef, wrapperRef, direction, orientation, setCollapse]);\n\n useEffect(() => {\n checkShouldCollapse();\n }, [children, checkShouldCollapse]);\n\n useResizeObserver({ref: wrapperRef, onResize: checkShouldCollapse});\n\n let tabPanelProps = {\n 'aria-labelledby': undefined\n };\n\n // When the tabs are collapsed, the tabPanel should be labelled by the Picker button element.\n let collapsibleTabListId = useId();\n if (collapse && orientation !== 'vertical') {\n tabPanelProps['aria-labelledby'] = collapsibleTabListId;\n }\n return (\n <TabContext.Provider\n value={{\n tabProps: {...props, orientation, density},\n tabState: {tabListState, setTabListState, selectedTab, collapse},\n refs: {tablistRef, wrapperRef},\n tabPanelProps\n }}>\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n ref={domRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel',\n `spectrum-TabsPanel--${orientation}`,\n styleProps.className\n )}>\n {props.children}\n </div>\n </TabContext.Provider>\n );\n}\n\ninterface TabProps<T> extends DOMProps {\n item: Node<T>,\n state: SingleSelectListState<T>,\n isDisabled?: boolean,\n orientation?: Orientation\n}\n\n// @private\nfunction Tab<T>(props: TabProps<T>) {\n let {item, state, isDisabled: propsDisabled} = props;\n let {key, rendered} = item;\n let isDisabled = propsDisabled || state.disabledKeys.has(key);\n\n let ref = useRef<HTMLDivElement>();\n let {tabProps} = useTab({key, isDisabled}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n ...props\n });\n let isSelected = state.selectedKey === key;\n let domProps = filterDOMProps(item.props);\n delete domProps.id;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(tabProps, hoverProps, domProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Tabs-item',\n {\n 'is-selected': isSelected,\n 'is-disabled': isDisabled,\n 'is-hovered': isHovered\n }\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n text: {\n UNSAFE_className: classNames(styles, 'spectrum-Tabs-itemLabel')\n }\n }}>\n {typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered}\n </SlotProvider>\n </div>\n </FocusRing>\n );\n}\n\ninterface TabLineProps {\n orientation?: Orientation,\n selectedTab?: HTMLElement,\n selectedKey?: Key\n}\n\n// @private\nfunction TabLine(props: TabLineProps) {\n let {\n orientation,\n // Is either the tab node (non-collapsed) or the picker node (collapsed)\n selectedTab,\n // selectedKey is provided so that the TabLine styles are updated when the TabPicker's width updates from a selection change\n selectedKey\n } = props;\n\n let {direction} = useLocale();\n let {scale} = useProvider();\n\n let [style, setStyle] = useState({\n width: undefined,\n height: undefined\n });\n\n useLayoutEffect(() => {\n if (selectedTab) {\n let styleObj = {transform: undefined, width: undefined, height: undefined};\n // In RTL, calculate the transform from the right edge of the tablist so that resizing the window doesn't break the Tabline position due to offsetLeft changes\n let offset = direction === 'rtl' ? -1 * ((selectedTab.offsetParent as HTMLElement)?.offsetWidth - selectedTab.offsetWidth - selectedTab.offsetLeft) : selectedTab.offsetLeft;\n styleObj.transform = orientation === 'vertical'\n ? `translateY(${selectedTab.offsetTop}px)`\n : `translateX(${offset}px)`;\n\n if (orientation === 'horizontal') {\n styleObj.width = `${selectedTab.offsetWidth}px`;\n } else {\n styleObj.height = `${selectedTab.offsetHeight}px`;\n }\n setStyle(styleObj);\n }\n\n }, [direction, setStyle, selectedTab, orientation, scale, selectedKey]);\n\n return <div className={classNames(styles, 'spectrum-Tabs-selectionIndicator')} role=\"presentation\" style={style} />;\n}\n\n/**\n * A TabList is used within Tabs to group tabs that a user can switch between.\n * The keys of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.\n */\nexport function TabList<T>(props: SpectrumTabListProps<T>) {\n const tabContext = useContext(TabContext);\n const {refs, tabState, tabProps, tabPanelProps} = tabContext;\n const {isQuiet, density, isDisabled, orientation} = tabProps;\n const {selectedTab, collapse, setTabListState} = tabState;\n const {tablistRef, wrapperRef} = refs;\n // Pass original Tab props but override children to create the collection.\n const state = useTabListState({...tabProps, children: props.children});\n\n let {styleProps} = useStyleProps(props);\n const {tabListProps} = useTabList({...tabProps, ...props}, state, tablistRef);\n\n useEffect(() => {\n // Passing back to root as useTabPanel needs the TabListState\n setTabListState(state);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.disabledKeys, state.selectedItem, state.selectedKey, props.children]);\n let stylePropsForVertical = orientation === 'vertical' ? styleProps : {};\n\n let tabListclassName = classNames(styles, 'spectrum-TabsPanel-tabs');\n const tabContent = (\n <div\n {...stylePropsForVertical}\n {...tabListProps}\n ref={tablistRef}\n className={classNames(\n styles,\n 'spectrum-Tabs',\n `spectrum-Tabs--${orientation}`,\n tabListclassName,\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n orientation === 'vertical' && styleProps.className\n )\n }>\n {[...state.collection].map((item) => (\n <Tab key={item.key} item={item} state={state} isDisabled={isDisabled} orientation={orientation} />\n ))}\n <TabLine orientation={orientation} selectedTab={selectedTab} />\n </div>\n );\n\n\n if (orientation === 'vertical') {\n return tabContent;\n } else {\n return (\n <div\n {...styleProps}\n ref={wrapperRef}\n className={classNames(\n styles,\n 'spectrum-TabsPanel-collapseWrapper',\n styleProps.className\n )}>\n {collapse ? <TabPicker {...props} {...tabProps} id={tabPanelProps['aria-labelledby']} state={state} className={tabListclassName} /> : tabContent}\n </div>\n );\n }\n}\n\n/**\n * TabPanels is used within Tabs as a container for the content of each tab.\n * The keys of the items within the <TabPanels> must match up with a corresponding item inside the <TabList>.\n */\nexport function TabPanels<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabProps} = useContext(TabContext);\n const {tabListState} = tabState;\n\n const factory = nodes => new ListCollection(nodes);\n const collection = useCollection({items: tabProps.items, ...props}, factory, {suppressTextValueWarning: true});\n const selectedItem = tabListState ? collection.getItem(tabListState.selectedKey) : null;\n\n return (\n <TabPanel {...props} key={tabListState?.selectedKey}>\n {selectedItem && selectedItem.props.children}\n </TabPanel>\n );\n}\n\n// @private\nfunction TabPanel<T>(props: SpectrumTabPanelsProps<T>) {\n const {tabState, tabPanelProps: ctxTabPanelProps} = useContext(TabContext);\n const {tabListState} = tabState;\n let ref = useRef();\n const {tabPanelProps} = useTabPanel(props, tabListState, ref);\n let {styleProps} = useStyleProps(props);\n\n if (ctxTabPanelProps['aria-labelledby']) {\n tabPanelProps['aria-labelledby'] = ctxTabPanelProps['aria-labelledby'];\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div {...styleProps} {...tabPanelProps} ref={ref} className={classNames(styles, 'spectrum-TabsPanel-tabpanel', styleProps.className)}>\n {props.children}\n </div>\n </FocusRing>\n );\n}\n\ninterface TabPickerProps<T> extends Omit<SpectrumPickerProps<T>, 'children'> {\n density?: 'compact' | 'regular',\n state: SingleSelectListState<T>,\n className?: string\n}\n\nfunction TabPicker<T>(props: TabPickerProps<T>) {\n let {\n isDisabled,\n isQuiet,\n state,\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel,\n density,\n className,\n id\n } = props;\n\n let ref = useRef();\n let [pickerNode, setPickerNode] = useState(null);\n\n useEffect(() => {\n let node = unwrapDOMRef(ref);\n setPickerNode(node.current);\n }, [ref]);\n\n let items = [...state.collection].map((item) => ({\n rendered: item.rendered,\n textValue: item.textValue,\n id: item.key\n }));\n\n let pickerProps = {\n 'aria-labelledby': ariaLabeledBy,\n 'aria-label': ariaLabel\n };\n\n // TODO: Figure out if tabListProps should go onto the div here, v2 doesn't do it\n return (\n <div\n className={classNames(\n styles,\n 'spectrum-Tabs',\n 'spectrum-Tabs--horizontal',\n 'spectrum-Tabs--isCollapsed',\n {\n 'spectrum-Tabs--quiet': isQuiet,\n ['spectrum-Tabs--compact']: density === 'compact'\n },\n className\n )}>\n <SlotProvider\n slots={{\n icon: {\n size: 'S',\n UNSAFE_className: classNames(styles, 'spectrum-Icon')\n },\n button: {\n focusRingClass: classNames(styles, 'focus-ring')\n }\n }}>\n <Picker\n {...pickerProps}\n id={id}\n items={items}\n ref={ref}\n isQuiet\n isDisabled={isDisabled}\n selectedKey={state.selectedKey}\n disabledKeys={state.disabledKeys}\n onSelectionChange={state.setSelectedKey}>\n {item => <Item textValue={item.textValue}>{item.rendered}</Item>}\n </Picker>\n {pickerNode && <TabLine orientation=\"horizontal\" selectedTab={pickerNode} selectedKey={state.selectedKey} />}\n </SlotProvider>\n </div>\n );\n}\n\n/**\n * Tabs organize content into multiple sections and allow users to navigate between them. The content under the set of tabs should be related and form a coherent unit.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Tabs = React.forwardRef(Tabs) as <T>(props: SpectrumTabsProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_Tabs as Tabs};\n"],"names":["$parcel$interopDefault","a","__esModule","default","TabContext","React","createContext","Tabs","props","ref","useProviderProps","orientation","density","children","otherProps","domRef","useDOMRef","tablistRef","useRef","wrapperRef","direction","useLocale","styleProps","useStyleProps","collapse","setCollapse","useValueEffect","selectedTab","setSelectedTab","useState","tabListState","setTabListState","useEffect","current","querySelector","selectedKey","checkShouldCollapse","useCallback","computeShouldCollapse","tabsComponent","tabs","querySelectorAll","lastTab","length","end","farEdgeTabList","getBoundingClientRect","farEdgeLastTab","shouldCollapse","useResizeObserver","onResize","tabPanelProps","undefined","collapsibleTabListId","useId","tabProps","tabState","refs","filterDOMProps","classNames","className","Tab","item","state","isDisabled","propsDisabled","key","rendered","disabledKeys","has","useTab","hoverProps","isHovered","useHover","isSelected","domProps","id","mergeProps","icon","size","UNSAFE_className","text","TabLine","scale","useProvider","style","setStyle","width","height","useLayoutEffect","styleObj","transform","offset","offsetParent","offsetWidth","offsetLeft","offsetTop","offsetHeight","TabList","tabContext","useContext","isQuiet","useTabListState","tabListProps","useTabList","selectedItem","stylePropsForVertical","tabListclassName","tabContent","collection","map","TabPanels","factory","nodes","ListCollection","useCollection","items","suppressTextValueWarning","getItem","TabPanel","ctxTabPanelProps","useTabPanel","TabPicker","ariaLabeledBy","ariaLabel","pickerNode","setPickerNode","node","unwrapDOMRef","textValue","pickerProps","button","focusRingClass","setSelectedKey","_Tabs","forwardRef"],"version":3,"file":"module.js.map"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A;A;
|
|
1
|
+
{"mappings":"A;A;AAyPA;A;A;GAGG;AACH,wBAAwB,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,eA6DxD;AAED;A;A;GAGG;AACH,0BAA0B,CAAC,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC,eAa5D;AAsGD;A;GAEG;AAGH,OAAA,MAAM;A;6MAAmH,CAAC;ACza1H,OAAO,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC","sources":["./packages/@react-spectrum/tabs/src/packages/@react-spectrum/tabs/src/Tabs.tsx","./packages/@react-spectrum/tabs/src/packages/@react-spectrum/tabs/src/index.ts"],"sourcesContent":[null,null],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/tabs",
|
|
3
|
-
"version": "3.1.1-nightly.
|
|
3
|
+
"version": "3.1.1-nightly.3025+be936ca89",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -32,26 +32,26 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@babel/runtime": "^7.6.2",
|
|
35
|
-
"@react-aria/focus": "3.0.0-nightly.
|
|
36
|
-
"@react-aria/i18n": "3.0.0-nightly.
|
|
37
|
-
"@react-aria/interactions": "3.0.0-nightly.
|
|
38
|
-
"@react-aria/tabs": "3.1.1-nightly.
|
|
39
|
-
"@react-aria/utils": "3.0.0-nightly.
|
|
40
|
-
"@react-spectrum/button": "3.0.0-nightly.
|
|
41
|
-
"@react-spectrum/menu": "3.5.2-nightly.
|
|
42
|
-
"@react-spectrum/picker": "3.5.1-nightly.
|
|
43
|
-
"@react-spectrum/text": "3.1.4-nightly.
|
|
44
|
-
"@react-spectrum/utils": "3.0.0-nightly.
|
|
45
|
-
"@react-stately/collections": "3.0.0-nightly.
|
|
46
|
-
"@react-stately/list": "3.4.1-nightly.
|
|
47
|
-
"@react-stately/tabs": "3.0.0-nightly.
|
|
48
|
-
"@react-types/select": "3.5.1-nightly.
|
|
49
|
-
"@react-types/shared": "3.0.0-nightly.
|
|
50
|
-
"@react-types/tabs": "3.0.2-nightly.
|
|
51
|
-
"@spectrum-icons/workflow": "3.0.0-nightly.
|
|
35
|
+
"@react-aria/focus": "3.0.0-nightly.1337+be936ca89",
|
|
36
|
+
"@react-aria/i18n": "3.0.0-nightly.1337+be936ca89",
|
|
37
|
+
"@react-aria/interactions": "3.0.0-nightly.1337+be936ca89",
|
|
38
|
+
"@react-aria/tabs": "3.1.1-nightly.3025+be936ca89",
|
|
39
|
+
"@react-aria/utils": "3.0.0-nightly.1337+be936ca89",
|
|
40
|
+
"@react-spectrum/button": "3.0.0-nightly.1337+be936ca89",
|
|
41
|
+
"@react-spectrum/menu": "3.5.2-nightly.3025+be936ca89",
|
|
42
|
+
"@react-spectrum/picker": "3.5.1-nightly.3025+be936ca89",
|
|
43
|
+
"@react-spectrum/text": "3.1.4-nightly.3025+be936ca89",
|
|
44
|
+
"@react-spectrum/utils": "3.0.0-nightly.1337+be936ca89",
|
|
45
|
+
"@react-stately/collections": "3.0.0-nightly.1337+be936ca89",
|
|
46
|
+
"@react-stately/list": "3.4.1-nightly.3025+be936ca89",
|
|
47
|
+
"@react-stately/tabs": "3.0.0-nightly.1337+be936ca89",
|
|
48
|
+
"@react-types/select": "3.5.1-nightly.3025+be936ca89",
|
|
49
|
+
"@react-types/shared": "3.0.0-nightly.1337+be936ca89",
|
|
50
|
+
"@react-types/tabs": "3.0.2-nightly.3025+be936ca89",
|
|
51
|
+
"@spectrum-icons/workflow": "3.0.0-nightly.1337+be936ca89"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@adobe/spectrum-css-temp": "3.0.0-nightly.
|
|
54
|
+
"@adobe/spectrum-css-temp": "3.0.0-nightly.1337+be936ca89"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"@react-spectrum/provider": "^3.0.0",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"publishConfig": {
|
|
62
62
|
"access": "public"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "be936ca8962f47d5143288c741ac6061b5ffb7f7"
|
|
65
65
|
}
|
package/src/Tabs.tsx
CHANGED
|
@@ -165,11 +165,13 @@ function Tab<T>(props: TabProps<T>) {
|
|
|
165
165
|
...props
|
|
166
166
|
});
|
|
167
167
|
let isSelected = state.selectedKey === key;
|
|
168
|
+
let domProps = filterDOMProps(item.props);
|
|
169
|
+
delete domProps.id;
|
|
168
170
|
|
|
169
171
|
return (
|
|
170
172
|
<FocusRing focusRingClass={classNames(styles, 'focus-ring')}>
|
|
171
173
|
<div
|
|
172
|
-
{...mergeProps(tabProps, hoverProps)}
|
|
174
|
+
{...mergeProps(tabProps, hoverProps, domProps)}
|
|
173
175
|
ref={ref}
|
|
174
176
|
className={classNames(
|
|
175
177
|
styles,
|