Name Description Size Coverage
browser-sidebar.js SidebarController handles logic such as toggling sidebar panels, dynamically adding menubar menu items for the View -> Sidebar menu, and provides APIs for sidebar extensions, etc. 99890 95 %
docs -
jar.mn 1876 -
metrics.yaml 24193 -
moz.build 816 -
sidebar-bookmark-list.css The base fxview grid template assumes a multi-column tab list; the sidebar is a single shrink-to-fit column. Use minmax(0, 1fr) on both explicit and implicit tracks so rows can shrink below their min-content width and the row text actually truncates with text-overflow: ellipsis. 5393 -
sidebar-bookmark-list.mjs A row in the sidebar bookmarks tree. @typedef {object} SidebarBookmarkItem @property {string} guid @property {string} title @property {string} [uri] @property {string} [url] @property {string} [icon] @property {number} type @property {SidebarBookmarkItem[]} [children] @property {boolean} [isPlaceContainer] @property {boolean} [isTagContainer] @property {boolean} [isTagsRoot] 24810 79 %
sidebar-bookmarks.html 1695 -
sidebar-bookmarks.mjs 47810 91 %
sidebar-customize.css 2400 -
sidebar-customize.html 1055 -
sidebar-customize.mjs 14217 98 %
sidebar-history.css 848 -
sidebar-history.html 1671 -
sidebar-history.mjs Only show multiselect commands when multiple items are selected. 19076 98 %
sidebar-main.css moz-button paints its focus indicator outside the button's border box, so containers that clip labels have to extend their clip rect by the same amount, or they slice the indicator. Resolves to 0 where the indicator is inset (negative offset), which needs no extra room. 7273 -
sidebar-main.mjs Sidebar with expanded and collapsed states that provides entry points to various sidebar panels and sidebar extensions. 32585 93 %
sidebar-opentabs-preview.css stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens 2706 -
sidebar-opentabs-preview.mjs Preview of the most recently active tabs, shown on hover over the Open Tabs button in the sidebar launcher. 8129 82 %
sidebar-opentabs.css stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens 1717 -
sidebar-opentabs.html 1636 -
sidebar-opentabs.mjs 12833 91 %
sidebar-page.mjs Routes keydown events to the tree view controller. 9148 98 %
sidebar-panel-header.css Only built-in panels pass a `view`, and only they tighten the header up against the panel above and the content below. Extension panels render this element without a `view` and keep the symmetric padding-block instead, which centers the title and close button: their header band has its own background color, so matching the built-in alignment would visibly grow it. 1532 -
sidebar-panel-header.mjs Per-panel header showing the panel title and a close button, plus each panel's own toolbar content (search boxes, options menus, etc.) via its default slot. In horizontal-tabs "hide-launcher" mode the title is replaced by the sidebar-panel-switcher dropdown (which switches between panels), since there is no launcher to switch them with; this is toggled via CSS (see sidebar-panel-header.css). 2320 100 %
sidebar-panel-switcher.css The switcher is only meaningful in "hide-launcher" mode, where there is no launcher to switch panels with. It hides itself everywhere else. 1908 -
sidebar-panel-switcher.mjs A dropdown that switches between sidebar panels. Used by panels in horizontal-tabs "hide-launcher" mode, where there is no launcher to switch panels with. The element shows the current panel's name and, on click, lists the other panels to switch to. It hides itself (via CSS) outside that mode. Built-in panels set the `view` attribute to the command ID of the panel hosting it. Extension panels leave it unset, so they are identified by whichever panel the sidebar currently has open instead. 3837 100 %
sidebar-permissions-ui.mjs Handles sidebar permission UI elements. Creates and manages permission indicators in the sidebar. 10142 76 %
sidebar-permissions.mjs Get count of queued tab notifications 21362 77 %
sidebar-pins-promo.css Start hiding icons as the sidebar width shrinks. 3071 -
sidebar-pins-promo.mjs A promotional card for drag-to-pin tabs. It is only displayed in the expanded sidebar state to vertical tab users who do not have any pinned tabs. The card can be dismissed manually by clicking the X button. It is automatically dismissed by adding a pin via a context menu or by dragging the tab over the card and pinning. 5361 100 %
sidebar-syncedtabs.html 1884 -
sidebar-syncedtabs.mjs 14710 92 %
sidebar-tab-list.css 861 -
sidebar-tab-list.mjs The tree view controller that owns selection state for the page this list belongs to. @returns {SidebarTreeView} 10621 99 %
sidebar-tab-row.css stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens 5792 -
sidebar.css these illustrations need a larger width otherwise they look too small 5266 -
SidebarCollapsedWindows.sys.mjs Process-wide owner of the per-window collapsed state for the sidebar Open Tabs panel. State is keyed by the SessionStore window id (`window.__SSi`) and persisted to the `sidebar.openTabsPanel.collapsedWindows` pref as a JSON object whose keys are window ids and whose values are `true` for collapsed cards. Entries are dropped when a window closes or when a hydration sweep finds an entry whose window is no longer open. Private windows never write to the pref. Consumers add a listener for the `CollapsedWindowsChanged` event and call `requestUpdate()` (or equivalent) on every dispatch. The pref is the single source of truth. 5463 -
SidebarManager.sys.mjs SidebarManager is a singleton that handles startup tasks like telemetry, adding listeners and updating sidebar-related preferences. 13980 -
SidebarState.sys.mjs The properties that make up a sidebar's UI state. @typedef {object} SidebarStateProps @property {string} command The id of the current sidebar panel. The panel may be closed and still have a command value. Re-opening the sidebar panel will then load the current command id. @property {boolean} panelOpen Whether there is an open panel. @property {number} panelWidth Current width of the sidebar panel. @property {boolean} launcherVisible Whether the launcher is visible. This is always true when the sidebar.visibility pref value is "always-show", and toggle between true/false when visibility is "hide-sidebar" @property {boolean} launcherExpanded Whether the launcher is expanded. When sidebar.visibility pref value is "always-show", the toolbar button serves to toggle this property @property {boolean} launcherDragActive Whether the launcher is currently being dragged. @property {boolean} pinnedTabsDragActive Whether the pinned tabs container is currently being dragged. @property {boolean} toolsDragActive Whether the tools container is currently being dragged. @property {boolean} launcherHoverActive Whether the launcher is currently being hovered. @property {number} launcherWidth Current width of the sidebar launcher. @property {number} expandedLauncherWidth Width of the expanded launcher @property {number} pinnedTabsHeight Current height of the pinned tabs container @property {number} expandedPinnedTabsHeight Height of the pinned tabs container when the sidebar is expanded @property {number} collapsedPinnedTabsHeight Height of the pinned tabs container when the sidebar is collapsed @property {number} toolsHeight Current height of the tools container @property {number} expandedToolsHeight Height of the tools container when the sidebar is expanded @property {number} collapsedToolsHeight Height of the tools container when the sidebar is collapsed 28552 -
SidebarTreeView.sys.mjs Tree view node which can be focused via keyboard navigation. @typedef {object} TreeViewNode @property {"card-summary" | "folder" | "row" | "separator" | "empty-folder"} type @property {Element} [list] - The parent `<tab-list>`. @property {Element} [card] - The parent `<moz-card>`. @property {object} [item] - The object from `tabItems`. @property {number} [index] - The item's index within its list's `tabItems`. @property {Element} domNode - The rendered DOM element, or null if not rendered. 18073 -
tests -
triage.json 1656 -