11import { SlotPanelPosition , type SlotPanel } from "../../types" ;
22
33const SLOT_IDS = [
4+ "slot-full-width-above-results" ,
45 "slot-above-results" ,
56 "slot-below-results" ,
67 "slot-above-sidebar" ,
@@ -20,6 +21,9 @@ function _renderSlotPanelsInto(panels: SlotPanel[], clearFirst: boolean): void {
2021 if ( ! panels || ! Array . isArray ( panels ) || panels . length === 0 ) return ;
2122 if ( clearFirst ) clearSlotPanels ( ) ;
2223 const byPosition : Record < SlotPanelPosition , HTMLElement | null > = {
24+ [ SlotPanelPosition . FullWidthAboveResults ] : document . getElementById (
25+ "slot-full-width-above-results" ,
26+ ) ,
2327 [ SlotPanelPosition . AboveResults ] :
2428 document . getElementById ( "slot-above-results" ) ,
2529 [ SlotPanelPosition . BelowResults ] :
@@ -36,10 +40,17 @@ function _renderSlotPanelsInto(panels: SlotPanel[], clearFirst: boolean): void {
3640 if ( ! container ) continue ;
3741 if ( panel . position === SlotPanelPosition . AtAGlance ) {
3842 container . innerHTML = panel . html ;
43+ } else if ( panel . position === SlotPanelPosition . FullWidthAboveResults ) {
44+ const block = document . createElement ( "div" ) ;
45+ block . className = "results-slot-panel-full-width" ;
46+ if ( panel . id ) block . dataset . slot = panel . id ;
47+ block . innerHTML = panel . html ;
48+ container . appendChild ( block ) ;
3949 } else {
4050 const block = document . createElement ( "div" ) ;
4151 block . className =
4252 "results-slot-panel degoog-panel degoog-panel--slot degoog-panel--stack-item" ;
53+ if ( panel . id ) block . dataset . slot = panel . id ;
4354 const grid = panel . gridSize ?? 4 ;
4455 block . dataset . grid = String ( grid ) ;
4556 if ( panel . title ) {
0 commit comments