@htmlbricks/hb-bundle
Version:
Single IIFE loader for all HTML Bricks hb-* web components from the jsDelivr CDN, with optional Subresource Integrity; includes agent/LLM docs and theme CSS variables.
49 lines (45 loc) • 1.63 kB
TypeScript
import type {
IContacts,
ISocials,
ICompany,
IColumn,
IPolicies,
} from "../footer/webcomponent.type";
import type { IUserMenu } from "../navbar/webcomponent.type";
import type { INavLink } from "../sidenav-link/webcomponent.type";
import type { Events as SidebarDesktopEvents } from "../sidebar-desktop/webcomponent.type";
export type I18nLanguageOption = { code: string; label: string };
export type Component = {
i18nlang?: string;
i18nlanguages?: I18nLanguageOption[] | string;
id?: string;
style?: string;
socials?: ISocials;
contacts?: IContacts;
company?: ICompany;
navlinks?: INavLink[];
pagename?: string;
page_title?: string;
usermenu?: IUserMenu;
cookielaw?: "yes" | "true" | "no" | "false" | null | "" | undefined;
columns?: IColumn[];
single_screen?: boolean;
cookielawuri4more?: string;
cookielawallowdecline?: "yes" | "true" | "no" | "false" | null | "" | undefined;
cookielawlanguage?: string;
sidebar?: { title?: string; logo?: string; type?: string, enablefooter?: "yes" | "no" | "false" | null | "" | undefined, enablethemeswitch?: "yes" | "no" | "false" | null | "" | undefined };
footer?: {
type?: "auto" | "small" | "regular" | "large";
disable_expanding_small?: boolean;
};
policies?: IPolicies[];
};
export type Events = {
offcanvasswitch: { isOpen: boolean };
pageChange: { page: string };
navbarDropDownClick: { key: string };
footerClick: { elClick: string };
navbarSlotClick: { side: "left" | "right" | "center" };
themeChange: SidebarDesktopEvents["themeChange"];
languageChange: SidebarDesktopEvents["languageChange"];
};