import _Accordion from "@mui/material/Accordion";
import _AccordionDetails from "@mui/material/AccordionDetails";
import _AccordionSummary from "@mui/material/AccordionSummary";
/*!
 * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
 *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and limitations under the License.
 */
import { memo } from "react";
import { ChevronDownIcon } from "./icons.generated/index.js";
import { Support } from "./Typography.js";
import { useUniqueId } from "./useUniqueId.js";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
export const accordionVariantValues = ["default", "borderless"];
const Accordion = ({
  children,
  label,
  id: idOverride,
  isDefaultExpanded,
  isDisabled,
  isExpanded,
  onChange,
  testId,
  translate,
  variant = "default"
}) => {
  const id = useUniqueId(idOverride);
  const headerId = `${id}-header`;
  const contentId = `${id}-content`;
  return _jsxs(_Accordion, {
    "data-ods-variant": variant,
    "data-se": testId,
    defaultExpanded: isDefaultExpanded,
    disabled: isDisabled,
    disableGutters: true,
    expanded: isExpanded,
    onChange: onChange,
    children: [_jsx(_AccordionSummary, {
      "aria-controls": contentId,
      expandIcon: _jsx(ChevronDownIcon, {}),
      id: headerId,
      children: _jsx(Support, {
        component: "div",
        translate: translate,
        children: label
      })
    }), _jsx(_AccordionDetails, {
      "aria-labelledby": headerId,
      children: children
    })]
  });
};
const MemoizedAccordion = memo(Accordion);
MemoizedAccordion.displayName = "Accordion";
export { MemoizedAccordion as Accordion };
//# sourceMappingURL=Accordion.js.map