{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,C,E,C,M,C,S,C,C,C,C,C,C,C,ECUC,IAAA,EAAA,EAAA,kD,E,iB,C,GAyDY,EAAA,MAAA,CAAA,EAAA,cAAA,IAAA,GAWb,EAAA,MAAA,CAAA,EAAA,WAAA,IAAgB,GA6ChB,EAAA,MAAA,CAAA,EAAA,MAAA,IAAgB,GAqDhB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAgB,GA6LhB,EAAA,MAAA,CAAA,EAAA,OAAA,IAAQ,G,I,E,E,qBAjWR,EAAA,EAAA,yBAcA,EAAA,EAAA,oBAEA,EAAA,EAAA,SAGA,EAAA,EAAA,UACA,EAAA,EAAA,aACA,EAAA,EAAA,yBACA,EAAA,EAAA,qBACA,EAAA,EAAA,oBACA,EAAA,EAAA,6BA+BO,IAAM,EAAc,AAAd,WAAA,EAAc,CAAA,EAAA,EAAA,aAAY,AAAZ,EAAoE,MAEzF,EAAN,SAAA,CAAA,CAAA,CAAA,E,I,E,K,E,A,C,G,E,E,K,C,2F,E,C,G,E,I,C,I,I,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,I,I,K,E,Q,I,C,I,C,E,C,C,E,S,I,C,I,C,E,C,C,E,Q,I,C,I,C,E,C,C,E,Q,I,C,I,C,E,C,C,E,Q,I,C,I,C,E,C,C,E,O,G,C,G,K,E,G,M,G,C,G,U,E,G,C,G,U,E,G,C,G,K,E,G,C,G,K,E,C,EASO,SAAS,EAAS,CAAoB,EAC3C,MACE,AADF,WAAA,EACE,CAAA,EAAA,EAAA,GAAA,AAAA,EAAC,EAAA,QAAY,CADf,CAEK,GAAG,CAAK,CACT,MAAO,EAAM,YAAY,CACzB,UAAW,AAAC,CAAA,EAAM,gBAAgB,EAAI,EAAA,EAAM,EAAS,KAAM,EAAM,MAAM,C,EAE7E,CAEA,IAAM,EAAN,SAAA,CAAA,CAAA,CAAA,E,I,E,K,E,A,C,G,E,E,K,C,qF,E,C,G,E,I,C,I,I,E,C,E,E,C,E,I,I,K,E,Q,I,C,I,C,E,C,C,E,S,I,C,I,C,E,C,C,E,O,E,c,C,G,O,G,O,G,Y,G,M,G,O,G,W,G,O,E,U,C,G,Y,E,U,E,C,G,W,E,E,U,C,G,M,E,S,C,E,S,C,G,M,E,c,C,G,M,E,S,C,G,M,G,M,E,U,C,E,S,C,G,M,E,c,C,G,M,G,M,E,S,C,G,M,E,c,C,G,M,G,M,G,O,G,O,G,O,G,O,G,O,G,M,G,O,G,M,A,Y,E,O,C,G,O,Y,E,O,E,C,G,K,E,G,O,G,C,G,K,E,G,Q,G,C,G,U,E,G,O,G,a,G,M,EAoCO,SAAS,EAAI,CAAe,EACjC,GAAI,CAAC,QAAA,CAAO,CAAC,CAAG,AAAA,CAAA,EAAA,EAAA,iBAAiB,AAAjB,EAAkB,IAAgB,CAAC,EAEnD,MACE,AADF,WAAA,EACE,CAAA,EAAA,EAAA,GAAA,AAAA,EAAC,EAAA,GAAM,CADT,CAEK,GAAG,CAAK,CACT,MAAO,EAAM,YAAY,CACzB,UAAW,AAAA,GAAe,AAAC,CAAA,EAAM,gBAAgB,EAAI,EAAA,EAAM,EAAI,CAAC,GAAG,CAAW,CAAE,QAAA,CAAO,EAAG,EAAM,MAAM,EACtG,SAAA,AAAA,WAAA,EAAA,CAAA,EAAA,EAAA,GAAA,AAAA,EAAC,EAAA,QAAQ,CAAT,CACE,OAAQ,CACN,CAAC,EAAA,WAAU,C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","sources":["<anon>","packages/@react-spectrum/s2/src/Tabs.tsx"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (modules, entry, mainEntry, parcelRequireName, globalName) {\n /* eslint-disable no-undef */\n var globalObject =\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 /* eslint-enable no-undef */\n\n // Save the require from previous bundle to this closure if any\n var previousRequire =\n typeof globalObject[parcelRequireName] === 'function' &&\n globalObject[parcelRequireName];\n\n var cache = previousRequire.cache || {};\n // Do not use `require` to prevent Webpack from trying to bundle this call\n var nodeRequire =\n typeof module !== 'undefined' &&\n typeof module.require === 'function' &&\n module.require.bind(module);\n\n function newRequire(name, jumped) {\n if (!cache[name]) {\n if (!modules[name]) {\n // if we cannot find the module within our internal map or\n // cache jump to the current global require ie. the last bundle\n // that was added to the page.\n var currentRequire =\n typeof globalObject[parcelRequireName] === 'function' &&\n globalObject[parcelRequireName];\n if (!jumped && currentRequire) {\n return currentRequire(name, true);\n }\n\n // If there are other bundles on this page the require from the\n // previous one is saved to 'previousRequire'. Repeat this as\n // many times as there are bundles until the module is found or\n // we exhaust the require chain.\n if (previousRequire) {\n return previousRequire(name, true);\n }\n\n // Try the node require function if it exists.\n if (nodeRequire && typeof name === 'string') {\n return nodeRequire(name);\n }\n\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n }\n\n localRequire.resolve = resolve;\n localRequire.cache = {};\n\n var module = (cache[name] = new newRequire.Module(name));\n\n modules[name][0].call(\n module.exports,\n localRequire,\n module,\n module.exports,\n globalObject\n );\n }\n\n return cache[name].exports;\n\n function localRequire(x) {\n var res = localRequire.resolve(x);\n return res === false ? {} : newRequire(res);\n }\n\n function resolve(x) {\n var id = modules[name][1][x];\n return id != null ? id : x;\n }\n }\n\n function Module(moduleName) {\n this.id = moduleName;\n this.bundle = newRequire;\n this.exports = {};\n }\n\n newRequire.isParcelRequire = true;\n newRequire.Module = Module;\n newRequire.modules = modules;\n newRequire.cache = cache;\n newRequire.parent = previousRequire;\n newRequire.register = function (id, exports) {\n modules[id] = [\n function (require, module) {\n module.exports = exports;\n },\n {},\n ];\n };\n\n Object.defineProperty(newRequire, 'root', {\n get: function () {\n return globalObject[parcelRequireName];\n },\n });\n\n globalObject[parcelRequireName] = newRequire;\n\n for (var i = 0; i < entry.length; i++) {\n newRequire(entry[i]);\n }\n\n if (mainEntry) {\n // Expose entry point to Node, AMD or browser globals\n // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js\n var mainExports = newRequire(mainEntry);\n\n // CommonJS\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n module.exports = mainExports;\n\n // RequireJS\n } else if (typeof define === 'function' && define.amd) {\n define(function () {\n return mainExports;\n });\n\n // <script>\n } else if (globalName) {\n this[globalName] = mainExports;\n }\n }\n})({\"lccv1\":[function(require,module,exports,__globalThis) {\n/*\n * Copyright 2024 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 */ var parcelHelpers = require(\"@parcel/transformer-js/src/esmodule-helpers.js\");\nparcelHelpers.defineInteropFlag(exports);\nparcelHelpers.export(exports, \"TabsContext\", ()=>TabsContext);\nparcelHelpers.export(exports, \"TabPanel\", ()=>TabPanel);\nparcelHelpers.export(exports, \"Tab\", ()=>Tab);\nparcelHelpers.export(exports, \"TabList\", ()=>TabList);\nparcelHelpers.export(exports, \"Tabs\", ()=>_Tabs);\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _reactAriaComponents = require(\"react-aria-components\");\nvar _centerBaseline = require(\"./CenterBaseline\");\nvar _react = require(\"react\");\nvar _icon = require(\"./Icon\");\nvar _content = require(\"./Content\");\nvar _utils = require(\"@react-spectrum/utils\");\nvar _utils1 = require(\"@react-aria/utils\");\nvar _i18N = require(\"@react-aria/i18n\");\nvar _useSpectrumContextProps = require(\"./useSpectrumContextProps\");\nconst TabsContext = /*#__PURE__*/ (0, _react.createContext)(null);\nconst tabPanel = function anonymous(props, overrides) {\n let rules = \" .\";\n let matches = (overrides || '').match(/(?:^|\\s)(?:y|z|A|B|_9|_8|h|_5|_4|__A|__c|__d|__a|__b|U|__Q|X|Z|V|W|l|q|r|k|o|p)[^\\s]+/g) || [];\n rules += matches.join('');\n let $A = false;\n let $_9 = false;\n let $h = false;\n let $o = false;\n let $q = false;\n for (let p of matches){\n if (/^\\s*A/.test(p)) $A = true;\n if (/^\\s*_9/.test(p)) $_9 = true;\n if (/^\\s*h/.test(p)) $h = true;\n if (/^\\s*o/.test(p)) $o = true;\n if (/^\\s*q/.test(p)) $q = true;\n }\n if (!$A) rules += ' Ac';\n rules += ' an';\n if (!$_9) rules += ' _9-3t1y';\n if (!$h) rules += ' h-3hmsa';\n if (!$o) rules += ' oo';\n if (!$q) rules += ' qo';\n return rules;\n};\nfunction TabPanel(props) {\n return /*#__PURE__*/ (0, _jsxRuntime.jsx)((0, _reactAriaComponents.TabPanel), {\n ...props,\n style: props.UNSAFE_style,\n className: (props.UNSAFE_className || '') + tabPanel(null, props.styles)\n });\n}\nconst tab = function anonymous(props, overrides) {\n let rules = \" .\";\n let matches = (overrides || '').match(/(?:^|\\s)(?:y|z|A|B|_9|_8|h|_5|_4|__A|__c|__d|__a|__b|U|__Q|X|Z|V|W|l|q|r)[^\\s]+/g) || [];\n rules += matches.join('');\n let $U = false;\n let $_8 = false;\n for (let p of matches){\n if (/^\\s*U/.test(p)) $U = true;\n if (/^\\s*_8/.test(p)) $_8 = true;\n }\n if (props.isFocusVisible) rules += ' _Lb';\n else rules += ' _La';\n rules += ' da_____z';\n rules += ' dx';\n rules += ' _Nc';\n rules += ' _M-3t1z';\n rules += ' _Zd';\n if (props.isDisabled) rules += ' aa_____B';\n else if (props.isSelected) rules += ' aa_____z';\n if (props.isDisabled) rules += ' aj';\n else if (props.isHovered) {\n if (props.isPressed) rules += ' an';\n else if (props.isFocusVisible) rules += ' an';\n else if (props.isHovered) rules += ' an';\n else rules += ' am';\n } else if (props.isSelected) {\n if (props.isPressed) rules += ' ao';\n else if (props.isFocusVisible) rules += ' ao';\n else rules += ' an';\n } else {\n if (props.isPressed) rules += ' an';\n else if (props.isFocusVisible) rules += ' an';\n else rules += ' am';\n }\n rules += ' _vb';\n rules += ' _wb';\n rules += ' _xb';\n rules += ' _yb';\n rules += ' ibH';\n rules += ' iG';\n rules += ' jbH';\n rules += ' jG';\n if (props.density === \"regular\") rules += ' k_a';\n else if (props.density === \"compact\") rules += ' kU';\n rules += ' _1c';\n if (!$U) rules += ' Uc';\n rules += ' __Hb';\n if (!$_8) rules += ' _8-3t1x';\n rules += ' _Oa';\n rules += ' _Q-375x7f';\n rules += ' _Ra';\n return rules;\n};\nconst icon = \" . _8-3t1x -rwx0fg_e-b\";\nfunction Tab(props) {\n let { density } = (0, _reactAriaComponents.useSlottedContext)(TabsContext) ?? {};\n return /*#__PURE__*/ (0, _jsxRuntime.jsx)((0, _reactAriaComponents.Tab), {\n ...props,\n style: props.UNSAFE_style,\n className: (renderProps)=>(props.UNSAFE_className || '') + tab({\n ...renderProps,\n density\n }, props.styles),\n children: /*#__PURE__*/ (0, _jsxRuntime.jsx)((0, _reactAriaComponents.Provider), {\n values: [\n [\n (0, _content.TextContext),\n {\n styles: \" . __A-3t1y\"\n }\n ],\n [\n (0, _icon.IconContext),\n {\n render: (0, _centerBaseline.centerBaseline)({\n slot: 'icon',\n styles: \" . __A-3t1x\"\n }),\n styles: icon\n }\n ]\n ],\n children: typeof props.children === 'string' ? /*#__PURE__*/ (0, _jsxRuntime.jsx)((0, _content.Text), {\n children: props.children\n }) : props.children\n })\n });\n}\nconst tablist = function anonymous(props) {\n let rules = \" .\";\n rules += ' _Zd';\n if (props.orientation === \"horizontal\") {\n if (props.density === \"regular\") rules += ' ij';\n else if (props.density === \"compact\") rules += ' ih';\n }\n if (props.orientation === \"horizontal\") {\n if (props.density === \"regular\") rules += ' jj';\n else if (props.density === \"compact\") rules += ' jh';\n }\n if (props.orientation === \"vertical\") rules += ' _6b';\n if (props.orientation === \"vertical\") rules += ' Dg';\n if (props.orientation === \"vertical\") rules += ' Ce';\n rules += ' _8-3t1x';\n rules += ' h-3hmsa';\n return rules;\n};\nfunction TabList(props1) {\n let { density, isDisabled, disabledKeys, orientation } = (0, _reactAriaComponents.useSlottedContext)(TabsContext) ?? {};\n let state = (0, _react.useContext)((0, _reactAriaComponents.TabListStateContext));\n let [selectedTab, setSelectedTab] = (0, _react.useState)(undefined);\n let tablistRef = (0, _react.useRef)(null);\n (0, _utils1.useLayoutEffect)(()=>{\n if (tablistRef?.current) {\n let tab = tablistRef.current.querySelector('[role=tab][data-selected=true]');\n if (tab != null) setSelectedTab(tab);\n }\n }, [\n tablistRef,\n state?.selectedItem?.key\n ]);\n return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(\"div\", {\n style: props1.UNSAFE_style,\n className: (props1.UNSAFE_className || '') + function anonymous(props, overrides) {\n let rules = \" .\";\n let matches = (overrides || '').match(/(?:^|\\s)(?:y|z|A|B|_9|_8|h|_5|_4|__A|__c|__d|__a|__b|U|__Q|X|Z|V|W|l|q|r)[^\\s]+/g) || [];\n rules += matches.join('');\n let $U = false;\n for (let p of matches)if (/^\\s*U/.test(p)) $U = true;\n if (!$U) rules += ' Uc';\n return rules;\n }(null, props1.styles),\n children: [\n orientation === 'vertical' && /*#__PURE__*/ (0, _jsxRuntime.jsx)(TabLine, {\n disabledKeys: disabledKeys,\n isDisabled: isDisabled,\n selectedTab: selectedTab,\n orientation: orientation,\n density: density\n }),\n /*#__PURE__*/ (0, _jsxRuntime.jsx)((0, _reactAriaComponents.TabList), {\n ...props1,\n ref: tablistRef,\n className: (renderProps)=>tablist({\n ...renderProps,\n density\n })\n }),\n orientation === 'horizontal' && /*#__PURE__*/ (0, _jsxRuntime.jsx)(TabLine, {\n disabledKeys: disabledKeys,\n isDisabled: isDisabled,\n selectedTab: selectedTab,\n orientation: orientation,\n density: density\n })\n ]\n });\n}\nfunction isAllTabsDisabled(collection, disabledKeys) {\n let testKey = null;\n if (collection && collection.size > 0) {\n testKey = collection.getFirstKey();\n let index = 0;\n while(testKey && index < collection.size){\n // We have to check if the item in the collection has a key in disabledKeys or has the isDisabled prop set directly on it\n if (!disabledKeys.has(testKey) && !collection.getItem(testKey)?.props?.isDisabled) return false;\n testKey = collection.getKeyAfter(testKey);\n index++;\n }\n return true;\n }\n return false;\n}\nconst selectedIndicator = function anonymous(props) {\n let rules = \" .\";\n rules += ' Ua';\n if (props.isDisabled) rules += ' ba_____B';\n else rules += ' ba_____z';\n if (props.isDisabled) rules += ' bg';\n else {\n if (props.isPressed) rules += ' bo';\n else if (props.isFocusVisible) rules += ' bo';\n else if (props.isHovered) rules += ' bo';\n else rules += ' bn';\n }\n if (props.orientation === \"horizontal\") rules += ' k-375zlr';\n if (props.orientation === \"vertical\") rules += ' l-375zlr';\n if (props.orientation === \"horizontal\") rules += ' Za';\n rules += ' wf';\n rules += ' _vf';\n rules += ' _wf';\n rules += ' _xf';\n rules += ' _yf';\n rules += ' _Q-375x5l';\n rules += ' _Ra';\n return rules;\n};\nfunction TabLine(props) {\n let { disabledKeys, isDisabled: isTabsDisabled, selectedTab, orientation, density } = props;\n let { direction } = (0, _i18N.useLocale)();\n let state = (0, _react.useContext)((0, _reactAriaComponents.TabListStateContext));\n // We want to add disabled styling to the selection indicator only if all the Tabs are disabled\n let [isDisabled, setIsDisabled] = (0, _react.useState)(false);\n (0, _react.useEffect)(()=>{\n let isDisabled = isTabsDisabled || isAllTabsDisabled(state?.collection || null, disabledKeys ? new Set(disabledKeys) : new Set(null));\n setIsDisabled(isDisabled);\n }, [\n state?.collection,\n disabledKeys,\n isTabsDisabled,\n setIsDisabled\n ]);\n let [style, setStyle] = (0, _react.useState)({\n transform: undefined,\n width: undefined,\n height: undefined\n });\n let onResize = (0, _react.useCallback)(()=>{\n if (selectedTab) {\n let styleObj = {\n transform: undefined,\n width: undefined,\n height: undefined\n };\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?.offsetWidth - selectedTab.offsetWidth - selectedTab.offsetLeft) : selectedTab.offsetLeft;\n styleObj.transform = orientation === 'vertical' ? `translateY(${selectedTab.offsetTop}px)` : `translateX(${offset}px)`;\n if (orientation === 'horizontal') styleObj.width = `${selectedTab.offsetWidth}px`;\n else styleObj.height = `${selectedTab.offsetHeight}px`;\n setStyle(styleObj);\n }\n }, [\n direction,\n setStyle,\n selectedTab,\n orientation\n ]);\n (0, _utils1.useLayoutEffect)(()=>{\n onResize();\n }, [\n onResize,\n state?.selectedItem?.key,\n direction,\n orientation,\n density\n ]);\n return /*#__PURE__*/ (0, _jsxRuntime.jsx)(\"div\", {\n style: {\n ...style\n },\n className: selectedIndicator({\n isDisabled,\n orientation\n })\n });\n}\nconst tabs = function anonymous(props, overrides) {\n let rules = \" .\";\n let matches = (overrides || '').match(/(?:^|\\s)(?:y|z|A|B|_9|_8|h|_5|_4|__A|__c|__d|__a|__b|U|__Q|X|Z|V|W|l|q|r|k|o|p)[^\\s]+/g) || [];\n rules += matches.join('');\n let $_8 = false;\n for (let p of matches)if (/^\\s*_8/.test(p)) $_8 = true;\n rules += ' _Zd';\n if (!$_8) rules += ' _8-3t1x';\n rules += ' _c-bc1l9oh';\n rules += ' _c-1uotwbwg';\n rules += ' _c-eo0c6sf';\n rules += ' _c-enzzrge';\n rules += ' _c-enzykdd';\n rules += ' _c-enzwzjc';\n rules += ' _c-enzrfpb';\n rules += ' _ca';\n rules += ' _eb';\n if (props.orientation === \"horizontal\") rules += ' _6b';\n return rules;\n};\nfunction Tabs(props, ref) {\n [props, ref] = (0, _useSpectrumContextProps.useSpectrumContextProps)(props, ref, TabsContext);\n let { density = 'regular', isDisabled, disabledKeys, orientation = 'horizontal' } = props;\n let domRef = (0, _utils.useDOMRef)(ref);\n return /*#__PURE__*/ (0, _jsxRuntime.jsx)((0, _reactAriaComponents.Tabs), {\n ...props,\n ref: domRef,\n style: props.UNSAFE_style,\n className: (renderProps)=>(props.UNSAFE_className || '') + tabs({\n ...renderProps\n }, props.styles),\n children: /*#__PURE__*/ (0, _jsxRuntime.jsx)((0, _reactAriaComponents.Provider), {\n values: [\n [\n TabsContext,\n {\n density,\n isDisabled,\n disabledKeys,\n orientation\n }\n ]\n ],\n children: props.children\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 */ const _Tabs = /*#__PURE__*/ (0, _react.forwardRef)(Tabs);\ntry {\n // @ts-ignore\n TabPanel.displayName = \"TabPanel\";\n // @ts-ignore\n TabPanel.__docgenInfo = {\n \"description\": \"\",\n \"displayName\": \"TabPanel\",\n \"props\": {\n \"children\": {\n \"defaultValue\": null,\n \"description\": \"The content to display in the tab panels.\",\n \"name\": \"children\",\n \"required\": false,\n \"type\": {\n \"name\": \"ReactNode\"\n }\n },\n \"shouldForceMount\": {\n \"defaultValue\": {\n value: \"false\"\n },\n \"description\": \"Whether to mount the tab panel in the DOM even when it is not currently selected.\\nInactive tab panels are inert and cannot be interacted with. They must be styled appropriately so this is clear to the user visually.\",\n \"name\": \"shouldForceMount\",\n \"required\": false,\n \"type\": {\n \"name\": \"boolean\"\n }\n },\n \"styles\": {\n \"defaultValue\": null,\n \"description\": \"Spectrum-defined styles, returned by the `style()` macro.\",\n \"name\": \"styles\",\n \"required\": false,\n \"type\": {\n \"name\": \"StylesPropWithHeight\"\n }\n },\n \"UNSAFE_className\": {\n \"defaultValue\": null,\n \"description\": \"Sets the CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. Only use as a **last resort**. Use the `style` macro via the `styles` prop instead.\",\n \"name\": \"UNSAFE_className\",\n \"required\": false,\n \"type\": {\n \"name\": \"string\"\n }\n },\n \"UNSAFE_style\": {\n \"defaultValue\": null,\n \"description\": \"Sets inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. Only use as a **last resort**. Use the `style` macro via the `styles` prop instead.\",\n \"name\": \"UNSAFE_style\",\n \"required\": false,\n \"type\": {\n \"name\": \"CSSProperties\"\n }\n }\n }\n };\n // @ts-ignore\n if (typeof STORYBOOK_REACT_CLASSES !== \"undefined\") // @ts-ignore\n STORYBOOK_REACT_CLASSES[\"packages/@react-spectrum/s2/src/Tabs.tsx#TabPanel\"] = {\n docgenInfo: TabPanel.__docgenInfo,\n name: \"TabPanel\",\n path: \"packages/@react-spectrum/s2/src/Tabs.tsx#TabPanel\"\n };\n} catch (__react_docgen_typescript_loader_error) {}\ntry {\n // @ts-ignore\n Tab.displayName = \"Tab\";\n // @ts-ignore\n Tab.__docgenInfo = {\n \"description\": \"\",\n \"displayName\": \"Tab\",\n \"props\": {\n \"children\": {\n \"defaultValue\": null,\n \"description\": \"The content to display in the tab.\",\n \"name\": \"children\",\n \"required\": false,\n \"type\": {\n \"name\": \"ReactNode\"\n }\n },\n \"download\": {\n \"defaultValue\": null,\n \"description\": \"Causes the browser to download the linked URL. A string may be provided to suggest a file name. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#download).\",\n \"name\": \"download\",\n \"required\": false,\n \"type\": {\n \"name\": \"string | boolean\"\n }\n },\n \"href\": {\n \"defaultValue\": null,\n \"description\": \"A URL to link to. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#href).\",\n \"name\": \"href\",\n \"required\": false,\n \"type\": {\n \"name\": \"string\"\n }\n },\n \"hrefLang\": {\n \"defaultValue\": null,\n \"description\": \"Hints at the human language of the linked URL. See[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#hreflang).\",\n \"name\": \"hrefLang\",\n \"required\": false,\n \"type\": {\n \"name\": \"string\"\n }\n },\n \"isDisabled\": {\n \"defaultValue\": null,\n \"description\": \"Whether the tab is disabled.\",\n \"name\": \"isDisabled\",\n \"required\": false,\n \"type\": {\n \"name\": \"boolean\"\n }\n },\n \"ping\": {\n \"defaultValue\": null,\n \"description\": \"A space-separated list of URLs to ping when the link is followed. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#ping).\",\n \"name\": \"ping\",\n \"required\": false,\n \"type\": {\n \"name\": \"string\"\n }\n },\n \"referrerPolicy\": {\n \"defaultValue\": null,\n \"description\": \"How much of the referrer to send when following the link. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#referrerpolicy).\",\n \"name\": \"referrerPolicy\",\n \"required\": false,\n \"type\": {\n \"name\": \"enum\",\n \"value\": [\n {\n \"value\": \"\\\"\\\"\"\n },\n {\n \"value\": \"\\\"no-referrer\\\"\"\n },\n {\n \"value\": \"\\\"no-referrer-when-downgrade\\\"\"\n },\n {\n \"value\": \"\\\"origin\\\"\"\n },\n {\n \"value\": \"\\\"origin-when-cross-origin\\\"\"\n },\n {\n \"value\": \"\\\"same-origin\\\"\"\n },\n {\n \"value\": \"\\\"strict-origin\\\"\"\n },\n {\n \"value\": \"\\\"strict-origin-when-cross-origin\\\"\"\n },\n {\n \"value\": \"\\\"unsafe-url\\\"\"\n }\n ]\n }\n },\n \"rel\": {\n \"defaultValue\": null,\n \"description\": \"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).\",\n \"name\": \"rel\",\n \"required\": false,\n \"type\": {\n \"name\": \"string\"\n }\n },\n \"routerOptions\": {\n \"defaultValue\": null,\n \"description\": \"Options for the configured client side router.\",\n \"name\": \"routerOptions\",\n \"required\": false,\n \"type\": {\n \"name\": \"undefined\"\n }\n },\n \"styles\": {\n \"defaultValue\": null,\n \"description\": \"Spectrum-defined styles, returned by the `style()` macro.\",\n \"name\": \"styles\",\n \"required\": false,\n \"type\": {\n \"name\": \"StylesProp\"\n }\n },\n \"target\": {\n \"defaultValue\": null,\n \"description\": \"The target window for the link. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\",\n \"name\": \"target\",\n \"required\": false,\n \"type\": {\n \"name\": \"HTMLAttributeAnchorTarget\"\n }\n },\n \"UNSAFE_className\": {\n \"defaultValue\": null,\n \"description\": \"Sets the CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. Only use as a **last resort**. Use the `style` macro via the `styles` prop instead.\",\n \"name\": \"UNSAFE_className\",\n \"required\": false,\n \"type\": {\n \"name\": \"string\"\n }\n },\n \"UNSAFE_style\": {\n \"defaultValue\": null,\n \"description\": \"Sets inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. Only use as a **last resort**. Use the `style` macro via the `styles` prop instead.\",\n \"name\": \"UNSAFE_style\",\n \"required\": false,\n \"type\": {\n \"name\": \"CSSProperties\"\n }\n }\n }\n };\n // @ts-ignore\n if (typeof STORYBOOK_REACT_CLASSES !== \"undefined\") // @ts-ignore\n STORYBOOK_REACT_CLASSES[\"packages/@react-spectrum/s2/src/Tabs.tsx#Tab\"] = {\n docgenInfo: Tab.__docgenInfo,\n name: \"Tab\",\n path: \"packages/@react-spectrum/s2/src/Tabs.tsx#Tab\"\n };\n} catch (__react_docgen_typescript_loader_error) {}\ntry {\n // @ts-ignore\n TabList.displayName = \"TabList\";\n // @ts-ignore\n TabList.__docgenInfo = {\n \"description\": \"\",\n \"displayName\": \"TabList\",\n \"props\": {\n \"children\": {\n \"defaultValue\": null,\n \"description\": \"The content to display in the tablist.\",\n \"name\": \"children\",\n \"required\": false,\n \"type\": {\n \"name\": \"ReactNode\"\n }\n },\n \"dependencies\": {\n \"defaultValue\": null,\n \"description\": \"Values that should invalidate the item cache when using dynamic collections.\",\n \"name\": \"dependencies\",\n \"required\": false,\n \"type\": {\n \"name\": \"any[]\"\n }\n },\n \"items\": {\n \"defaultValue\": null,\n \"description\": \"Item objects in the collection.\",\n \"name\": \"items\",\n \"required\": false,\n \"type\": {\n \"name\": \"Iterable<T>\"\n }\n },\n \"styles\": {\n \"defaultValue\": null,\n \"description\": \"Spectrum-defined styles, returned by the `style()` macro.\",\n \"name\": \"styles\",\n \"required\": false,\n \"type\": {\n \"name\": \"StylesProp\"\n }\n },\n \"UNSAFE_className\": {\n \"defaultValue\": null,\n \"description\": \"Sets the CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. Only use as a **last resort**. Use the `style` macro via the `styles` prop instead.\",\n \"name\": \"UNSAFE_className\",\n \"required\": false,\n \"type\": {\n \"name\": \"string\"\n }\n },\n \"UNSAFE_style\": {\n \"defaultValue\": null,\n \"description\": \"Sets inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. Only use as a **last resort**. Use the `style` macro via the `styles` prop instead.\",\n \"name\": \"UNSAFE_style\",\n \"required\": false,\n \"type\": {\n \"name\": \"CSSProperties\"\n }\n }\n }\n };\n // @ts-ignore\n if (typeof STORYBOOK_REACT_CLASSES !== \"undefined\") // @ts-ignore\n STORYBOOK_REACT_CLASSES[\"packages/@react-spectrum/s2/src/Tabs.tsx#TabList\"] = {\n docgenInfo: TabList.__docgenInfo,\n name: \"TabList\",\n path: \"packages/@react-spectrum/s2/src/Tabs.tsx#TabList\"\n };\n} catch (__react_docgen_typescript_loader_error) {}\ntry {\n // @ts-ignore\n TabsContext.displayName = \"TabsContext\";\n // @ts-ignore\n TabsContext.__docgenInfo = {\n \"description\": \"\",\n \"displayName\": \"TabsContext\",\n \"props\": {\n \"value\": {\n \"defaultValue\": null,\n \"description\": \"\",\n \"name\": \"value\",\n \"required\": true,\n \"type\": {\n \"name\": \"ContextValue<TabsProps, DOMRefValue<HTMLDivElement>>\"\n }\n }\n }\n };\n // @ts-ignore\n if (typeof STORYBOOK_REACT_CLASSES !== \"undefined\") // @ts-ignore\n STORYBOOK_REACT_CLASSES[\"packages/@react-spectrum/s2/src/Tabs.tsx#TabsContext\"] = {\n docgenInfo: TabsContext.__docgenInfo,\n name: \"TabsContext\",\n path: \"packages/@react-spectrum/s2/src/Tabs.tsx#TabsContext\"\n };\n} catch (__react_docgen_typescript_loader_error) {}\ntry {\n // @ts-ignore\n _Tabs.displayName = \"_Tabs\";\n // @ts-ignore\n _Tabs.__docgenInfo = {\n \"description\": \"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 \"displayName\": \"_Tabs\",\n \"props\": {\n \"children\": {\n \"defaultValue\": null,\n \"description\": \"The content to display in the tabs.\",\n \"name\": \"children\",\n \"required\": false,\n \"type\": {\n \"name\": \"ReactNode\"\n }\n },\n \"defaultSelectedKey\": {\n \"defaultValue\": null,\n \"description\": \"The initial selected key in the collection (uncontrolled).\",\n \"name\": \"defaultSelectedKey\",\n \"required\": false,\n \"type\": {\n \"name\": \"Key\"\n }\n },\n \"density\": {\n \"defaultValue\": {\n value: \"'regular'\"\n },\n \"description\": \"The amount of space between the tabs.\",\n \"name\": \"density\",\n \"required\": false,\n \"type\": {\n \"name\": \"enum\",\n \"value\": [\n {\n \"value\": \"\\\"compact\\\"\"\n },\n {\n \"value\": \"\\\"regular\\\"\"\n }\n ]\n }\n },\n \"disabledKeys\": {\n \"defaultValue\": null,\n \"description\": \"The item keys that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n \"name\": \"disabledKeys\",\n \"required\": false,\n \"type\": {\n \"name\": \"Iterable<Key>\"\n }\n },\n \"isDisabled\": {\n \"defaultValue\": null,\n \"description\": \"Whether the TabList is disabled.\\nShows that a selection exists, but is not available in that circumstance.\",\n \"name\": \"isDisabled\",\n \"required\": false,\n \"type\": {\n \"name\": \"boolean\"\n }\n },\n \"keyboardActivation\": {\n \"defaultValue\": {\n value: \"'automatic'\"\n },\n \"description\": \"Whether tabs are activated automatically on focus or manually.\",\n \"name\": \"keyboardActivation\",\n \"required\": false,\n \"type\": {\n \"name\": \"enum\",\n \"value\": [\n {\n \"value\": \"\\\"manual\\\"\"\n },\n {\n \"value\": \"\\\"automatic\\\"\"\n }\n ]\n }\n },\n \"orientation\": {\n \"defaultValue\": {\n value: \"'horizontal'\"\n },\n \"description\": \"The orientation of the tabs.\",\n \"name\": \"orientation\",\n \"required\": false,\n \"type\": {\n \"name\": \"enum\",\n \"value\": [\n {\n \"value\": \"\\\"vertical\\\"\"\n },\n {\n \"value\": \"\\\"horizontal\\\"\"\n }\n ]\n }\n },\n \"selectedKey\": {\n \"defaultValue\": null,\n \"description\": \"The currently selected key in the collection (controlled).\",\n \"name\": \"selectedKey\",\n \"required\": false,\n \"type\": {\n \"name\": \"Key | null\"\n }\n },\n \"styles\": {\n \"defaultValue\": null,\n \"description\": \"Spectrum-defined styles, returned by the `style()` macro.\",\n \"name\": \"styles\",\n \"required\": false,\n \"type\": {\n \"name\": \"StylesPropWithHeight\"\n }\n },\n \"UNSAFE_className\": {\n \"defaultValue\": null,\n \"description\": \"Sets the CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. Only use as a **last resort**. Use the `style` macro via the `styles` prop instead.\",\n \"name\": \"UNSAFE_className\",\n \"required\": false,\n \"type\": {\n \"name\": \"string\"\n }\n },\n \"UNSAFE_style\": {\n \"defaultValue\": null,\n \"description\": \"Sets inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. Only use as a **last resort**. Use the `style` macro via the `styles` prop instead.\",\n \"name\": \"UNSAFE_style\",\n \"required\": false,\n \"type\": {\n \"name\": \"CSSProperties\"\n }\n },\n \"onSelectionChange\": {\n \"defaultValue\": null,\n \"description\": \"Handler that is called when the selection changes.\",\n \"name\": \"onSelectionChange\",\n \"required\": false,\n \"type\": {\n \"name\": \"((key: Key) => void)\"\n }\n },\n \"key\": {\n \"defaultValue\": null,\n \"description\": \"\",\n \"name\": \"key\",\n \"required\": false,\n \"type\": {\n \"name\": \"Key | null\"\n }\n },\n \"ref\": {\n \"defaultValue\": null,\n \"description\": \"Allows getting a ref to the component instance.\\nOnce the component unmounts, React will set `ref.current` to `null`\\n(or call the ref with `null` if you passed a callback ref).\\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}\",\n \"name\": \"ref\",\n \"required\": false,\n \"type\": {\n \"name\": \"Ref<DOMRefValue<HTMLDivElement>>\"\n }\n }\n }\n };\n // @ts-ignore\n if (typeof STORYBOOK_REACT_CLASSES !== \"undefined\") // @ts-ignore\n STORYBOOK_REACT_CLASSES[\"packages/@react-spectrum/s2/src/Tabs.tsx#_Tabs\"] = {\n docgenInfo: _Tabs.__docgenInfo,\n name: \"_Tabs\",\n path: \"packages/@react-spectrum/s2/src/Tabs.tsx#_Tabs\"\n };\n} catch (__react_docgen_typescript_loader_error) {}\n\n},{\"0\":\"fWNj9\",\"1\":\"6VX3t\",\"2\":\"dbdLf\",\"3\":\"eeeiQ\",\"4\":\"cfbf1\",\"5\":\"bTYJ0\",\"6\":\"lt5NV\",\"7\":\"efqqG\",\"8\":\"kFnhW\",\"react/jsx-runtime\":\"2JzhG\",\"react-aria-components\":\"8nuKL\",\"./CenterBaseline\":\"hXatv\",\"react\":\"jEiK2\",\"./Icon\":\"1OC2a\",\"./Content\":\"aBWEm\",\"@react-spectrum/utils\":\"bebxO\",\"@react-aria/utils\":\"e9Yvo\",\"@react-aria/i18n\":\"hFrKJ\",\"./useSpectrumContextProps\":\"ileU6\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"diccK\"}],\"fWNj9\":[function() {},{}],\"6VX3t\":[function() {},{}],\"dbdLf\":[function() {},{}],\"eeeiQ\":[function() {},{}],\"cfbf1\":[function() {},{}],\"bTYJ0\":[function() {},{}],\"lt5NV\":[function() {},{}],\"efqqG\":[function() {},{}],\"kFnhW\":[function() {},{}]},[], null, \"parcelRequire94c2\")\n\n//# sourceMappingURL=Illustrations.0c54c9ea.js.map\n","/*\n * Copyright 2024 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 {\n TabListProps as AriaTabListProps,\n TabPanel as AriaTabPanel,\n TabPanelProps as AriaTabPanelProps,\n TabProps as AriaTabProps,\n TabsProps as AriaTabsProps,\n ContextValue,\n Provider,\n Tab as RACTab,\n TabList as RACTabList,\n Tabs as RACTabs,\n TabListStateContext,\n useSlottedContext\n } from 'react-aria-components';\nimport {centerBaseline} from './CenterBaseline';\nimport {Collection, DOMRef, DOMRefValue, Key, Node, Orientation} from '@react-types/shared';\nimport {createContext, forwardRef, ReactNode, useCallback, useContext, useEffect, useRef, useState} from 'react';\nimport {focusRing, style} from '../style' with {type: 'macro'};\nimport {getAllowedOverrides, StyleProps, StylesPropWithHeight, UnsafeStyles} from './style-utils' with {type: 'macro'};\nimport {IconContext} from './Icon';\nimport {Text, TextContext} from './Content';\nimport {useDOMRef} from '@react-spectrum/utils';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useLocale} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface TabsProps extends Omit<AriaTabsProps, 'className' | 'style' | 'children'>, UnsafeStyles {\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight,\n /** The content to display in the tabs. */\n children?: ReactNode,\n /**\n * The amount of space between the tabs.\n * @default 'regular'\n */\n density?: 'compact' | 'regular'\n}\n\nexport interface TabProps extends Omit<AriaTabProps, 'children' | 'style' | 'className'>, StyleProps {\n /** The content to display in the tab. */\n children?: ReactNode\n}\n\nexport interface TabListProps<T> extends Omit<AriaTabListProps<T>, 'children' | 'style' | 'className'>, StyleProps {\n /** The content to display in the tablist. */\n children?: ReactNode\n}\n\nexport interface TabPanelProps extends Omit<AriaTabPanelProps, 'children' | 'style' | 'className'>, UnsafeStyles {\n /** Spectrum-defined styles, returned by the `style()` macro. */\n styles?: StylesPropWithHeight,\n /** The content to display in the tab panels. */\n children?: ReactNode\n}\n\nexport const TabsContext = createContext<ContextValue<TabsProps, DOMRefValue<HTMLDivElement>>>(null);\n\nconst tabPanel = style({\n marginTop: 4,\n color: 'gray-800',\n flexGrow: 1,\n flexBasis: '[0%]',\n minHeight: 0,\n minWidth: 0\n}, getAllowedOverrides({height: true}));\n\nexport function TabPanel(props: TabPanelProps) {\n return (\n <AriaTabPanel\n {...props}\n style={props.UNSAFE_style}\n className={(props.UNSAFE_className || '') + tabPanel(null, props.styles)} />\n );\n}\n\nconst tab = style({\n ...focusRing(),\n display: 'flex',\n color: {\n default: 'neutral-subdued',\n isSelected: 'neutral',\n isHovered: 'neutral-subdued',\n isDisabled: 'disabled',\n forcedColors: {\n isSelected: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n borderRadius: 'sm',\n gap: 'text-to-visual',\n height: {\n density: {\n compact: 32,\n regular: 48\n }\n },\n alignItems: 'center',\n position: 'relative',\n cursor: 'default',\n flexShrink: 0,\n transition: 'default'\n}, getAllowedOverrides());\n\nconst icon = style({\n flexShrink: 0,\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nexport function Tab(props: TabProps) {\n let {density} = useSlottedContext(TabsContext) ?? {};\n\n return (\n <RACTab\n {...props}\n style={props.UNSAFE_style}\n className={renderProps => (props.UNSAFE_className || '') + tab({...renderProps, density}, props.styles)}>\n <Provider\n values={[\n [TextContext, {styles: style({order: 1})}],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0})}),\n styles: icon\n }]\n ]}>\n {typeof props.children === 'string' ? <Text>{props.children}</Text> : props.children}\n </Provider>\n </RACTab>\n );\n}\n\nconst tablist = style({\n display: 'flex',\n gap: {\n orientation: {\n horizontal: {\n density: {\n compact: 24,\n regular: 32\n }\n }\n }\n },\n flexDirection: {\n orientation: {\n vertical: 'column'\n }\n },\n paddingEnd: {\n orientation: {\n vertical: 20\n }\n },\n paddingStart: {\n orientation: {\n vertical: 12\n }\n },\n flexShrink: 0,\n flexBasis: '[0%]'\n});\n\nexport function TabList<T extends object>(props: TabListProps<T>) {\n let {density, isDisabled, disabledKeys, orientation} = useSlottedContext(TabsContext) ?? {};\n let state = useContext(TabListStateContext);\n let [selectedTab, setSelectedTab] = useState<HTMLElement | undefined>(undefined);\n let tablistRef = useRef<HTMLDivElement>(null);\n\n useLayoutEffect(() => {\n if (tablistRef?.current) {\n let tab: HTMLElement | null = tablistRef.current.querySelector('[role=tab][data-selected=true]');\n\n if (tab != null) {\n setSelectedTab(tab);\n }\n }\n }, [tablistRef, state?.selectedItem?.key]);\n\n return (\n <div\n style={props.UNSAFE_style}\n className={(props.UNSAFE_className || '') + style({position: 'relative'}, getAllowedOverrides())(null, props.styles)}>\n {orientation === 'vertical' &&\n <TabLine disabledKeys={disabledKeys} isDisabled={isDisabled} selectedTab={selectedTab} orientation={orientation} density={density} />}\n <RACTabList\n {...props}\n ref={tablistRef}\n className={renderProps => tablist({...renderProps, density})} />\n {orientation === 'horizontal' &&\n <TabLine disabledKeys={disabledKeys} isDisabled={isDisabled} selectedTab={selectedTab} orientation={orientation} density={density} />}\n </div>\n );\n}\n\nfunction isAllTabsDisabled<T>(collection: Collection<Node<T>> | null, disabledKeys: Set<Key>) {\n let testKey: Key | null = null;\n if (collection && collection.size > 0) {\n testKey = collection.getFirstKey();\n\n let index = 0;\n while (testKey && index < collection.size) {\n // We have to check if the item in the collection has a key in disabledKeys or has the isDisabled prop set directly on it\n if (!disabledKeys.has(testKey) && !collection.getItem(testKey)?.props?.isDisabled) {\n return false;\n }\n\n testKey = collection.getKeyAfter(testKey);\n index++;\n }\n return true;\n }\n return false;\n}\n\ninterface TabLineProps {\n disabledKeys: Iterable<Key> | undefined,\n isDisabled: boolean | undefined,\n selectedTab: HTMLElement | undefined,\n orientation?: Orientation,\n density?: 'compact' | 'regular'\n}\n\nconst selectedIndicator = style({\n position: 'absolute',\n backgroundColor: {\n default: 'neutral',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n height: {\n orientation: {\n horizontal: '[2px]'\n }\n },\n width: {\n orientation: {\n vertical: '[2px]'\n }\n },\n bottom: {\n orientation: {\n horizontal: 0\n }\n },\n borderStyle: 'none',\n borderRadius: 'full',\n transitionDuration: 130,\n transitionTimingFunction: 'in-out'\n});\n\nfunction TabLine(props: TabLineProps) {\n let {\n disabledKeys,\n isDisabled: isTabsDisabled,\n selectedTab,\n orientation,\n density\n } = props;\n let {direction} = useLocale();\n let state = useContext(TabListStateContext);\n\n // We want to add disabled styling to the selection indicator only if all the Tabs are disabled\n let [isDisabled, setIsDisabled] = useState<boolean>(false);\n useEffect(() => {\n let isDisabled = isTabsDisabled || isAllTabsDisabled(state?.collection || null, disabledKeys ? new Set(disabledKeys) : new Set(null));\n setIsDisabled(isDisabled);\n }, [state?.collection, disabledKeys, isTabsDisabled, setIsDisabled]);\n\n let [style, setStyle] = useState<{transform: string | undefined, width: string | undefined, height: string | undefined}>({\n transform: undefined,\n width: undefined,\n height: undefined\n });\n\n let onResize = useCallback(() => {\n if (selectedTab) {\n let styleObj: { transform: string | undefined, width: string | undefined, height: string | undefined } = {\n transform: undefined,\n width: undefined,\n height: undefined\n };\n\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 }, [direction, setStyle, selectedTab, orientation]);\n\n useLayoutEffect(() => {\n onResize();\n }, [onResize, state?.selectedItem?.key, direction, orientation, density]);\n\n return (\n <div style={{...style}} className={selectedIndicator({isDisabled, orientation})} />\n );\n}\n\nconst tabs = style({\n display: 'flex',\n flexShrink: 0,\n fontFamily: 'sans',\n fontWeight: 'normal',\n flexDirection: {\n orientation: {\n horizontal: 'column'\n }\n }\n}, getAllowedOverrides({height: true}));\n\nfunction Tabs(props: TabsProps, ref: DOMRef<HTMLDivElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, TabsContext);\n let {\n density = 'regular',\n isDisabled,\n disabledKeys,\n orientation = 'horizontal'\n } = props;\n let domRef = useDOMRef(ref);\n\n return (\n <RACTabs\n {...props}\n ref={domRef}\n style={props.UNSAFE_style}\n className={renderProps => (props.UNSAFE_className || '') + tabs({...renderProps}, props.styles)}>\n <Provider\n values={[\n [TabsContext, {density, isDisabled, disabledKeys, orientation}]\n ]}>\n {props.children}\n </Provider>\n </RACTabs>\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 */\nconst _Tabs = forwardRef(Tabs);\nexport {_Tabs as Tabs};\n"],"names":["modules","entry","mainEntry","parcelRequireName","globalName","globalObject","globalThis","self","window","global","previousRequire","cache","nodeRequire","module","require","bind","newRequire","name","jumped","currentRequire","err","Error","code","localRequire","resolve","x","id","Module","call","exports","res","isParcelRequire","moduleName","bundle","parent","register","Object","defineProperty","get","i","length","__globalThis","parcelHelpers","defineInteropFlag","export","TabsContext","TabPanel","Tab","TabList","_Tabs","_jsxRuntime","_reactAriaComponents","_centerBaseline","_react","_icon","_content","_utils","_utils1","_i18N","_useSpectrumContextProps","createContext","tabPanel","props","overrides","rules","matches","match","join","$A","$_9","$h","$o","$q","p","test","jsx","style","UNSAFE_style","className","UNSAFE_className","styles","tab","$U","$_8","isFocusVisible","isDisabled","isSelected","isHovered","isPressed","density","useSlottedContext","renderProps","children","Provider","values","TextContext","IconContext","render","centerBaseline","slot","Text","tablist","orientation","props1","disabledKeys","state","useContext","TabListStateContext","selectedTab","setSelectedTab","useState","undefined","tablistRef","useRef","useLayoutEffect","current","querySelector","selectedItem","key","jsxs","TabLine","ref","selectedIndicator","isTabsDisabled","direction","useLocale","setIsDisabled","useEffect","isAllTabsDisabled","collection","testKey","size","getFirstKey","index","has","getItem","getKeyAfter","Set","setStyle","transform","width","height","onResize","useCallback","styleObj","offset","offsetParent","offsetWidth","offsetLeft","offsetTop","offsetHeight","tabs","forwardRef","useSpectrumContextProps","domRef","useDOMRef","Tabs","displayName","__docgenInfo","value","STORYBOOK_REACT_CLASSES","docgenInfo","path","__react_docgen_typescript_loader_error"],"version":3,"file":"Illustrations.0c54c9ea.js.map"}