"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.topNavMountedVar = exports.sideNavVar = exports.sideNavPanelSplitterId = exports.sideNavLiveWidthVar = exports.sideNavContentScrollTimelineVar = exports.panelVar = exports.panelPanelSplitterId = exports.openLayerObserverTopNavStartNamespace = exports.openLayerObserverTopNavMiddleNamespace = exports.openLayerObserverTopNavEndNamespace = exports.openLayerObserverSideNavNamespace = exports.localSlotLayers = exports.contentInsetBlockStart = exports.contentHeightWhenFixed = exports.bannerMountedVar = exports.asideVar = exports.asidePanelSplitterId = exports.UNSAFE_topNavVar = exports.UNSAFE_sideNavLayoutVar = exports.UNSAFE_panelLayoutVar = exports.UNSAFE_bannerVar = exports.UNSAFE_asideLayoutVar = exports.UNSAFE_MAIN_INLINE_START_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_INLINE_END_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_BLOCK_START_FOR_LEGACY_PAGES_ONLY = void 0;
/**
 * These variables are shared across the different page layout slots.
 * This violates the [UI styling standard](https://atlassian.design/components/eslint-plugin-ui-styling-standard/no-imported-style-values/usage).
 * We have chosen to ignore this rule to prevent duplicating them across the different slots, and to provide a high level view of them and how they relate.
 */

// These are "compressed" to discourage usage.
var sideNavVar = exports.sideNavVar = '--n_sNvw';
var asideVar = exports.asideVar = '--n_asDw';
var panelVar = exports.panelVar = '--n_pnlW';
var bannerMountedVar = exports.bannerMountedVar = '--n_bnrM';
var topNavMountedVar = exports.topNavMountedVar = '--n_tNvM';

/**
 * Captures the current width of the side navigation, at all times, including during resizing.
 *
 * The standard `sideNavVar` only captures the 'committed' width, not the resizing width.
 */
var sideNavLiveWidthVar = exports.sideNavLiveWidthVar = '--n_sNvlw';
var sideNavPanelSplitterId = exports.sideNavPanelSplitterId = Symbol('SideNav PanelSplitter');
var asidePanelSplitterId = exports.asidePanelSplitterId = Symbol('Aside PanelSplitter');
var panelPanelSplitterId = exports.panelPanelSplitterId = Symbol('Panel PanelSplitter');

// We aren't using template literals here because Compiled can't compiled them in platform ATM.
var contentHeightWhenFixed = exports.contentHeightWhenFixed = "calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))";
var contentInsetBlockStart = exports.contentInsetBlockStart = "calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))";

// We define variables as they can change their size depending on the viewport width. That isn't needed for
// general grid item slots because, well, they just take up the size of the grid item! In this instance since
// the UNSAFE absolutely positioned sibling isn't on the grid it needs extra layout information.
// Note: THESE ARE THE SAME VALUES AS THE LEGACY PAGE LAYOUT.
// WHEN WE ELIMINATE USAGE OF THOSE VARIABLES THESE CAN BE RENAMED TO BE HASHED.
var UNSAFE_topNavVar = exports.UNSAFE_topNavVar = '--topNavigationHeight';
var UNSAFE_bannerVar = exports.UNSAFE_bannerVar = '--bannerHeight';
var UNSAFE_sideNavLayoutVar = exports.UNSAFE_sideNavLayoutVar = '--leftSidebarWidth';
var UNSAFE_asideLayoutVar = exports.UNSAFE_asideLayoutVar = '--rightSidebarWidth';
var UNSAFE_panelLayoutVar = exports.UNSAFE_panelLayoutVar = '--rightPanelWidth';

// The following UNSAFE variables are used to absolutely position elements that aren't a child of page layout.
// Known use cases: Legacy pages rendered inside Confluence and Jira.
var UNSAFE_MAIN_BLOCK_START_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_BLOCK_START_FOR_LEGACY_PAGES_ONLY = "calc(var(".concat(UNSAFE_bannerVar, ", 0px) + var(").concat(UNSAFE_topNavVar, ", 0px))");
var UNSAFE_MAIN_INLINE_START_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_INLINE_START_FOR_LEGACY_PAGES_ONLY = "var(".concat(UNSAFE_sideNavLayoutVar, ", 0px)");
var UNSAFE_MAIN_INLINE_END_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_INLINE_END_FOR_LEGACY_PAGES_ONLY = "calc(var(".concat(UNSAFE_asideLayoutVar, ", 0px) + var(").concat(UNSAFE_panelLayoutVar, ", 0px))");

/**
 * We define the z-indexes here so each page slot can be locally layered against each other.
 * For globally defined values such as flag, modal, etc, we can continue to
 * rely on accessing them through global means.
 */
var localSlotLayers = exports.localSlotLayers = {
  topBar: 4,
  banner: 4,
  // With the FHS layering refactors, the banner and top nav have a lower z-index to allow layers from the side nav to overlay them.
  // When they all have equal z-index values, the DOM order determines the layering - meaning the side nav will be layered above the rest.
  // But, when the top bar contains an open layer, it needs to be layered above the side nav, so has a higher value.
  topNavFHSWithOpenLayer: 3,
  bannerFHS: 2,
  topNavFHS: 2,
  sideNav: 2,
  panelSmallViewports: 1
};
var openLayerObserverSideNavNamespace = exports.openLayerObserverSideNavNamespace = 'side-nav';
// We have separate OpenLayerObserver namespaces for each top nav layout area, instead of a single namespace for the entire top nav,
// as we need to know if there are open layers in TopNavStart specifically to prevent the side nav from peeking.
// The OpenLayerObserver doesn't support nested namespaces. We could update it, but for now it's simple enough to just have separate
// namespaces.
var openLayerObserverTopNavStartNamespace = exports.openLayerObserverTopNavStartNamespace = 'top-nav-start';
var openLayerObserverTopNavMiddleNamespace = exports.openLayerObserverTopNavMiddleNamespace = 'top-nav-middle';
var openLayerObserverTopNavEndNamespace = exports.openLayerObserverTopNavEndNamespace = 'top-nav-end';

/**
 * CSS scroll timeline variable for the side nav content scroll indicator.
 * The scroll timeline is created in SideNavContent, and then used by TopNavStart to apply the scroll indicator line.
 */
var sideNavContentScrollTimelineVar = exports.sideNavContentScrollTimelineVar = '--sNcst';