flowbite-svelte
Version:
Flowbite components for Svelte
72 lines (71 loc) • 2.95 kB
JavaScript
import { createContext } from "svelte";
/**
* Helper function to create a context with safe getter that returns undefined instead of throwing
* when accessed outside of the context provider.
*/
function createSafeContext() {
const [getRaw, set] = createContext();
function get() {
try {
return getRaw();
}
catch {
return undefined;
}
}
return [get, set];
}
// Accordion
const [getAccordionContext, setAccordionContext] = createSafeContext();
export { getAccordionContext, setAccordionContext };
// BottomNav
const [getBottomNavContext, setBottomNavContext] = createSafeContext();
export { getBottomNavContext, setBottomNavContext };
// Carousel
const [getCarouselContext, setCarouselContext] = createSafeContext();
export { getCarouselContext, setCarouselContext };
// Drawer
const [getDrawerContext, setDrawerContext] = createSafeContext();
export { getDrawerContext, setDrawerContext };
// Dropdown
const [getDropdownContext, setDropdownContext] = createSafeContext();
export { getDropdownContext, setDropdownContext };
// Pagination
const [getPaginationContext, setPaginationContext] = createSafeContext();
export { getPaginationContext, setPaginationContext };
// ButtonToggle
const [getButtonToggleContext, setButtonToggleContext] = createSafeContext();
export { getButtonToggleContext, setButtonToggleContext };
// List
const [getListContext, setListContext] = createSafeContext();
export { getListContext, setListContext };
// Toolbar
const [getToolbarContext, setToolbarContext] = createSafeContext();
export { getToolbarContext, setToolbarContext };
const [getThemeContext, setThemeContext] = createSafeContext();
export { getThemeContext, setThemeContext };
// ListGroup
const [getListGroupContext, setListGroupContext] = createSafeContext();
export { getListGroupContext, setListGroupContext };
// ButtonGroup
const [getButtonGroupContext, setButtonGroupContext] = createSafeContext();
export { getButtonGroupContext, setButtonGroupContext };
// Navbar
const [getNavbarStateContext, setNavbarStateContext] = createSafeContext();
export { getNavbarStateContext, setNavbarStateContext };
const [getNavbarBreakpointContext, setNavbarBreakpointContext] = createSafeContext();
export { getNavbarBreakpointContext, setNavbarBreakpointContext };
// Sidebar
const [getSidebarContext, setSidebarContext] = createSafeContext();
export { getSidebarContext, setSidebarContext };
const [getActiveUrlContext, setActiveUrlContext] = createSafeContext();
export { getActiveUrlContext, setActiveUrlContext };
// Table
const [getTableContext, setTableContext] = createSafeContext();
export { getTableContext, setTableContext };
// SplitPane
const [getSplitPaneContext, setSplitPaneContext] = createSafeContext();
export { getSplitPaneContext, setSplitPaneContext };
// Tabs
const [getTabsContext, setTabsContext] = createSafeContext();
export { getTabsContext, setTabsContext };