UNPKG

imba

Version:

Intuitive and powerful language for building webapps that fly

1,630 lines (1,206 loc) 288 kB
/// <reference path="./styles.d.ts" /> declare namespace imbacss { /** * Specifies the width of the content area, padding area or border area (depending on 'box-sizing') of certain boxes. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/width) * * @alias w */ interface width extends _ { set(val: this | Ψlength | Ψpercentage): void; /** The width depends on the values of other properties. */ auto: '' /** Use the fit-content inline size or fit-content block size, as appropriate to the writing mode. */ fitΞcontent: '' /** Use the max-content inline size or max-content block size, as appropriate to the writing mode. */ maxΞcontent: '' /** Use the min-content inline size or min-content block size, as appropriate to the writing mode. */ minΞcontent: '' } /** @proxy width */ interface w extends width { } /** * Specifies the height of the content area, padding area or border area (depending on 'box-sizing') of certain boxes. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/height) * * @alias h */ interface height extends _ { set(val: this | Ψlength | Ψpercentage): void; /** The height depends on the values of other properties. */ auto: '' /** Use the fit-content inline size or fit-content block size, as appropriate to the writing mode. */ fitΞcontent: '' /** Use the max-content inline size or max-content block size, as appropriate to the writing mode. */ maxΞcontent: '' /** Use the min-content inline size or min-content block size, as appropriate to the writing mode. */ minΞcontent: '' } /** @proxy height */ interface h extends height { } /** * In combination with 'float' and 'position', determines the type of box or boxes that are generated for an element. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/display) * * @alias d */ interface display extends _ { set(val: this): void; /** The element generates a block-level box */ block: '' /** The element itself does not generate any boxes, but its children and pseudo-elements still generate boxes as normal. */ contents: '' /** The element generates a principal flex container box and establishes a flex formatting context. */ flex: '' /** Flex with flex-direction set to row */ hflex: '' /** Flex with flex-direction set to column */ vflex: '' /** The element generates a block container box, and lays out its contents using flow layout. */ flowΞroot: '' /** The element generates a principal grid container box, and establishes a grid formatting context. */ grid: '' /** Grid with grid-auto-flow set to column */ hgrid: '' /** Grid with grid-auto-flow set to row */ vgrid: '' /** The element generates an inline-level box. */ inline: '' /** A block box, which itself is flowed as a single inline box, similar to a replaced element. The inside of an inline-block is formatted as a block box, and the box itself is formatted as an inline box. */ inlineΞblock: '' /** Inline-level flex container. */ inlineΞflex: '' /** Inline-level table wrapper box containing table box. */ inlineΞtable: '' /** One or more block boxes and one marker box. */ listΞitem: '' /** The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'. */ ΞmozΞbox: '' ΞmozΞdeck: '' ΞmozΞgrid: '' ΞmozΞgridΞgroup: '' ΞmozΞgridΞline: '' ΞmozΞgroupbox: '' /** Inline-level flex container. Standardized as 'inline-flex' */ ΞmozΞinlineΞbox: '' ΞmozΞinlineΞgrid: '' ΞmozΞinlineΞstack: '' ΞmozΞmarker: '' ΞmozΞpopup: '' ΞmozΞstack: '' /** The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'. */ ΞmsΞflexbox: '' /** The element generates a principal grid container box, and establishes a grid formatting context. */ ΞmsΞgrid: '' /** Inline-level flex container. Standardized as 'inline-flex' */ ΞmsΞinlineΞflexbox: '' /** Inline-level grid container. */ ΞmsΞinlineΞgrid: '' /** The element and its descendants generates no boxes. */ none: '' /** The element generates a principal ruby container box, and establishes a ruby formatting context. */ ruby: '' rubyΞbase: '' rubyΞbaseΞcontainer: '' rubyΞtext: '' rubyΞtextΞcontainer: '' /** The element generates a run-in box. Run-in elements act like inlines or blocks, depending on the surrounding elements. */ runΞin: '' /** The element generates a principal table wrapper box containing an additionally-generated table box, and establishes a table formatting context. */ table: '' tableΞcaption: '' tableΞcell: '' tableΞcolumn: '' tableΞcolumnΞgroup: '' tableΞfooterΞgroup: '' tableΞheaderΞgroup: '' tableΞrow: '' tableΞrowΞgroup: '' /** The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'. */ ΞwebkitΞbox: '' /** The element lays out its contents using flow layout (block-and-inline layout). */ ΞwebkitΞflex: '' /** Inline-level flex container. Standardized as 'inline-flex' */ ΞwebkitΞinlineΞbox: '' /** Inline-level flex container. */ ΞwebkitΞinlineΞflex: '' } /** @proxy display */ interface d extends display { } /** * Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/padding) * * @alias p */ interface padding extends _ { set(val: Ψlength | Ψpercentage, arg1: any, arg2: any, arg3: any): void; } /** @proxy padding */ interface p extends padding { } /** * The position CSS property sets how an element is positioned in a document. The top, right, bottom, and left properties determine the final location of positioned elements. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/position) * * @alias pos */ interface position extends _ { set(val: this): void; /** The box's position (and possibly size) is specified with the 'top', 'right', 'bottom', and 'left' properties. These properties specify offsets with respect to the box's 'containing block'. */ absolute: '' /** The box's position is calculated according to the 'absolute' model, but in addition, the box is fixed with respect to some reference. As with the 'absolute' model, the box's margins do not collapse with any other margins. */ fixed: '' /** The box's position is calculated according to the 'absolute' model. */ ΞmsΞpage: '' /** The box's position is calculated according to the normal flow (this is called the position in normal flow). Then the box is offset relative to its normal position. */ relative: '' /** The box is a normal box, laid out according to the normal flow. The 'top', 'right', 'bottom', and 'left' properties do not apply. */ static: '' /** The box's position is calculated according to the normal flow. Then the box is offset relative to its flow root and containing block and in all cases, including table elements, does not affect the position of any following boxes. */ sticky: '' /** The box's position is calculated according to the normal flow. Then the box is offset relative to its flow root and containing block and in all cases, including table elements, does not affect the position of any following boxes. */ ΞwebkitΞsticky: '' } /** @proxy position */ interface pos extends position { } /** * Shorthand property for setting border width, style, and color. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border) * * @alias bd */ interface border extends _ { set(val: Ψlength | ΨlineΞwidth | ΨlineΞstyle | Ψcolor): void; } /** @proxy border */ interface bd extends border { } /** * Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/margin) * * @alias m */ interface margin extends _ { set(val: this | Ψlength | Ψpercentage, arg1: any, arg2: any, arg3: any): void; auto: '' } /** @proxy margin */ interface m extends margin { } /** * Set asset as inline background svg * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/svg) * */ interface svg extends _ { set(val: any): void; } /** * Specifies how far an absolutely positioned box's top margin edge is offset below the top edge of the box's 'containing block'. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/top) * * @alias t */ interface top extends _ { set(val: this | Ψlength | Ψpercentage): void; /** For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well */ auto: '' } /** @proxy top */ interface t extends top { } /** * Specifies how far an absolutely positioned box's left margin edge is offset to the right of the left edge of the box's 'containing block'. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/left) * * @alias l */ interface left extends _ { set(val: this | Ψlength | Ψpercentage): void; /** For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well */ auto: '' } /** @proxy left */ interface l extends left { } /** * Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits.. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top) * * @alias mt */ interface marginΞtop extends _ { set(val: this | Ψlength | Ψpercentage): void; auto: '' } /** @proxy marginΞtop */ interface mt extends marginΞtop { } /** * Sets the color of an element's text * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/color) * * @alias c */ interface color extends _ { set(val: Ψcolor): void; } /** @proxy color */ interface c extends color { } /** * Indicates the desired height of glyphs from the font. For scalable fonts, the font-size is a scale factor applied to the EM unit of the font. (Note that certain glyphs may bleed outside their EM box.) For non-scalable fonts, the font-size is converted into absolute units and matched against the declared font-size of the font, using the same absolute coordinate space for both of the matched values. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/font-size) * * @alias fs */ interface fontΞsize extends _ { set(val: Ψfs | this | Ψlength | Ψpercentage): void; large: '' larger: '' medium: '' small: '' smaller: '' xΞlarge: '' xΞsmall: '' xxΞlarge: '' xxΞsmall: '' } /** @proxy fontΞsize */ interface fs extends fontΞsize { } /** * Sets the background color of an element. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color) * * @alias bgc */ interface backgroundΞcolor extends _ { set(val: Ψcolor): void; } /** @proxy backgroundΞcolor */ interface bgc extends backgroundΞcolor { } /** * Describes how inline contents of a block are horizontally aligned if the contents do not completely fill the line box. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align) * * @alias ta */ interface textΞalign extends _ { set(val: this | Ψstring): void; /** The inline contents are centered within the line box. */ center: '' /** The inline contents are aligned to the end edge of the line box. */ end: '' /** The text is justified according to the method specified by the 'text-justify' property. */ justify: '' /** The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text. */ left: '' /** The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text. */ right: '' /** The inline contents are aligned to the start edge of the line box. */ start: '' } /** @proxy textΞalign */ interface ta extends textΞalign { } /** * Opacity of an element's text, where 1 is opaque and 0 is entirely transparent. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/opacity) * * @alias o */ interface opacity extends _ { set(val: Ψnumber): void; } /** @proxy opacity */ interface o extends opacity { } /** * Shorthand property for setting most background properties at the same place in the style sheet. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/background) * * @alias bg */ interface background extends _ { set(val: this | Ψimage | Ψcolor | Ψposition | Ψlength | Ψrepeat | Ψpercentage | Ψbox, arg1: any, arg2: any, arg3: any): void; /** The background is fixed with regard to the viewport. In paged media where there is no viewport, a 'fixed' background is fixed with respect to the page box and therefore replicated on every page. */ fixed: '' /** The background is fixed with regard to the element's contents: if the element has a scrolling mechanism, the background scrolls with the element's contents. */ local: '' /** A value of 'none' counts as an image layer but draws nothing. */ none: '' /** The background is fixed with regard to the element itself and does not scroll with its contents. (It is effectively attached to the element's border.) */ scroll: '' } /** @proxy background */ interface bg extends background { } /** * Specifies weight of glyphs in the font, their degree of blackness or stroke thickness. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight) * * @alias fw */ interface fontΞweight extends _ { set(val: this): void; /** Thin */ 100: '' /** Extra Light (Ultra Light) */ 200: '' /** Light */ 300: '' /** Normal */ 400: '' /** Medium */ 500: '' /** Semi Bold (Demi Bold) */ 600: '' /** Bold */ 700: '' /** Extra Bold (Ultra Bold) */ 800: '' /** Black (Heavy) */ 900: '' /** Same as 700 */ bold: '' /** Specifies the weight of the face bolder than the inherited value. */ bolder: '' /** Specifies the weight of the face lighter than the inherited value. */ lighter: '' /** Same as 400 */ normal: '' } /** @proxy fontΞweight */ interface fw extends fontΞweight { } /** * Shorthand for setting 'overflow-x' and 'overflow-y'. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow) * * @alias of */ interface overflow extends _ { set(val: this, arg1: any): void; /** The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes. */ auto: '' /** Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region. */ hidden: '' /** Same as the standardized 'clip', except doesn’t establish a block formatting context. */ ΞmozΞhiddenΞunscrollable: '' /** Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped. */ scroll: '' /** Content is not clipped, i.e., it may be rendered outside the content box. */ visible: '' } /** @proxy overflow */ interface of extends overflow { } /** * Specifies a prioritized list of font family names or generic family names. A user agent iterates through the list of family names until it matches an available font that contains a glyph for the character to be rendered. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/font-family) * * @alias ff */ interface fontΞfamily extends _ { set(val: this | Ψfont, arg1: any, arg2: any, arg3: any): void; cursive: '' fantasy: '' monospace: '' sansΞserif: '' serif: '' } /** @proxy fontΞfamily */ interface ff extends fontΞfamily { } /** * Specifies how a box should be floated. It may be set for any element, but only applies to elements that generate boxes that are not absolutely positioned. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/float) * */ interface float extends _ { set(val: this): void; /** A keyword indicating that the element must float on the end side of its containing block. That is the right side with ltr scripts, and the left side with rtl scripts. */ inlineΞend: '' /** A keyword indicating that the element must float on the start side of its containing block. That is the left side with ltr scripts, and the right side with rtl scripts. */ inlineΞstart: '' /** The element generates a block box that is floated to the left. Content flows on the right side of the box, starting at the top (subject to the 'clear' property). */ left: '' /** The box is not floated. */ none: '' /** Similar to 'left', except the box is floated to the right, and content flows on the left side of the box, starting at the top. */ right: '' } /** * Determines the block-progression dimension of the text content area of an inline box. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/line-height) * * @alias lh */ interface lineΞheight extends _ { set(val: this | Ψnumber | Ψlength | Ψpercentage): void; /** Tells user agents to set the computed value to a 'reasonable' value based on the font size of the element. */ normal: '' } /** @proxy lineΞheight */ interface lh extends lineΞheight { } /** * Specifies the behavior of the 'width' and 'height' properties. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing) * */ interface boxΞsizing extends _ { set(val: this): void; /** The specified width and height (and respective min/max properties) on this element determine the border box of the element. */ borderΞbox: '' /** Behavior of width and height as specified by CSS2.1. The specified width and height (and respective min/max properties) apply to the width and height respectively of the content box of the element. */ contentΞbox: '' } /** * Decorations applied to font used for an element's text. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration) * * @alias td */ interface textΞdecoration extends _ { set(val: this | Ψcolor): void; /** Produces a dashed line style. */ dashed: '' /** Produces a dotted line. */ dotted: '' /** Produces a double line. */ double: '' /** Each line of text has a line through the middle. */ lineΞthrough: '' /** Produces no line. */ none: '' /** Each line of text has a line above it. */ overline: '' /** Produces a solid line. */ solid: '' /** Each line of text is underlined. */ underline: '' /** Produces a wavy line. */ wavy: '' } /** @proxy textΞdecoration */ interface td extends textΞdecoration { } /** * For a positioned box, the 'z-index' property specifies the stack level of the box in the current stacking context and whether the box establishes a local stacking context. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/z-index) * * @alias zi */ interface zΞindex extends _ { set(val: this | Ψinteger): void; /** The stack level of the generated box in the current stacking context is 0. The box does not establish a new stacking context unless it is the root element. */ auto: '' } /** @proxy zΞindex */ interface zi extends zΞindex { } /** * Affects the vertical positioning of the inline boxes generated by an inline-level element inside a line box. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align) * * @alias va */ interface verticalΞalign extends _ { set(val: this | Ψpercentage | Ψlength): void; /** Align the dominant baseline of the parent box with the equivalent, or heuristically reconstructed, baseline of the element inline box. */ auto: '' /** Align the 'alphabetic' baseline of the element with the 'alphabetic' baseline of the parent element. */ baseline: '' /** Align the after edge of the extended inline box with the after-edge of the line box. */ bottom: '' /** Align the 'middle' baseline of the inline element with the middle baseline of the parent. */ middle: '' /** Lower the baseline of the box to the proper position for subscripts of the parent's box. (This value has no effect on the font size of the element's text.) */ sub: '' /** Raise the baseline of the box to the proper position for superscripts of the parent's box. (This value has no effect on the font size of the element's text.) */ super: '' /** Align the bottom of the box with the after-edge of the parent element's font. */ textΞbottom: '' /** Align the top of the box with the before-edge of the parent element's font. */ textΞtop: '' /** Align the before edge of the extended inline box with the before-edge of the line box. */ top: '' ΞwebkitΞbaselineΞmiddle: '' } /** @proxy verticalΞalign */ interface va extends verticalΞalign { } /** * Allows control over cursor appearance in an element * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor) * */ interface cursor extends _ { set(val: this | Ψurl | Ψnumber): void; /** Indicates an alias of/shortcut to something is to be created. Often rendered as an arrow with a small curved arrow next to it. */ alias: '' /** Indicates that the something can be scrolled in any direction. Often rendered as arrows pointing up, down, left, and right with a dot in the middle. */ allΞscroll: '' /** The UA determines the cursor to display based on the current context. */ auto: '' /** Indicates that a cell or set of cells may be selected. Often rendered as a thick plus-sign with a dot in the middle. */ cell: '' /** Indicates that the item/column can be resized horizontally. Often rendered as arrows pointing left and right with a vertical bar separating them. */ colΞresize: '' /** A context menu is available for the object under the cursor. Often rendered as an arrow with a small menu-like graphic next to it. */ contextΞmenu: '' /** Indicates something is to be copied. Often rendered as an arrow with a small plus sign next to it. */ copy: '' /** A simple crosshair (e.g., short line segments resembling a '+' sign). Often used to indicate a two dimensional bitmap selection mode. */ crosshair: '' /** The platform-dependent default cursor. Often rendered as an arrow. */ default: '' /** Indicates that east edge is to be moved. */ eΞresize: '' /** Indicates a bidirectional east-west resize cursor. */ ewΞresize: '' /** Indicates that something can be grabbed. */ grab: '' /** Indicates that something is being grabbed. */ grabbing: '' /** Help is available for the object under the cursor. Often rendered as a question mark or a balloon. */ help: '' /** Indicates something is to be moved. */ move: '' /** Indicates that something can be grabbed. */ ΞmozΞgrab: '' /** Indicates that something is being grabbed. */ ΞmozΞgrabbing: '' /** Indicates that something can be zoomed (magnified) in. */ ΞmozΞzoomΞin: '' /** Indicates that something can be zoomed (magnified) out. */ ΞmozΞzoomΞout: '' /** Indicates that movement starts from north-east corner. */ neΞresize: '' /** Indicates a bidirectional north-east/south-west cursor. */ neswΞresize: '' /** Indicates that the dragged item cannot be dropped at the current cursor location. Often rendered as a hand or pointer with a small circle with a line through it. */ noΞdrop: '' /** No cursor is rendered for the element. */ none: '' /** Indicates that the requested action will not be carried out. Often rendered as a circle with a line through it. */ notΞallowed: '' /** Indicates that north edge is to be moved. */ nΞresize: '' /** Indicates a bidirectional north-south cursor. */ nsΞresize: '' /** Indicates that movement starts from north-west corner. */ nwΞresize: '' /** Indicates a bidirectional north-west/south-east cursor. */ nwseΞresize: '' /** The cursor is a pointer that indicates a link. */ pointer: '' /** A progress indicator. The program is performing some processing, but is different from 'wait' in that the user may still interact with the program. Often rendered as a spinning beach ball, or an arrow with a watch or hourglass. */ progress: '' /** Indicates that the item/row can be resized vertically. Often rendered as arrows pointing up and down with a horizontal bar separating them. */ rowΞresize: '' /** Indicates that movement starts from south-east corner. */ seΞresize: '' /** Indicates that south edge is to be moved. */ sΞresize: '' /** Indicates that movement starts from south-west corner. */ swΞresize: '' /** Indicates text that may be selected. Often rendered as a vertical I-beam. */ text: '' /** Indicates vertical-text that may be selected. Often rendered as a horizontal I-beam. */ verticalΞtext: '' /** Indicates that the program is busy and the user should wait. Often rendered as a watch or hourglass. */ wait: '' /** Indicates that something can be grabbed. */ ΞwebkitΞgrab: '' /** Indicates that something is being grabbed. */ ΞwebkitΞgrabbing: '' /** Indicates that something can be zoomed (magnified) in. */ ΞwebkitΞzoomΞin: '' /** Indicates that something can be zoomed (magnified) out. */ ΞwebkitΞzoomΞout: '' /** Indicates that west edge is to be moved. */ wΞresize: '' /** Indicates that something can be zoomed (magnified) in. */ zoomΞin: '' /** Indicates that something can be zoomed (magnified) out. */ zoomΞout: '' } /** * Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits.. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left) * * @alias ml */ interface marginΞleft extends _ { set(val: this | Ψlength | Ψpercentage): void; auto: '' } /** @proxy marginΞleft */ interface ml extends marginΞleft { } /** * Defines the radii of the outer border edge. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius) * * @alias rd */ interface borderΞradius extends _ { set(val: Ψradius | Ψlength | Ψpercentage, arg1: any, arg2: any, arg3: any): void; } /** @proxy borderΞradius */ interface rd extends borderΞradius { } /** * Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits.. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom) * * @alias mb */ interface marginΞbottom extends _ { set(val: this | Ψlength | Ψpercentage): void; auto: '' } /** @proxy marginΞbottom */ interface mb extends marginΞbottom { } /** * Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits.. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right) * * @alias mr */ interface marginΞright extends _ { set(val: this | Ψlength | Ψpercentage): void; auto: '' } /** @proxy marginΞright */ interface mr extends marginΞright { } /** * Specifies how far an absolutely positioned box's right margin edge is offset to the left of the right edge of the box's 'containing block'. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/right) * * @alias r */ interface right extends _ { set(val: this | Ψlength | Ψpercentage): void; /** For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well */ auto: '' } /** @proxy right */ interface r extends right { } /** * Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/padding-left) * * @alias pl */ interface paddingΞleft extends _ { set(val: Ψlength | Ψpercentage): void; } /** @proxy paddingΞleft */ interface pl extends paddingΞleft { } /** * Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top) * * @alias pt */ interface paddingΞtop extends _ { set(val: Ψlength | Ψpercentage): void; } /** @proxy paddingΞtop */ interface pt extends paddingΞtop { } /** * Allows authors to constrain content width to a certain range. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/max-width) * */ interface maxΞwidth extends _ { set(val: this | Ψlength | Ψpercentage): void; /** No limit on the width of the box. */ none: '' /** Use the fit-content inline size or fit-content block size, as appropriate to the writing mode. */ fitΞcontent: '' /** Use the max-content inline size or max-content block size, as appropriate to the writing mode. */ maxΞcontent: '' /** Use the min-content inline size or min-content block size, as appropriate to the writing mode. */ minΞcontent: '' } /** * Specifies how far an absolutely positioned box's bottom margin edge is offset above the bottom edge of the box's 'containing block'. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/bottom) * * @alias b */ interface bottom extends _ { set(val: this | Ψlength | Ψpercentage): void; /** For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well */ auto: '' } /** @proxy bottom */ interface b extends bottom { } /** * Determines which page-based occurrence of a given element is applied to a counter or string value. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/content) * */ interface content extends _ { set(val: this | Ψstring | Ψurl): void; /** The attr(n) function returns as a string the value of attribute n for the subject of the selector. */ attr(): '' /** Counters are denoted by identifiers (see the 'counter-increment' and 'counter-reset' properties). */ counter(name): '' /** The (pseudo-)element is replaced in its entirety by the resource referenced by its 'icon' property, and treated as a replaced element. */ icon: '' /** On elements, this inhibits the children of the element from being rendered as children of this element, as if the element was empty. On pseudo-elements it causes the pseudo-element to have no content. */ none: '' /** See http://www.w3.org/TR/css3-content/#content for computation rules. */ normal: '' url(): '' } /** * Attaches one or more drop-shadows to the box. The property is a comma-separated list of shadows, each specified by 2-4 length values, an optional color, and an optional 'inset' keyword. Omitted lengths are 0; omitted colors are a user agent chosen color. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow) * * @alias shadow */ interface boxΞshadow extends _ { set(val: Ψshadow | this | Ψlength | Ψcolor): void; /** Changes the drop shadow from an outer shadow (one that shadows the box onto the canvas, as if it were lifted above the canvas) to an inner shadow (one that shadows the canvas onto the box, as if the box were cut out of the canvas and shifted behind it). */ inset: '' /** No shadow. */ none: '' } /** @proxy boxΞshadow */ interface shadow extends boxΞshadow { } /** * Sets the background image(s) of an element. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/background-image) * * @alias bgi */ interface backgroundΞimage extends _ { set(val: this | Ψimage, arg1: any, arg2: any, arg3: any): void; /** Counts as an image layer but draws nothing. */ none: '' } /** @proxy backgroundΞimage */ interface bgi extends backgroundΞimage { } /** * Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/padding-right) * * @alias pr */ interface paddingΞright extends _ { set(val: Ψlength | Ψpercentage): void; } /** @proxy paddingΞright */ interface pr extends paddingΞright { } /** * Shorthand property for the 'white-space-collapsing' and 'text-wrap' properties. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) * * @alias ws */ interface whiteΞspace extends _ { set(val: this): void; /** Sets 'white-space-collapsing' to 'collapse' and 'text-wrap' to 'normal'. */ normal: '' /** Sets 'white-space-collapsing' to 'collapse' and 'text-wrap' to 'none'. */ nowrap: '' /** Sets 'white-space-collapsing' to 'preserve' and 'text-wrap' to 'none'. */ pre: '' /** Sets 'white-space-collapsing' to 'preserve-breaks' and 'text-wrap' to 'normal'. */ preΞline: '' /** Sets 'white-space-collapsing' to 'preserve' and 'text-wrap' to 'normal'. */ preΞwrap: '' } /** @proxy whiteΞspace */ interface ws extends whiteΞspace { } /** * Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/padding-bottom) * * @alias pb */ interface paddingΞbottom extends _ { set(val: Ψlength | Ψpercentage): void; } /** @proxy paddingΞbottom */ interface pb extends paddingΞbottom { } /** * Allows authors to constrain content height to a certain range. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/min-height) * */ interface minΞheight extends _ { set(val: this | Ψlength | Ψpercentage): void; auto: '' /** Use the fit-content inline size or fit-content block size, as appropriate to the writing mode. */ fitΞcontent: '' /** Use the max-content inline size or max-content block size, as appropriate to the writing mode. */ maxΞcontent: '' /** Use the min-content inline size or min-content block size, as appropriate to the writing mode. */ minΞcontent: '' } /** * A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/transform) * */ interface transform extends _ { set(val: this): void; /** Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f] */ matrix(): '' /** Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order. */ matrix3d(): '' none: '' /** Specifies a perspective projection matrix. */ perspective(): '' /** Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property. */ rotate(): '' /** Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters. */ rotate3d(): '' /** Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first. */ scale(): '' /** Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters. */ scale3d(): '' /** Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter. */ scaleX(): '' /** Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter. */ scaleY(): '' /** Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter. */ scaleZ(): '' /** Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis). */ skew(): '' /** Specifies a skew transformation along the X axis by the given angle. */ skewX(): '' /** Specifies a skew transformation along the Y axis by the given angle. */ skewY(): '' /** Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter. */ translate(): '' /** Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively. */ translate3d(): '' /** Specifies a translation by the given amount in the X direction. */ translateX(): '' /** Specifies a translation by the given amount in the Y direction. */ translateY(): '' /** Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0. */ translateZ(): '' } /** * Shorthand property for setting border width, style and color. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom) * * @alias bdb */ interface borderΞbottom extends _ { set(val: Ψlength | ΨlineΞwidth | ΨlineΞstyle | Ψcolor): void; } /** @proxy borderΞbottom */ interface bdb extends borderΞbottom { } /** * Specifies whether the boxes generated by an element are rendered. Invisible boxes still affect layout (set the ‘display’ property to ‘none’ to suppress box generation altogether). * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/visibility) * */ interface visibility extends _ { set(val: this): void; /** Table-specific. If used on elements other than rows, row groups, columns, or column groups, 'collapse' has the same meaning as 'hidden'. */ collapse: '' /** The generated box is invisible (fully transparent, nothing is drawn), but still affects layout. */ hidden: '' /** The generated box is visible. */ visible: '' } /** * Specifies the initial position of the background image(s) (after any resizing) within their corresponding background positioning area. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/background-position) * * @alias bgp */ interface backgroundΞposition extends _ { set(val: Ψposition | Ψlength | Ψpercentage, arg1: any, arg2: any, arg3: any): void; } /** @proxy backgroundΞposition */ interface bgp extends backgroundΞposition { } /** * Shorthand property for setting border width, style and color * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-top) * * @alias bdt */ interface borderΞtop extends _ { set(val: Ψlength | ΨlineΞwidth | ΨlineΞstyle | Ψcolor): void; } /** @proxy borderΞtop */ interface bdt extends borderΞtop { } /** * Allows authors to constrain content width to a certain range. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/min-width) * */ interface minΞwidth extends _ { set(val: this | Ψlength | Ψpercentage): void; auto: '' /** Use the fit-content inline size or fit-content block size, as appropriate to the writing mode. */ fitΞcontent: '' /** Use the max-content inline size or max-content block size, as appropriate to the writing mode. */ maxΞcontent: '' /** Use the min-content inline size or min-content block size, as appropriate to the writing mode. */ minΞcontent: '' } /** * Shorthand property for 'outline-style', 'outline-width', and 'outline-color'. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/outline) * */ interface outline extends _ { set(val: this | Ψlength | ΨlineΞwidth | ΨlineΞstyle | Ψcolor): void; /** Permits the user agent to render a custom outline style, typically the default platform style. */ auto: '' /** Performs a color inversion on the pixels on the screen. */ invert: '' } /** * The color of the border around all four edges of an element. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-color) * * @alias bc */ interface borderΞcolor extends _ { set(val: Ψcolor, arg1: any, arg2: any, arg3: any): void; } /** @proxy borderΞcolor */ interface bc extends borderΞcolor { } /** * Specifies how background images are tiled after they have been sized and positioned. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat) * * @alias bgr */ interface backgroundΞrepeat extends _ { set(val: Ψrepeat, arg1: any, arg2: any, arg3: any): void; } /** @proxy backgroundΞrepeat */ interface bgr extends backgroundΞrepeat { } /** * Controls capitalization effects of an element’s text. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform) * * @alias tt */ interface textΞtransform extends _ { set(val: this): void; /** Puts the first typographic letter unit of each word in titlecase. */ capitalize: '' /** Puts all letters in lowercase. */ lowercase: '' /** No effects. */ none: '' /** Puts all letters in uppercase. */ uppercase: '' } /** @proxy textΞtransform */ interface tt extends textΞtransform { } /** * Specifies the size of the background images. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/background-size) * * @alias bgs */ interface backgroundΞsize extends _ { set(val: this | Ψlength | Ψpercentage, arg1: any, arg2: any, arg3: any): void; /** Resolved by using the image’s intrinsic ratio and the size of the other dimension, or failing that, using the image’s intrinsic size, or failing that, treating it as 100%. */ auto: '' /** Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area. */ contain: '' /** Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area. */ cover: '' } /** @proxy backgroundΞsize */ interface bgs extends backgroundΞsize { } /** * Indicates which sides of an element's box(es) may not be adjacent to an earlier floating box. The 'clear' property does not consider floats inside the element itself or in other block formatting contexts. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/clear) * */ interface clear extends _ { set(val: this): void; /** The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any right-floating and left-floating boxes that resulted from elements earlier in the source document. */ both: '' /** The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any left-floating boxes that resulted from elements earlier in the source document. */ left: '' /** No constraint on the box's position with respect to floats. */ none: '' /** The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any right-floating boxes that resulted from elements earlier in the source document. */ right: '' } /** * Allows authors to constrain content height to a certain range. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/max-height) * */ interface maxΞheight extends _ { set(val: this | Ψlength | Ψpercentage): void; /** No limit on the height of the box. */ none: '' /** Use the fit-content inline size or fit-content block size, as appropriate to the writing mode. */ fitΞcontent: '' /** Use the max-content inline size or max-content block size, as appropriate to the writing mode. */ maxΞcontent: '' /** Use the min-content inline size or min-content block size, as appropriate to the writing mode. */ minΞcontent: '' } /** * Shorthand for setting 'list-style-type', 'list-style-position' and 'list-style-image' * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style) * */ interface listΞstyle extends _ { set(val: this | Ψimage | Ψurl): void; armenian: '' /** A hollow circle. */ circle: '' decimal: '' decimalΞleadingΞzero: '' /** A filled circle. */ disc: '' georgian: '' /** The marker box is outside the principal block box, as described in the section on the ::marker pseudo-element below. */ inside: '' lowerΞalpha: '' lowerΞgreek: '' lowerΞlatin: '' lowerΞroman: '' none: '' /** The ::marker pseudo-element is an inline element placed immediately before all ::before pseudo-elements in the principal block box, after which the element's content flows. */ outside: '' /** A filled square. */ square: '' /** Allows a counter style to be defined inline. */ symbols(): '' upperΞalpha: '' upperΞlatin: '' upperΞroman: '' url(): '' } /** * Allows italic or oblique faces to be selected. Italic forms are generally cursive in nature while oblique faces are typically sloped versions of the regular face. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/font-style) * */ interface fontΞstyle extends _ { set(val: this): void; /** Selects a font that is labeled as an 'italic' face, or an 'oblique' face if one is not */ italic: '' /** Selects a face that is classified as 'normal'. */ normal: '' /** Selects a font that is labeled as an 'oblique' face, or an 'italic' face if one is not. */ oblique: '' } /** * Shorthand property for setting 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height', and 'font-family', at the same place in the style sheet. The syntax of this property is based on a traditional typographical shorthand notation to set multiple properties related to fonts. * * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/font) * */ interface font extends _ { set(val: this | Ψfont): void; /** Thin */ 100: '' /** Extra Light (Ultra Light) */ 200: '' /** Light */ 300: '' /** Normal */ 400: '' /** Medium */ 500: '' /** Semi Bold (Demi Bold) */ 600: '' /** Bold */ 700: '' /** Extra Bold (Ultra Bold) */ 800: '' /** Black (Heavy) */ 900: '' /** Same as 700 */ bold: '' /** Specifies the weight of the face bolder than the inherited value. */ bolder: '' /** The font used for captioned controls (e.g., buttons, drop-downs, etc.). */ caption: '' /** The font used to label icons. */ icon: '' /** Selects a font that is labeled 'italic', or, if that is not available, one labeled 'oblique'. */ italic: '' large: '' larger: '' /** Specifies the weight of the face lighter than the inherited value. */ lighter: '' medium: '' /** The font used in menus (e.g., dropdown menus and menu lists). */ menu: '' /** The font used in dialog boxes. */ messageΞbox: '' /** Specifies a face that is not labeled as a small-caps font. */ normal: '' /** Selects a font that is labeled 'oblique'. */ oblique: '' small: '' /** Specifies a font that is labeled as a small-caps font. If a genuine small-caps font is not available, user agents should simulate a small-caps font. */ smallΞcaps: '' /** The font used for labeling small controls. */ smallΞcaption: '' smaller: '' /** The font used in window status bars. */ statusΞbar: '' xΞlarge: '' xΞsmall: '' xxΞlarge: '' xxΞsmall: '' }