svelte-tabs-scrollable
Version:
a simple svelte scrollable tabs with a lot of additional features and with fully supporting of RTL mode
70 lines (69 loc) • 2.07 kB
TypeScript
/** @typedef {typeof __propDef.props} TabsProps */
/** @typedef {typeof __propDef.events} TabsEvents */
/** @typedef {typeof __propDef.slots} TabsSlots */
export default class Tabs extends SvelteComponentTyped<{
activeTab: any;
leftBtnIcon?: any;
rightBtnIcon?: any;
isRTL?: boolean;
onTabClick?: () => any;
scrollSelectedToCenterOfView?: boolean;
scrollSelectedToEndOfView?: boolean;
tabsScrollAmount?: number;
animationDuration?: number;
hideNavBtnsOnMobile?: boolean;
showTabsScroll?: boolean;
hideNavBtns?: boolean;
tabsClassName?: string;
tabsContainerClassName?: string;
goToStart?: () => void;
goToEnd?: () => void;
onLeftBtnClick?: () => void;
onRightBtnClick?: () => void;
didReachEnd?: () => any;
didReachStart?: () => any;
}, {
[evt: string]: CustomEvent<any>;
}, {
default: {};
}> {
get goToStart(): () => void;
get goToEnd(): () => void;
get onLeftBtnClick(): () => void;
get onRightBtnClick(): () => void;
}
export type TabsProps = typeof __propDef.props;
export type TabsEvents = typeof __propDef.events;
export type TabsSlots = typeof __propDef.slots;
import { SvelteComponentTyped } from "svelte";
declare const __propDef: {
props: {
activeTab: any;
leftBtnIcon?: any;
rightBtnIcon?: any;
isRTL?: boolean;
onTabClick?: () => any;
scrollSelectedToCenterOfView?: boolean;
scrollSelectedToEndOfView?: boolean;
tabsScrollAmount?: number;
animationDuration?: number;
hideNavBtnsOnMobile?: boolean;
showTabsScroll?: boolean;
hideNavBtns?: boolean;
tabsClassName?: string;
tabsContainerClassName?: string;
goToStart?: () => void;
goToEnd?: () => void;
onLeftBtnClick?: () => void;
onRightBtnClick?: () => void;
didReachEnd?: () => any;
didReachStart?: () => any;
};
events: {
[evt: string]: CustomEvent<any>;
};
slots: {
default: {};
};
};
export {};