"use strict";
(self["webpackChunk_datalayer_jupyter_security"] = self["webpackChunk_datalayer_jupyter_security"] || []).push([["vendors-node_modules_primer_react_lib-esm_TreeView_TreeView_js-node_modules_primer_react_lib--75b6cc"],{

/***/ "./node_modules/@primer/react/lib-esm/TreeView/TreeView.js":
/*!*****************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/TreeView/TreeView.js ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "TreeView": () => (/* binding */ TreeView)
/* harmony export */ });
/* harmony import */ var _primer_octicons_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @primer/octicons-react */ "webpack/sharing/consume/default/@primer/octicons-react/@primer/octicons-react?9a67");
/* harmony import */ var _primer_octicons_react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_primer_octicons_react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _react_aria_ssr__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @react-aria/ssr */ "./node_modules/@react-aria/ssr/dist/module.js");
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ "webpack/sharing/consume/default/styled-components/styled-components");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants.js */ "./node_modules/@primer/react/lib-esm/constants.js");
/* harmony import */ var _Dialog_ConfirmationDialog_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../Dialog/ConfirmationDialog.js */ "./node_modules/@primer/react/lib-esm/Dialog/ConfirmationDialog.js");
/* harmony import */ var _hooks_useControllableState_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../hooks/useControllableState.js */ "./node_modules/@primer/react/lib-esm/hooks/useControllableState.js");
/* harmony import */ var _hooks_useSafeTimeout_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../hooks/useSafeTimeout.js */ "./node_modules/@primer/react/lib-esm/hooks/useSafeTimeout.js");
/* harmony import */ var _Spinner_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../Spinner.js */ "./node_modules/@primer/react/lib-esm/Spinner.js");
/* harmony import */ var _sx_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../sx.js */ "./node_modules/@primer/react/lib-esm/sx.js");
/* harmony import */ var _Text_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../Text.js */ "./node_modules/@primer/react/lib-esm/Text.js");
/* harmony import */ var _utils_create_slots_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/create-slots.js */ "./node_modules/@primer/react/lib-esm/utils/create-slots.js");
/* harmony import */ var _VisuallyHidden_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_VisuallyHidden.js */ "./node_modules/@primer/react/lib-esm/_VisuallyHidden.js");
/* harmony import */ var _shared_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./shared.js */ "./node_modules/@primer/react/lib-esm/TreeView/shared.js");
/* harmony import */ var _useRovingTabIndex_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useRovingTabIndex.js */ "./node_modules/@primer/react/lib-esm/TreeView/useRovingTabIndex.js");
/* harmony import */ var _useTypeahead_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useTypeahead.js */ "./node_modules/@primer/react/lib-esm/TreeView/useTypeahead.js");


















// ----------------------------------------------------------------------------
// Context

const RootContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createContext({
  announceUpdate: () => {},
  expandedStateCache: {
    current: new Map()
  }
});
const ItemContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createContext({
  itemId: '',
  level: 1,
  isSubTreeEmpty: false,
  setIsSubTreeEmpty: () => {},
  isExpanded: false,
  setIsExpanded: () => {},
  leadingVisualId: '',
  trailingVisualId: ''
});

// ----------------------------------------------------------------------------
// TreeView

const UlBox = styled_components__WEBPACK_IMPORTED_MODULE_3___default().ul.withConfig({
  displayName: "TreeView__UlBox",
  componentId: "sc-4ex6b6-0"
})(["list-style:none;padding:0;margin:0;.PRIVATE_TreeView-item{outline:none;&:focus-visible > div{box-shadow:inset 0 0 0 2px ", ";@media (forced-colors:active){outline:2px solid HighlightText;outline-offset:-2;}}}.PRIVATE_TreeView-item-container{--level:1;--toggle-width:1rem;position:relative;display:grid;grid-template-columns:calc(calc(var(--level) - 1) * (var(--toggle-width) / 2)) var(--toggle-width) 1fr;grid-template-areas:'spacer toggle content';width:100%;min-height:2rem;font-size:", ";color:", ";border-radius:", ";cursor:pointer;&:hover{background-color:", ";@media (forced-colors:active){outline:2px solid transparent;outline-offset:-2px;}}@media (pointer:coarse){--toggle-width:1.5rem;min-height:2.75rem;}&:has(.PRIVATE_TreeView-item-skeleton):hover{background-color:transparent;cursor:default;@media (forced-colors:active){outline:none;}}}.PRIVATE_TreeView-item[aria-current='true'] > .PRIVATE_TreeView-item-container{background-color:", ";&::after{content:'';position:absolute;top:calc(50% - 0.75rem);left:-", ";width:0.25rem;height:1.5rem;background-color:", ";border-radius:", ";@media (forced-colors:active){background-color:HighlightText;}}}.PRIVATE_TreeView-item-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;height:100%;color:", ";}.PRIVATE_TreeView-item-toggle--hover:hover{background-color:", ";}.PRIVATE_TreeView-item-toggle--end{border-top-left-radius:", ";border-bottom-left-radius:", ";}.PRIVATE_TreeView-item-content{grid-area:content;display:flex;align-items:center;height:100%;padding:0 ", ";gap:", ";}.PRIVATE_TreeView-item-content-text{flex:1 1 auto;width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.PRIVATE_TreeView-item-visual{display:flex;color:", ";}.PRIVATE_TreeView-item-level-line{width:100%;height:100%;border-right:1px solid;border-color:", ";}@media (hover:hover){.PRIVATE_TreeView-item-level-line{border-color:transparent;}&:hover .PRIVATE_TreeView-item-level-line,&:focus-within .PRIVATE_TreeView-item-level-line{border-color:", ";}}.PRIVATE_TreeView-directory-icon{display:grid;color:", ";}.PRIVATE_VisuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}", ""], (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)(`colors.accent.fg`), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('fontSizes.1'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.fg.default'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('radii.2'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.actionListItem.default.hoverBg'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.actionListItem.default.selectedBg'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('space.2'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.accent.fg'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('radii.2'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.fg.muted'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.treeViewItem.chevron.hoverBg'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('radii.2'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('radii.2'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('space.2'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('space.2'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.fg.muted'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.border.subtle'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.border.subtle'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.treeViewItem.directory.fill'), _sx_js__WEBPACK_IMPORTED_MODULE_5__["default"]);
const Root = ({
  'aria-label': ariaLabel,
  'aria-labelledby': ariaLabelledby,
  children
}) => {
  const containerRef = react__WEBPACK_IMPORTED_MODULE_2___default().useRef(null);
  const [ariaLiveMessage, setAriaLiveMessage] = react__WEBPACK_IMPORTED_MODULE_2___default().useState('');
  const announceUpdate = react__WEBPACK_IMPORTED_MODULE_2___default().useCallback(message => {
    setAriaLiveMessage(message);
  }, []);
  (0,_useRovingTabIndex_js__WEBPACK_IMPORTED_MODULE_6__.useRovingTabIndex)({
    containerRef
  });
  (0,_useTypeahead_js__WEBPACK_IMPORTED_MODULE_7__.useTypeahead)({
    containerRef,
    onFocusChange: element => {
      if (element instanceof HTMLElement) {
        element.focus();
      }
    }
  });
  const expandedStateCache = react__WEBPACK_IMPORTED_MODULE_2___default().useRef(null);
  if (expandedStateCache.current === null) {
    expandedStateCache.current = new Map();
  }
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(RootContext.Provider, {
    value: {
      announceUpdate,
      expandedStateCache
    }
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_VisuallyHidden_js__WEBPACK_IMPORTED_MODULE_8__["default"], {
    role: "status",
    "aria-live": "polite",
    "aria-atomic": "true"
  }, ariaLiveMessage), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(UlBox, {
    ref: containerRef,
    role: "tree",
    "aria-label": ariaLabel,
    "aria-labelledby": ariaLabelledby
  }, children)));
};
Root.displayName = "Root";
Root.displayName = 'TreeView';

// ----------------------------------------------------------------------------
// TreeView.Item

const {
  Slots,
  Slot
} = (0,_utils_create_slots_js__WEBPACK_IMPORTED_MODULE_9__["default"])(['LeadingVisual', 'TrailingVisual']);
const Item = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(({
  id: itemId,
  current: isCurrentItem = false,
  defaultExpanded,
  expanded,
  onExpandedChange,
  onSelect,
  children
}, ref) => {
  const {
    expandedStateCache
  } = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(RootContext);
  const labelId = (0,_react_aria_ssr__WEBPACK_IMPORTED_MODULE_10__.useSSRSafeId)();
  const leadingVisualId = (0,_react_aria_ssr__WEBPACK_IMPORTED_MODULE_10__.useSSRSafeId)();
  const trailingVisualId = (0,_react_aria_ssr__WEBPACK_IMPORTED_MODULE_10__.useSSRSafeId)();
  const [isExpanded, setIsExpanded] = (0,_hooks_useControllableState_js__WEBPACK_IMPORTED_MODULE_11__.useControllableState)({
    name: itemId,
    // If the item was previously mounted, it's expanded state might be cached.
    // We check the cache first, and then fall back to the defaultExpanded prop.
    // If defaultExpanded is not provided, we default to false unless the item
    // is the current item, in which case we default to true.
    defaultValue: () => {
      var _ref, _expandedStateCache$c, _expandedStateCache$c2;
      return (_ref = (_expandedStateCache$c = (_expandedStateCache$c2 = expandedStateCache.current) === null || _expandedStateCache$c2 === void 0 ? void 0 : _expandedStateCache$c2.get(itemId)) !== null && _expandedStateCache$c !== void 0 ? _expandedStateCache$c : defaultExpanded) !== null && _ref !== void 0 ? _ref : isCurrentItem;
    },
    value: expanded,
    onChange: onExpandedChange
  });
  const {
    level
  } = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(ItemContext);
  const {
    hasSubTree,
    subTree,
    childrenWithoutSubTree
  } = useSubTree(children);
  const [isSubTreeEmpty, setIsSubTreeEmpty] = react__WEBPACK_IMPORTED_MODULE_2___default().useState(!hasSubTree);

  // Set the expanded state and cache it
  const setIsExpandedWithCache = react__WEBPACK_IMPORTED_MODULE_2___default().useCallback(newIsExpanded => {
    var _expandedStateCache$c3;
    setIsExpanded(newIsExpanded);
    (_expandedStateCache$c3 = expandedStateCache.current) === null || _expandedStateCache$c3 === void 0 ? void 0 : _expandedStateCache$c3.set(itemId, newIsExpanded);
  }, [itemId, setIsExpanded, expandedStateCache]);

  // Expand or collapse the subtree
  const toggle = react__WEBPACK_IMPORTED_MODULE_2___default().useCallback(event => {
    setIsExpandedWithCache(!isExpanded);
    event === null || event === void 0 ? void 0 : event.stopPropagation();
  }, [isExpanded, setIsExpandedWithCache]);
  const handleKeyDown = react__WEBPACK_IMPORTED_MODULE_2___default().useCallback(event => {
    switch (event.key) {
      case 'Enter':
        if (onSelect) {
          onSelect(event);
        } else {
          toggle(event);
        }
        break;
      case 'ArrowRight':
        event.preventDefault();
        event.stopPropagation();
        setIsExpandedWithCache(true);
        break;
      case 'ArrowLeft':
        event.preventDefault();
        event.stopPropagation();
        setIsExpandedWithCache(false);
        break;
    }
  }, [onSelect, setIsExpandedWithCache, toggle]);
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(ItemContext.Provider, {
    value: {
      itemId,
      level: level + 1,
      isSubTreeEmpty,
      setIsSubTreeEmpty,
      isExpanded,
      setIsExpanded: setIsExpandedWithCache,
      leadingVisualId,
      trailingVisualId
    }
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("li", {
    className: "PRIVATE_TreeView-item",
    ref: ref,
    tabIndex: 0,
    id: itemId,
    role: "treeitem",
    "aria-labelledby": labelId,
    "aria-describedby": `${leadingVisualId} ${trailingVisualId}`,
    "aria-level": level,
    "aria-expanded": isSubTreeEmpty ? undefined : isExpanded,
    "aria-current": isCurrentItem ? 'true' : undefined,
    onKeyDown: handleKeyDown,
    onFocus: event => {
      var _event$currentTarget$;
      // Scroll the first child into view when the item receives focus
      (_event$currentTarget$ = event.currentTarget.firstElementChild) === null || _event$currentTarget$ === void 0 ? void 0 : _event$currentTarget$.scrollIntoView({
        block: 'nearest',
        inline: 'nearest'
      });

      // Prevent focus event from bubbling up to parent items
      event.stopPropagation();
    }
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    className: "PRIVATE_TreeView-item-container",
    style: {
      // @ts-ignore CSS custom property
      '--level': level
    },
    onClick: event => {
      if (onSelect) {
        onSelect(event);
      } else {
        toggle(event);
      }
    }
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    style: {
      gridArea: 'spacer',
      display: 'flex'
    }
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(LevelIndicatorLines, {
    level: level
  })), hasSubTree ?
  /*#__PURE__*/
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
  react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('PRIVATE_TreeView-item-toggle', onSelect && 'PRIVATE_TreeView-item-toggle--hover', level === 1 && 'PRIVATE_TreeView-item-toggle--end'),
    onClick: event => {
      if (onSelect) {
        toggle(event);
      }
    }
  }, isExpanded ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_primer_octicons_react__WEBPACK_IMPORTED_MODULE_0__.ChevronDownIcon, {
    size: 12
  }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_primer_octicons_react__WEBPACK_IMPORTED_MODULE_0__.ChevronRightIcon, {
    size: 12
  })) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    id: labelId,
    className: "PRIVATE_TreeView-item-content"
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(Slots, null, slots => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, slots.LeadingVisual, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("span", {
    className: "PRIVATE_TreeView-item-content-text"
  }, childrenWithoutSubTree), slots.TrailingVisual)))), subTree));
});

/** Lines to indicate the depth of an item in a TreeView */
const LevelIndicatorLines = ({
  level
}) => {
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    style: {
      width: '100%',
      display: 'flex'
    }
  }, Array.from({
    length: level - 1
  }).map((_, index) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    key: index,
    className: "PRIVATE_TreeView-item-level-line"
  })));
};
LevelIndicatorLines.displayName = "LevelIndicatorLines";
Item.displayName = 'TreeView.Item';

// ----------------------------------------------------------------------------
// TreeView.SubTree

const SubTree = ({
  count,
  state,
  children
}) => {
  const {
    announceUpdate
  } = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(RootContext);
  const {
    itemId,
    isExpanded,
    isSubTreeEmpty,
    setIsSubTreeEmpty
  } = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(ItemContext);
  const [isLoadingItemVisible, setIsLoadingItemVisible] = react__WEBPACK_IMPORTED_MODULE_2___default().useState(false);
  const {
    safeSetTimeout
  } = (0,_hooks_useSafeTimeout_js__WEBPACK_IMPORTED_MODULE_12__["default"])();
  const loadingItemRef = react__WEBPACK_IMPORTED_MODULE_2___default().useRef(null);
  const ref = react__WEBPACK_IMPORTED_MODULE_2___default().useRef(null);
  react__WEBPACK_IMPORTED_MODULE_2___default().useEffect(() => {
    // If `state` is undefined, we're working in a synchronous context and need
    // to detect if the sub-tree has content. If `state === 'done` then we're
    // working in an asynchronous context and need to see if there is content
    // that has been loaded in.
    if (state === undefined || state === 'done') {
      if (!isSubTreeEmpty && !children) {
        setIsSubTreeEmpty(true);
      } else if (isSubTreeEmpty && children) {
        setIsSubTreeEmpty(false);
      }
    }
  }, [state, isSubTreeEmpty, setIsSubTreeEmpty, children]);

  // Announce when content has loaded
  react__WEBPACK_IMPORTED_MODULE_2___default().useEffect(() => {
    if (state === 'done') {
      const parentItem = document.getElementById(itemId);
      if (!parentItem) return;
      const {
        current: node
      } = ref;
      const parentName = (0,_shared_js__WEBPACK_IMPORTED_MODULE_13__.getAccessibleName)(parentItem);
      safeSetTimeout(() => {
        if (node && node.childElementCount > 0) {
          announceUpdate(`${parentName} content loaded`);
        } else {
          announceUpdate(`${parentName} is empty`);
        }
      });
    }
  }, [state, itemId, announceUpdate, safeSetTimeout]);

  // Manage loading indicator state
  react__WEBPACK_IMPORTED_MODULE_2___default().useEffect(() => {
    // If we're in the loading state, but not showing the loading indicator yet,
    // show the loading indicator
    if (state === 'loading' && !isLoadingItemVisible) {
      setIsLoadingItemVisible(true);
    }

    // If we're not in the loading state, but we're still showing a loading indicator,
    // hide the loading indicator and move focus if necessary
    if (state !== 'loading' && isLoadingItemVisible) {
      const isLoadingItemFocused = document.activeElement === loadingItemRef.current;
      setIsLoadingItemVisible(false);
      if (isLoadingItemFocused) {
        safeSetTimeout(() => {
          const parentElement = document.getElementById(itemId);
          if (!parentElement) return;
          const firstChild = (0,_useRovingTabIndex_js__WEBPACK_IMPORTED_MODULE_6__.getFirstChildElement)(parentElement);
          if (firstChild) {
            firstChild.focus();
          } else {
            parentElement.focus();
          }
        });
      }
    }
  }, [state, safeSetTimeout, isLoadingItemVisible, itemId]);
  if (!isExpanded) {
    return null;
  }
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("ul", {
    role: "group",
    style: {
      listStyle: 'none',
      padding: 0,
      margin: 0
    }
    // @ts-ignore Box doesn't have type support for `ref` used in combination with `as`
    ,
    ref: ref
  }, isLoadingItemVisible ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(LoadingItem, {
    ref: loadingItemRef,
    count: count
  }) : children);
};
SubTree.displayName = "SubTree";
SubTree.displayName = 'TreeView.SubTree';
const shimmer = (0,styled_components__WEBPACK_IMPORTED_MODULE_3__.keyframes)(["from{mask-position:200%;}to{mask-position:0%;}"]);
const SkeletonItem = styled_components__WEBPACK_IMPORTED_MODULE_3___default().span.attrs({
  className: 'PRIVATE_TreeView-item-skeleton'
}).withConfig({
  displayName: "TreeView__SkeletonItem",
  componentId: "sc-4ex6b6-1"
})(["display:flex;align-items:center;column-gap:0.5rem;height:2rem;@media (pointer:coarse){height:2.75rem;}@media (prefers-reduced-motion:no-preference){mask-image:linear-gradient(75deg,#000 30%,rgba(0,0,0,0.65) 80%);mask-size:200%;animation:", ";animation-duration:1s;animation-iteration-count:infinite;}&::before{content:'';display:block;width:1rem;height:1rem;background-color:", ";border-radius:3px;@media (forced-colors:active){outline:1px solid transparent;outline-offset:-1px;}}&::after{content:'';display:block;width:var(--tree-item-loading-width,67%);height:1rem;background-color:", ";border-radius:3px;@media (forced-colors:active){outline:1px solid transparent;outline-offset:-1px;}}&:nth-of-type(5n + 1){--tree-item-loading-width:67%;}&:nth-of-type(5n + 2){--tree-item-loading-width:47%;}&:nth-of-type(5n + 3){--tree-item-loading-width:73%;}&:nth-of-type(5n + 4){--tree-item-loading-width:64%;}&:nth-of-type(5n + 5){--tree-item-loading-width:50%;}"], shimmer, (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.neutral.subtle'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_4__.get)('colors.neutral.subtle'));
const LoadingItem = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(({
  count
}, ref) => {
  const itemId = (0,_react_aria_ssr__WEBPACK_IMPORTED_MODULE_10__.useSSRSafeId)();
  if (count) {
    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(Item, {
      id: itemId,
      ref: ref
    }, Array.from({
      length: count
    }).map((_, i) => {
      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(SkeletonItem, {
        "aria-hidden": true,
        key: i
      });
    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
      className: "PRIVATE_VisuallyHidden"
    }, "Loading ", count, " items"));
  }
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(Item, {
    id: itemId,
    ref: ref
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(LeadingVisual, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Spinner_js__WEBPACK_IMPORTED_MODULE_14__["default"], {
    size: "small"
  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Text_js__WEBPACK_IMPORTED_MODULE_15__["default"], {
    sx: {
      color: 'fg.muted'
    }
  }, "Loading..."));
});
function useSubTree(children) {
  return react__WEBPACK_IMPORTED_MODULE_2___default().useMemo(() => {
    const subTree = react__WEBPACK_IMPORTED_MODULE_2___default().Children.toArray(children).find(child => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().isValidElement(child) && child.type === SubTree);
    const childrenWithoutSubTree = react__WEBPACK_IMPORTED_MODULE_2___default().Children.toArray(children).filter(child => !( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().isValidElement(child) && child.type === SubTree));
    return {
      subTree,
      childrenWithoutSubTree,
      hasSubTree: Boolean(subTree)
    };
  }, [children]);
}

// ----------------------------------------------------------------------------
// TreeView.LeadingVisual and TreeView.TrailingVisual

const LeadingVisual = props => {
  const {
    isExpanded,
    leadingVisualId
  } = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(ItemContext);
  const children = typeof props.children === 'function' ? props.children({
    isExpanded
  }) : props.children;
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(Slot, {
    name: "LeadingVisual"
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    className: "PRIVATE_VisuallyHidden",
    "aria-hidden": true,
    id: leadingVisualId
  }, props.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    className: "PRIVATE_TreeView-item-visual",
    "aria-hidden": true
  }, children));
};
LeadingVisual.displayName = "LeadingVisual";
LeadingVisual.displayName = 'TreeView.LeadingVisual';
const TrailingVisual = props => {
  const {
    isExpanded,
    trailingVisualId
  } = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(ItemContext);
  const children = typeof props.children === 'function' ? props.children({
    isExpanded
  }) : props.children;
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(Slot, {
    name: "TrailingVisual"
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    className: "PRIVATE_VisuallyHidden",
    "aria-hidden": true,
    id: trailingVisualId
  }, props.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    className: "PRIVATE_TreeView-item-visual",
    "aria-hidden": true
  }, children));
};
TrailingVisual.displayName = "TrailingVisual";
TrailingVisual.displayName = 'TreeView.TrailingVisual';

// ----------------------------------------------------------------------------
// TreeView.DirectoryIcon

const DirectoryIcon = () => {
  const {
    isExpanded
  } = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(ItemContext);
  const Icon = isExpanded ? _primer_octicons_react__WEBPACK_IMPORTED_MODULE_0__.FileDirectoryOpenFillIcon : _primer_octicons_react__WEBPACK_IMPORTED_MODULE_0__.FileDirectoryFillIcon;
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
    className: "PRIVATE_TreeView-directory-icon"
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(Icon, null));
};
DirectoryIcon.displayName = "DirectoryIcon";
const ErrorDialog = ({
  title = 'Error',
  children,
  onRetry,
  onDismiss
}) => {
  const {
    itemId,
    setIsExpanded
  } = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(ItemContext);
  return (
    /*#__PURE__*/
    // eslint-disable-next-line jsx-a11y/no-static-element-interactions
    react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
      onKeyDown: event => {
        if (['Backspace', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Enter'].includes(event.key)) {
          // Prevent keyboard events from bubbling up to the TreeView
          // and interfering with keyboard navigation
          event.stopPropagation();
        }
      }
    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Dialog_ConfirmationDialog_js__WEBPACK_IMPORTED_MODULE_16__.ConfirmationDialog, {
      title: title,
      onClose: gesture => {
        // Focus parent item after the dialog is closed
        setTimeout(() => {
          const parentElement = document.getElementById(itemId);
          parentElement === null || parentElement === void 0 ? void 0 : parentElement.focus();
        });
        if (gesture === 'confirm') {
          onRetry === null || onRetry === void 0 ? void 0 : onRetry();
        } else {
          setIsExpanded(false);
          onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
        }
      },
      confirmButtonContent: "Retry",
      cancelButtonContent: "Dismiss"
    }, children))
  );
};
ErrorDialog.displayName = "ErrorDialog";
ErrorDialog.displayName = 'TreeView.ErrorDialog';

// ----------------------------------------------------------------------------
// Export

const TreeView = Object.assign(Root, {
  Item,
  SubTree,
  LeadingVisual,
  TrailingVisual,
  DirectoryIcon,
  ErrorDialog
});




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/TreeView/shared.js":
/*!***************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/TreeView/shared.js ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "getAccessibleName": () => (/* binding */ getAccessibleName)
/* harmony export */ });
/**
 * Returns the accessible name of an element
 */
function getAccessibleName(element) {
  var _document$getElementB, _document$getElementB2, _element$textContent;
  const label = element.getAttribute('aria-label');
  const labelledby = element.getAttribute('aria-labelledby');
  if (label) return label;
  if (labelledby) return (_document$getElementB = (_document$getElementB2 = document.getElementById(labelledby)) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.textContent) !== null && _document$getElementB !== void 0 ? _document$getElementB : '';
  return (_element$textContent = element.textContent) !== null && _element$textContent !== void 0 ? _element$textContent : '';
}




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/TreeView/useRovingTabIndex.js":
/*!**************************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/TreeView/useRovingTabIndex.js ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "getElementState": () => (/* binding */ getElementState),
/* harmony export */   "getFirstChildElement": () => (/* binding */ getFirstChildElement),
/* harmony export */   "getFirstElement": () => (/* binding */ getFirstElement),
/* harmony export */   "getLastElement": () => (/* binding */ getLastElement),
/* harmony export */   "getNextFocusableElement": () => (/* binding */ getNextFocusableElement),
/* harmony export */   "getParentElement": () => (/* binding */ getParentElement),
/* harmony export */   "getVisibleElement": () => (/* binding */ getVisibleElement),
/* harmony export */   "useRovingTabIndex": () => (/* binding */ useRovingTabIndex)
/* harmony export */ });
/* harmony import */ var _hooks_useFocusZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks/useFocusZone.js */ "./node_modules/@primer/react/lib-esm/hooks/useFocusZone.js");
/* harmony import */ var _utils_scroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/scroll.js */ "./node_modules/@primer/react/lib-esm/utils/scroll.js");
/* harmony import */ var _primer_behaviors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @primer/behaviors */ "./node_modules/@primer/behaviors/dist/esm/focus-zone.js");




function useRovingTabIndex({
  containerRef
}) {
  // TODO: Initialize focus to the aria-current item if it exists
  (0,_hooks_useFocusZone_js__WEBPACK_IMPORTED_MODULE_0__.useFocusZone)({
    containerRef,
    bindKeys: _primer_behaviors__WEBPACK_IMPORTED_MODULE_1__.FocusKeys.ArrowVertical | _primer_behaviors__WEBPACK_IMPORTED_MODULE_1__.FocusKeys.ArrowHorizontal | _primer_behaviors__WEBPACK_IMPORTED_MODULE_1__.FocusKeys.HomeAndEnd | _primer_behaviors__WEBPACK_IMPORTED_MODULE_1__.FocusKeys.Backspace | _primer_behaviors__WEBPACK_IMPORTED_MODULE_1__.FocusKeys.PageUpDown,
    preventScroll: true,
    getNextFocusable: (direction, from, event) => {
      var _getNextFocusableElem;
      if (!(from instanceof HTMLElement)) return;
      return (_getNextFocusableElem = getNextFocusableElement(from, event)) !== null && _getNextFocusableElem !== void 0 ? _getNextFocusableElem : from;
    }
  });
}

// DOM utilities used for focus management

function getNextFocusableElement(activeElement, event) {
  const elementState = getElementState(activeElement);

  // Reference: https://www.w3.org/WAI/ARIA/apg/patterns/treeview/#keyboard-interaction-24
  switch (`${elementState} ${event.key}`) {
    case 'open ArrowRight':
      // Focus first child node
      return getFirstChildElement(activeElement);
    case 'open ArrowLeft':
      // Close node; don't change focus
      return;
    case 'closed ArrowRight':
      // Open node; don't change focus
      return;
    case 'closed ArrowLeft':
      // Focus parent element
      return getParentElement(activeElement);
    case 'end ArrowRight':
      // Do nothing
      return;
    case 'end ArrowLeft':
      // Focus parent element
      return getParentElement(activeElement);
  }

  // ArrowUp, ArrowDown, Home, and End behavior are the same regarless of element state
  switch (event.key) {
    case 'ArrowUp':
      // Focus previous visible element
      return getVisibleElement(activeElement, 'previous');
    case 'ArrowDown':
      // Focus next visible element
      return getVisibleElement(activeElement, 'next');
    case 'Backspace':
      return getParentElement(activeElement);
    case 'Home':
      // Focus first visible element
      return getFirstElement(activeElement);
    case 'End':
      // Focus last visible element
      return getLastElement(activeElement);
    case 'PageUp':
      return getPreviousPageElement(activeElement);
    case 'PageDown':
      return getNextPageElement(activeElement);
  }
}
function getElementState(element) {
  if (element.getAttribute('role') !== 'treeitem') {
    throw new Error('Element is not a treeitem');
  }
  switch (element.getAttribute('aria-expanded')) {
    case 'true':
      return 'open';
    case 'false':
      return 'closed';
    default:
      return 'end';
  }
}
function getVisibleElement(element, direction) {
  const root = element.closest('[role=tree]');
  if (!root) return;
  const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, node => {
    if (!(node instanceof HTMLElement)) return NodeFilter.FILTER_SKIP;
    return node.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
  });
  let current = walker.firstChild();
  while (current !== element) {
    current = walker.nextNode();
  }
  let next = direction === 'next' ? walker.nextNode() : walker.previousNode();

  // If next element is nested inside a collapsed subtree, continue iterating
  while (next instanceof HTMLElement && (_next$parentElement = next.parentElement) !== null && _next$parentElement !== void 0 && _next$parentElement.closest('[role=treeitem][aria-expanded=false]')) {
    var _next$parentElement;
    next = direction === 'next' ? walker.nextNode() : walker.previousNode();
  }
  return next instanceof HTMLElement ? next : undefined;
}
function getFirstChildElement(element) {
  const firstChild = element.querySelector('[role=treeitem]');
  return firstChild instanceof HTMLElement ? firstChild : undefined;
}
function getParentElement(element) {
  const group = element.closest('[role=group]');
  const parent = group === null || group === void 0 ? void 0 : group.closest('[role=treeitem]');
  return parent instanceof HTMLElement ? parent : undefined;
}
function getFirstElement(element) {
  const root = element.closest('[role=tree]');
  const first = root === null || root === void 0 ? void 0 : root.querySelector('[role=treeitem]');
  return first instanceof HTMLElement ? first : undefined;
}
function getLastElement(element) {
  const root = element.closest('[role=tree]');
  const items = Array.from((root === null || root === void 0 ? void 0 : root.querySelectorAll('[role=treeitem]')) || []);

  // If there are no items, return undefined
  if (items.length === 0) return;
  let index = items.length - 1;
  let last = items[index];

  // If last element is nested inside a collapsed subtree, continue iterating
  while (index > 0 && last instanceof HTMLElement && (_last$parentElement = last.parentElement) !== null && _last$parentElement !== void 0 && _last$parentElement.closest('[role=treeitem][aria-expanded=false]')) {
    var _last$parentElement;
    index -= 1;
    last = items[index];
  }
  return last instanceof HTMLElement ? last : undefined;
}
const defaultSize = {
  height: 32
};

/**
 * Determine the page size for the given tree based on an item in the tree. We
 * estimate this size by trying to see how many items will fit in the given
 * tree. If the tree is within a scroll container, we will use the height of
 * that container. Otherwise, we'll use the current window height
 */
function getPageSize(root, item) {
  var _item$getBoundingClie, _scrollContainer$clie;
  const scrollContainer = (0,_utils_scroll_js__WEBPACK_IMPORTED_MODULE_2__.getScrollContainer)(root);
  const {
    height: itemHeight
  } = (_item$getBoundingClie = item === null || item === void 0 ? void 0 : item.getBoundingClientRect()) !== null && _item$getBoundingClie !== void 0 ? _item$getBoundingClie : defaultSize;
  const availableHeight = (_scrollContainer$clie = scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.clientHeight) !== null && _scrollContainer$clie !== void 0 ? _scrollContainer$clie : window.innerHeight;
  return Math.floor(availableHeight / itemHeight);
}
function getNextPageElement(element) {
  const root = element.closest('[role="tree"]');
  if (!root) {
    return;
  }
  const items = Array.from(root.querySelectorAll('[role="treeitem"]'));
  if (items.length === 0) {
    return;
  }
  const itemLabel = items[0].firstElementChild;
  const pageSize = getPageSize(root, itemLabel);
  const page = Math.floor(items.indexOf(element) / pageSize);
  const offset = items.indexOf(element) - pageSize * page;
  return items[Math.min(items.length - 1, (page + 1) * pageSize + offset)];
}
function getPreviousPageElement(element) {
  const root = element.closest('[role="tree"]');
  if (!root) {
    return;
  }
  const items = Array.from(root.querySelectorAll('[role="treeitem"]'));
  if (items.length === 0) {
    return;
  }
  const itemLabel = items[0].firstElementChild;
  const pageSize = getPageSize(root, itemLabel);
  const page = Math.floor(items.indexOf(element) / pageSize);
  const offset = items.indexOf(element) - pageSize * page;
  return items[Math.max(0, (page - 1) * pageSize + offset)];
}




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/TreeView/useTypeahead.js":
/*!*********************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/TreeView/useTypeahead.js ***!
  \*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "useTypeahead": () => (/* binding */ useTypeahead)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _hooks_useSafeTimeout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks/useSafeTimeout.js */ "./node_modules/@primer/react/lib-esm/hooks/useSafeTimeout.js");
/* harmony import */ var _shared_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared.js */ "./node_modules/@primer/react/lib-esm/TreeView/shared.js");




function useTypeahead({
  containerRef,
  onFocusChange
}) {
  const [searchValue, setSearchValue] = react__WEBPACK_IMPORTED_MODULE_0___default().useState('');
  const timeoutRef = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(0);
  const onFocusChangeRef = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(onFocusChange);
  const {
    safeSetTimeout,
    safeClearTimeout
  } = (0,_hooks_useSafeTimeout_js__WEBPACK_IMPORTED_MODULE_1__["default"])();

  // Update the ref when the callback changes
  react__WEBPACK_IMPORTED_MODULE_0___default().useEffect(() => {
    onFocusChangeRef.current = onFocusChange;
  }, [onFocusChange]);

  // Update the search value when the user types
  react__WEBPACK_IMPORTED_MODULE_0___default().useEffect(() => {
    if (!containerRef.current) return;
    const container = containerRef.current;
    function onKeyDown(event) {
      // Ignore key presses that don't produce a character value
      if (!event.key || event.key.length > 1) return;

      // Ignore key presses that occur with a modifier
      if (event.ctrlKey || event.altKey || event.metaKey) return;

      // Update the existing search value with the new key press
      setSearchValue(value => value + event.key);

      // Reset the timeout
      safeClearTimeout(timeoutRef.current);
      timeoutRef.current = safeSetTimeout(() => setSearchValue(''), 300);

      // Prevent default behavior
      event.preventDefault();
      event.stopPropagation();
    }
    container.addEventListener('keydown', onKeyDown);
    return () => container.removeEventListener('keydown', onKeyDown);
  }, [containerRef, safeClearTimeout, safeSetTimeout]);

  // Update focus when the search value changes
  react__WEBPACK_IMPORTED_MODULE_0___default().useEffect(() => {
    // Don't change focus if the search value is empty
    if (!searchValue) return;
    if (!containerRef.current) return;
    const container = containerRef.current;

    // Get focusable elements
    const elements = Array.from(container.querySelectorAll('[role="treeitem"]'))
    // Filter out collapsed items
    .filter(element => {
      var _element$parentElemen;
      return !((_element$parentElemen = element.parentElement) !== null && _element$parentElemen !== void 0 && _element$parentElemen.closest('[role=treeitem][aria-expanded=false]'));
    });

    // Get the index of active element
    const activeIndex = elements.findIndex(element => element === document.activeElement);

    // Wrap the array elements such that the active descendant is at the beginning
    let sortedElements = wrapArray(elements, activeIndex);

    // Remove the active descendant from the beginning of the array
    // when the user initiates a new search
    if (searchValue.length === 1) {
      sortedElements = sortedElements.slice(1);
    }

    // Find the first element that matches the search value
    const nextElement = sortedElements.find(element => {
      const name = (0,_shared_js__WEBPACK_IMPORTED_MODULE_2__.getAccessibleName)(element).toLowerCase();
      return name.startsWith(searchValue.toLowerCase());
    });

    // If a match is found, focus it
    if (nextElement) {
      onFocusChangeRef.current(nextElement);
    }
  }, [searchValue, containerRef]);
}

/**
 * Wraps an array around itself at a given start index
 *
 * @example
 * wrapArray(['a', 'b', 'c', 'd'], 2) // ['c', 'd', 'a', 'b']
 */
function wrapArray(array, startIndex) {
  return array.map((_, index) => array[(startIndex + index) % array.length]);
}




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/UnderlineNav2/LoadingCounter.js":
/*!****************************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/UnderlineNav2/LoadingCounter.js ***!
  \****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "LoadingCounter": () => (/* binding */ LoadingCounter)
/* harmony export */ });
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ "webpack/sharing/consume/default/styled-components/styled-components");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ "./node_modules/@primer/react/lib-esm/constants.js");



const loading = (0,styled_components__WEBPACK_IMPORTED_MODULE_0__.keyframes)(["from{opacity:1;}to{opacity:0.2;}"]);
const LoadingCounter = styled_components__WEBPACK_IMPORTED_MODULE_0___default().span.withConfig({
  displayName: "LoadingCounter",
  componentId: "sc-ouonic-0"
})(["animation:", " 1.2s ease-in-out infinite alternate;background-color:", ";border-color:", ";width:1.5rem;height:1rem;display:inline-block;border-radius:20px;"], loading, (0,_constants_js__WEBPACK_IMPORTED_MODULE_1__.get)('colors.neutral.muted'), (0,_constants_js__WEBPACK_IMPORTED_MODULE_1__.get)('colors.border.default'));




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNav.js":
/*!**************************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNav.js ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "UnderlineNav": () => (/* binding */ UnderlineNav)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _Box_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../Box.js */ "./node_modules/@primer/react/lib-esm/Box.js");
/* harmony import */ var _sx_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../sx.js */ "./node_modules/@primer/react/lib-esm/sx.js");
/* harmony import */ var _UnderlineNavContext_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./UnderlineNavContext.js */ "./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNavContext.js");
/* harmony import */ var _hooks_useResizeObserver_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hooks/useResizeObserver.js */ "./node_modules/@primer/react/lib-esm/hooks/useResizeObserver.js");
/* harmony import */ var _CounterLabel_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../CounterLabel.js */ "./node_modules/@primer/react/lib-esm/CounterLabel.js");
/* harmony import */ var _ThemeProvider_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../ThemeProvider.js */ "./node_modules/@primer/react/lib-esm/ThemeProvider.js");
/* harmony import */ var _VisuallyHidden_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../_VisuallyHidden.js */ "./node_modules/@primer/react/lib-esm/_VisuallyHidden.js");
/* harmony import */ var _styles_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styles.js */ "./node_modules/@primer/react/lib-esm/UnderlineNav2/styles.js");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ "webpack/sharing/consume/default/styled-components/styled-components");
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _LoadingCounter_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LoadingCounter.js */ "./node_modules/@primer/react/lib-esm/UnderlineNav2/LoadingCounter.js");
/* harmony import */ var _Button_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../Button/index.js */ "./node_modules/@primer/react/lib-esm/Button/index.js");
/* harmony import */ var _primer_octicons_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @primer/octicons-react */ "webpack/sharing/consume/default/@primer/octicons-react/@primer/octicons-react?9a67");
/* harmony import */ var _primer_octicons_react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_primer_octicons_react__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _hooks_useOnEscapePress_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../hooks/useOnEscapePress.js */ "./node_modules/@primer/react/lib-esm/hooks/useOnEscapePress.js");
/* harmony import */ var _hooks_useOnOutsideClick_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../hooks/useOnOutsideClick.js */ "./node_modules/@primer/react/lib-esm/hooks/useOnOutsideClick.js");
/* harmony import */ var _ActionList_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../ActionList/index.js */ "./node_modules/@primer/react/lib-esm/ActionList/index.js");
/* harmony import */ var _react_aria_ssr__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @react-aria/ssr */ "./node_modules/@react-aria/ssr/dist/module.js");
/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! deepmerge */ "./node_modules/deepmerge/dist/cjs.js");
/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_3__);



















function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
// When page is loaded, we don't have ref for the more button as it is not on the DOM yet.
// However, we need to calculate number of possible items when the more button present as well. So using the width of the more button as a constant.
const MORE_BTN_WIDTH = 86;

// Needed this because passing a ref using HTMLULListElement to `Box` causes a type error
const NavigationList = styled_components__WEBPACK_IMPORTED_MODULE_1___default().ul.withConfig({
  displayName: "UnderlineNav__NavigationList",
  componentId: "sc-3wwkh2-0"
})(["", ";"], _sx_js__WEBPACK_IMPORTED_MODULE_4__["default"]);
const MoreMenuListItem = styled_components__WEBPACK_IMPORTED_MODULE_1___default().li.withConfig({
  displayName: "UnderlineNav__MoreMenuListItem",
  componentId: "sc-3wwkh2-1"
})(["display:flex;"]);
const overflowEffect = (navWidth, moreMenuWidth, childArray, childWidthArray, noIconChildWidthArray, updateListAndMenu) => {
  let iconsVisible = true;
  if (childWidthArray.length === 0) {
    updateListAndMenu({
      items: childArray,
      actions: []
    }, iconsVisible);
  }
  const numberOfItemsPossible = calculatePossibleItems(childWidthArray, navWidth);
  const numberOfItemsWithoutIconPossible = calculatePossibleItems(noIconChildWidthArray, navWidth);
  // We need to take more menu width into account when calculating the number of items possible
  const numberOfItemsPossibleWithMoreMenu = calculatePossibleItems(noIconChildWidthArray, navWidth, moreMenuWidth || MORE_BTN_WIDTH);
  const items = [];
  const actions = [];

  // First, we check if we can fit all the items with their icons
  if (childArray.length <= numberOfItemsPossible) {
    items.push(...childArray);
  } else if (childArray.length <= numberOfItemsWithoutIconPossible) {
    // if we can't fit all the items with their icons, we check if we can fit all the items without their icons
    iconsVisible = false;
    items.push(...childArray);
  } else {
    // if we can't fit all the items without their icons, we keep the icons hidden and show the ones that doesn't fit into the list in the overflow menu
    iconsVisible = false;

    /* Below is an accessibiility requirement. Never show only one item in the overflow menu.
     * If there is only one item left to display in the overflow menu according to the calculation,
     * we need to pull another item from the list into the overflow menu.
     */
    const numberOfItemsInMenu = childArray.length - numberOfItemsPossibleWithMoreMenu;
    const numberOfListItems = numberOfItemsInMenu === 1 ? numberOfItemsPossibleWithMoreMenu - 1 : numberOfItemsPossibleWithMoreMenu;
    for (const [index, child] of childArray.entries()) {
      if (index < numberOfListItems) {
        items.push(child);
      } else {
        const ariaCurrent = child.props['aria-current'];
        const isCurrent = Boolean(ariaCurrent) && ariaCurrent !== 'false';
        // We need to make sure to keep the selected item always visible.
        if (isCurrent) {
          // If selected item couldn't make in to the list, we swap it with the last item in the list.
          const indexToReplaceAt = numberOfListItems - 1; // because we are replacing the last item in the list
          // splice method modifies the array by removing 1 item here at the given index and replace it with the "child" element then returns the removed item.
          const propsectiveAction = items.splice(indexToReplaceAt, 1, child)[0];
          actions.push(propsectiveAction);
        } else {
          actions.push(child);
        }
      }
    }
  }
  updateListAndMenu({
    items,
    actions
  }, iconsVisible);
};
const getValidChildren = children => {
  return react__WEBPACK_IMPORTED_MODULE_0___default().Children.toArray(children).filter(child => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().isValidElement(child));
};
const calculatePossibleItems = (childWidthArray, navWidth, moreMenuWidth = 0) => {
  const widthToFit = navWidth - moreMenuWidth;
  let breakpoint = childWidthArray.length - 1;
  let sumsOfChildWidth = 0;
  for (const [index, childWidth] of childWidthArray.entries()) {
    if (sumsOfChildWidth > widthToFit) {
      breakpoint = index - 1;
      break;
    } else {
      // The the gap between items into account when calculating the number of items possible
      sumsOfChildWidth = sumsOfChildWidth + childWidth.width + _styles_js__WEBPACK_IMPORTED_MODULE_5__.GAP;
    }
  }
  return breakpoint;
};
const UnderlineNav = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(({
  as = 'nav',
  align,
  'aria-label': ariaLabel,
  sx: sxProp = {},
  afterSelect,
  variant = 'default',
  loadingCounters = false,
  children
}, forwardedRef) => {
  const backupRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
  const navRef = forwardedRef !== null && forwardedRef !== void 0 ? forwardedRef : backupRef;
  const listRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
  const moreMenuRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
  const moreMenuBtnRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
  const containerRef = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(null);
  const disclosureWidgetId = (0,_react_aria_ssr__WEBPACK_IMPORTED_MODULE_6__.useSSRSafeId)();
  const {
    theme
  } = (0,_ThemeProvider_js__WEBPACK_IMPORTED_MODULE_7__.useTheme)();
  function getItemsWidth(itemText) {
    var _noIconChildWidthArra;
    return ((_noIconChildWidthArra = noIconChildWidthArray.find(item => item.text === itemText)) === null || _noIconChildWidthArra === void 0 ? void 0 : _noIconChildWidthArra.width) || 0;
  }
  const swapMenuItemWithListItem = (prospectiveListItem, indexOfProspectiveListItem, event, callback) => {
    var _listRef$current;
    // get the selected menu item's width
    const widthToFitIntoList = getItemsWidth(prospectiveListItem.props.children);
    // Check if there is any empty space on the right side of the list
    const availableSpace = navRef.current.getBoundingClientRect().width - (((_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.getBoundingClientRect().width) || 0);

    // Calculate how many items need to be pulled in to the menu to make room for the selected menu item
    // I.e. if we need to pull 2 items in (index 0 and index 1), breakpoint (index) will return 1.
    const index = getBreakpointForItemSwapping(widthToFitIntoList, availableSpace);
    const indexToSliceAt = responsiveProps.items.length - 1 - index;
    // Form the new list of items
    const itemsLeftInList = [...responsiveProps.items].slice(0, indexToSliceAt);
    const updatedItemList = [...itemsLeftInList, prospectiveListItem];
    // Form the new menu items
    const itemsToAddToMenu = [...responsiveProps.items].slice(indexToSliceAt);
    const updatedMenuItems = [...actions];
    // Add itemsToAddToMenu array's items to the menu at the index of the prospectiveListItem and remove 1 count of items (prospectiveListItem)
    updatedMenuItems.splice(indexOfProspectiveListItem, 1, ...itemsToAddToMenu);
    setSelectedLinkText(prospectiveListItem.props.children);
    callback({
      items: updatedItemList,
      actions: updatedMenuItems
    }, false);
  };
  // How many items do we need to pull in to the menu to make room for the selected menu item.
  function getBreakpointForItemSwapping(widthToFitIntoList, availableSpace) {
    let widthToSwap = 0;
    let breakpoint = 0;
    for (const [index, item] of [...responsiveProps.items].reverse().entries()) {
      widthToSwap += getItemsWidth(item.props.children);
      if (widthToFitIntoList < widthToSwap + availableSpace) {
        breakpoint = index;
        break;
      }
    }
    return breakpoint;
  }
  const [selectedLink, setSelectedLink] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(undefined);

  // selectedLinkText is needed to be able set the selected menu item as selectedLink.
  // This is needed because setSelectedLink only accepts ref but at the time of setting selected menu item as selectedLink, its ref as a list item is not available
  const [selectedLinkText, setSelectedLinkText] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('');
  // Capture the mouse/keyboard event when a menu item is selected so that we can use it to fire the onSelect callback after the menu item is swapped with the list item
  const [selectEvent, setSelectEvent] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
  const [iconsVisible, setIconsVisible] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);
  const afterSelectHandler = event => {
    if (!event.defaultPrevented) {
      if (typeof afterSelect === 'function') afterSelect(event);
      closeOverlay();
    }
  };
  const [responsiveProps, setResponsiveProps] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({
    items: getValidChildren(children),
    actions: []
  });

  /*
   * This is needed to make sure responsiveProps.items and ResponsiveProps.actions are updated when children are changed
   * Particually when an item is selected. It adds 'aria-current="page"' attribute to the child and we need to make sure
   * responsiveProps.items and ResponsiveProps.actions are updated with that attribute
   */
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
    const childArray = getValidChildren(children);
    const updatedItems = responsiveProps.items.map(item => {
      return childArray.find(child => child.key === item.key) || item;
    });
    const updatedActions = responsiveProps.actions.map(action => {
      return childArray.find(child => child.key === action.key) || action;
    });
    setResponsiveProps({
      items: updatedItems,
      actions: updatedActions
    });
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [children]);
  const updateListAndMenu = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((props, displayIcons) => {
    setResponsiveProps(props);
    setIconsVisible(displayIcons);
  }, []);
  const actions = responsiveProps.actions;
  const [childWidthArray, setChildWidthArray] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);
  const setChildrenWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(size => {
    setChildWidthArray(arr => {
      const newArr = [...arr, size];
      return newArr;
    });
  }, []);
  const [noIconChildWidthArray, setNoIconChildWidthArray] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);
  const setNoIconChildrenWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(size => {
    setNoIconChildWidthArray(arr => {
      const newArr = [...arr, size];
      return newArr;
    });
  }, []);
  (0,_hooks_useResizeObserver_js__WEBPACK_IMPORTED_MODULE_8__.useResizeObserver)(resizeObserverEntries => {
    var _moreMenuRef$current$, _moreMenuRef$current;
    const childArray = getValidChildren(children);
    const navWidth = resizeObserverEntries[0].contentRect.width;
    const moreMenuWidth = (_moreMenuRef$current$ = (_moreMenuRef$current = moreMenuRef.current) === null || _moreMenuRef$current === void 0 ? void 0 : _moreMenuRef$current.getBoundingClientRect().width) !== null && _moreMenuRef$current$ !== void 0 ? _moreMenuRef$current$ : 0;
    navWidth !== 0 && overflowEffect(navWidth, moreMenuWidth, childArray, childWidthArray, noIconChildWidthArray, updateListAndMenu);
  }, navRef);
  if (!ariaLabel) {
    // eslint-disable-next-line no-console
    console.warn('Use the `aria-label` prop to provide an accessible label for assistive technology');
  }
  const [isWidgetOpen, setIsWidgetOpen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
  const closeOverlay = react__WEBPACK_IMPORTED_MODULE_0___default().useCallback(() => {
    setIsWidgetOpen(false);
  }, [setIsWidgetOpen]);
  const focusOnMoreMenuBtn = react__WEBPACK_IMPORTED_MODULE_0___default().useCallback(() => {
    var _moreMenuBtnRef$curre;
    (_moreMenuBtnRef$curre = moreMenuBtnRef.current) === null || _moreMenuBtnRef$curre === void 0 ? void 0 : _moreMenuBtnRef$curre.focus();
  }, []);
  (0,_hooks_useOnEscapePress_js__WEBPACK_IMPORTED_MODULE_9__.useOnEscapePress)(event => {
    if (isWidgetOpen) {
      event.preventDefault();
      closeOverlay();
      focusOnMoreMenuBtn();
    }
  }, [isWidgetOpen]);
  (0,_hooks_useOnOutsideClick_js__WEBPACK_IMPORTED_MODULE_10__.useOnOutsideClick)({
    onClickOutside: closeOverlay,
    containerRef,
    ignoreClickRefs: [moreMenuBtnRef]
  });
  const onAnchorClick = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(event => {
    if (event.defaultPrevented || event.button !== 0) {
      return;
    }
    setIsWidgetOpen(isWidgetOpen => !isWidgetOpen);
  }, []);
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_UnderlineNavContext_js__WEBPACK_IMPORTED_MODULE_11__.UnderlineNavContext.Provider, {
    value: {
      theme,
      setChildrenWidth,
      setNoIconChildrenWidth,
      selectedLink,
      setSelectedLink,
      selectedLinkText,
      setSelectedLinkText,
      selectEvent,
      afterSelect: afterSelectHandler,
      variant,
      loadingCounters,
      iconsVisible
    }
  }, ariaLabel && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_VisuallyHidden_js__WEBPACK_IMPORTED_MODULE_12__["default"], {
    as: "h2"
  }, `${ariaLabel} navigation`), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_13__["default"], {
    as: as,
    sx: deepmerge__WEBPACK_IMPORTED_MODULE_3___default()((0,_styles_js__WEBPACK_IMPORTED_MODULE_5__.getNavStyles)(theme, {
      align
    }), sxProp),
    "aria-label": ariaLabel,
    ref: navRef
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NavigationList, {
    sx: _styles_js__WEBPACK_IMPORTED_MODULE_5__.ulStyles,
    ref: listRef,
    role: "list"
  }, responsiveProps.items, actions.length > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(MoreMenuListItem, {
    ref: moreMenuRef
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_13__["default"], {
    sx: (0,_styles_js__WEBPACK_IMPORTED_MODULE_5__.getDividerStyle)(theme)
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Button_index_js__WEBPACK_IMPORTED_MODULE_14__.Button, {
    ref: moreMenuBtnRef,
    sx: _styles_js__WEBPACK_IMPORTED_MODULE_5__.moreBtnStyles,
    "aria-controls": disclosureWidgetId,
    "aria-expanded": isWidgetOpen,
    onClick: onAnchorClick,
    trailingIcon: _primer_octicons_react__WEBPACK_IMPORTED_MODULE_2__.TriangleDownIcon
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_13__["default"], {
    as: "span"
  }, "More", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_VisuallyHidden_js__WEBPACK_IMPORTED_MODULE_12__["default"], {
    as: "span"
  }, "\xA0", `${ariaLabel} items`))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ActionList_index_js__WEBPACK_IMPORTED_MODULE_15__.ActionList, {
    selectionVariant: "single",
    ref: containerRef,
    id: disclosureWidgetId,
    sx: _styles_js__WEBPACK_IMPORTED_MODULE_5__.menuStyles,
    style: {
      display: isWidgetOpen ? 'block' : 'none'
    }
  }, actions.map((action, index) => {
    const {
      children: actionElementChildren,
      ...actionElementProps
    } = action.props;
    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_13__["default"], {
      key: actionElementChildren,
      as: "li"
    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ActionList_index_js__WEBPACK_IMPORTED_MODULE_15__.ActionList.Item, _extends({}, actionElementProps, {
      as: action.props.as || 'a',
      sx: _styles_js__WEBPACK_IMPORTED_MODULE_5__.menuItemStyles,
      onSelect: event => {
        swapMenuItemWithListItem(action, index, event, updateListAndMenu);
        setSelectEvent(event);
        closeOverlay();
        focusOnMoreMenuBtn();
      }
    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_13__["default"], {
      as: "span",
      sx: {
        display: 'flex',
        alignItems: 'center',
        justifyContent: 'space-between'
      }
    }, actionElementChildren, loadingCounters ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_LoadingCounter_js__WEBPACK_IMPORTED_MODULE_16__.LoadingCounter, null) : actionElementProps.counter !== undefined && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_13__["default"], {
      as: "span",
      "data-component": "counter"
    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_CounterLabel_js__WEBPACK_IMPORTED_MODULE_17__["default"], null, actionElementProps.counter)))));
  }))))));
});
UnderlineNav.displayName = 'UnderlineNav';




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNavContext.js":
/*!*********************************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNavContext.js ***!
  \*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "UnderlineNavContext": () => (/* binding */ UnderlineNavContext)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);


const UnderlineNavContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({
  theme: {},
  setChildrenWidth: () => null,
  setNoIconChildrenWidth: () => null,
  selectedLink: undefined,
  setSelectedLink: () => null,
  selectedLinkText: '',
  setSelectedLinkText: () => null,
  selectEvent: null,
  variant: 'default',
  loadingCounters: false,
  iconsVisible: true
});




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNavItem.js":
/*!******************************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNavItem.js ***!
  \******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "UnderlineNavItem": () => (/* binding */ UnderlineNavItem)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _Box_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Box.js */ "./node_modules/@primer/react/lib-esm/Box.js");
/* harmony import */ var _UnderlineNavContext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UnderlineNavContext.js */ "./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNavContext.js");
/* harmony import */ var _CounterLabel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../CounterLabel.js */ "./node_modules/@primer/react/lib-esm/CounterLabel.js");
/* harmony import */ var _styles_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styles.js */ "./node_modules/@primer/react/lib-esm/UnderlineNav2/styles.js");
/* harmony import */ var _LoadingCounter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./LoadingCounter.js */ "./node_modules/@primer/react/lib-esm/UnderlineNav2/LoadingCounter.js");
/* harmony import */ var _utils_useIsomorphicLayoutEffect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect.js */ "./node_modules/@primer/react/lib-esm/utils/useIsomorphicLayoutEffect.js");
/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! deepmerge */ "./node_modules/deepmerge/dist/cjs.js");
/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_1__);










function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

// adopted from React.AnchorHTMLAttributes

const UnderlineNavItem = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(({
  sx: sxProp = {},
  as: Component = 'a',
  href = '#',
  children,
  counter,
  onSelect,
  'aria-current': ariaCurrent,
  icon: Icon,
  ...props
}, forwardedRef) => {
  const backupRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
  const ref = forwardedRef !== null && forwardedRef !== void 0 ? forwardedRef : backupRef;
  const {
    theme,
    setChildrenWidth,
    setNoIconChildrenWidth,
    selectedLink,
    setSelectedLink,
    selectedLinkText,
    setSelectedLinkText,
    selectEvent,
    afterSelect,
    variant,
    loadingCounters,
    iconsVisible
  } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_UnderlineNavContext_js__WEBPACK_IMPORTED_MODULE_2__.UnderlineNavContext);
  (0,_utils_useIsomorphicLayoutEffect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(() => {
    if (ref.current) {
      const domRect = ref.current.getBoundingClientRect();
      const icon = Array.from(ref.current.children[0].children).find(child => child.getAttribute('data-component') === 'icon');
      const content = Array.from(ref.current.children[0].children).find(child => child.getAttribute('data-component') === 'text');
      const text = content.textContent;
      const iconWidthWithMargin = icon ? icon.getBoundingClientRect().width + Number(getComputedStyle(icon).marginRight.slice(0, -2)) + Number(getComputedStyle(icon).marginLeft.slice(0, -2)) : 0;
      setChildrenWidth({
        text,
        width: domRect.width
      });
      setNoIconChildrenWidth({
        text,
        width: domRect.width - iconWidthWithMargin
      });
      if (selectedLink === undefined && Boolean(ariaCurrent) && ariaCurrent !== 'false') {
        setSelectedLink(ref);
      }

      // Only runs when a menu item is selected (swapping the menu item with the list item to keep it visible)
      if (selectedLinkText === text) {
        setSelectedLink(ref);
        if (typeof onSelect === 'function' && selectEvent !== null) onSelect(selectEvent);
        setSelectedLinkText('');
      }
    }
  }, [ref, ariaCurrent, selectedLink, selectedLinkText, setSelectedLinkText, setSelectedLink, setChildrenWidth, setNoIconChildrenWidth, onSelect, selectEvent]);
  const keyPressHandler = react__WEBPACK_IMPORTED_MODULE_0___default().useCallback(event => {
    if (event.key === ' ' || event.key === 'Enter') {
      if (!event.defaultPrevented && typeof onSelect === 'function') onSelect(event);
      if (!event.defaultPrevented && typeof afterSelect === 'function') afterSelect(event);
      setSelectedLink(ref);
    }
  }, [onSelect, afterSelect, ref, setSelectedLink]);
  const clickHandler = react__WEBPACK_IMPORTED_MODULE_0___default().useCallback(event => {
    if (!event.defaultPrevented) {
      if (typeof onSelect === 'function') onSelect(event);
      if (typeof afterSelect === 'function') afterSelect(event);
    }
    setSelectedLink(ref);
  }, [onSelect, afterSelect, ref, setSelectedLink]);
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_4__["default"], {
    as: "li",
    sx: {
      display: 'flex',
      flexDirection: 'column',
      alignItems: 'center'
    }
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_4__["default"], _extends({
    as: Component,
    href: href,
    onKeyPress: keyPressHandler,
    onClick: clickHandler,
    "aria-current": ariaCurrent,
    sx: deepmerge__WEBPACK_IMPORTED_MODULE_1___default()((0,_styles_js__WEBPACK_IMPORTED_MODULE_5__.getLinkStyles)(theme, {
      variant
    }, selectedLink, ref), sxProp)
  }, props, {
    ref: ref
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_4__["default"], {
    as: "div",
    "data-component": "wrapper",
    sx: _styles_js__WEBPACK_IMPORTED_MODULE_5__.wrapperStyles
  }, iconsVisible && Icon && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_4__["default"], {
    as: "span",
    "data-component": "icon",
    sx: _styles_js__WEBPACK_IMPORTED_MODULE_5__.iconWrapStyles
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Icon, null)), children && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_4__["default"], {
    as: "span",
    "data-component": "text",
    "data-content": children,
    sx: selectedLink === ref ? {
      fontWeight: 600
    } : {}
  }, children), loadingCounters ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_4__["default"], {
    as: "span",
    "data-component": "counter",
    sx: _styles_js__WEBPACK_IMPORTED_MODULE_5__.counterStyles
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_LoadingCounter_js__WEBPACK_IMPORTED_MODULE_6__.LoadingCounter, null)) : counter !== undefined && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Box_js__WEBPACK_IMPORTED_MODULE_4__["default"], {
    as: "span",
    "data-component": "counter",
    sx: _styles_js__WEBPACK_IMPORTED_MODULE_5__.counterStyles
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_CounterLabel_js__WEBPACK_IMPORTED_MODULE_7__["default"], null, counter)))));
});
UnderlineNavItem.displayName = 'UnderlineNavItem';




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/UnderlineNav2/index.js":
/*!*******************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/UnderlineNav2/index.js ***!
  \*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "UnderlineNav": () => (/* binding */ UnderlineNav)
/* harmony export */ });
/* harmony import */ var _UnderlineNav_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UnderlineNav.js */ "./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNav.js");
/* harmony import */ var _UnderlineNavItem_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UnderlineNavItem.js */ "./node_modules/@primer/react/lib-esm/UnderlineNav2/UnderlineNavItem.js");



const UnderlineNav = Object.assign(_UnderlineNav_js__WEBPACK_IMPORTED_MODULE_0__.UnderlineNav, {
  Item: _UnderlineNavItem_js__WEBPACK_IMPORTED_MODULE_1__.UnderlineNavItem
});




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/UnderlineNav2/styles.js":
/*!********************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/UnderlineNav2/styles.js ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "GAP": () => (/* binding */ GAP),
/* harmony export */   "counterStyles": () => (/* binding */ counterStyles),
/* harmony export */   "getDividerStyle": () => (/* binding */ getDividerStyle),
/* harmony export */   "getLinkStyles": () => (/* binding */ getLinkStyles),
/* harmony export */   "getNavStyles": () => (/* binding */ getNavStyles),
/* harmony export */   "iconWrapStyles": () => (/* binding */ iconWrapStyles),
/* harmony export */   "menuItemStyles": () => (/* binding */ menuItemStyles),
/* harmony export */   "menuStyles": () => (/* binding */ menuStyles),
/* harmony export */   "moreBtnStyles": () => (/* binding */ moreBtnStyles),
/* harmony export */   "ulStyles": () => (/* binding */ ulStyles),
/* harmony export */   "wrapperStyles": () => (/* binding */ wrapperStyles)
/* harmony export */ });
// The gap between the list items. It is a constant because the gap is used to calculate the possible number of items that can fit in the container.
const GAP = 8;
const iconWrapStyles = {
  alignItems: 'center',
  display: 'inline-flex',
  marginRight: 2
};
const wrapperStyles = {
  display: 'inline-flex',
  paddingY: 1,
  paddingX: 2,
  borderRadius: 2
};
const smallVariantLinkStyles = {
  paddingY: 1,
  fontSize: 0
};
const defaultVariantLinkStyles = {
  paddingY: 2,
  fontSize: 1
};
const counterStyles = {
  marginLeft: 2,
  display: 'flex',
  alignItems: 'center'
};
const getNavStyles = (theme, props) => ({
  display: 'flex',
  paddingX: 3,
  justifyContent: (props === null || props === void 0 ? void 0 : props.align) === 'right' ? 'flex-end' : 'flex-start',
  borderBottom: '1px solid',
  borderBottomColor: `${theme === null || theme === void 0 ? void 0 : theme.colors.border.muted}`,
  align: 'row',
  alignItems: 'center'
});
const ulStyles = {
  display: 'flex',
  listStyle: 'none',
  whiteSpace: 'nowrap',
  paddingY: 0,
  paddingX: 0,
  margin: 0,
  marginBottom: '-1px',
  alignItems: 'center',
  gap: `${GAP}px`,
  position: 'relative'
};
const getDividerStyle = theme => ({
  display: 'inline-block',
  borderLeft: '1px solid',
  width: '1px',
  borderLeftColor: `${theme === null || theme === void 0 ? void 0 : theme.colors.border.muted}`,
  marginRight: 1
});
const moreBtnStyles = {
  //set margin 0 here because safari puts extra margin around the button, rest is to reset style to make it look like a list element
  margin: 0,
  border: 0,
  background: 'transparent',
  fontWeight: 'normal',
  boxShadow: 'none',
  paddingY: 1,
  paddingX: 2,
  '& > span[data-component="trailingIcon"]': {
    marginLeft: 0
  }
};
const getLinkStyles = (theme, props, selectedLink, ref) => ({
  position: 'relative',
  display: 'inline-flex',
  color: 'fg.default',
  textAlign: 'center',
  textDecoration: 'none',
  ...((props === null || props === void 0 ? void 0 : props.variant) === 'small' ? smallVariantLinkStyles : defaultVariantLinkStyles),
  '@media (hover:hover)': {
    '&:hover > div[data-component="wrapper"] ': {
      backgroundColor: theme === null || theme === void 0 ? void 0 : theme.colors.neutral.muted,
      transition: 'background .12s ease-out'
    }
  },
  '&:focus': {
    outline: 0,
    '& > div[data-component="wrapper"]': {
      boxShadow: `inset 0 0 0 2px ${theme === null || theme === void 0 ? void 0 : theme.colors.accent.fg}`
    },
    // where focus-visible is supported, remove the focus box-shadow
    '&:not(:focus-visible) > div[data-component="wrapper"]': {
      boxShadow: 'none'
    }
  },
  '&:focus-visible > div[data-component="wrapper"]': {
    boxShadow: `inset 0 0 0 2px ${theme === null || theme === void 0 ? void 0 : theme.colors.accent.fg}`
  },
  // renders a visibly hidden "copy" of the label in bold, reserving box space for when label becomes bold on selected
  '& span[data-content]::before': {
    content: 'attr(data-content)',
    display: 'block',
    height: 0,
    fontWeight: '600',
    visibility: 'hidden',
    whiteSpace: 'nowrap'
  },
  // selected state styles
  '&::after': {
    position: 'absolute',
    right: '50%',
    bottom: 0,
    width: '100%',
    height: 2,
    content: '""',
    bg: selectedLink === ref ? theme === null || theme === void 0 ? void 0 : theme.colors.primer.border.active : 'transparent',
    borderRadius: 0,
    transform: 'translate(50%, -50%)'
  },
  '@media (forced-colors: active)': {
    '::after': {
      // Support for Window Force Color Mode https://learn.microsoft.com/en-us/fluent-ui/web-components/design-system/high-contrast
      bg: selectedLink === ref ? 'LinkText' : 'transparent'
    }
  }
});
const menuItemStyles = {
  // This is needed to hide the selected check icon on the menu item. https://github.com/primer/react/blob/main/src/ActionList/Selection.tsx#L32
  '& > span': {
    display: 'none'
  },
  // To reset the style when the menu items are rendered as react router links
  textDecoration: 'none'
};
const menuStyles = {
  position: 'absolute',
  top: '90%',
  right: '0',
  boxShadow: '0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24)',
  borderRadius: '12px',
  backgroundColor: 'canvas.overlay',
  listStyle: 'none',
  // Values are from ActionMenu
  minWidth: '192px',
  maxWidth: '640px'
};




/***/ }),

/***/ "./node_modules/@primer/react/lib-esm/hooks/useControllableState.js":
/*!**************************************************************************!*\
  !*** ./node_modules/@primer/react/lib-esm/hooks/useControllableState.js ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "useControllableState": () => (/* binding */ useControllableState)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);


/**
 * This custom hook simplifies the behavior of a component if it has state that
 * can be both controlled and uncontrolled. It functions identical to a
 * useState() hook and provides [state, setState] for you to use. You can use
 * the `onChange` argument to allow updates to the `state` to be communicated to
 * owners of controlled components.
 *
 * Note: This hook will warn if a component is switching from controlled to
 * uncontrolled, or vice-versa.
 */
function useControllableState({
  name = 'custom',
  defaultValue,
  value,
  onChange
}) {
  const [state, internalSetState] = react__WEBPACK_IMPORTED_MODULE_0___default().useState(value !== null && value !== void 0 ? value : defaultValue);
  const controlled = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(null);
  const stableOnChange = react__WEBPACK_IMPORTED_MODULE_0___default().useRef(onChange);
  react__WEBPACK_IMPORTED_MODULE_0___default().useEffect(() => {
    stableOnChange.current = onChange;
  });
  if (controlled.current === null) {
    controlled.current = value !== undefined;
  }
  const setState = react__WEBPACK_IMPORTED_MODULE_0___default().useCallback(stateOrUpdater => {
    var _stableOnChange$curre;
    const value = typeof stateOrUpdater === 'function' ?
    // @ts-ignore stateOrUpdater is a function
    stateOrUpdater(state) : stateOrUpdater;
    if (controlled.current === false) {
      internalSetState(value);
    }
    (_stableOnChange$curre = stableOnChange.current) === null || _stableOnChange$curre === void 0 ? void 0 : _stableOnChange$curre.call(stableOnChange, value);
  }, [state]);
  react__WEBPACK_IMPORTED_MODULE_0___default().useEffect(() => {
    const controlledValue = value !== undefined;

    // Uncontrolled -> Controlled
    // If the component prop is uncontrolled, the prop value should be undefined
    if (controlled.current === false && controlledValue) {
      warn('A component is changing an uncontrolled %s component to be controlled. ' + 'This is likely caused by the value changing to a defined value ' + 'from undefined. Decide between using a controlled or uncontrolled ' + 'value for the lifetime of the component. ' + 'More info: https://reactjs.org/link/controlled-components', name);
    }

    // Controlled -> Uncontrolled
    // If the component prop is controlled, the prop value should be defined
    if (controlled.current === true && !controlledValue) {
      warn('A component is changing a controlled %s component to be uncontrolled. ' + 'This is likely caused by the value changing to an undefined value ' + 'from a defined one. Decide between using a controlled or ' + 'uncontrolled value for the lifetime of the component. ' + 'More info: https://reactjs.org/link/controlled-components', name);
    }
  }, [name, value]);
  if (controlled.current === true) {
    return [value, setState];
  }
  return [state, setState];
}

/** Warn when running in a development environment */
const warn =  true ?
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function warn(format, ...args) {
  let index = 0;
  const message = format.replace(/%s/g, () => {
    return args[index++];
  });
  // eslint-disable-next-line no-console
  console.warn(`Warning: ${message}`);
} : 0;




/***/ })

}]);
//# sourceMappingURL=vendors-node_modules_primer_react_lib-esm_TreeView_TreeView_js-node_modules_primer_react_lib--75b6cc.b5f0459937db511ded65.js.map