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
TypeScript
// @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)