@@ -13,6 +13,7 @@ import { PanelMode } from "./components/panel";
1313import { LoadingBarStatus } from "./components/loading-bar/types" ;
1414import { NavNode , NavTree } from "./components/nav/types" ;
1515import { ClosedMode , PanelDetailsListener , PanelMode as PanelMode1 , TargetableArea , TargetableEdge } from "./components/panel/types" ;
16+ import { RouteTab } from "./components/tab-bar/types" ;
1617export { Crumb } from "./components/breadcrumb/types" ;
1718export { DisplayErrorVariant } from "./components/display-error/types" ;
1819export { EmptyStateLayout } from "./components/empty-state/types" ;
@@ -21,6 +22,7 @@ export { PanelMode } from "./components/panel";
2122export { LoadingBarStatus } from "./components/loading-bar/types" ;
2223export { NavNode , NavTree } from "./components/nav/types" ;
2324export { ClosedMode , PanelDetailsListener , PanelMode as PanelMode1 , TargetableArea , TargetableEdge } from "./components/panel/types" ;
25+ export { RouteTab } from "./components/tab-bar/types" ;
2426export namespace Components {
2527 /**
2628 * A list of breadcrumbs to the current page
@@ -397,6 +399,23 @@ export namespace Components {
397399 */
398400 "start" ?: TargetableEdge ;
399401 }
402+ /**
403+ * A navigating tab bar.
404+ */
405+ interface L2TabBar {
406+ /**
407+ * Icon to be rendered between each tab.
408+ */
409+ "interTabIcon" ?: IconDescription ;
410+ /**
411+ * thu size of the icon to be rendered between each tab.
412+ */
413+ "interTabIconSize" : number ;
414+ /**
415+ * A list of tabs.
416+ */
417+ "tabs" : RouteTab [ ] ;
418+ }
400419 /**
401420 * A theme picker dropdown for the header
402421 */
@@ -418,6 +437,10 @@ export interface L2PanelCustomEvent<T> extends CustomEvent<T> {
418437 detail : T ;
419438 target : HTMLL2PanelElement ;
420439}
440+ export interface L2TabBarCustomEvent < T > extends CustomEvent < T > {
441+ detail : T ;
442+ target : HTMLL2TabBarElement ;
443+ }
421444declare global {
422445 /**
423446 * A list of breadcrumbs to the current page
@@ -631,6 +654,26 @@ declare global {
631654 prototype : HTMLL2SizedPanelElement ;
632655 new ( ) : HTMLL2SizedPanelElement ;
633656 } ;
657+ interface HTMLL2TabBarElementEventMap {
658+ "tabChange" : string ;
659+ }
660+ /**
661+ * A navigating tab bar.
662+ */
663+ interface HTMLL2TabBarElement extends Components . L2TabBar , HTMLStencilElement {
664+ addEventListener < K extends keyof HTMLL2TabBarElementEventMap > ( type : K , listener : ( this : HTMLL2TabBarElement , ev : L2TabBarCustomEvent < HTMLL2TabBarElementEventMap [ K ] > ) => any , options ?: boolean | AddEventListenerOptions ) : void ;
665+ addEventListener < K extends keyof DocumentEventMap > ( type : K , listener : ( this : Document , ev : DocumentEventMap [ K ] ) => any , options ?: boolean | AddEventListenerOptions ) : void ;
666+ addEventListener < K extends keyof HTMLElementEventMap > ( type : K , listener : ( this : HTMLElement , ev : HTMLElementEventMap [ K ] ) => any , options ?: boolean | AddEventListenerOptions ) : void ;
667+ addEventListener ( type : string , listener : EventListenerOrEventListenerObject , options ?: boolean | AddEventListenerOptions ) : void ;
668+ removeEventListener < K extends keyof HTMLL2TabBarElementEventMap > ( type : K , listener : ( this : HTMLL2TabBarElement , ev : L2TabBarCustomEvent < HTMLL2TabBarElementEventMap [ K ] > ) => any , options ?: boolean | EventListenerOptions ) : void ;
669+ removeEventListener < K extends keyof DocumentEventMap > ( type : K , listener : ( this : Document , ev : DocumentEventMap [ K ] ) => any , options ?: boolean | EventListenerOptions ) : void ;
670+ removeEventListener < K extends keyof HTMLElementEventMap > ( type : K , listener : ( this : HTMLElement , ev : HTMLElementEventMap [ K ] ) => any , options ?: boolean | EventListenerOptions ) : void ;
671+ removeEventListener ( type : string , listener : EventListenerOrEventListenerObject , options ?: boolean | EventListenerOptions ) : void ;
672+ }
673+ var HTMLL2TabBarElement : {
674+ prototype : HTMLL2TabBarElement ;
675+ new ( ) : HTMLL2TabBarElement ;
676+ } ;
634677 /**
635678 * A theme picker dropdown for the header
636679 */
@@ -678,6 +721,7 @@ declare global {
678721 "l2-sidebar" : HTMLL2SidebarElement ;
679722 "l2-sidebar-dropdown" : HTMLL2SidebarDropdownElement ;
680723 "l2-sized-panel" : HTMLL2SizedPanelElement ;
724+ "l2-tab-bar" : HTMLL2TabBarElement ;
681725 "l2-theme-dropdown" : HTMLL2ThemeDropdownElement ;
682726 "l2-theme-picker" : HTMLL2ThemePickerElement ;
683727 "l2-toolbar" : HTMLL2ToolbarElement ;
@@ -1053,6 +1097,27 @@ declare namespace LocalJSX {
10531097 */
10541098 "start" ?: TargetableEdge ;
10551099 }
1100+ /**
1101+ * A navigating tab bar.
1102+ */
1103+ interface L2TabBar {
1104+ /**
1105+ * Icon to be rendered between each tab.
1106+ */
1107+ "interTabIcon" ?: IconDescription ;
1108+ /**
1109+ * thu size of the icon to be rendered between each tab.
1110+ */
1111+ "interTabIconSize" ?: number ;
1112+ /**
1113+ * Triggered when the active tab is changed. `detail` is the newly active tab.
1114+ */
1115+ "onTabChange" ?: ( event : L2TabBarCustomEvent < string > ) => void ;
1116+ /**
1117+ * A list of tabs.
1118+ */
1119+ "tabs" : RouteTab [ ] ;
1120+ }
10561121 /**
10571122 * A theme picker dropdown for the header
10581123 */
@@ -1088,6 +1153,7 @@ declare namespace LocalJSX {
10881153 "l2-sidebar" : L2Sidebar ;
10891154 "l2-sidebar-dropdown" : L2SidebarDropdown ;
10901155 "l2-sized-panel" : L2SizedPanel ;
1156+ "l2-tab-bar" : L2TabBar ;
10911157 "l2-theme-dropdown" : L2ThemeDropdown ;
10921158 "l2-theme-picker" : L2ThemePicker ;
10931159 "l2-toolbar" : L2Toolbar ;
@@ -1177,6 +1243,10 @@ declare module "@stencil/core" {
11771243 * Automatically sets the relevant layout var based on it's size.
11781244 */
11791245 "l2-sized-panel" : LocalJSX . L2SizedPanel & JSXBase . HTMLAttributes < HTMLL2SizedPanelElement > ;
1246+ /**
1247+ * A navigating tab bar.
1248+ */
1249+ "l2-tab-bar" : LocalJSX . L2TabBar & JSXBase . HTMLAttributes < HTMLL2TabBarElement > ;
11801250 /**
11811251 * A theme picker dropdown for the header
11821252 */
0 commit comments