{"version":3,"file":"ButtonBase.mjs","sources":["../../../../../../../../node_modules/@mui/material/ButtonBase/ButtonBase.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport useLazyRipple from \"../useLazyRipple/index.js\";\nimport TouchRipple from \"./TouchRipple.js\";\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from \"./buttonBaseClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    disabled,\n    focusVisible,\n    focusVisibleClassName,\n    classes\n  } = ownerState;\n  const slots = {\n    root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n  };\n  const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n  if (focusVisible && focusVisibleClassName) {\n    composedClasses.root += ` ${focusVisibleClassName}`;\n  }\n  return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n  name: 'MuiButtonBase',\n  slot: 'Root',\n  overridesResolver: (props, styles) => styles.root\n})({\n  display: 'inline-flex',\n  alignItems: 'center',\n  justifyContent: 'center',\n  position: 'relative',\n  boxSizing: 'border-box',\n  WebkitTapHighlightColor: 'transparent',\n  backgroundColor: 'transparent',\n  // Reset default value\n  // We disable the focus ring for mouse, touch and keyboard users.\n  outline: 0,\n  border: 0,\n  margin: 0,\n  // Remove the margin in Safari\n  borderRadius: 0,\n  padding: 0,\n  // Remove the padding in Firefox\n  cursor: 'pointer',\n  userSelect: 'none',\n  verticalAlign: 'middle',\n  MozAppearance: 'none',\n  // Reset\n  WebkitAppearance: 'none',\n  // Reset\n  textDecoration: 'none',\n  // So we take precedent over the style of a native <a /> element.\n  color: 'inherit',\n  '&::-moz-focus-inner': {\n    borderStyle: 'none' // Remove Firefox dotted outline.\n  },\n  [`&.${buttonBaseClasses.disabled}`]: {\n    pointerEvents: 'none',\n    // Disable link interactions\n    cursor: 'default'\n  },\n  '@media print': {\n    colorAdjust: 'exact'\n  }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n  const props = useDefaultProps({\n    props: inProps,\n    name: 'MuiButtonBase'\n  });\n  const {\n    action,\n    centerRipple = false,\n    children,\n    className,\n    component = 'button',\n    disabled = false,\n    disableRipple = false,\n    disableTouchRipple = false,\n    focusRipple = false,\n    focusVisibleClassName,\n    LinkComponent = 'a',\n    onBlur,\n    onClick,\n    onContextMenu,\n    onDragLeave,\n    onFocus,\n    onFocusVisible,\n    onKeyDown,\n    onKeyUp,\n    onMouseDown,\n    onMouseLeave,\n    onMouseUp,\n    onTouchEnd,\n    onTouchMove,\n    onTouchStart,\n    tabIndex = 0,\n    TouchRippleProps,\n    touchRippleRef,\n    type,\n    ...other\n  } = props;\n  const buttonRef = React.useRef(null);\n  const ripple = useLazyRipple();\n  const handleRippleRef = useForkRef(ripple.ref, touchRippleRef);\n  const [focusVisible, setFocusVisible] = React.useState(false);\n  if (disabled && focusVisible) {\n    setFocusVisible(false);\n  }\n  React.useImperativeHandle(action, () => ({\n    focusVisible: () => {\n      setFocusVisible(true);\n      buttonRef.current.focus();\n    }\n  }), []);\n  const enableTouchRipple = ripple.shouldMount && !disableRipple && !disabled;\n  React.useEffect(() => {\n    if (focusVisible && focusRipple && !disableRipple) {\n      ripple.pulsate();\n    }\n  }, [disableRipple, focusRipple, focusVisible, ripple]);\n  const handleMouseDown = useRippleHandler(ripple, 'start', onMouseDown, disableTouchRipple);\n  const handleContextMenu = useRippleHandler(ripple, 'stop', onContextMenu, disableTouchRipple);\n  const handleDragLeave = useRippleHandler(ripple, 'stop', onDragLeave, disableTouchRipple);\n  const handleMouseUp = useRippleHandler(ripple, 'stop', onMouseUp, disableTouchRipple);\n  const handleMouseLeave = useRippleHandler(ripple, 'stop', event => {\n    if (focusVisible) {\n      event.preventDefault();\n    }\n    if (onMouseLeave) {\n      onMouseLeave(event);\n    }\n  }, disableTouchRipple);\n  const handleTouchStart = useRippleHandler(ripple, 'start', onTouchStart, disableTouchRipple);\n  const handleTouchEnd = useRippleHandler(ripple, 'stop', onTouchEnd, disableTouchRipple);\n  const handleTouchMove = useRippleHandler(ripple, 'stop', onTouchMove, disableTouchRipple);\n  const handleBlur = useRippleHandler(ripple, 'stop', event => {\n    if (!isFocusVisible(event.target)) {\n      setFocusVisible(false);\n    }\n    if (onBlur) {\n      onBlur(event);\n    }\n  }, false);\n  const handleFocus = useEventCallback(event => {\n    // Fix for https://github.com/facebook/react/issues/7769\n    if (!buttonRef.current) {\n      buttonRef.current = event.currentTarget;\n    }\n    if (isFocusVisible(event.target)) {\n      setFocusVisible(true);\n      if (onFocusVisible) {\n        onFocusVisible(event);\n      }\n    }\n    if (onFocus) {\n      onFocus(event);\n    }\n  });\n  const isNonNativeButton = () => {\n    const button = buttonRef.current;\n    return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n  };\n  const handleKeyDown = useEventCallback(event => {\n    // Check if key is already down to avoid repeats being counted as multiple activations\n    if (focusRipple && !event.repeat && focusVisible && event.key === ' ') {\n      ripple.stop(event, () => {\n        ripple.start(event);\n      });\n    }\n    if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n      event.preventDefault();\n    }\n    if (onKeyDown) {\n      onKeyDown(event);\n    }\n\n    // Keyboard accessibility for non interactive elements\n    if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n      event.preventDefault();\n      if (onClick) {\n        onClick(event);\n      }\n    }\n  });\n  const handleKeyUp = useEventCallback(event => {\n    // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n    // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0\n    if (focusRipple && event.key === ' ' && focusVisible && !event.defaultPrevented) {\n      ripple.stop(event, () => {\n        ripple.pulsate(event);\n      });\n    }\n    if (onKeyUp) {\n      onKeyUp(event);\n    }\n\n    // Keyboard accessibility for non interactive elements\n    if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n      onClick(event);\n    }\n  });\n  let ComponentProp = component;\n  if (ComponentProp === 'button' && (other.href || other.to)) {\n    ComponentProp = LinkComponent;\n  }\n  const buttonProps = {};\n  if (ComponentProp === 'button') {\n    buttonProps.type = type === undefined ? 'button' : type;\n    buttonProps.disabled = disabled;\n  } else {\n    if (!other.href && !other.to) {\n      buttonProps.role = 'button';\n    }\n    if (disabled) {\n      buttonProps['aria-disabled'] = disabled;\n    }\n  }\n  const handleRef = useForkRef(ref, buttonRef);\n  const ownerState = {\n    ...props,\n    centerRipple,\n    component,\n    disabled,\n    disableRipple,\n    disableTouchRipple,\n    focusRipple,\n    tabIndex,\n    focusVisible\n  };\n  const classes = useUtilityClasses(ownerState);\n  return /*#__PURE__*/_jsxs(ButtonBaseRoot, {\n    as: ComponentProp,\n    className: clsx(classes.root, className),\n    ownerState: ownerState,\n    onBlur: handleBlur,\n    onClick: onClick,\n    onContextMenu: handleContextMenu,\n    onFocus: handleFocus,\n    onKeyDown: handleKeyDown,\n    onKeyUp: handleKeyUp,\n    onMouseDown: handleMouseDown,\n    onMouseLeave: handleMouseLeave,\n    onMouseUp: handleMouseUp,\n    onDragLeave: handleDragLeave,\n    onTouchEnd: handleTouchEnd,\n    onTouchMove: handleTouchMove,\n    onTouchStart: handleTouchStart,\n    ref: handleRef,\n    tabIndex: disabled ? -1 : tabIndex,\n    type: type,\n    ...buttonProps,\n    ...other,\n    children: [children, enableTouchRipple ? /*#__PURE__*/_jsx(TouchRipple, {\n      ref: handleRippleRef,\n      center: centerRipple,\n      ...TouchRippleProps\n    }) : null]\n  });\n});\nfunction useRippleHandler(ripple, rippleAction, eventCallback, skipRippleAction = false) {\n  return useEventCallback(event => {\n    if (eventCallback) {\n      eventCallback(event);\n    }\n    if (!skipRippleAction) {\n      ripple[rippleAction](event);\n    }\n    return true;\n  });\n}\nprocess.env.NODE_ENV !== \"production\" ? ButtonBase.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * A ref for imperative actions.\n   * It currently only supports `focusVisible()` action.\n   */\n  action: refType,\n  /**\n   * If `true`, the ripples are centered.\n   * They won't start at the cursor interaction position.\n   * @default false\n   */\n  centerRipple: PropTypes.bool,\n  /**\n   * The content of the component.\n   */\n  children: PropTypes.node,\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The component used for the root node.\n   * Either a string to use a HTML element or a component.\n   */\n  component: elementTypeAcceptingRef,\n  /**\n   * If `true`, the component is disabled.\n   * @default false\n   */\n  disabled: PropTypes.bool,\n  /**\n   * If `true`, the ripple effect is disabled.\n   *\n   * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n   * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n   * @default false\n   */\n  disableRipple: PropTypes.bool,\n  /**\n   * If `true`, the touch ripple effect is disabled.\n   * @default false\n   */\n  disableTouchRipple: PropTypes.bool,\n  /**\n   * If `true`, the base button will have a keyboard focus ripple.\n   * @default false\n   */\n  focusRipple: PropTypes.bool,\n  /**\n   * This prop can help identify which element has keyboard focus.\n   * The class name will be applied when the element gains the focus through keyboard interaction.\n   * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n   * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n   * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n   * if needed.\n   */\n  focusVisibleClassName: PropTypes.string,\n  /**\n   * @ignore\n   */\n  href: PropTypes /* @typescript-to-proptypes-ignore */.any,\n  /**\n   * The component used to render a link when the `href` prop is provided.\n   * @default 'a'\n   */\n  LinkComponent: PropTypes.elementType,\n  /**\n   * @ignore\n   */\n  onBlur: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onClick: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onContextMenu: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onDragLeave: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onFocus: PropTypes.func,\n  /**\n   * Callback fired when the component is focused with a keyboard.\n   * We trigger a `onFocus` callback too.\n   */\n  onFocusVisible: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onKeyDown: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onKeyUp: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onMouseDown: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onMouseLeave: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onMouseUp: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onTouchEnd: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onTouchMove: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onTouchStart: PropTypes.func,\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n  /**\n   * @default 0\n   */\n  tabIndex: PropTypes.number,\n  /**\n   * Props applied to the `TouchRipple` element.\n   */\n  TouchRippleProps: PropTypes.object,\n  /**\n   * A ref that points to the `TouchRipple` element.\n   */\n  touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n    current: PropTypes.shape({\n      pulsate: PropTypes.func.isRequired,\n      start: PropTypes.func.isRequired,\n      stop: PropTypes.func.isRequired\n    })\n  })]),\n  /**\n   * @ignore\n   */\n  type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string])\n} : void 0;\nexport default ButtonBase;"],"names":["useUtilityClasses","React.forwardRef","React.useRef","React.useState","React.useImperativeHandle","React.useEffect","_jsxs","_jsx"],"mappings":"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","x_google_ignoreList":[0]}