{"version":3,"file":"Tab.cjs","sources":["../../node_modules/@mui/base/Tab/tabClasses.js","../../node_modules/@mui/base/Tabs/tabsClasses.js","../../node_modules/@mui/base/useTabs/useTabs.js","../../node_modules/@mui/base/Tabs/TabsContext.js","../../node_modules/@mui/base/useTabs/TabsProvider.js","../../node_modules/@mui/base/Tabs/Tabs.js","../../node_modules/@mui/base/useTab/useTab.js","../../node_modules/@mui/base/Tab/Tab.js","../../node_modules/@mui/base/TabPanel/tabPanelClasses.js","../../node_modules/@mui/base/useTabPanel/useTabPanel.js","../../node_modules/@mui/base/TabPanel/TabPanel.js","../../node_modules/@mui/base/TabsList/tabsListClasses.js","../../node_modules/@mui/base/useTabsList/useTabsList.types.js","../../node_modules/@mui/base/useTabsList/tabsListReducer.js","../../node_modules/@mui/base/useTabsList/useTabsList.js","../../node_modules/@mui/base/useTabsList/TabsListProvider.js","../../node_modules/@mui/base/TabsList/TabsList.js","../src/Tab/Tab.tsx"],"sourcesContent":["import { generateUtilityClass } from '../generateUtilityClass';\nimport { generateUtilityClasses } from '../generateUtilityClasses';\nconst COMPONENT_NAME = 'Tab';\nexport function getTabUtilityClass(slot) {\n  return generateUtilityClass(COMPONENT_NAME, slot);\n}\nexport const tabClasses = generateUtilityClasses(COMPONENT_NAME, ['root', 'selected', 'disabled']);","import { generateUtilityClass } from '../generateUtilityClass';\nimport { generateUtilityClasses } from '../generateUtilityClasses';\nconst COMPONENT_NAME = 'Tabs';\nexport function getTabsUtilityClass(slot) {\n  return generateUtilityClass(COMPONENT_NAME, slot);\n}\nexport const tabsClasses = generateUtilityClasses(COMPONENT_NAME, ['root', 'horizontal', 'vertical']);","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_useControlled as useControlled } from '@mui/utils';\nimport { useCompoundParent } from '../useCompound';\n/**\n *\n * Demos:\n *\n * - [Tabs](https://mui.com/base-ui/react-tabs/#hooks)\n *\n * API:\n *\n * - [useTabs API](https://mui.com/base-ui/react-tabs/hooks-api/#use-tabs)\n */\nfunction useTabs(parameters) {\n  const {\n    value: valueProp,\n    defaultValue,\n    onChange,\n    orientation = 'horizontal',\n    direction = 'ltr',\n    selectionFollowsFocus = false\n  } = parameters;\n  const [value, setValue] = useControlled({\n    controlled: valueProp,\n    default: defaultValue,\n    name: 'Tabs',\n    state: 'value'\n  });\n  const onSelected = React.useCallback((event, newValue) => {\n    setValue(newValue);\n    onChange == null || onChange(event, newValue);\n  }, [onChange, setValue]);\n  const {\n    subitems: tabPanels,\n    contextValue: compoundComponentContextValue\n  } = useCompoundParent();\n  const tabIdLookup = React.useRef(() => undefined);\n  const getTabPanelId = React.useCallback(tabValue => {\n    var _tabPanels$get;\n    return (_tabPanels$get = tabPanels.get(tabValue)) == null ? void 0 : _tabPanels$get.id;\n  }, [tabPanels]);\n  const getTabId = React.useCallback(tabPanelId => {\n    return tabIdLookup.current(tabPanelId);\n  }, []);\n  const registerTabIdLookup = React.useCallback(lookupFunction => {\n    tabIdLookup.current = lookupFunction;\n  }, []);\n  return {\n    contextValue: _extends({\n      direction,\n      getTabId,\n      getTabPanelId,\n      onSelected,\n      orientation,\n      registerTabIdLookup,\n      selectionFollowsFocus,\n      value\n    }, compoundComponentContextValue)\n  };\n}\nexport { useTabs };","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst TabsContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n  TabsContext.displayName = 'TabsContext';\n}\nexport function useTabsContext() {\n  const context = React.useContext(TabsContext);\n  if (context == null) {\n    throw new Error('No TabsContext provided');\n  }\n  return context;\n}\nexport { TabsContext };","'use client';\n\nimport * as React from 'react';\nimport { TabsContext } from '../Tabs/TabsContext';\nimport { CompoundComponentContext } from '../useCompound';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Sets up the contexts for the underlying Tab and TabPanel components.\n *\n * @ignore - do not document.\n */\nexport function TabsProvider(props) {\n  const {\n    value: valueProp,\n    children\n  } = props;\n  const {\n    direction,\n    getItemIndex,\n    onSelected,\n    orientation,\n    registerItem,\n    registerTabIdLookup,\n    selectionFollowsFocus,\n    totalSubitemCount,\n    value,\n    getTabId,\n    getTabPanelId\n  } = valueProp;\n  const compoundComponentContextValue = React.useMemo(() => ({\n    getItemIndex,\n    registerItem,\n    totalSubitemCount\n  }), [registerItem, getItemIndex, totalSubitemCount]);\n  const tabsContextValue = React.useMemo(() => ({\n    direction,\n    getTabId,\n    getTabPanelId,\n    onSelected,\n    orientation,\n    registerTabIdLookup,\n    selectionFollowsFocus,\n    value\n  }), [direction, getTabId, getTabPanelId, onSelected, orientation, registerTabIdLookup, selectionFollowsFocus, value]);\n  return /*#__PURE__*/_jsx(CompoundComponentContext.Provider, {\n    value: compoundComponentContextValue,\n    children: /*#__PURE__*/_jsx(TabsContext.Provider, {\n      value: tabsContextValue,\n      children: children\n    })\n  });\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"value\", \"defaultValue\", \"orientation\", \"direction\", \"onChange\", \"selectionFollowsFocus\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useSlotProps } from '../utils';\nimport { unstable_composeClasses as composeClasses } from '../composeClasses';\nimport { getTabsUtilityClass } from './tabsClasses';\nimport { useTabs } from '../useTabs';\nimport { TabsProvider } from '../useTabs/TabsProvider';\nimport { useClassNamesOverride } from '../utils/ClassNameConfigurator';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    orientation\n  } = ownerState;\n  const slots = {\n    root: ['root', orientation]\n  };\n  return composeClasses(slots, useClassNamesOverride(getTabsUtilityClass));\n};\n\n/**\n *\n * Demos:\n *\n * - [Tabs](https://mui.com/base-ui/react-tabs/)\n *\n * API:\n *\n * - [Tabs API](https://mui.com/base-ui/react-tabs/components-api/#tabs)\n */\nconst Tabs = /*#__PURE__*/React.forwardRef(function Tabs(props, forwardedRef) {\n  var _slots$root;\n  const {\n      children,\n      orientation = 'horizontal',\n      direction = 'ltr',\n      slotProps = {},\n      slots = {}\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const ownerState = _extends({}, props, {\n    orientation,\n    direction\n  });\n  const {\n    contextValue\n  } = useTabs(ownerState);\n  const classes = useUtilityClasses(ownerState);\n  const TabsRoot = (_slots$root = slots.root) != null ? _slots$root : 'div';\n  const tabsRootProps = useSlotProps({\n    elementType: TabsRoot,\n    externalSlotProps: slotProps.root,\n    externalForwardedProps: other,\n    additionalProps: {\n      ref: forwardedRef\n    },\n    ownerState,\n    className: classes.root\n  });\n  return /*#__PURE__*/_jsx(TabsRoot, _extends({}, tabsRootProps, {\n    children: /*#__PURE__*/_jsx(TabsProvider, {\n      value: contextValue,\n      children: children\n    })\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * The content of the component.\n   */\n  children: PropTypes.node,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The default value. Use when the component is not controlled.\n   */\n  defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  /**\n   * The direction of the text.\n   * @default 'ltr'\n   */\n  direction: PropTypes.oneOf(['ltr', 'rtl']),\n  /**\n   * Callback invoked when new value is being set.\n   */\n  onChange: PropTypes.func,\n  /**\n   * The component orientation (layout flow direction).\n   * @default 'horizontal'\n   */\n  orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n  /**\n   * If `true` the selected tab changes on focus. Otherwise it only\n   * changes on activation.\n   */\n  selectionFollowsFocus: PropTypes.bool,\n  /**\n   * The props used for each slot inside the Tabs.\n   * @default {}\n   */\n  slotProps: PropTypes.shape({\n    root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n  }),\n  /**\n   * The components used for each slot inside the Tabs.\n   * Either a string to use a HTML element or a component.\n   * @default {}\n   */\n  slots: PropTypes.shape({\n    root: PropTypes.elementType\n  }),\n  /**\n   * The value of the currently selected `Tab`.\n   * If you don't want any selected `Tab`, you can set this prop to `null`.\n   */\n  value: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport { Tabs };","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { useTabsContext } from '../Tabs';\nimport { extractEventHandlers } from '../utils/extractEventHandlers';\nimport { useCompoundItem } from '../useCompound';\nimport { useListItem } from '../useList';\nimport { useButton } from '../useButton';\nimport { combineHooksSlotProps } from '../utils/combineHooksSlotProps';\nfunction tabValueGenerator(otherTabValues) {\n  return otherTabValues.size;\n}\n\n/**\n *\n * Demos:\n *\n * - [Tabs](https://mui.com/base-ui/react-tabs/#hooks)\n *\n * API:\n *\n * - [useTab API](https://mui.com/base-ui/react-tabs/hooks-api/#use-tab)\n */\nfunction useTab(parameters) {\n  const {\n    value: valueParam,\n    rootRef: externalRef,\n    disabled = false,\n    id: idParam\n  } = parameters;\n  const tabRef = React.useRef(null);\n  const id = useId(idParam);\n  const {\n    value: selectedValue,\n    selectionFollowsFocus,\n    getTabPanelId\n  } = useTabsContext();\n  const tabMetadata = React.useMemo(() => ({\n    disabled,\n    ref: tabRef,\n    id\n  }), [disabled, tabRef, id]);\n  const {\n    id: value,\n    index,\n    totalItemCount: totalTabsCount\n  } = useCompoundItem(valueParam != null ? valueParam : tabValueGenerator, tabMetadata);\n  const {\n    getRootProps: getTabProps,\n    highlighted,\n    selected\n  } = useListItem({\n    item: value\n  });\n  const {\n    getRootProps: getButtonProps,\n    rootRef: buttonRefHandler,\n    active,\n    focusVisible,\n    setFocusVisible\n  } = useButton({\n    disabled,\n    focusableWhenDisabled: !selectionFollowsFocus,\n    type: 'button'\n  });\n  const handleRef = useForkRef(tabRef, externalRef, buttonRefHandler);\n  const tabPanelId = value !== undefined ? getTabPanelId(value) : undefined;\n  const getRootProps = (externalProps = {}) => {\n    const externalEventHandlers = extractEventHandlers(externalProps);\n    const getCombinedRootProps = combineHooksSlotProps(getTabProps, getButtonProps);\n    return _extends({}, externalProps, getCombinedRootProps(externalEventHandlers), {\n      role: 'tab',\n      'aria-controls': tabPanelId,\n      'aria-selected': selected,\n      id,\n      ref: handleRef\n    });\n  };\n  return {\n    getRootProps,\n    active,\n    focusVisible,\n    highlighted,\n    index,\n    rootRef: handleRef,\n    // the `selected` state isn't set on the server (it relies on effects to be calculated),\n    // so we fall back to checking the `value` prop with the selectedValue from the TabsContext\n    selected: selected || value === selectedValue,\n    setFocusVisible,\n    totalTabsCount\n  };\n}\nexport { useTab };","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"children\", \"disabled\", \"onChange\", \"onClick\", \"onFocus\", \"slotProps\", \"slots\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '../composeClasses';\nimport { getTabUtilityClass } from './tabClasses';\nimport { useTab } from '../useTab';\nimport { useSlotProps } from '../utils';\nimport { useClassNamesOverride } from '../utils/ClassNameConfigurator';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    selected,\n    disabled\n  } = ownerState;\n  const slots = {\n    root: ['root', selected && 'selected', disabled && 'disabled']\n  };\n  return composeClasses(slots, useClassNamesOverride(getTabUtilityClass));\n};\n/**\n *\n * Demos:\n *\n * - [Tabs](https://mui.com/base-ui/react-tabs/)\n *\n * API:\n *\n * - [Tab API](https://mui.com/base-ui/react-tabs/components-api/#tab)\n */\nconst Tab = /*#__PURE__*/React.forwardRef(function Tab(props, forwardedRef) {\n  var _slots$root;\n  const {\n      children,\n      disabled = false,\n      slotProps = {},\n      slots = {},\n      value\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const tabRef = React.useRef();\n  const handleRef = useForkRef(tabRef, forwardedRef);\n  const {\n    active,\n    highlighted,\n    selected,\n    getRootProps\n  } = useTab(_extends({}, props, {\n    rootRef: handleRef,\n    value\n  }));\n  const ownerState = _extends({}, props, {\n    active,\n    disabled,\n    highlighted,\n    selected\n  });\n  const classes = useUtilityClasses(ownerState);\n  const TabRoot = (_slots$root = slots.root) != null ? _slots$root : 'button';\n  const tabRootProps = useSlotProps({\n    elementType: TabRoot,\n    getSlotProps: getRootProps,\n    externalSlotProps: slotProps.root,\n    externalForwardedProps: other,\n    additionalProps: {\n      ref: forwardedRef\n    },\n    ownerState,\n    className: classes.root\n  });\n  return /*#__PURE__*/_jsx(TabRoot, _extends({}, tabRootProps, {\n    children: children\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * A ref for imperative actions. It currently only supports `focusVisible()` action.\n   */\n  action: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n    current: PropTypes.shape({\n      focusVisible: PropTypes.func.isRequired\n    })\n  })]),\n  /**\n   * @ignore\n   */\n  children: PropTypes.node,\n  /**\n   * If `true`, the component is disabled.\n   * @default false\n   */\n  disabled: PropTypes.bool,\n  /**\n   * Callback invoked when new value is being set.\n   */\n  onChange: PropTypes.func,\n  /**\n   * The props used for each slot inside the Tab.\n   * @default {}\n   */\n  slotProps: PropTypes.shape({\n    root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n  }),\n  /**\n   * The components used for each slot inside the Tab.\n   * Either a string to use a HTML element or a component.\n   * @default {}\n   */\n  slots: PropTypes.shape({\n    root: PropTypes.elementType\n  }),\n  /**\n   * You can provide your own value. Otherwise, it falls back to the child position index.\n   */\n  value: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport { Tab };","import { generateUtilityClass } from '../generateUtilityClass';\nimport { generateUtilityClasses } from '../generateUtilityClasses';\nconst COMPONENT_NAME = 'TabPanel';\nexport function getTabPanelUtilityClass(slot) {\n  return generateUtilityClass(COMPONENT_NAME, slot);\n}\nexport const tabPanelClasses = generateUtilityClasses(COMPONENT_NAME, ['root', 'hidden']);","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { useTabsContext } from '../Tabs';\nimport { useCompoundItem } from '../useCompound';\nfunction tabPanelValueGenerator(otherTabPanelValues) {\n  return otherTabPanelValues.size;\n}\n\n/**\n *\n * Demos:\n *\n * - [Tabs](https://mui.com/base-ui/react-tabs/#hooks)\n *\n * API:\n *\n * - [useTabPanel API](https://mui.com/base-ui/react-tabs/hooks-api/#use-tab-panel)\n */\nfunction useTabPanel(parameters) {\n  const {\n    value: valueParam,\n    id: idParam,\n    rootRef: externalRef\n  } = parameters;\n  const context = useTabsContext();\n  if (context === null) {\n    throw new Error('No TabContext provided');\n  }\n  const {\n    value: selectedTabValue,\n    getTabId\n  } = context;\n  const id = useId(idParam);\n  const ref = React.useRef(null);\n  const handleRef = useForkRef(ref, externalRef);\n  const metadata = React.useMemo(() => ({\n    id,\n    ref\n  }), [id]);\n  const {\n    id: value\n  } = useCompoundItem(valueParam != null ? valueParam : tabPanelValueGenerator, metadata);\n  const hidden = value !== selectedTabValue;\n  const correspondingTabId = value !== undefined ? getTabId(value) : undefined;\n  const getRootProps = (externalProps = {}) => {\n    return _extends({\n      'aria-labelledby': correspondingTabId != null ? correspondingTabId : undefined,\n      hidden,\n      id: id != null ? id : undefined\n    }, externalProps, {\n      ref: handleRef\n    });\n  };\n  return {\n    hidden,\n    getRootProps,\n    rootRef: handleRef\n  };\n}\nexport { useTabPanel };","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"value\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useSlotProps } from '../utils';\nimport { unstable_composeClasses as composeClasses } from '../composeClasses';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { useTabPanel } from '../useTabPanel/useTabPanel';\nimport { useClassNamesOverride } from '../utils/ClassNameConfigurator';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    hidden\n  } = ownerState;\n  const slots = {\n    root: ['root', hidden && 'hidden']\n  };\n  return composeClasses(slots, useClassNamesOverride(getTabPanelUtilityClass));\n};\n/**\n *\n * Demos:\n *\n * - [Tabs](https://mui.com/base-ui/react-tabs/)\n *\n * API:\n *\n * - [TabPanel API](https://mui.com/base-ui/react-tabs/components-api/#tab-panel)\n */\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(props, forwardedRef) {\n  var _slots$root;\n  const {\n      children,\n      slotProps = {},\n      slots = {}\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const {\n    hidden,\n    getRootProps\n  } = useTabPanel(props);\n  const ownerState = _extends({}, props, {\n    hidden\n  });\n  const classes = useUtilityClasses(ownerState);\n  const TabPanelRoot = (_slots$root = slots.root) != null ? _slots$root : 'div';\n  const tabPanelRootProps = useSlotProps({\n    elementType: TabPanelRoot,\n    getSlotProps: getRootProps,\n    externalSlotProps: slotProps.root,\n    externalForwardedProps: other,\n    additionalProps: {\n      role: 'tabpanel',\n      ref: forwardedRef\n    },\n    ownerState,\n    className: classes.root\n  });\n  return /*#__PURE__*/_jsx(TabPanelRoot, _extends({}, tabPanelRootProps, {\n    children: !hidden && children\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * The content of the component.\n   */\n  children: PropTypes.node,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The props used for each slot inside the TabPanel.\n   * @default {}\n   */\n  slotProps: PropTypes.shape({\n    root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n  }),\n  /**\n   * The components used for each slot inside the TabPanel.\n   * Either a string to use a HTML element or a component.\n   * @default {}\n   */\n  slots: PropTypes.shape({\n    root: PropTypes.elementType\n  }),\n  /**\n   * The value of the TabPanel. It will be shown when the Tab with the corresponding value is selected.\n   * If not provided, it will fall back to the index of the panel.\n   * It is recommended to explicitly provide it, as it's required for the tab panel to be rendered on the server.\n   */\n  value: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport { TabPanel };","import { generateUtilityClass } from '../generateUtilityClass';\nimport { generateUtilityClasses } from '../generateUtilityClasses';\nconst COMPONENT_NAME = 'TabsList';\nexport function getTabsListUtilityClass(slot) {\n  return generateUtilityClass(COMPONENT_NAME, slot);\n}\nexport const tabsListClasses = generateUtilityClasses(COMPONENT_NAME, ['root', 'horizontal', 'vertical']);","export const TabsListActionTypes = {\n  valueChange: 'valueChange'\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { listReducer, ListActionTypes, moveHighlight } from '../useList';\nimport { TabsListActionTypes } from './useTabsList.types';\nexport function tabsListReducer(state, action) {\n  if (action.type === TabsListActionTypes.valueChange) {\n    return _extends({}, state, {\n      highlightedValue: action.value\n    });\n  }\n  const newState = listReducer(state, action);\n  const {\n    context: {\n      selectionFollowsFocus\n    }\n  } = action;\n  if (action.type === ListActionTypes.itemsChange) {\n    if (newState.selectedValues.length > 0) {\n      return _extends({}, newState, {\n        highlightedValue: newState.selectedValues[0]\n      });\n    }\n    moveHighlight(null, 'reset', action.context);\n  }\n  if (selectionFollowsFocus && newState.highlightedValue != null) {\n    return _extends({}, newState, {\n      selectedValues: [newState.highlightedValue]\n    });\n  }\n  return newState;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useTabsContext } from '../Tabs';\nimport { TabsListActionTypes } from './useTabsList.types';\nimport { useCompoundParent } from '../useCompound';\nimport { useList } from '../useList';\nimport { tabsListReducer } from './tabsListReducer';\n\n/**\n *\n * Demos:\n *\n * - [Tabs](https://mui.com/base-ui/react-tabs/#hooks)\n *\n * API:\n *\n * - [useTabsList API](https://mui.com/base-ui/react-tabs/hooks-api/#use-tabs-list)\n */\nfunction useTabsList(parameters) {\n  var _selectedValues$;\n  const {\n    rootRef: externalRef\n  } = parameters;\n  const {\n    direction = 'ltr',\n    onSelected,\n    orientation = 'horizontal',\n    value,\n    registerTabIdLookup,\n    selectionFollowsFocus\n  } = useTabsContext();\n  const {\n    subitems,\n    contextValue: compoundComponentContextValue\n  } = useCompoundParent();\n  const tabIdLookup = React.useCallback(tabValue => {\n    var _subitems$get;\n    return (_subitems$get = subitems.get(tabValue)) == null ? void 0 : _subitems$get.id;\n  }, [subitems]);\n  registerTabIdLookup(tabIdLookup);\n  const subitemKeys = React.useMemo(() => Array.from(subitems.keys()), [subitems]);\n  const getTabElement = React.useCallback(tabValue => {\n    var _subitems$get$ref$cur, _subitems$get2;\n    if (tabValue == null) {\n      return null;\n    }\n    return (_subitems$get$ref$cur = (_subitems$get2 = subitems.get(tabValue)) == null ? void 0 : _subitems$get2.ref.current) != null ? _subitems$get$ref$cur : null;\n  }, [subitems]);\n  const isRtl = direction === 'rtl';\n  let listOrientation;\n  if (orientation === 'vertical') {\n    listOrientation = 'vertical';\n  } else {\n    listOrientation = isRtl ? 'horizontal-rtl' : 'horizontal-ltr';\n  }\n  const handleChange = React.useCallback((event, newValue) => {\n    var _newValue$;\n    onSelected(event, (_newValue$ = newValue[0]) != null ? _newValue$ : null);\n  }, [onSelected]);\n  const controlledProps = React.useMemo(() => {\n    if (value === undefined) {\n      return {};\n    }\n    return value != null ? {\n      selectedValues: [value]\n    } : {\n      selectedValues: []\n    };\n  }, [value]);\n  const isItemDisabled = React.useCallback(item => {\n    var _subitems$get$disable, _subitems$get3;\n    return (_subitems$get$disable = (_subitems$get3 = subitems.get(item)) == null ? void 0 : _subitems$get3.disabled) != null ? _subitems$get$disable : false;\n  }, [subitems]);\n  const {\n    contextValue: listContextValue,\n    dispatch,\n    getRootProps: getListboxRootProps,\n    state: {\n      highlightedValue,\n      selectedValues\n    },\n    rootRef: mergedRootRef\n  } = useList({\n    controlledProps,\n    disabledItemsFocusable: !selectionFollowsFocus,\n    focusManagement: 'DOM',\n    getItemDomElement: getTabElement,\n    isItemDisabled,\n    items: subitemKeys,\n    rootRef: externalRef,\n    onChange: handleChange,\n    orientation: listOrientation,\n    reducerActionContext: React.useMemo(() => ({\n      selectionFollowsFocus: selectionFollowsFocus || false\n    }), [selectionFollowsFocus]),\n    selectionMode: 'single',\n    stateReducer: tabsListReducer\n  });\n  React.useEffect(() => {\n    if (value === undefined) {\n      return;\n    }\n\n    // when a value changes externally, the highlighted value should be synced to it\n    if (value != null) {\n      dispatch({\n        type: TabsListActionTypes.valueChange,\n        value\n      });\n    }\n  }, [dispatch, value]);\n  const getRootProps = (externalProps = {}) => {\n    return _extends({}, externalProps, getListboxRootProps(externalProps), {\n      'aria-orientation': orientation === 'vertical' ? 'vertical' : undefined,\n      role: 'tablist'\n    });\n  };\n  const contextValue = React.useMemo(() => _extends({}, compoundComponentContextValue, listContextValue), [compoundComponentContextValue, listContextValue]);\n  return {\n    contextValue,\n    dispatch,\n    getRootProps,\n    highlightedValue,\n    isRtl,\n    orientation,\n    rootRef: mergedRootRef,\n    selectedValue: (_selectedValues$ = selectedValues[0]) != null ? _selectedValues$ : null\n  };\n}\nexport { useTabsList };","'use client';\n\nimport * as React from 'react';\nimport { ListContext } from '../useList/ListContext';\nimport { CompoundComponentContext } from '../useCompound';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Sets up the contexts for the underlying Tab components.\n *\n * @ignore - do not document.\n */\nexport function TabsListProvider(props) {\n  const {\n    value,\n    children\n  } = props;\n  const {\n    dispatch,\n    getItemIndex,\n    getItemState,\n    registerItem,\n    totalSubitemCount\n  } = value;\n  const listContextValue = React.useMemo(() => ({\n    dispatch,\n    getItemState,\n    getItemIndex\n  }), [dispatch, getItemIndex, getItemState]);\n  const compoundComponentContextValue = React.useMemo(() => ({\n    getItemIndex,\n    registerItem,\n    totalSubitemCount\n  }), [registerItem, getItemIndex, totalSubitemCount]);\n  return /*#__PURE__*/_jsx(CompoundComponentContext.Provider, {\n    value: compoundComponentContextValue,\n    children: /*#__PURE__*/_jsx(ListContext.Provider, {\n      value: listContextValue,\n      children: children\n    })\n  });\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '../composeClasses';\nimport { useSlotProps } from '../utils';\nimport { getTabsListUtilityClass } from './tabsListClasses';\nimport { useTabsList } from '../useTabsList';\nimport { useClassNamesOverride } from '../utils/ClassNameConfigurator';\nimport { TabsListProvider } from '../useTabsList/TabsListProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    orientation\n  } = ownerState;\n  const slots = {\n    root: ['root', orientation]\n  };\n  return composeClasses(slots, useClassNamesOverride(getTabsListUtilityClass));\n};\n\n/**\n *\n * Demos:\n *\n * - [Tabs](https://mui.com/base-ui/react-tabs/)\n *\n * API:\n *\n * - [TabsList API](https://mui.com/base-ui/react-tabs/components-api/#tabs-list)\n */\nconst TabsList = /*#__PURE__*/React.forwardRef(function TabsList(props, forwardedRef) {\n  var _slots$root;\n  const {\n      children,\n      slotProps = {},\n      slots = {}\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const {\n    isRtl,\n    orientation,\n    getRootProps,\n    contextValue\n  } = useTabsList({\n    rootRef: forwardedRef\n  });\n  const ownerState = _extends({}, props, {\n    isRtl,\n    orientation\n  });\n  const classes = useUtilityClasses(ownerState);\n  const TabsListRoot = (_slots$root = slots.root) != null ? _slots$root : 'div';\n  const tabsListRootProps = useSlotProps({\n    elementType: TabsListRoot,\n    getSlotProps: getRootProps,\n    externalSlotProps: slotProps.root,\n    externalForwardedProps: other,\n    ownerState,\n    className: classes.root\n  });\n  return /*#__PURE__*/_jsx(TabsListProvider, {\n    value: contextValue,\n    children: /*#__PURE__*/_jsx(TabsListRoot, _extends({}, tabsListRootProps, {\n      children: children\n    }))\n  });\n});\nprocess.env.NODE_ENV !== \"production\" ? TabsList.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * The content of the component.\n   */\n  children: PropTypes.node,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The props used for each slot inside the TabsList.\n   * @default {}\n   */\n  slotProps: PropTypes.shape({\n    root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n  }),\n  /**\n   * The components used for each slot inside the TabsList.\n   * Either a string to use a HTML element or a component.\n   * @default {}\n   */\n  slots: PropTypes.shape({\n    root: PropTypes.elementType\n  })\n} : void 0;\nexport { TabsList };","import {\n  Tab as MuiTab,\n  type TabOwnerState,\n  type TabProps as MuiTabProps,\n  type TabRootSlotProps,\n} from '@mui/base/Tab';\nimport {\n  TabPanel as MuiTabPanel,\n  type TabPanelProps as MuiTabPanelProps,\n  type TabPanelRootSlotProps as MuiTabPanelRootSlotProps,\n} from '@mui/base/TabPanel';\nimport { Tabs as MuiTabs, type TabsProps } from '@mui/base/Tabs';\nimport {\n  TabsList as MuiTabsList,\n  type TabsListProps,\n} from '@mui/base/TabsList';\nimport clsx from 'clsx';\n\nimport type { ComponentProps } from '../components.ts';\nimport { assocDefaultStyle } from '../utils/assign-default-style.ts';\nimport { mergeRootSlotPropsToComponentProps } from '../utils/merge-root-slot-props-to-component-prop.ts';\n\nexport type TabSlotProps = {\n  root: TabRootSlotProps;\n};\nexport type TabProps = ComponentProps<TabSlotProps, MuiTabProps>;\nexport function Tab({\n  'data-testid': testId,\n  disableDefaultClasses,\n  slotProps: givenSlotProps,\n  ...rest\n}: TabProps) {\n  let slotProps = givenSlotProps;\n\n  if (!disableDefaultClasses) {\n    slotProps = assocDefaultStyle<TabSlotProps>({\n      slotWithDefaultClasses: {\n        root: (state: TabOwnerState) =>\n          state.selected\n            ? clsx(\n                'tw-cursor-default tw-border-primary tw-bg-primary tw-px-2 tw-py-1',\n              )\n            : clsx(\n                'tw-border-primary tw-px-2 tw-py-1 hover:tw-cursor-pointer hover:tw-bg-primary-user-action',\n              ),\n      },\n    })(givenSlotProps);\n  }\n  const rootProps = mergeRootSlotPropsToComponentProps()(slotProps, rest);\n  return (\n    <MuiTab\n      data-testid={testId ?? 'busybox-tab'}\n      slotProps={slotProps}\n      slots={{\n        root: 'a',\n      }}\n      {...rootProps}\n    />\n  );\n}\n\nexport function TabsList(props: TabsListProps) {\n  return (\n    <MuiTabsList\n      slots={{\n        root: 'nav',\n      }}\n      {...props}\n    />\n  );\n}\n\nexport type TabPanelSlotProps = {\n  root: MuiTabPanelRootSlotProps;\n};\nexport type TabPanelProps = ComponentProps<TabPanelSlotProps, MuiTabPanelProps>;\n\nexport function TabPanel({ 'data-testid': testId, ...rest }: TabPanelProps) {\n  return <MuiTabPanel data-testid={testId ?? 'busybox-tab-panel'} {...rest} />;\n}\n\nexport function Tabs(props: TabsProps) {\n  return <MuiTabs {...props} />;\n}\n"],"names":["COMPONENT_NAME","getTabUtilityClass","slot","generateUtilityClass","generateUtilityClasses","getTabsUtilityClass","useTabs","parameters","valueProp","defaultValue","onChange","orientation","direction","selectionFollowsFocus","value","setValue","useControlled","onSelected","React","event","newValue","tabPanels","compoundComponentContextValue","useCompoundParent","tabIdLookup","getTabPanelId","tabValue","_tabPanels$get","getTabId","tabPanelId","registerTabIdLookup","lookupFunction","_extends","TabsContext","useTabsContext","context","TabsProvider","props","children","getItemIndex","registerItem","totalSubitemCount","tabsContextValue","_jsx","CompoundComponentContext","_excluded","useUtilityClasses","ownerState","slots","composeClasses","useClassNamesOverride","Tabs","forwardedRef","_slots$root","slotProps","other","_objectWithoutPropertiesLoose","contextValue","classes","TabsRoot","tabsRootProps","useSlotProps","PropTypes","tabValueGenerator","otherTabValues","useTab","valueParam","externalRef","disabled","idParam","tabRef","id","useId","selectedValue","tabMetadata","index","totalTabsCount","useCompoundItem","getTabProps","highlighted","selected","useListItem","getButtonProps","buttonRefHandler","active","focusVisible","setFocusVisible","useButton","handleRef","useForkRef","externalProps","externalEventHandlers","extractEventHandlers","getCombinedRootProps","combineHooksSlotProps","Tab","getRootProps","TabRoot","tabRootProps","getTabPanelUtilityClass","tabPanelValueGenerator","otherTabPanelValues","useTabPanel","selectedTabValue","ref","metadata","hidden","correspondingTabId","TabPanel","TabPanelRoot","tabPanelRootProps","getTabsListUtilityClass","TabsListActionTypes","tabsListReducer","state","action","newState","listReducer","ListActionTypes","moveHighlight","useTabsList","_selectedValues$","subitems","_subitems$get","subitemKeys","getTabElement","_subitems$get$ref$cur","_subitems$get2","isRtl","listOrientation","handleChange","_newValue$","controlledProps","isItemDisabled","item","_subitems$get$disable","_subitems$get3","listContextValue","dispatch","getListboxRootProps","highlightedValue","selectedValues","mergedRootRef","useList","TabsListProvider","getItemState","ListContext","TabsList","TabsListRoot","tabsListRootProps","testId","disableDefaultClasses","givenSlotProps","rest","assocDefaultStyle","clsx","rootProps","mergeRootSlotPropsToComponentProps","jsx","MuiTab","MuiTabsList","MuiTabPanel","MuiTabs"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}