UNPKG

quasar

Version:

Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time

1,608 lines (1,570 loc) 282 kB
// @ts-ignore /// <reference types="@quasar/app" /> import Vue, { VueConstructor, PluginObject } from 'vue' import { LooseDictionary } from './ts-helpers' export interface AddressbarColor { /** * Sets addressbar color (for browsers that support it) * @param hexColor Color in hex format */ set (hexColor : string): void } export interface AppFullscreen { /** * Does browser support it? */ isCapable : boolean /** * Is Fullscreen active? */ isActive : boolean /** * The DOM element used as root for fullscreen, otherwise 'null' */ activeEl : LooseDictionary /** * Request going into Fullscreen (with optional target) * @param target Optional CSS selector of target to request Fullscreen on * @returns A Promise with the outcome (true -> validation was a success, false -> invalid models detected) */ request (target? : string): Promise<any> /** * Request exiting out of Fullscreen mode * @returns A Promise with the outcome (true -> validation was a success, false -> invalid models detected) */ exit (): Promise<any> /** * Request toggling Fullscreen mode (with optional target if requesting going into Fullscreen only) * @param target Optional CSS selector of target to request Fullscreen on * @returns A Promise with the outcome (true -> validation was a success, false -> invalid models detected) */ toggle (target? : string): Promise<any> } export interface AppVisibility { /** * Does the app have user focus? Or the app runs in the background / another tab has the user's attention */ appVisible : boolean } export interface BottomSheet { /** * Creates an ad-hoc Bottom Sheet; Same as calling $q.bottomSheet(...) * @param opts Bottom Sheet options * @returns Chainable Object */ create (opts : { /** * CSS Class name to apply to the Dialog's QCard */ class? : string | any[] | LooseDictionary /** * CSS style to apply to the Dialog's QCard */ style? : string | any[] | LooseDictionary /** * Title */ title? : string /** * Message */ message? : string /** * Array of Objects, each Object defining an action */ actions? : { /** * CSS classes for this action */ classes? : string | any[] | LooseDictionary /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ icon? : string /** * Path to an image for this action */ img? : string /** * Display img as avatar (round borders) */ avatar? : boolean /** * Action label */ label? : string | number }[] /** * Display actions as a grid instead of as a list */ grid? : boolean /** * Apply dark mode */ dark? : boolean /** * Put Bottom Sheet into seamless mode; Does not use a backdrop so user is able to interact with the rest of the page too */ seamless? : boolean /** * User cannot dismiss Bottom Sheet if clicking outside of it or hitting ESC key */ persistent? : boolean }): DialogChainObject } export interface Cookies { /** * Get cookie * @param name Cookie name * @returns Cookie value; Returns null if cookie not found */ get: CookiesGetMethodType /** * Get all cookies * @returns Object with cookie names (as keys) and their values */ getAll (): LooseDictionary /** * Set cookie * @param name Cookie name * @param value Cookie value * @param options Cookie options */ set (name : string, value : string, options? : { /** * Cookie expires detail; If specified as Number, then the unit is days; If specified as String, it can either be raw stringified date or in Xd Xh Xm Xs format (see examples) */ expires? : number | string | Date /** * Cookie path */ path? : string /** * Cookie domain */ domain? : string /** * SameSite cookie option (not supported by IE11) */ sameSite? : string /** * Is cookie Http Only? */ httpOnly? : boolean /** * Is cookie secure? (https only) */ secure? : boolean /** * Raw string for other cookie options; To be used as a last resort for possible newer props that are currently not yet implemented in Quasar */ other? : string }): void /** * Check if cookie exists * @param name Cookie name * @returns Does cookie exists or not? */ has (name : string): boolean /** * Remove a cookie * @param name Cookie name * @param options Cookie options */ remove (name : string, options? : { /** * Cookie path */ path? : string /** * Cookie domain */ domain? : string }): void /** * For SSR usage only, and only on the global import (not on $q.cookies) * @param ssrContext SSR Context Object * @returns Cookie object (like $q.cookies) for SSR usage purposes */ parseSSR (ssrContext : LooseDictionary): Cookies } export interface Dark { /** * Is Dark mode active? */ isActive : boolean /** * Dark mode configuration (not status) */ mode : boolean | 'auto' /** * Set dark mode status * @param status Dark mode status */ set (status : boolean | 'auto'): void /** * Toggle dark mode status */ toggle (): void } export interface Dialog { /** * Creates an ad-hoc Dialog; Same as calling $q.dialog(...) * @param opts Dialog options * @returns Chainable Object */ create (opts : QDialogOptions): DialogChainObject } export interface Loading { /** * Is Loading active? */ isActive : boolean /** * Activate and show * @param opts All props are optional */ show (opts? : { /** * Wait a number of millisecond before showing; Not worth showing for 100ms for example then hiding it, so wait until you're sure it's a process that will take some considerable amount of time */ delay? : number /** * Message to display */ message? : string /** * Force use of textContent instead of innerHTML to render message; Use it when the message might be unsafe (from user input) */ sanitize? : boolean /** * Spinner size (in pixels) */ spinnerSize? : number /** * Color name for spinner from the Quasar Color Palette */ spinnerColor? : string /** * Color name for text from the Quasar Color Palette */ messageColor? : string /** * Color name for background from the Quasar Color Palette */ backgroundColor? : string /** * One of the QSpinners */ spinner? : Vue /** * Add a CSS class to easily customize the component */ customClass? : string /** * Ignore the default configuration (set by setDefaults()) for this instance only */ ignoreDefaults? : boolean }): void /** * Hide it */ hide (): void /** * Merge options into the default ones * @param opts Pick the subprop you want to define */ setDefaults (opts : { /** * Wait a number of millisecond before showing; Not worth showing for 100ms for example then hiding it, so wait until you're sure it's a process that will take some considerable amount of time */ delay? : number /** * Message to display */ message? : string /** * Spinner size (in pixels) */ spinnerSize? : number /** * Color name for spinner from the Quasar Color Palette */ spinnerColor? : string /** * Color name for text from the Quasar Color Palette */ messageColor? : string /** * Color name for background from the Quasar Color Palette */ backgroundColor? : string /** * One of the QSpinners */ spinner? : Vue /** * Add a CSS class to easily customize the component */ customClass? : string }): void } export interface LoadingBar { /** * Notify bar you've started a background activity * @param speed Delay (in milliseconds) between bar progress increments */ start (speed? : number): void /** * Notify bar one background activity has finalized */ stop (): void /** * Manually trigger a bar progress increment * @param amount Amount (0.0 < x < 1.0) to increment with */ increment (amount? : number): void /** * Set the inner QAjaxBar's props * @param ...props QAjaxBar component props */ setDefaults (...props: any[]): void } export interface LocalStorage { /** * Check if storage item exists * @param key Entry key * @returns Does the item exists or not? */ has (key : string): boolean /** * Get storage number of entries * @returns Number of entries */ getLength (): number /** * Get a storage item value * @param key Entry key * @returns Storage item value */ getItem: WebStorageGetItemMethodType /** * Get the storage item value at specific index * @param index Entry index * @returns Storage item index */ getIndex: WebStorageGetIndexMethodType /** * Get the storage key at specific index * @param index Entry index * @returns Storage key */ getKey: WebStorageGetKeyMethodType /** * Retrieve all items in storage * @returns Object syntax: item name as Object key and its value */ getAll (): LooseDictionary /** * Retrieve all keys in storage * @returns Storage keys (Array of Strings) */ getAllKeys: WebStorageGetAllKeysMethodType /** * Set item in storage * @param key Entry key * @param value Entry value */ set (key : string, value : Date | RegExp | number | boolean | Function | LooseDictionary | any[] | string | null): void /** * Remove a storage item * @param key Storage key */ remove (key : string): void /** * Remove everything from the storage */ clear (): void /** * Determine if storage has any items * @returns Tells if storage is empty or not */ isEmpty (): boolean } export interface Meta { } export interface Notify { /** * Creates a notification; Same as calling $q.notify(...) * @param opts Notification options * @returns Calling this function with no parameters hides the notification; When called with one Object parameter (the original notification must NOT be grouped), it updates the notification (specified properties are shallow merged with previous ones; note that group and position cannot be changed while updating and so they are ignored) */ create (opts : { /** * Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing') */ type? : string /** * Color name for component from the Quasar Color Palette */ color? : string /** * Color name for component from the Quasar Color Palette */ textColor? : string /** * The content of your message */ message? : string /** * The content of your optional caption */ caption? : string /** * Render message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first */ html? : boolean /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ icon? : string /** * URL to an avatar/image; Suggestion: use statics folder */ avatar? : string /** * Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown */ spinner? : boolean | Vue /** * Window side/corner to stick to */ position? : 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top' | 'bottom' | 'left' | 'right' | 'center' /** * Override the auto generated group with custom one; Grouped notifications cannot be updated; String or number value inform this is part of a specific group, regardless of its options; When a new notification is triggered with same group name, it replaces the old one and shows a badge with how many times the notification was triggered */ group? : boolean | string | number /** * Color name for the badge from the Quasar Color Palette */ badgeColor? : string /** * Color name for the badge text from the Quasar Color Palette */ badgeTextColor? : string /** * Notification corner to stick badge to; If notification is on the left side then default is top-right otherwise it is top-left */ badgePosition? : 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' /** * Style definitions to be attributed to the badge */ badgeStyle? : any[] | string | LooseDictionary /** * Class definitions to be attributed to the badge */ badgeClass? : any[] | string | LooseDictionary /** * Show progress bar to detail when notification will disappear automatically (unless timeout is 0) */ progress? : boolean /** * Class definitions to be attributed to the progress bar */ progressClass? : any[] | string | LooseDictionary /** * Add CSS class(es) to the notification for easier customization */ classes? : string /** * Key-value for attributes to be set on the notification */ attrs? : LooseDictionary /** * Amount of time to display (in milliseconds) */ timeout? : number /** * Notification actions (buttons); If a 'handler' is specified or not, clicking/tapping on the button will also close the notification; Also check 'closeBtn' convenience prop */ actions? : any[] /** * Function to call when notification gets dismissed */ onDismiss? : Function /** * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language */ closeBtn? : boolean | string /** * Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default */ multiLine? : boolean /** * Ignore the default configuration (set by setDefaults()) for this instance only */ ignoreDefaults? : boolean } | string): Function /** * Merge options into the default ones * @param opts Notification options */ setDefaults (opts : { /** * Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing') */ type? : string /** * Color name for component from the Quasar Color Palette */ color? : string /** * Color name for component from the Quasar Color Palette */ textColor? : string /** * The content of your message */ message? : string /** * The content of your optional caption */ caption? : string /** * Render message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first */ html? : boolean /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ icon? : string /** * URL to an avatar/image; Suggestion: use statics folder */ avatar? : string /** * Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown */ spinner? : boolean | Vue /** * Window side/corner to stick to */ position? : 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top' | 'bottom' | 'left' | 'right' | 'center' /** * Color name for the badge from the Quasar Color Palette */ badgeColor? : string /** * Color name for the badge text from the Quasar Color Palette */ badgeTextColor? : string /** * Notification corner to stick badge to; If notification is on the left side then default is top-right otherwise it is top-left */ badgePosition? : 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' /** * Style definitions to be attributed to the badge */ badgeStyle? : any[] | string | LooseDictionary /** * Class definitions to be attributed to the badge */ badgeClass? : any[] | string | LooseDictionary /** * Show progress bar to detail when notification will disappear automatically (unless timeout is 0) */ progress? : boolean /** * Class definitions to be attributed to the progress bar */ progressClass? : any[] | string | LooseDictionary /** * Add CSS class(es) to the notification for easier customization */ classes? : string /** * Key-value for attributes to be set on the notification */ attrs? : LooseDictionary /** * Amount of time to display (in milliseconds) */ timeout? : number /** * Notification actions (buttons); If a 'handler' is specified or not, clicking/tapping on the button will also close the notification; Also check 'closeBtn' convenience prop */ actions? : any[] /** * Function to call when notification gets dismissed */ onDismiss? : Function /** * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language */ closeBtn? : boolean | string /** * Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default */ multiLine? : boolean }): void /** * Register a new type of notification (or override an existing one) * @param typeName Name of the type (to be used as 'type' prop later on) * @param typeOpts Notification options */ registerType (typeName : string, typeOpts : { /** * Optional type (that has been previously registered) or one of the out of the box ones ('positive', 'negative', 'warning', 'info', 'ongoing') */ type? : string /** * Color name for component from the Quasar Color Palette */ color? : string /** * Color name for component from the Quasar Color Palette */ textColor? : string /** * The content of your message */ message? : string /** * The content of your optional caption */ caption? : string /** * Render message as HTML; This can lead to XSS attacks, so make sure that you sanitize the message first */ html? : boolean /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ icon? : string /** * URL to an avatar/image; Suggestion: use statics folder */ avatar? : string /** * Useful for notifications that are updated; Displays a Quasar spinner instead of an avatar or icon; If value is Boolean 'true' then the default QSpinner is shown */ spinner? : boolean | Vue /** * Window side/corner to stick to */ position? : 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top' | 'bottom' | 'left' | 'right' | 'center' /** * Color name for the badge from the Quasar Color Palette */ badgeColor? : string /** * Color name for the badge text from the Quasar Color Palette */ badgeTextColor? : string /** * Notification corner to stick badge to; If notification is on the left side then default is top-right otherwise it is top-left */ badgePosition? : 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' /** * Style definitions to be attributed to the badge */ badgeStyle? : any[] | string | LooseDictionary /** * Class definitions to be attributed to the badge */ badgeClass? : any[] | string | LooseDictionary /** * Show progress bar to detail when notification will disappear automatically (unless timeout is 0) */ progress? : boolean /** * Class definitions to be attributed to the progress bar */ progressClass? : any[] | string | LooseDictionary /** * Add CSS class(es) to the notification for easier customization */ classes? : string /** * Key-value for attributes to be set on the notification */ attrs? : LooseDictionary /** * Amount of time to display (in milliseconds) */ timeout? : number /** * Notification actions (buttons); If a 'handler' is specified or not, clicking/tapping on the button will also close the notification; Also check 'closeBtn' convenience prop */ actions? : any[] /** * Function to call when notification gets dismissed */ onDismiss? : Function /** * Convenience way to add a dismiss button with a specific label, without using the 'actions' prop; If set to true, it uses a label accordding to the current Quasar language */ closeBtn? : boolean | string /** * Put notification into multi-line mode; If this prop isn't used and more than one 'action' is specified then notification goes into multi-line mode by default */ multiLine? : boolean }): void } export interface Platform { /** * Client browser User Agent */ userAgent : string /** * Client browser details (property names depend on browser) */ is : LooseDictionary /** * Client browser detectable properties */ has : { /** * Client browser runs on device with touch support */ touch : boolean /** * Client browser has Web Storage support */ webStorage : boolean } /** * Client browser environment */ within : { /** * Does the app run under an iframe? */ iframe : boolean } /** * For SSR usage only, and only on the global import (not on $q.platform) * @param ssrContext SSR Context Object * @returns Platform object (like $q.platform) for SSR usage purposes */ parseSSR (ssrContext : LooseDictionary): Platform } export interface Screen { /** * Screen width (in pixels) */ width : number /** * Screen height (in pixels) */ height : number /** * Tells current window breakpoint */ name : 'xs' | 'sm' | 'md' | 'lg' | 'xl' /** * Breakpoints (in pixels) */ sizes : { /** * Breakpoint width size (minimum size) */ sm : number /** * Breakpoint width size (minimum size) */ md : number /** * Breakpoint width size (minimum size) */ lg : number /** * Breakpoint width size (minimum size) */ xl : number } /** * Tells if current screen width is lower than breakpoint-name */ lt : { /** * Is current screen width lower than this breakpoint's lowest limit? */ sm : boolean /** * Is current screen width lower than this breakpoint's lowest limit? */ md : boolean /** * Is current screen width lower than this breakpoint's lowest limit? */ lg : boolean /** * Is current screen width lower than this breakpoint's lowest limit? */ xl : boolean } /** * Tells if current screen width is greater than breakpoint-name */ gt : { /** * Is current screen width greater than this breakpoint's max limit? */ xs : boolean /** * Is current screen width greater than this breakpoint's max limit? */ sm : boolean /** * Is current screen width greater than this breakpoint's max limit? */ md : boolean /** * Is current screen width greater than this breakpoint's max limit? */ lg : boolean } /** * Current screen width fits exactly 'xs' breakpoint */ xs : boolean /** * Current screen width fits exactly 'sm' breakpoint */ sm : boolean /** * Current screen width fits exactly 'md' breakpoint */ md : boolean /** * Current screen width fits exactly 'lg' breakpoint */ lg : boolean /** * Current screen width fits exactly 'xl' breakpoint */ xl : boolean /** * Override default breakpoint sizes * @param breakpoints Pick what you want to override */ setSizes (breakpoints : { /** * Breakpoint width size (minimum size) */ sm? : number /** * Breakpoint width size (minimum size) */ md? : number /** * Breakpoint width size (minimum size) */ lg? : number /** * Breakpoint width size (minimum size) */ xl? : number }): void /** * Debounce update of all props when screen width/height changes * @param amount Amount in milliseconds */ setDebounce (amount : number): void } export interface SessionStorage { /** * Check if storage item exists * @param key Entry key * @returns Does the item exists or not? */ has (key : string): boolean /** * Get storage number of entries * @returns Number of entries */ getLength (): number /** * Get a storage item value * @param key Entry key * @returns Storage item value */ getItem: WebStorageGetItemMethodType /** * Get the storage item value at specific index * @param index Entry index * @returns Storage item index */ getIndex: WebStorageGetIndexMethodType /** * Get the storage key at specific index * @param index Entry index * @returns Storage key */ getKey: WebStorageGetKeyMethodType /** * Retrieve all items in storage * @returns Object syntax: item name as Object key and its value */ getAll (): LooseDictionary /** * Retrieve all keys in storage * @returns Storage keys (Array of Strings) */ getAllKeys: WebStorageGetAllKeysMethodType /** * Set item in storage * @param key Entry key * @param value Entry value */ set (key : string, value : Date | RegExp | number | boolean | Function | LooseDictionary | any[] | string | null): void /** * Remove a storage item * @param key Storage key */ remove (key : string): void /** * Remove everything from the storage */ clear (): void /** * Determine if storage has any items * @returns Tells if storage is empty or not */ isEmpty (): boolean } export interface ClosePopup { } export interface GoBack { } export interface Intersection { } export interface Morph { } export interface Mutation { } export interface Ripple { } export interface Scroll { } export interface ScrollFire { } export interface TouchHold { } export interface TouchPan { } export interface TouchRepeat { } export interface TouchSwipe { } export interface QAjaxBar extends Vue { /** * Position within window of where QAjaxBar should be displayed */ position? : 'top' | 'right' | 'bottom' | 'left' /** * Size in CSS units, including unit name */ size? : string /** * Color name for component from the Quasar Color Palette */ color? : string /** * Skip Ajax hijacking (not a reactive prop) */ skipHijack? : boolean /** * Reverse direction of progress */ reverse? : boolean /** * Notify bar you are waiting for a new process to finish * @param speed Delay (in milliseconds) between progress auto-increments; If delay is 0 then it disables auto-incrementing */ start (speed? : number): void /** * Manually trigger a bar progress increment * @param amount Amount (0 < x <= 100) to increment with */ increment (amount? : number): void /** * Notify bar that one process you were waiting has finished */ stop (): void } export interface QAvatar extends Vue { /** * Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl) */ size? : string /** * The size in CSS units, including unit name, of the content (icon, text) */ fontSize? : string /** * Color name for component from the Quasar Color Palette */ color? : string /** * Overrides text color (if needed); Color name from the Quasar Color Palette */ textColor? : string /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ icon? : string /** * Removes border-radius so borders are squared */ square? : boolean /** * Applies a small standard border-radius for a squared shape of the component */ rounded? : boolean } export interface QBadge extends Vue { /** * Color name for component from the Quasar Color Palette */ color? : string /** * Overrides text color (if needed); Color name from the Quasar Color Palette */ textColor? : string /** * Tell QBadge if it should float to the top right side of the relative positioned parent element or not */ floating? : boolean /** * Applies a 0.8 opacity; Useful especially for floating QBadge */ transparent? : boolean /** * Content can wrap to multiple lines */ multiLine? : boolean /** * Badge's content as string; overrides default slot if specified */ label? : string | number /** * Sets vertical-align CSS prop */ align? : 'top' | 'middle' | 'bottom' /** * Use 'outline' design (colored text and borders only) */ outline? : boolean /** * Makes a rounded shaped badge */ rounded? : boolean } export interface QBanner extends Vue { /** * Display actions on same row as content */ inlineActions? : boolean /** * Dense mode; occupies less space */ dense? : boolean /** * Applies a small standard border-radius for a squared shape of the component */ rounded? : boolean /** * Notify the component that the background is a dark color */ dark? : boolean } export interface QBar extends Vue { /** * Dense mode; occupies less space */ dense? : boolean /** * The component background color lights up the parent's background (as opposed to default behavior which is to darken it); Works unless you specify a CSS background color for it */ dark? : boolean } export interface QBreadcrumbs extends Vue { /** * The string used to separate the breadcrumbs */ separator? : string /** * The color of the active breadcrumb, which can be any color from the Quasar Color Palette */ activeColor? : string /** * The gutter value allows you control over the space between the breadcrumb elements. */ gutter? : 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' /** * The color used to color the separator, which can be any color from the Quasar Color Palette */ separatorColor? : string /** * Specify how to align the breadcrumbs horizontally */ align? : 'left' | 'center' | 'right' | 'between' | 'around' | 'evenly' } export interface QBreadcrumbsEl extends Vue { /** * Equivalent to Vue Router <router-link> 'to' property */ to? : string | LooseDictionary /** * Equivalent to Vue Router <router-link> 'exact' property */ exact? : boolean /** * Equivalent to Vue Router <router-link> 'append' property */ append? : boolean /** * Equivalent to Vue Router <router-link> 'replace' property */ replace? : boolean /** * Equivalent to Vue Router <router-link> 'active-class' property */ activeClass? : string /** * Equivalent to Vue Router <router-link> 'active-class' property */ exactActiveClass? : string /** * Put component in disabled mode */ disable? : boolean /** * The label text for the breadcrumb */ label? : string /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ icon? : string } export interface QBtnDropdown extends Vue { /** * Controls Menu show/hidden state; Either use this property (along with a listener for 'input' event) OR use v-model directive */ value? : boolean /** * Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl) */ size? : string /** * Configure material ripple (disable it by setting it to 'false' or supply a config object) */ ripple? : boolean | LooseDictionary /** * Define the button HTML DOM type */ type? : 'a' | 'submit' | 'button' | 'reset' /** * Equivalent to Vue Router <router-link> 'to' property */ to? : string | LooseDictionary /** * Equivalent to Vue Router <router-link> 'replace' property */ replace? : boolean /** * Equivalent to Vue Router <router-link> 'append' property */ append? : boolean /** * The text that will be shown on the button */ label? : string | number /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ icon? : string /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ iconRight? : string /** * Use 'outline' design */ outline? : boolean /** * Use 'flat' design */ flat? : boolean /** * Remove shadow */ unelevated? : boolean /** * Applies a more prominent border-radius for a squared shape button */ rounded? : boolean /** * Use 'push' design */ push? : boolean /** * Applies a glossy effect */ glossy? : boolean /** * Makes button size and shape to fit a Floating Action Button */ fab? : boolean /** * Makes button size and shape to fit a small Floating Action Button */ fabMini? : boolean /** * Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set */ padding? : string /** * Color name for component from the Quasar Color Palette */ color? : string /** * Overrides text color (if needed); Color name from the Quasar Color Palette */ textColor? : string /** * Avoid turning label text into caps (which happens by default) */ noCaps? : boolean /** * Avoid label text wrapping */ noWrap? : boolean /** * Dense mode; occupies less space */ dense? : boolean /** * Tabindex HTML attribute value */ tabindex? : number | string /** * Label or content alignment */ align? : 'left' | 'right' | 'center' | 'around' | 'between' | 'evenly' /** * Stack icon and label vertically instead of on same line (like it is by default) */ stack? : boolean /** * When used on flexbox parent, button will stretch to parent's height */ stretch? : boolean /** * Put button into loading state (displays a QSpinner -- can be overridden by using a 'loading' slot) */ loading? : boolean /** * Put component in disabled mode */ disable? : boolean /** * Split dropdown icon into its own button */ split? : boolean /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ dropdownIcon? : string /** * Disable main button (useful along with 'split' prop) */ disableMainBtn? : boolean /** * Disables dropdown (dropdown button if using along 'split' prop) */ disableDropdown? : boolean /** * Disables the rotation of the dropdown icon when state is toggled */ noIconAnimation? : boolean /** * Style definitions to be attributed to the menu */ contentStyle? : any[] | string | LooseDictionary /** * Class definitions to be attributed to the menu */ contentClass? : any[] | string | LooseDictionary /** * Allows the menu to cover the button. When used, the 'menu-self' and 'menu-fit' props are no longer effective */ cover? : boolean /** * Allows the menu to not be dismissed by a click/tap outside of the menu or by hitting the ESC key */ persistent? : boolean /** * Changing route app won't dismiss the popup; No need to set it if 'persistent' prop is also set */ noRouteDismiss? : boolean /** * Allows any click/tap in the menu to close it; Useful instead of attaching events to each menu item that should close the menu on click/tap */ autoClose? : boolean /** * Two values setting the starting position or anchor point of the menu relative to its target */ menuAnchor? : 'top left' | 'top middle' | 'top right' | 'top start' | 'top end' | 'center left' | 'center middle' | 'center right' | 'center start' | 'center end' | 'bottom left' | 'bottom middle' | 'bottom right' | 'bottom start' | 'bottom end' /** * Two values setting the menu's own position relative to its target */ menuSelf? : 'top left' | 'top middle' | 'top right' | 'top start' | 'top end' | 'center left' | 'center middle' | 'center right' | 'center start' | 'center end' | 'bottom left' | 'bottom middle' | 'bottom right' | 'bottom start' | 'bottom end' /** * An array of two numbers to offset the menu horizontally and vertically in pixels */ menuOffset? : any[] /** * Triggers component to show * @param evt JS event object */ show (evt? : LooseDictionary): void /** * Triggers component to hide * @param evt JS event object */ hide (evt? : LooseDictionary): void /** * Triggers component to toggle between show/hide * @param evt JS event object */ toggle (evt? : LooseDictionary): void } export interface QBtnGroup extends Vue { /** * Spread horizontally to all available space */ spread? : boolean /** * Use 'outline' design for buttons */ outline? : boolean /** * Use 'flat' design for buttons */ flat? : boolean /** * Remove shadow on buttons */ unelevated? : boolean /** * Applies a more prominent border-radius for squared shape buttons */ rounded? : boolean /** * Use 'push' design for buttons */ push? : boolean /** * When used on flexbox parent, buttons will stretch to parent's height */ stretch? : boolean /** * Applies a glossy effect */ glossy? : boolean } export interface QBtnToggle extends Vue { /** * Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL */ name? : string /** * Configure material ripple (disable it by setting it to 'false' or supply a config object) */ ripple? : boolean | LooseDictionary /** * Model of the component; Either use this property (along with a listener for 'input' event) OR use v-model directive */ value? : any /** * Array of Objects defining each option */ options : { /** * Key-value for attributes to be set on the button */ attrs? : LooseDictionary /** * Label of option button; Use this prop and/or 'icon', but at least one is required */ label? : string /** * Icon of option button; Use this prop and/or 'label', but at least one is required */ icon? : string /** * Value of the option that will be used by component model */ value : any /** * Slot name to use for this button content; Useful for customizing content or even add tooltips */ slot? : string [index: string]: any }[] /** * Color name for component from the Quasar Color Palette */ color? : string /** * Overrides text color (if needed); Color name from the Quasar Color Palette */ textColor? : string /** * Color name for component from the Quasar Color Palette */ toggleColor? : string /** * Overrides text color (if needed); Color name from the Quasar Color Palette */ toggleTextColor? : string /** * Spread horizontally to all available space */ spread? : boolean /** * Use 'outline' design */ outline? : boolean /** * Use 'flat' design */ flat? : boolean /** * Remove shadow */ unelevated? : boolean /** * Applies a more prominent border-radius for a squared shape button */ rounded? : boolean /** * Use 'push' design */ push? : boolean /** * Applies a glossy effect */ glossy? : boolean /** * Button size name or a CSS unit including unit name */ size? : string /** * Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set */ padding? : string /** * Avoid turning label text into caps (which happens by default) */ noCaps? : boolean /** * Avoid label text wrapping */ noWrap? : boolean /** * Dense mode; occupies less space */ dense? : boolean /** * Put component in readonly mode */ readonly? : boolean /** * Put component in disabled mode */ disable? : boolean /** * Stack icon and label vertically instead of on same line (like it is by default) */ stack? : boolean /** * When used on flexbox parent, button will stretch to parent's height */ stretch? : boolean /** * Clears model on click of the already selected button */ clearable? : boolean } export interface QBtn extends Vue { /** * Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl) */ size? : string /** * Configure material ripple (disable it by setting it to 'false' or supply a config object) */ ripple? : boolean | LooseDictionary /** * Define the button HTML DOM type */ type? : 'a' | 'submit' | 'button' | 'reset' /** * Equivalent to Vue Router <router-link> 'to' property */ to? : string | LooseDictionary /** * Equivalent to Vue Router <router-link> 'replace' property */ replace? : boolean /** * Equivalent to Vue Router <router-link> 'append' property */ append? : boolean /** * The text that will be shown on the button */ label? : string | number /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ icon? : string /** * Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix */ iconRight? : string /** * Use 'outline' design */ outline? : boolean /** * Use 'flat' design */ flat? : boolean /** * Remove shadow */ unelevated? : boolean /** * Applies a more prominent border-radius for a squared shape button */ rounded? : boolean /** * Use 'push' design */ push? : boolean /** * Applies a glossy effect */ glossy? : boolean /** * Makes button size and shape to fit a Floating Action Button */ fab? : boolean /** * Makes button size and shape to fit a small Floating Action Button */ fabMini? : boolean /** * Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set */ padding? : string /** * Color name for component from the Quasar Color Palette */ color? : string /** * Overrides text color (if needed); Color name from the Quasar Color Palette */ textColor? : string /** * Avoid turning label text into caps (which happens by default)