{"version":3,"file":"static/js/770.c866cec1.chunk.js","mappings":"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","sources":["../node_modules/@carbon/ibmdotcom-react/es/components/HorizontalRule/HorizontalRule.js","../node_modules/@carbon/ibmdotcom-react/es/components/TableOfContents/TOCDesktop.js","../node_modules/@carbon/icons-react/es/table-of-contents/20.js","../node_modules/@carbon/ibmdotcom-react/es/components/TableOfContents/TOCMobile.js","../node_modules/@carbon/ibmdotcom-react/es/components/TableOfContents/TableOfContents.js","../node_modules/carbon-components-react/es/components/Accordion/Accordion.js","../node_modules/carbon-components-react/es/components/Accordion/index.js","../node_modules/carbon-components-react/es/components/Text/TextDirectionContext.js","../node_modules/carbon-components-react/es/components/Text/Text.js","../node_modules/carbon-components-react/es/components/Accordion/AccordionItem.js","../node_modules/carbon-components-react/es/components/AccordionItem/index.js","../node_modules/carbon-components-react/es/tools/events.js","../node_modules/carbon-components-react/es/components/FeatureFlags/index.js","../node_modules/carbon-components-react/es/components/Button/Button.js","../node_modules/carbon-components-react/es/tools/toggleClass.js","../node_modules/carbon-components-react/es/prop-types/types.js","../node_modules/carbon-components-react/es/internal/keyboard/keys.js","../node_modules/carbon-components-react/es/internal/keyboard/match.js","../node_modules/carbon-components-react/es/internal/environment.js","../node_modules/carbon-components-react/es/internal/useId.js","../node_modules/carbon-components-react/es/tools/setupGetInstanceId.js","../node_modules/carbon-components-react/es/internal/usePrefix.js","../node_modules/carbon-components-react/es/prop-types/deprecate.js","../node_modules/classnames/index.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n/**\n * Copyright IBM Corp. 2016, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport classnames from 'classnames';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n\n/**\n * Horizontal Rule component.\n */\nvar HorizontalRule = function HorizontalRule(_ref) {\n  var _classnames;\n  var type = _ref.type,\n    size = _ref.size,\n    contrast = _ref.contrast,\n    weight = _ref.weight;\n  return /*#__PURE__*/React.createElement(\"hr\", {\n    \"data-autoid\": \"\".concat(stablePrefix, \"--hr\"),\n    className: classnames(\"\".concat(prefix, \"--hr\"), (_classnames = {}, _defineProperty(_classnames, \"\".concat(prefix, \"--hr--\").concat(type), type), _defineProperty(_classnames, \"\".concat(prefix, \"--hr--\").concat(contrast), contrast), _defineProperty(_classnames, \"\".concat(prefix, \"--hr--\").concat(size), size), _defineProperty(_classnames, \"\".concat(prefix, \"--hr--\").concat(weight), weight), _classnames))\n  });\n};\nHorizontalRule.propTypes = {\n  /**\n   * Type of HR. Choose from:\n   *\n   * | Name     | Description                                                                    |\n   * | -------- | ------------------------------------------------------------------------------ |\n   * | `solid`  | Default type variant of the horizontal rule                                   |\n   * | `dashed` | Dashed/dotted type variant (type is applied in conjuction with `fluid` size) |\n   */\n  type: PropTypes.oneOf(['solid', 'dashed']),\n  /**\n   * Length of the HR. Choose from:\n   *\n   * | Name     | Description                                                         |\n   * | -------- | ------------------------------------------------------------------- |\n   * | `fluid`  | Default size variant - horizontal rule takes full width of the grid |\n   * | `small`  | Shorter fixed-length variant with a max-width of 32px               |\n   * | `medium` | Medium fixed-length variant with a max-width of 48px                |\n   * | `large`  | Longer fixed-length variant with a max-width of 64px                |\n   */\n  size: PropTypes.oneOf(['fluid', 'small', 'medium', 'large']),\n  /**\n   * Contrast of the HR. Choose from:\n   *\n   * | Name              | Description                    |\n   * | ----------------- | ------------------------------ |\n   * | `medium-contrast` | Default contrast color variant |\n   * | `low-contrast`    | Lighter contrast color variant |\n   * | `high-contrast`   | Darker contrast color variant  |\n   */\n  contrast: PropTypes.oneOf(['medium-contrast', 'low-contrast', 'high-contrast']),\n  /**\n   * Weight of the HR. Choose from:\n   *\n   * | Name    | Description                                                                          |\n   * | ------- | ------------------------------------------------------------------------------------ |\n   * | `thin`  | Default weight variant                                                               |\n   * | `thick` | Slightly thicker weight variant (this only applied in conjunction with `fluid` size) |\n   */\n  weight: PropTypes.oneOf(['thin', 'thick'])\n};\nexport default HorizontalRule;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n/**\n * Copyright IBM Corp. 2016, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport classNames from 'classnames';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport smoothScroll from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/smoothScroll/smoothScroll';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n\n/**\n * DesktopMenu Component.\n */\nvar TOCDesktop = function TOCDesktop(_ref) {\n  var menuItems = _ref.menuItems,\n    selectedId = _ref.selectedId;\n  /**\n   * Render menu items\n   *\n   * @param {Array} items menu items array\n   * @param {string} activeId selected item id\n   * @returns {*} JSX Object\n   */\n  var renderMenuItems = function renderMenuItems(items, activeId) {\n    return items.map(function (item, index) {\n      if ((item === null || item === void 0 ? void 0 : item.id) !== 'menuLabel') {\n        var isActive = activeId === item.id;\n        return /*#__PURE__*/React.createElement(\"li\", {\n          key: index,\n          \"data-autoid\": \"\".concat(stablePrefix, \"--tableofcontents__desktop__item-\").concat(item.id),\n          className: classNames(\"\".concat(prefix, \"--tableofcontents__desktop__item\"), _defineProperty({}, \"\".concat(prefix, \"--tableofcontents__desktop__item--active\"), isActive))\n        }, /*#__PURE__*/React.createElement(\"a\", _extends({}, isActive ? {\n          'aria-current': 'location'\n        } : {}, {\n          onClick: function onClick(e) {\n            return handleOnClick(e, item.id);\n          },\n          href: \"#\".concat(item.id)\n        }), item.title));\n      }\n    });\n  };\n\n  /**\n   * Handle OnClick\n   *\n   * @param {*} e event object\n   * @param {*} id menu item id\n   */\n  var handleOnClick = function handleOnClick(e, id) {\n    e.preventDefault();\n    var selector = \"a[name=\\\"\".concat(id, \"\\\"]\");\n    var masthead = e.target.ownerDocument.querySelector(\".\".concat(prefix, \"--masthead\"));\n    smoothScroll(null, selector, masthead === null || masthead === void 0 ? void 0 : masthead.offsetHeight);\n    triggerFocus(selector);\n  };\n\n  /**\n   * Trigger the focus on screen readers, so they can read the target paragraph\n   *\n   * @param {*} elem Selector to find the item\n   */\n  function triggerFocus(elem) {\n    var element = document.querySelector(elem);\n    var handleFocusOut = function handleFocusOut(event) {\n      var focusoutTarget = event.target;\n      focusoutTarget.removeAttribute('tabindex');\n    };\n    element.setAttribute('tabindex', '0');\n    element.focus({\n      preventScroll: true\n    });\n    element.addEventListener('focusout', handleFocusOut, {\n      once: true\n    });\n  }\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__desktop\"),\n    \"data-autoid\": \"\".concat(stablePrefix, \"--tableofcontents__desktop\")\n  }, /*#__PURE__*/React.createElement(\"ul\", null, renderMenuItems(menuItems, selectedId)));\n};\nTOCDesktop.propTypes = {\n  /**\n   * Array of menu item objects to render within the side nav.\n   * Each items has the following structure:\n   *\n   * | Properties Name | Data Type | Description     |\n   * | --------------- | --------- | --------------- |\n   * | title           | String    | Menu title text |\n   * | id              | String    | Menu id         |\n   */\n  menuItems: PropTypes.array,\n  /**\n   * Id of a menu item.\n   */\n  selectedId: PropTypes.string\n};\nexport default TOCDesktop;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-9ecdf98c.js';\nimport React from 'react';\nimport '@carbon/icon-helpers';\nimport 'prop-types';\n\nvar _path;\n\nvar _excluded = [\"children\"];\nvar TableOfContents20 = /*#__PURE__*/React.forwardRef(function TableOfContents20(_ref, ref) {\n  var children = _ref.children,\n      rest = _objectWithoutProperties(_ref, _excluded);\n\n  return /*#__PURE__*/React.createElement(Icon, _extends({\n    width: 20,\n    height: 20,\n    viewBox: \"0 0 32 32\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    fill: \"currentColor\",\n    ref: ref\n  }, rest), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M4 6H22V8H4zM4 12H22V14H4zM4 18H22V20H4zM4 24H22V26H4zM26 6H28V8H26zM26 12H28V14H26zM26 18H28V20H26zM26 24H28V26H26z\"\n  })), children);\n});\n\nexport { TableOfContents20 as default };\n","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n/**\n * Copyright IBM Corp. 2016, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useState, useEffect } from 'react';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport PropTypes from 'prop-types';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport smoothScroll from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/smoothScroll/smoothScroll';\nimport TableOfContents20 from '@carbon/icons-react/es/table-of-contents/20';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n\n/**\n * Mobile Component.\n */\nvar TOCMobile = function TOCMobile(_ref) {\n  var menuItems = _ref.menuItems,\n    selectedId = _ref.selectedId,\n    menuLabel = _ref.menuLabel,\n    updateState = _ref.updateState;\n  var _useState = useState('menuLabel'),\n    _useState2 = _slicedToArray(_useState, 2),\n    selectedOption = _useState2[0],\n    setSelectedOption = _useState2[1];\n  useEffect(function () {\n    setSelectedOption(selectedId);\n  }, [selectedId]);\n\n  /**\n   * Handle onChange event of select\n   *\n   * @param {*} e event object\n   */\n  var handleChange = function handleChange(e) {\n    var id = e.target.value;\n    var filteredItems = menuItems.filter(function (menu) {\n      return menu.id === id;\n    });\n    var title = filteredItems[0].title;\n    updateState(id, title);\n    var selector = \"a[name=\\\"\".concat(id, \"\\\"]\");\n    smoothScroll(null, selector, 50);\n    triggerFocus(selector);\n  };\n\n  /**\n   * Trigger the focus on screen readers, so they can read the target paragraph\n   *\n   * @param {*} elem Selector to find the item\n   */\n  function triggerFocus(elem) {\n    var element = document.querySelector(elem);\n    if (element) {\n      var handleFocusOut = function handleFocusOut(event) {\n        var focusoutTarget = event.target;\n        focusoutTarget.removeAttribute('tabindex');\n      };\n      element.setAttribute('tabindex', '0');\n      element.focus({\n        preventScroll: true\n      });\n      element.addEventListener('focusout', handleFocusOut, {\n        once: true\n      });\n    }\n  }\n\n  /**\n   * Handle OnBlur event\n   *\n   * @returns {null} Returns null for blur events\n   */\n  var handleOnBlur = function handleOnBlur() {\n    return null;\n  };\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__mobile\"),\n    \"data-autoid\": \"\".concat(stablePrefix, \"--tableofcontents__mobile\")\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__mobile__select__wrapper\")\n  }, /*#__PURE__*/React.createElement(\"select\", {\n    \"aria-label\": menuLabel,\n    className: \"\".concat(prefix, \"--tableofcontents__mobile__select\"),\n    onBlur: handleOnBlur,\n    value: selectedOption,\n    onChange: function onChange(e) {\n      return handleChange(e);\n    }\n  }, renderOptions(menuItems, menuLabel)), /*#__PURE__*/React.createElement(TableOfContents20, {\n    className: \"\".concat(prefix, \"--tableofcontents__mobile__select__icon\"),\n    \"aria-label\": \"menu icon\"\n  }, /*#__PURE__*/React.createElement(\"title\", null, \"menu icon\"))));\n};\n\n/**\n * Render options for select\n *\n * @param {Array} options menu item arrray\n * @param {Array} label menu label\n * @returns {*} JSX Object\n */\nvar renderOptions = function renderOptions(options, label) {\n  var labelObj = {\n    title: \"\".concat(label, \" ...\"),\n    id: 'menuLabel'\n  };\n  options.findIndex(function (x) {\n    return x.id === labelObj.id;\n  }) === -1 ? options.unshift(labelObj) : null;\n  return options.map(function (option, index) {\n    if (option) {\n      return /*#__PURE__*/React.createElement(\"option\", {\n        className: \"\".concat(prefix, \"--tableofcontents__mobile__select__option\"),\n        \"data-autoid\": \"\".concat(stablePrefix, \"--tableofcontents__mobile__select__option-\").concat(option.id),\n        key: index,\n        value: option.id,\n        defaultValue: index === 0,\n        disabled: index === 0,\n        hidden: index === 0\n      }, option.title);\n    }\n  });\n};\nTOCMobile.propTypes = {\n  /**\n   * Array of menu item objects to render within the side nav.\n   * Each items has the following structure:\n   *\n   * | Properties Name | Data Type | Description     |\n   * | --------------- | --------- | --------------- |\n   * | title           | String    | Menu title text |\n   * | id              | String    | Menu id         |\n   */\n  menuItems: PropTypes.array,\n  /**\n   * Id of a menu item.\n   */\n  selectedId: PropTypes.string,\n  /**\n   * Menu label for mobile menu.\n   */\n  menuLabel: PropTypes.string,\n  /**\n   * Function to update parent state.\n   */\n  updateState: PropTypes.func\n};\nexport default TOCMobile;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n/**\n * Copyright IBM Corp. 2016, 2022\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport { HorizontalRule } from '../HorizontalRule';\nimport PropTypes from 'prop-types';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport TOCDesktop from './TOCDesktop';\nimport TOCMobile from './TOCMobile';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n\n/**\n * loops into the array of elements and returns the values\n *\n * @private\n * @returns {Array} returns element name and data title\n */\nvar _findMenuItems = function _findMenuItems() {\n  var eles = document.querySelectorAll('a[name]');\n  var menuItems = [];\n  eles.forEach(function (element) {\n    if (element.getAttribute('name') !== 'menuLabel') {\n      menuItems.push({\n        id: element.getAttribute('name'),\n        title: element.getAttribute('data-title') || ''\n      });\n    }\n  });\n  return menuItems;\n};\n\n/**\n * Table of Contents pattern.\n */\nvar TableOfContents = function TableOfContents(_ref) {\n  var menuItems = _ref.menuItems,\n    children = _ref.children,\n    menuLabel = _ref.menuLabel,\n    theme = _ref.theme,\n    stickyOffset = _ref.stickyOffset,\n    menuRule = _ref.menuRule,\n    headingContent = _ref.headingContent;\n  var _useState = useState([]),\n    _useState2 = _slicedToArray(_useState, 2),\n    useMenuItems = _useState2[0],\n    setUseMenuItems = _useState2[1];\n  var _useState3 = useState(''),\n    _useState4 = _slicedToArray(_useState3, 2),\n    selectedId = _useState4[0],\n    setSelectedId = _useState4[1];\n  var _useState5 = useState(''),\n    _useState6 = _slicedToArray(_useState5, 2),\n    selectedTitle = _useState6[0],\n    setSelectedTitle = _useState6[1];\n  useEffect(function () {\n    setUseMenuItems(menuItems !== null && menuItems !== void 0 && menuItems.length ? _toConsumableArray(menuItems) : _findMenuItems());\n  }, [children, menuItems]);\n  useEffect(function () {\n    var id = useMenuItems[0] ? useMenuItems[0].id : '';\n    var title = useMenuItems[0] ? useMenuItems[0].title : '';\n    if (id === 'menuLabel' && useMenuItems[1]) {\n      id = useMenuItems[1].id;\n      title = useMenuItems[1].title;\n    }\n    setSelectedId(id);\n    setSelectedTitle(title);\n  }, [useMenuItems]);\n  useEffect(function () {\n    /**\n     * Function to be added to eventListener and cleaned later on\n     */\n    var handleRAF = function handleRAF() {\n      window.requestAnimationFrame(setSelectedItem);\n    };\n    window.addEventListener('scroll', handleRAF);\n    return function () {\n      return window.removeEventListener('scroll', handleRAF);\n    };\n  });\n\n  /**\n   * Set selected id & title\n   *\n   */\n  var setSelectedItem = function setSelectedItem() {\n    var elems = getElemsInView();\n    if (elems) {\n      var _filteredItems$;\n      var id = elems || useMenuItems[0].id;\n      var filteredItems = useMenuItems.filter(function (menu) {\n        if (id !== 'undefined') {\n          return menu.id === id;\n        }\n      });\n      var title = (_filteredItems$ = filteredItems[0]) === null || _filteredItems$ === void 0 ? void 0 : _filteredItems$.title;\n      if (title !== undefined) {\n        setSelectedId(id);\n        setSelectedTitle(title);\n      }\n    }\n  };\n\n  /**\n   * Check whether provided anchor tags are in visible viewport\n   *\n   * @returns {string} name attribute\n   */\n  var getElemsInView = function getElemsInView() {\n    var items = _toConsumableArray(document.querySelectorAll('a[name]')).map(function (elem, index, arr) {\n      return {\n        elem: elem,\n        height: arr[index + 1] ? arr[index + 1].getBoundingClientRect().y - elem.getBoundingClientRect().y : null,\n        position: elem.getBoundingClientRect().y\n      };\n    }).filter(function (elem, index, arr) {\n      return elem.height === null ? arr[index - 1].position < arr[index - 1].height : elem.position - 50 - stickyOffset > -elem.height;\n    });\n\n    // Sets last section as active at the end of page in case there is not enough height for it to dynamically activate\n    var bottomReached = document.documentElement.scrollTop + document.documentElement.clientHeight === document.documentElement.scrollHeight;\n    return !bottomReached ? items[0].elem.getAttribute('name') : items[items.length - 1].elem.getAttribute('name');\n  };\n\n  /**\n   * Sets the selected menu item\n   *\n   * @param {*} id selected id of menu item\n   * @param {*} title selected title of menu item\n   */\n  var updateState = function updateState(id, title) {\n    setSelectedId(id);\n    setSelectedTitle(title);\n  };\n\n  /**\n   * Validate if the Menu Items has Id and Title filled\n   *\n   * @param {Array} menuItems array of Items\n   * @returns {Array} filtered array of items\n   */\n  var validateMenuItems = function validateMenuItems(menuItems) {\n    return menuItems.filter(function (item) {\n      var _item$title, _item$id;\n      return (item === null || item === void 0 ? void 0 : (_item$title = item.title) === null || _item$title === void 0 ? void 0 : _item$title.trim().length) && (item === null || item === void 0 ? void 0 : (_item$id = item.id) === null || _item$id === void 0 ? void 0 : _item$id.trim().length);\n    });\n  };\n\n  /**\n   * Props for TOCDesktop and TOCMobile\n   *\n   * @type {{\n   * updateState: Function,\n   * selectedId: string,\n   * menuItems: Array,\n   * selectedTitle: string,\n   * menuLabel: string\n   * children: object\n   * }}\n   */\n  var props = {\n    menuItems: validateMenuItems(useMenuItems),\n    selectedId: selectedId,\n    selectedTitle: selectedTitle,\n    menuLabel: menuLabel,\n    updateState: updateState,\n    children: children.length > 1 ? children[0] : null\n  };\n\n  /**\n   * Render TableOfContents pattern\n   *\n   * @returns {*} JSX Object\n   */\n  return /*#__PURE__*/React.createElement(\"section\", {\n    \"data-autoid\": \"\".concat(stablePrefix, \"--tableofcontents\"),\n    className: classNames(\"\".concat(prefix, \"--tableofcontents\"), _defineProperty({}, \"\".concat(prefix, \"--tableofcontents--\").concat(theme), theme))\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(stablePrefix, \"-ce--table-of-contents__container\")\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__sidebar\")\n  }, headingContent && /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__desktop__children\")\n  }, headingContent, menuRule && /*#__PURE__*/React.createElement(HorizontalRule, null)), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__mobile-top\")\n  }), /*#__PURE__*/React.createElement(\"div\", {\n    style: {\n      position: 'sticky',\n      top: stickyOffset ? \"\".concat(stickyOffset, \"px\") : 0\n    }\n  }, /*#__PURE__*/React.createElement(TOCDesktop, _extends({\n    menuRule: menuRule,\n    headingContent: headingContent\n  }, props)), /*#__PURE__*/React.createElement(TOCMobile, props))), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__content\")\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__content-wrapper\")\n  }, headingContent !== undefined ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefix, \"--tableofcontents__children__mobile\")\n  }, headingContent), children) : children))));\n};\nTableOfContents.propTypes = {\n  /**\n   * Array of menu item objects to render within the side nav.\n   * Each items has the following structure:\n   *\n   * | Properties Name | Data Type | Description     |\n   * | --------------- | --------- | --------------- |\n   * | title           | String    | Menu title text |\n   * | id              | String    | Menu id         |\n   *\n   * If `menuItems` is not passed in as a prop, the menu items are dynamically\n   * generated based on anchor links that exist on the page. The anchor links should\n   * follow the following format:\n   *\n   * ```html\n   * <a name=\"name-of-section\" data-title=\"Lorem Ipsum\"></a>\n   * ```\n   */\n  menuItems: PropTypes.arrayOf(PropTypes.shape({\n    title: PropTypes.string.isRequired,\n    id: PropTypes.string.isRequired\n  })),\n  /**\n   * Content to display next to the side nav.\n   */\n  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n  /**\n   * Placeholder value for menu label.\n   */\n  menuLabel: PropTypes.string,\n  /**\n   * Defines the color theme for the pattern. Choose from:\n   *\n   * | Name            | Description                              |\n   * | --------------- | ---------------------------------------- |\n   * | white / default | White theme applied to pattern           |\n   * | g10             | Gray 10 (g10) theme applied to pattern   |\n   * | g100            | Gray 100 (g100) theme applied to pattern |\n   */\n  theme: PropTypes.oneOf(['white', 'g10', 'g100']),\n  /**\n   * Defines the offset for the sticky column.\n   */\n  stickyOffset: PropTypes.number,\n  /**\n   * Defines if the menu ruler will be rendered.\n   */\n  menuRule: PropTypes.bool,\n  /**\n   * Content to be displayed above the navigation menu.\n   */\n  headingContent: PropTypes.node\n};\nTableOfContents.defaultProps = {\n  menuItems: null,\n  menuLabel: 'Jump to',\n  theme: 'white',\n  stickyOffset: null\n};\nexport default TableOfContents;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"align\", \"children\", \"className\", \"disabled\", \"size\"];\n\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport cx from 'classnames';\nimport { usePrefix } from '../../internal/usePrefix';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport * as FeatureFlags from '@carbon/feature-flags';\n\nfunction Accordion(_ref) {\n  var _cx;\n\n  var _ref$align = _ref.align,\n      align = _ref$align === void 0 ? 'end' : _ref$align,\n      children = _ref.children,\n      customClassName = _ref.className,\n      _ref$disabled = _ref.disabled,\n      disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n      _ref$size = _ref.size,\n      size = _ref$size === void 0 ? 'md' : _ref$size,\n      rest = _objectWithoutProperties(_ref, _excluded);\n\n  var prefix = usePrefix();\n  var className = cx(\"\".concat(prefix, \"--accordion\"), customClassName, (_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--accordion--\").concat(align), align), _defineProperty(_cx, \"\".concat(prefix, \"--accordion--\").concat(size), size), _cx));\n  return /*#__PURE__*/React.createElement(\"ul\", _extends({\n    className: className\n  }, rest), disabled ? React.Children.toArray(children).map(function (child) {\n    return /*#__PURE__*/React.cloneElement(child, {\n      disabled: disabled\n    });\n  }) : children);\n}\n\nAccordion.propTypes = {\n  /**\n   * Specify the alignment of the accordion heading title and chevron.\n   */\n  align: PropTypes.oneOf(['start', 'end']),\n\n  /**\n   * Pass in the children that will be rendered within the Accordion\n   */\n  children: PropTypes.node,\n\n  /**\n   * Specify an optional className to be applied to the container node\n   */\n  className: PropTypes.string,\n\n  /**\n   * Specify whether an individual AccordionItem should be disabled\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Specify the size of the Accordion. Currently supports the following:\n   */\n  size: FeatureFlags.enabled('enable-v11-release') ? PropTypes.oneOf(['sm', 'md', 'lg']) : PropTypes.oneOf(['sm', 'md', 'lg', 'xl'])\n};\nexport default Accordion;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport Accordion from './Accordion';\nexport default Accordion;\nexport { default as AccordionItem } from './AccordionItem';\nexport { default as AccordionSkeleton } from './Accordion.Skeleton';","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { createContext } from 'react';\nexport var TextDirectionContext = /*#__PURE__*/createContext(null);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"as\", \"children\", \"dir\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport PropTypes from 'prop-types';\nimport React, { useContext } from 'react';\nimport { TextDirectionContext } from './TextDirectionContext';\n\nfunction Text(_ref) {\n  var _ref$as = _ref.as,\n      BaseComponent = _ref$as === void 0 ? 'span' : _ref$as,\n      children = _ref.children,\n      _ref$dir = _ref.dir,\n      dir = _ref$dir === void 0 ? 'auto' : _ref$dir,\n      rest = _objectWithoutProperties(_ref, _excluded);\n\n  var context = useContext(TextDirectionContext);\n  var textProps = {};\n\n  var value = _objectSpread({}, context);\n\n  if (!context) {\n    textProps.dir = dir;\n    value.direction = dir;\n  } else {\n    var parentDirection = context.direction,\n        getTextDirection = context.getTextDirection;\n\n    if (getTextDirection && getTextDirection.current) {\n      var text = getTextFromChildren(children);\n      var override = getTextDirection.current(text);\n\n      if (parentDirection !== override) {\n        textProps.dir = override;\n        value.direction = override;\n      } else if (parentDirection === 'auto') {\n        textProps.dir = override;\n      }\n    } else if (parentDirection !== dir) {\n      textProps.dir = dir;\n      value.direction = dir;\n    } else if (parentDirection === 'auto') {\n      textProps.dir = dir;\n    }\n  }\n\n  return /*#__PURE__*/React.createElement(TextDirectionContext.Provider, {\n    value: value\n  }, /*#__PURE__*/React.createElement(BaseComponent, _extends({}, rest, textProps), children));\n}\n\nText.propTypes = {\n  /**\n   * Provide a custom element type used to render the outermost node\n   */\n  as: PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.elementType]),\n\n  /**\n   * Provide child elements or text to be rendered inside of this component\n   */\n  children: PropTypes.node.isRequired,\n\n  /**\n   * Specify the text direction to be used for this component and any of its\n   * children\n   */\n  dir: PropTypes.oneOf(['ltr', 'rtl', 'auto'])\n};\n\nfunction getTextFromChildren(children) {\n  if (typeof children === 'string') {\n    return children;\n  }\n\n  var text = React.Children.map(children, function (child) {\n    if (typeof child === 'string') {\n      return child;\n    }\n\n    return null;\n  }).filter(function (text) {\n    return text !== null;\n  });\n\n  if (text.length === 1) {\n    return text[0];\n  }\n\n  return text;\n}\n\nexport { Text };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nvar _excluded = [\"children\", \"className\", \"iconDescription\", \"open\", \"onHeadingClick\", \"renderExpando\", \"renderToggle\", \"title\", \"disabled\"];\n\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { ChevronRight16 } from '@carbon/icons-react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { Text } from '../Text';\nimport { match, keys } from '../../internal/keyboard';\nimport { useId } from '../../internal/useId';\nimport deprecate from '../../prop-types/deprecate';\nimport { usePrefix } from '../../internal/usePrefix';\n\nvar defaultRenderToggle = function defaultRenderToggle(props) {\n  return /*#__PURE__*/React.createElement(\"button\", _extends({\n    type: \"button\"\n  }, props));\n};\n\nfunction AccordionItem(_ref) {\n  var _cx;\n\n  var children = _ref.children,\n      customClassName = _ref.className,\n      iconDescription = _ref.iconDescription,\n      _ref$open = _ref.open,\n      open = _ref$open === void 0 ? false : _ref$open,\n      onHeadingClick = _ref.onHeadingClick,\n      _ref$renderExpando = _ref.renderExpando,\n      renderExpando = _ref$renderExpando === void 0 ? defaultRenderToggle : _ref$renderExpando,\n      renderToggle = _ref.renderToggle,\n      _ref$title = _ref.title,\n      title = _ref$title === void 0 ? 'title' : _ref$title,\n      disabled = _ref.disabled,\n      rest = _objectWithoutProperties(_ref, _excluded);\n\n  var _useState = useState(open),\n      _useState2 = _slicedToArray(_useState, 2),\n      isOpen = _useState2[0],\n      setIsOpen = _useState2[1];\n\n  var _useState3 = useState(open),\n      _useState4 = _slicedToArray(_useState3, 2),\n      prevIsOpen = _useState4[0],\n      setPrevIsOpen = _useState4[1];\n\n  var _useState5 = useState(''),\n      _useState6 = _slicedToArray(_useState5, 2),\n      animation = _useState6[0],\n      setAnimation = _useState6[1];\n\n  var id = useId('accordion-item');\n  var prefix = usePrefix();\n  var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--accordion__item\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--accordion__item--active\"), isOpen), _defineProperty(_cx, \"\".concat(prefix, \"--accordion__item--\").concat(animation), animation), _defineProperty(_cx, \"\".concat(prefix, \"--accordion__item--disabled\"), disabled), _defineProperty(_cx, customClassName, !!customClassName), _cx));\n  var Toggle = renderToggle || renderExpando; // remove renderExpando in next major release\n\n  if (open !== prevIsOpen) {\n    setAnimation(isOpen ? 'collapsing' : 'expanding');\n    setIsOpen(open);\n    setPrevIsOpen(open);\n  } // When the AccordionItem heading is clicked, toggle the open state of the\n  // panel\n\n\n  function onClick(event) {\n    var nextValue = !isOpen;\n    setAnimation(isOpen ? 'collapsing' : 'expanding');\n    setIsOpen(nextValue);\n\n    if (onHeadingClick) {\n      // TODO: normalize signature, potentially:\n      // onHeadingClick :: (event: Event, state: { isOpen: Boolean }) => any\n      onHeadingClick({\n        isOpen: nextValue,\n        event: event\n      });\n    }\n  } // If the AccordionItem is open, and the user hits the ESC key, then close it\n\n\n  function onKeyDown(event) {\n    if (isOpen && match(event, keys.Escape)) {\n      setIsOpen(false);\n    }\n  }\n\n  function handleAnimationEnd(event) {\n    if (rest.handleAnimationEnd) {\n      rest.handleAnimationEnd(event);\n    }\n\n    setAnimation('');\n  }\n\n  return /*#__PURE__*/React.createElement(\"li\", _extends({\n    className: className\n  }, rest, {\n    onAnimationEnd: handleAnimationEnd\n  }), /*#__PURE__*/React.createElement(Toggle, {\n    disabled: disabled,\n    \"aria-controls\": id,\n    \"aria-expanded\": isOpen,\n    className: \"\".concat(prefix, \"--accordion__heading\"),\n    onClick: onClick,\n    onKeyDown: onKeyDown,\n    type: \"button\"\n  }, /*#__PURE__*/React.createElement(ChevronRight16, {\n    className: \"\".concat(prefix, \"--accordion__arrow\")\n  }), /*#__PURE__*/React.createElement(Text, {\n    as: \"div\",\n    className: \"\".concat(prefix, \"--accordion__title\")\n  }, title)), /*#__PURE__*/React.createElement(\"div\", {\n    id: id,\n    className: \"\".concat(prefix, \"--accordion__content\")\n  }, children));\n}\n\nAccordionItem.propTypes = {\n  /**\n   * Provide the contents of your AccordionItem\n   */\n  children: PropTypes.node,\n\n  /**\n   * Specify an optional className to be applied to the container node\n   */\n  className: PropTypes.string,\n\n  /**\n   * Specify whether an individual AccordionItem should be disabled\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * The description of the expand icon.\n   */\n  iconDescription: deprecate(PropTypes.string, 'The `iconDescription` prop has been deprecated as it is no longer ' + 'required. Feel free to remove this prop from <AccordionItem>. This ' + 'prop will be removed in the next major release of ' + '`carbon-components-react`'),\n\n  /**\n   * The handler of the massaged `click` event.\n   */\n  onClick: PropTypes.func,\n\n  /**\n   * The handler of the massaged `click` event on the heading.\n   */\n  onHeadingClick: PropTypes.func,\n\n  /**\n   * `true` to open the expand.\n   */\n  open: PropTypes.bool,\n\n  /**\n   * The callback function to render the expand button.\n   * Can be a React component class.\n   */\n  renderExpando: deprecate(PropTypes.func, 'The `renderExpando` prop has been deprecated and will be removed in the next major release of Carbon. Use the `renderToggle` prop instead.'),\n\n  /**\n   * The callback function to render the expand button.\n   * Can be a React component class.\n   */\n  renderToggle: PropTypes.func,\n\n  /**\n   * The accordion title.\n   */\n  title: PropTypes.node\n};\nexport default AccordionItem;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Alias for import paths for build tools that rely on this\nimport { AccordionItem } from '../Accordion';\nexport default AccordionItem;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Generic utility to compose event handlers so that consumers can supply their\n * own event listeners on table components. The default heuristic here is to\n * iterate through the given functions until `preventDefault` is called on the\n * given event.\n *\n * @param {Array<Function>} fns array of functions to apply to the event\n * @returns {Function}\n */\nexport var composeEventHandlers = function composeEventHandlers(fns) {\n  return function (event) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    for (var i = 0; i < fns.length; i++) {\n      if (event.defaultPrevented) {\n        break;\n      }\n\n      if (typeof fns[i] === 'function') {\n        fns[i].apply(fns, [event].concat(args));\n      }\n    }\n  };\n};","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\n/**\n * Copyright IBM Corp. 2015, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { FeatureFlags as GlobalFeatureFlags, createScope } from '@carbon/feature-flags';\nimport PropTypes from 'prop-types';\nimport React, { createContext, useContext, useEffect, useRef, useState } from 'react';\n/**\n * Our FeatureFlagContext is used alongside the FeatureFlags component to enable\n * or disable feature flags in a given React tree\n */\n\nvar FeatureFlagContext = /*#__PURE__*/createContext(GlobalFeatureFlags);\n/**\n * Supports an object of feature flag values with the `flags` prop, merging them\n * along with the current `FeatureFlagContext` to provide consumers to check if\n * a feature flag is enabled or disabled in a given React tree\n */\n\nfunction FeatureFlags(_ref) {\n  var children = _ref.children,\n      _ref$flags = _ref.flags,\n      flags = _ref$flags === void 0 ? {} : _ref$flags;\n  var parentScope = useContext(FeatureFlagContext);\n\n  var _useState = useState(parentScope),\n      _useState2 = _slicedToArray(_useState, 2),\n      prevParentScope = _useState2[0],\n      setPrevParentScope = _useState2[1];\n\n  var _useState3 = useState(function () {\n    var scope = createScope(flags);\n    scope.mergeWithScope(parentScope);\n    return scope;\n  }),\n      _useState4 = _slicedToArray(_useState3, 2),\n      scope = _useState4[0],\n      updateScope = _useState4[1];\n\n  if (parentScope !== prevParentScope) {\n    var _scope = createScope(flags);\n\n    _scope.mergeWithScope(parentScope);\n\n    updateScope(_scope);\n    setPrevParentScope(parentScope);\n  } // We use a custom hook to detect if any of the keys or their values change\n  // for flags that are passed in. If they have changed, then we re-create the\n  // FeatureFlagScope using the new flags\n\n\n  useChangedValue(flags, isEqual, function (changedFlags) {\n    var scope = createScope(changedFlags);\n    scope.mergeWithScope(parentScope);\n    updateScope(scope);\n  });\n  return /*#__PURE__*/React.createElement(FeatureFlagContext.Provider, {\n    value: scope\n  }, children);\n}\n\nFeatureFlags.propTypes = {\n  children: PropTypes.node,\n\n  /**\n   * Provide the feature flags to enabled or disabled in the current React tree\n   */\n  flags: PropTypes.objectOf(PropTypes.bool)\n};\n/**\n * This hook will store previous versions of the given `value` and compare the\n * current value to the previous one using the `compare` function. If the\n * compare function returns true, then the given `callback` is invoked in an\n * effect.\n *\n * @param {any} value\n * @param {Function} compare\n * @param {Function} callback\n */\n\nfunction useChangedValue(value, compare, callback) {\n  var initialRender = useRef(false);\n  var savedCallback = useRef(callback);\n\n  var _useState5 = useState(value),\n      _useState6 = _slicedToArray(_useState5, 2),\n      prevValue = _useState6[0],\n      setPrevValue = _useState6[1];\n\n  if (!compare(prevValue, value)) {\n    setPrevValue(value);\n  }\n\n  useEffect(function () {\n    savedCallback.current = callback;\n  });\n  useEffect(function () {\n    // We only want the callback triggered after the first render\n    if (initialRender.current) {\n      savedCallback.current(prevValue);\n    }\n  }, [prevValue]);\n  useEffect(function () {\n    initialRender.current = true;\n  }, []);\n}\n/**\n * Access whether a given flag is enabled or disabled in a given\n * FeatureFlagContext\n *\n * @returns {boolean}\n */\n\n\nfunction useFeatureFlag(flag) {\n  var scope = useContext(FeatureFlagContext);\n  return scope.enabled(flag);\n}\n/**\n * Access all feature flag information for the given FeatureFlagContext\n *\n * @returns {FeatureFlagScope}\n */\n\n\nfunction useFeatureFlags() {\n  return useContext(FeatureFlagContext);\n}\n/**\n * Compare two objects and determine if they are equal. This is a shallow\n * comparison since the objects we are comparing are objects with boolean flags\n * from the flags prop in the `FeatureFlags` component\n *\n * @param {object} a\n * @param {object} b\n * @returns {boolean}\n */\n\n\nfunction isEqual(a, b) {\n  if (a === b) {\n    return true;\n  }\n\n  for (var _i = 0, _Object$keys = Object.keys(a); _i < _Object$keys.length; _i++) {\n    var key = _Object$keys[_i];\n\n    if (a[key] !== b[key]) {\n      return false;\n    }\n  }\n\n  for (var _i2 = 0, _Object$keys2 = Object.keys(b); _i2 < _Object$keys2.length; _i2++) {\n    var _key = _Object$keys2[_i2];\n\n    if (b[_key] !== a[_key]) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nexport { FeatureFlags, FeatureFlagContext, useFeatureFlags, useFeatureFlag };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"as\", \"children\", \"className\", \"dangerDescription\", \"disabled\", \"hasIconOnly\", \"href\", \"iconDescription\", \"isExpressive\", \"isSelected\", \"kind\", \"onBlur\", \"onClick\", \"onFocus\", \"onMouseEnter\", \"onMouseLeave\", \"renderIcon\", \"size\", \"small\", \"tabIndex\", \"tooltipAlignment\", \"tooltipPosition\", \"type\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport PropTypes from 'prop-types';\nimport React, { useState, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { ButtonKinds } from '../../prop-types/types';\nimport deprecate from '../../prop-types/deprecate';\nimport { composeEventHandlers } from '../../tools/events';\nimport { keys, matches } from '../../internal/keyboard';\nimport { usePrefix } from '../../internal/usePrefix';\nimport { useId } from '../../internal/useId';\nimport toggleClass from '../../tools/toggleClass';\nimport { useFeatureFlag } from '../FeatureFlags';\nimport * as FeatureFlags from '@carbon/feature-flags';\nvar Button = /*#__PURE__*/React.forwardRef(function Button(_ref, ref) {\n  var _classNames;\n\n  var as = _ref.as,\n      children = _ref.children,\n      className = _ref.className,\n      _ref$dangerDescriptio = _ref.dangerDescription,\n      dangerDescription = _ref$dangerDescriptio === void 0 ? 'danger' : _ref$dangerDescriptio,\n      _ref$disabled = _ref.disabled,\n      disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n      _ref$hasIconOnly = _ref.hasIconOnly,\n      hasIconOnly = _ref$hasIconOnly === void 0 ? false : _ref$hasIconOnly,\n      href = _ref.href,\n      iconDescription = _ref.iconDescription,\n      _ref$isExpressive = _ref.isExpressive,\n      isExpressive = _ref$isExpressive === void 0 ? false : _ref$isExpressive,\n      isSelected = _ref.isSelected,\n      _ref$kind = _ref.kind,\n      kind = _ref$kind === void 0 ? 'primary' : _ref$kind,\n      onBlur = _ref.onBlur,\n      onClick = _ref.onClick,\n      onFocus = _ref.onFocus,\n      onMouseEnter = _ref.onMouseEnter,\n      onMouseLeave = _ref.onMouseLeave,\n      ButtonImageElement = _ref.renderIcon,\n      _ref$size = _ref.size,\n      size = _ref$size === void 0 ? FeatureFlags.enabled('enable-v11-release') ? 'lg' : 'default' : _ref$size,\n      small = _ref.small,\n      _ref$tabIndex = _ref.tabIndex,\n      tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,\n      _ref$tooltipAlignment = _ref.tooltipAlignment,\n      tooltipAlignment = _ref$tooltipAlignment === void 0 ? 'center' : _ref$tooltipAlignment,\n      _ref$tooltipPosition = _ref.tooltipPosition,\n      tooltipPosition = _ref$tooltipPosition === void 0 ? 'top' : _ref$tooltipPosition,\n      _ref$type = _ref.type,\n      type = _ref$type === void 0 ? 'button' : _ref$type,\n      rest = _objectWithoutProperties(_ref, _excluded);\n\n  var _useState = useState(false),\n      _useState2 = _slicedToArray(_useState, 2),\n      allowTooltipVisibility = _useState2[0],\n      setAllowTooltipVisibility = _useState2[1];\n\n  var _useState3 = useState(false),\n      _useState4 = _slicedToArray(_useState3, 2),\n      isHovered = _useState4[0],\n      setIsHovered = _useState4[1];\n\n  var _useState5 = useState(false),\n      _useState6 = _slicedToArray(_useState5, 2),\n      isFocused = _useState6[0],\n      setIsFocused = _useState6[1];\n\n  var tooltipRef = useRef(null);\n  var tooltipTimeout = useRef(null);\n  var prefix = usePrefix();\n\n  var closeTooltips = function closeTooltips(evt) {\n    var _document;\n\n    var tooltipNode = (_document = document) === null || _document === void 0 ? void 0 : _document.querySelectorAll(\".\".concat(prefix, \"--tooltip--a11y\"));\n\n    _toConsumableArray(tooltipNode).map(function (node) {\n      toggleClass(node, \"\".concat(prefix, \"--tooltip--hidden\"), node !== evt.currentTarget);\n    });\n  };\n\n  var handleFocus = function handleFocus(evt) {\n    if (hasIconOnly) {\n      closeTooltips(evt);\n      setIsFocused(true);\n      setAllowTooltipVisibility(true);\n    }\n  };\n\n  var handleBlur = function handleBlur() {\n    if (hasIconOnly) {\n      setIsHovered(false);\n      setIsFocused(false);\n      setAllowTooltipVisibility(false);\n    }\n  };\n\n  var handleMouseEnter = function handleMouseEnter(evt) {\n    if (hasIconOnly) {\n      tooltipTimeout.current && clearTimeout(tooltipTimeout.current);\n\n      if (evt.target === tooltipRef.current) {\n        setAllowTooltipVisibility(true);\n        return;\n      }\n\n      closeTooltips(evt);\n      setAllowTooltipVisibility(true);\n    }\n  };\n\n  var handleMouseLeave = function handleMouseLeave() {\n    if (!isFocused && hasIconOnly) {\n      tooltipTimeout.current = setTimeout(function () {\n        setAllowTooltipVisibility(false);\n        setIsHovered(false);\n      }, 100);\n    }\n  };\n\n  var handleClick = function handleClick(evt) {\n    // Prevent clicks on the tooltip from triggering the button click event\n    setAllowTooltipVisibility(false);\n\n    if (evt.target === tooltipRef.current) {\n      evt.preventDefault();\n      return;\n    }\n  };\n\n  useEffect(function () {\n    var handleEscKeyDown = function handleEscKeyDown(event) {\n      if (matches(event, [keys.Escape])) {\n        setAllowTooltipVisibility(false);\n        setIsHovered(false);\n      }\n    };\n\n    document.addEventListener('keydown', handleEscKeyDown);\n    return function () {\n      return document.removeEventListener('keydown', handleEscKeyDown);\n    };\n  }, []);\n  var enabled = useFeatureFlag('enable-v11-release');\n  var buttonClasses = classNames(className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--btn\"), true), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--sm\"), size === 'small' && !isExpressive || size === 'sm' && !isExpressive || small && !isExpressive), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--md\"), size === 'field' && !isExpressive || size === 'md' && !isExpressive), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--lg\"), enabled ? size === 'xl' : size === 'lg'), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--xl\"), enabled ? size === '2xl' : size === 'xl'), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--\").concat(kind), kind), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--expressive\"), isExpressive), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip--visible\"), isHovered), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip--hidden\"), hasIconOnly && !allowTooltipVisibility), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--icon-only\"), hasIconOnly), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--selected\"), hasIconOnly && isSelected && kind === 'ghost'), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip__trigger\"), hasIconOnly), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip--a11y\"), hasIconOnly), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--icon-only--\").concat(tooltipPosition), hasIconOnly && tooltipPosition), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip--align-\").concat(tooltipAlignment), hasIconOnly && tooltipAlignment), _classNames));\n  var commonProps = {\n    tabIndex: tabIndex,\n    className: buttonClasses,\n    ref: ref\n  };\n  var buttonImage = !ButtonImageElement ? null : /*#__PURE__*/React.createElement(ButtonImageElement, {\n    \"aria-label\": iconDescription,\n    className: \"\".concat(prefix, \"--btn__icon\"),\n    \"aria-hidden\": \"true\"\n  });\n  var dangerButtonVariants = ['danger', 'danger--tertiary', 'danger--ghost'];\n  var component = 'button';\n  var assistiveId = useId('danger-description');\n  var otherProps = {\n    disabled: disabled,\n    type: type,\n    'aria-describedby': dangerButtonVariants.includes(kind) ? assistiveId : null,\n    'aria-pressed': hasIconOnly && kind === 'ghost' ? isSelected : null\n  };\n  var anchorProps = {\n    href: href\n  };\n  var assistiveText;\n\n  if (hasIconOnly) {\n    assistiveText = /*#__PURE__*/React.createElement(\"div\", {\n      ref: tooltipRef,\n      onMouseEnter: handleMouseEnter,\n      className: \"\".concat(prefix, \"--assistive-text\")\n    }, iconDescription);\n  } else if (dangerButtonVariants.includes(kind)) {\n    assistiveText = /*#__PURE__*/React.createElement(\"span\", {\n      id: assistiveId,\n      className: \"\".concat(prefix, \"--visually-hidden\")\n    }, dangerDescription);\n  } else {\n    assistiveText = null;\n  }\n\n  if (as) {\n    component = as;\n    otherProps = _objectSpread(_objectSpread({}, otherProps), anchorProps);\n  } else if (href && !disabled) {\n    component = 'a';\n    otherProps = anchorProps;\n  }\n\n  return /*#__PURE__*/React.createElement(component, _objectSpread(_objectSpread(_objectSpread({\n    onMouseEnter: composeEventHandlers([onMouseEnter, handleMouseEnter]),\n    onMouseLeave: composeEventHandlers([onMouseLeave, handleMouseLeave]),\n    onFocus: composeEventHandlers([onFocus, handleFocus]),\n    onBlur: composeEventHandlers([onBlur, handleBlur]),\n    onClick: composeEventHandlers([onClick, handleClick])\n  }, rest), commonProps), otherProps), assistiveText, children, buttonImage);\n});\nButton.displayName = 'Button';\nButton.propTypes = {\n  /**\n   * Specify how the button itself should be rendered.\n   * Make sure to apply all props to the root node and render children appropriately\n   */\n  as: PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.elementType]),\n\n  /**\n   * Specify the content of your Button\n   */\n  children: PropTypes.node,\n\n  /**\n   * Specify an optional className to be added to your Button\n   */\n  className: PropTypes.string,\n\n  /**\n   * Specify the message read by screen readers for the danger button variant\n   */\n  dangerDescription: PropTypes.string,\n\n  /**\n   * Specify whether the Button should be disabled, or not\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Specify if the button is an icon-only button\n   */\n  hasIconOnly: PropTypes.bool,\n\n  /**\n   * Optionally specify an href for your Button to become an `<a>` element\n   */\n  href: PropTypes.string,\n\n  /**\n   * If specifying the `renderIcon` prop, provide a description for that icon that can\n   * be read by screen readers\n   */\n  iconDescription: function iconDescription(props) {\n    if (props.renderIcon && !props.children && !props.iconDescription) {\n      return new Error('renderIcon property specified without also providing an iconDescription property.');\n    }\n\n    return undefined;\n  },\n\n  /**\n   * Specify whether the Button is expressive, or not\n   */\n  isExpressive: PropTypes.bool,\n\n  /**\n   * Specify whether the Button is currently selected. Only applies to the Ghost variant.\n   */\n  isSelected: PropTypes.bool,\n\n  /**\n   * Specify the kind of Button you want to create\n   */\n  kind: PropTypes.oneOf(ButtonKinds),\n\n  /**\n   * Provide an optional function to be called when the button element\n   * loses focus\n   */\n  onBlur: PropTypes.func,\n\n  /**\n   * Provide an optional function to be called when the button element\n   * is clicked\n   */\n  onClick: PropTypes.func,\n\n  /**\n   * Provide an optional function to be called when the button element\n   * receives focus\n   */\n  onFocus: PropTypes.func,\n\n  /**\n   * Provide an optional function to be called when the mouse\n   * enters the button element\n   */\n  onMouseEnter: PropTypes.func,\n\n  /**\n   * Provide an optional function to be called when the mouse\n   * leaves the button element\n   */\n  onMouseLeave: PropTypes.func,\n\n  /**\n   * Optional prop to allow overriding the icon rendering.\n   * Can be a React component class\n   */\n  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n  /**\n   * Optional prop to specify the role of the Button\n   */\n  role: PropTypes.string,\n\n  /**\n   * Specify the size of the button, from the following list of sizes:\n   */\n  size: FeatureFlags.enabled('enable-v11-release') ? PropTypes.oneOf(['sm', 'md', 'lg', 'xl', '2xl']) : PropTypes.oneOf(['default', 'field', 'small', 'sm', 'md', 'lg', 'xl', '2xl']),\n\n  /**\n   * Deprecated in v10 in favor of `size`.\n   * Specify whether the Button should be a small variant\n   */\n  small: deprecate(PropTypes.bool, \"\\nThe prop `small` for Button has been deprecated in favor of `size`. Please use `size=\\\"sm\\\"` instead.\"),\n\n  /**\n   * Optional prop to specify the tabIndex of the Button\n   */\n  tabIndex: PropTypes.number,\n\n  /**\n   * Specify the alignment of the tooltip to the icon-only button.\n   * Can be one of: start, center, or end.\n   */\n  tooltipAlignment: PropTypes.oneOf(['start', 'center', 'end']),\n\n  /**\n   * Specify the direction of the tooltip for icon-only buttons.\n   * Can be either top, right, bottom, or left.\n   */\n  tooltipPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n\n  /**\n   * Optional prop to specify the type of the Button\n   */\n  type: PropTypes.oneOf(['button', 'reset', 'submit'])\n};\nexport default Button;","/**\n * Adds or removes a CSS class to an element.\n * @param {Element} element An element.\n * @param {string} name A CSS class name.\n * @param {boolean} add `true` to add the given CSS class to given the element. Otherwise to remove.\n */\nexport default function toggleClass(element, name, add) {\n  if (element.classList.contains(name) === !add) {\n    element.classList[add ? 'add' : 'remove'](name);\n  }\n}","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport var ButtonKinds = ['primary', 'secondary', 'danger', 'ghost', 'danger--primary', 'danger--ghost', 'danger--tertiary', 'tertiary'];","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport var Tab = {\n  key: 'Tab',\n  which: 9,\n  keyCode: 9\n};\nexport var Enter = {\n  key: 'Enter',\n  which: 13,\n  keyCode: 13\n};\nexport var Escape = {\n  key: ['Escape', // IE11 Escape\n  'Esc'],\n  which: 27,\n  keyCode: 27\n};\nexport var Space = {\n  key: ' ',\n  which: 32,\n  keyCode: 32\n};\nexport var PageUp = {\n  key: 'PageUp',\n  which: 33,\n  keyCode: 33\n};\nexport var PageDown = {\n  key: 'PageDown',\n  which: 34,\n  keyCode: 34\n};\nexport var End = {\n  key: 'End',\n  which: 35,\n  keyCode: 35\n};\nexport var Home = {\n  key: 'Home',\n  which: 36,\n  keyCode: 36\n};\nexport var ArrowLeft = {\n  key: 'ArrowLeft',\n  which: 37,\n  keyCode: 37\n};\nexport var ArrowUp = {\n  key: 'ArrowUp',\n  which: 38,\n  keyCode: 38\n};\nexport var ArrowRight = {\n  key: 'ArrowRight',\n  which: 39,\n  keyCode: 39\n};\nexport var ArrowDown = {\n  key: 'ArrowDown',\n  which: 40,\n  keyCode: 40\n};\nexport var Delete = {\n  key: 'Delete',\n  which: 8 || 46,\n  keyCode: 8 || 46\n};","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @typedef Key\n * @property key {Array<string>|string}\n * @property which {number}\n * @property keyCode {number}\n */\n\n/**\n * Check to see if at least one key code matches the key code of the\n * given event.\n *\n * @example\n * import * as keys from '../keys';\n * import { matches } from '../match';\n *\n * function handleOnKeyDown(event) {\n *   if (matches(event, [keys.Enter, keys.Space]) {\n *     // ...\n *   }\n * }\n *\n * @param {Event} event\n * @param {Array<Key>} keysToMatch\n * @returns {boolean}\n */\nexport function matches(event, keysToMatch) {\n  for (var i = 0; i < keysToMatch.length; i++) {\n    if (match(event, keysToMatch[i])) {\n      return true;\n    }\n  }\n\n  return false;\n}\n/**\n * Check to see if the given key matches the corresponding keyboard event. Also\n * supports passing in the value directly if you can't used the given event.\n *\n * @example\n * import * as keys from '../keys';\n * import { matches } from '../match';\n *\n * function handleOnKeyDown(event) {\n *   if (match(event, keys.Enter) {\n *     // ...\n *   }\n * }\n *\n * @param {Event|number|string} eventOrCode\n * @param {Key} key\n * @returns {boolean}\n */\n\nexport function match(eventOrCode) {\n  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n      key = _ref.key,\n      which = _ref.which,\n      keyCode = _ref.keyCode;\n\n  if (typeof eventOrCode === 'string') {\n    return eventOrCode === key;\n  }\n\n  if (typeof eventOrCode === 'number') {\n    return eventOrCode === which || eventOrCode === keyCode;\n  }\n\n  if (eventOrCode.key && Array.isArray(key)) {\n    return key.indexOf(eventOrCode.key) !== -1;\n  }\n\n  return eventOrCode.key === key || eventOrCode.which === which || eventOrCode.keyCode === keyCode;\n}\n/**\n * Get a string character for a given event or event code (useful for synthetic\n * events)\n *\n * @param {Event|number} eventOrCode\n * @returns {string}\n */\n\nexport function getCharacterFor(eventOrCode) {\n  if (typeof eventOrCode === 'number') {\n    return String.fromCharCode(eventOrCode);\n  }\n\n  return eventOrCode.key || String.fromCharCode(eventOrCode.which || eventOrCode.keyCode);\n}","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Indicate whether current execution environment can access the DOM.\n *\n * @see https://github.com/facebook/fbjs/blob/4d1751311d3f67af2dcce2e40df8512a23c7b9c6/packages/fbjs/src/core/ExecutionEnvironment.js#L12\n */\nexport var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// This file was heavily inspired by Reach UI and their work on their auto-id\n// package\n// https://github.com/reach/reach-ui/blob/86a046f54d53b6420e392b3fa56dd991d9d4e458/packages/auto-id/src/index.ts\n//\n// The problem that this solves is an id mismatch when auto-generating\n// ids on both the server and the client. When using server-side rendering,\n// there can be the chance of a mismatch between what the server renders and\n// what the client renders when the id value is auto-generated.\n//\n// To get around this, we set the initial value of the `id` to `null` and then\n// conditionally use `useLayoutEffect` on the client and `useEffect` on the\n// server. On the client, `useLayoutEffect` will patch up the id to the correct\n// value. On the server, `useEffect` will not run.\n//\n// This ensures that we won't encounter a mismatch in ids between server and\n// client, at the cost of runtime patching of the id value in\n// `useLayoutEffect`\nimport { useEffect, useLayoutEffect, useState } from 'react';\nimport setupGetInstanceId from '../tools/setupGetInstanceId';\nimport { canUseDOM } from './environment';\nvar getId = setupGetInstanceId();\nvar useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nvar serverHandoffCompleted = false;\n/**\n * Generate a unique ID with an optional prefix prepended to it\n * @param {string} [prefix]\n * @returns {string}\n */\n\nexport function useId() {\n  var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'id';\n\n  var _useState = useState(function () {\n    if (serverHandoffCompleted) {\n      return \"\".concat(prefix, \"-\").concat(getId());\n    }\n\n    return null;\n  }),\n      _useState2 = _slicedToArray(_useState, 2),\n      id = _useState2[0],\n      setId = _useState2[1];\n\n  useIsomorphicLayoutEffect(function () {\n    if (id === null) {\n      setId(\"\".concat(prefix, \"-\").concat(getId()));\n    }\n  }, [getId]);\n  useEffect(function () {\n    if (serverHandoffCompleted === false) {\n      serverHandoffCompleted = true;\n    }\n  }, []);\n  return id;\n}\n/**\n * Generate a unique id if a given `id` is not provided\n * @param {string} id\n * @returns {string}\n */\n\nexport function useFallbackId(id) {\n  var fallback = useId();\n  return id !== null && id !== void 0 ? id : fallback;\n}","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Generic utility to initialize a method that will return a unique instance id\n * for a component.\n */\nexport default function setupGetInstanceId() {\n  var instanceId = 0;\n  return function getInstanceId() {\n    return ++instanceId;\n  };\n}","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { settings } from 'carbon-components';\nimport React from 'react';\nexport var PrefixContext = /*#__PURE__*/React.createContext(settings.prefix);\nexport function usePrefix() {\n  return React.useContext(PrefixContext);\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { warning } from '../internal/warning';\nvar didWarnAboutDeprecation = {};\nexport default function deprecate(propType, message) {\n  function checker(props, propName, componentName) {\n    if (props[propName] === undefined) {\n      return;\n    }\n\n    if (!didWarnAboutDeprecation[componentName] || !didWarnAboutDeprecation[componentName][propName]) {\n      didWarnAboutDeprecation[componentName] = _objectSpread(_objectSpread({}, didWarnAboutDeprecation[componentName]), {}, _defineProperty({}, propName, true));\n      process.env.NODE_ENV !== \"production\" ? warning(false, message || \"The prop `\".concat(propName, \"` has been deprecated for the \") + \"\".concat(componentName, \" component. It will be removed in the next major \") + \"release\") : void 0;\n    }\n\n    for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n      rest[_key - 3] = arguments[_key];\n    }\n\n    return propType.apply(void 0, [props, propName, componentName].concat(rest));\n  }\n\n  return checker;\n}","/*!\n  Copyright (c) 2018 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["stablePrefix","ddsSettings","prefix","settings","HorizontalRule","_ref","_classnames","type","size","contrast","weight","React","concat","className","classnames","_defineProperty","propTypes","PropTypes","TOCDesktop","activeId","menuItems","selectedId","handleOnClick","e","id","preventDefault","selector","masthead","target","ownerDocument","querySelector","smoothScroll","offsetHeight","elem","element","document","handleFocusOut","event","removeAttribute","setAttribute","focus","preventScroll","addEventListener","once","triggerFocus","map","item","index","isActive","key","classNames","_extends","onClick","href","title","_path","_excluded","TableOfContents20","ref","children","rest","_objectWithoutProperties","Icon","width","height","viewBox","xmlns","fill","d","TOCMobile","menuLabel","updateState","_useState","useState","_useState2","_slicedToArray","selectedOption","setSelectedOption","useEffect","handleChange","value","filter","menu","onBlur","onChange","renderOptions","options","label","labelObj","findIndex","x","unshift","option","defaultValue","disabled","hidden","TableOfContents","theme","stickyOffset","menuRule","headingContent","useMenuItems","setUseMenuItems","_useState3","_useState4","setSelectedId","_useState5","_useState6","selectedTitle","setSelectedTitle","length","_toConsumableArray","eles","querySelectorAll","forEach","getAttribute","push","_findMenuItems","handleRAF","window","requestAnimationFrame","setSelectedItem","removeEventListener","elems","getElemsInView","_filteredItems$","undefined","items","arr","getBoundingClientRect","y","position","documentElement","scrollTop","clientHeight","scrollHeight","props","_item$title","_item$id","trim","validateMenuItems","style","top","defaultProps","Accordion","_cx","_ref$align","align","customClassName","_ref$disabled","_ref$size","usePrefix","cx","child","FeatureFlags","TextDirectionContext","createContext","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","Text","_ref$as","as","BaseComponent","_ref$dir","dir","context","useContext","textProps","i","arguments","source","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectSpread","parentDirection","direction","getTextDirection","current","text","getTextFromChildren","override","Provider","defaultRenderToggle","AccordionItem","_ref$open","iconDescription","open","onHeadingClick","_ref$renderExpando","renderExpando","renderToggle","_ref$title","isOpen","setIsOpen","prevIsOpen","setPrevIsOpen","animation","setAnimation","useId","Toggle","onAnimationEnd","handleAnimationEnd","nextValue","onKeyDown","match","ChevronRight16","deprecate","composeEventHandlers","fns","_len","args","Array","_key","defaultPrevented","FeatureFlagContext","GlobalFeatureFlags","Button","_classNames","_ref$dangerDescriptio","dangerDescription","_ref$hasIconOnly","hasIconOnly","_ref$isExpressive","isExpressive","isSelected","_ref$kind","kind","onFocus","onMouseEnter","onMouseLeave","ButtonImageElement","renderIcon","small","_ref$tabIndex","tabIndex","_ref$tooltipAlignment","tooltipAlignment","_ref$tooltipPosition","tooltipPosition","_ref$type","allowTooltipVisibility","setAllowTooltipVisibility","isHovered","setIsHovered","isFocused","setIsFocused","tooltipRef","useRef","tooltipTimeout","closeTooltips","evt","_document","tooltipNode","node","name","add","currentTarget","classList","contains","handleMouseEnter","clearTimeout","handleEscKeyDown","matches","flag","assistiveText","enabled","commonProps","buttonImage","dangerButtonVariants","component","assistiveId","otherProps","includes","anchorProps","setTimeout","displayName","Error","role","Escape","which","keyCode","keysToMatch","eventOrCode","isArray","indexOf","canUseDOM","createElement","getId","instanceId","setupGetInstanceId","useIsomorphicLayoutEffect","useLayoutEffect","serverHandoffCompleted","setId","PrefixContext","didWarnAboutDeprecation","propType","message","propName","componentName","hasOwn","hasOwnProperty","classes","arg","argType","inner","toString","prototype","call","join","module","exports","default"],"sourceRoot":""}