UNPKG

solid-js

Version:

A declarative JavaScript library for building user interfaces.

1,071 lines (1,069 loc) 139 kB
/** * Based on JSX types for Surplus and Inferno and adapted for `dom-expressions`. * * https://github.com/adamhaile/surplus/blob/master/index.d.ts * https://github.com/infernojs/inferno/blob/master/packages/inferno/src/core/types.ts */ type DOMElement = Element; export namespace JSX { type Element = | Node | ArrayElement | FunctionElement | string | number | boolean | null | undefined; interface ArrayElement extends Array<Element> {} interface FunctionElement { (): Element; } interface ElementClass { render(props: any): Element; } type LibraryManagedAttributes<Component, Props> = Props; interface ElementChildrenAttribute { children: {}; } interface EventHandler<T, E extends Event> { ( e: E & { currentTarget: T; target: DOMElement; } ): void; } interface BoundEventHandler<T, E extends Event> { 0: ( data: any, e: E & { currentTarget: T; target: DOMElement; } ) => void; 1: any; } type EventHandlerUnion<T, E extends Event> = EventHandler<T, E> | BoundEventHandler<T, E>; interface IntrinsicAttributes { ref?: unknown | ((e: unknown) => void); } interface CustomAttributes<T> { ref?: T | ((el: T) => void); classList?: { [k: string]: boolean | undefined; }; $ServerOnly?: boolean; } interface Directives {} interface ExplicitProperties {} interface ExplicitAttributes {} interface CustomEvents {} interface CustomCaptureEvents {} type DirectiveAttributes = { [Key in keyof Directives as `use:${Key}`]?: Directives[Key]; }; type PropAttributes = { [Key in keyof ExplicitProperties as `prop:${Key}`]?: ExplicitProperties[Key]; }; type AttrAttributes = { [Key in keyof ExplicitAttributes as `attr:${Key}`]?: ExplicitAttributes[Key]; }; type OnAttributes<T> = { [Key in keyof CustomEvents as `on:${Key}`]?: EventHandler<T, CustomEvents[Key]>; } type OnCaptureAttributes<T> = { [Key in keyof CustomCaptureEvents as `oncapture:${Key}`]?: EventHandler<T, CustomCaptureEvents[Key]>; } interface DOMAttributes<T> extends CustomAttributes<T>, DirectiveAttributes, PropAttributes, AttrAttributes, OnAttributes<T>, OnCaptureAttributes<T> { children?: Element; innerHTML?: string; innerText?: string | number; textContent?: string | number; onCopy?: EventHandlerUnion<T, ClipboardEvent>; onCut?: EventHandlerUnion<T, ClipboardEvent>; onPaste?: EventHandlerUnion<T, ClipboardEvent>; onCompositionEnd?: EventHandlerUnion<T, CompositionEvent>; onCompositionStart?: EventHandlerUnion<T, CompositionEvent>; onCompositionUpdate?: EventHandlerUnion<T, CompositionEvent>; onFocus?: EventHandlerUnion<T, FocusEvent>; onFocusOut?: EventHandlerUnion<T, FocusEvent>; onFocusIn?: EventHandlerUnion<T, FocusEvent>; onBlur?: EventHandlerUnion<T, FocusEvent>; onChange?: EventHandlerUnion<T, Event>; onInput?: EventHandlerUnion<T, InputEvent>; onReset?: EventHandlerUnion<T, Event>; onSubmit?: EventHandlerUnion< T, Event & { submitter: HTMLElement; } >; onLoad?: EventHandlerUnion<T, Event>; onError?: EventHandlerUnion<T, Event>; onKeyDown?: EventHandlerUnion<T, KeyboardEvent>; onKeyPress?: EventHandlerUnion<T, KeyboardEvent>; onKeyUp?: EventHandlerUnion<T, KeyboardEvent>; onGotPointerCapture?: EventHandlerUnion<T, PointerEvent>; onLostPointerCapture?: EventHandlerUnion<T, PointerEvent>; onPointerCancel?: EventHandlerUnion<T, PointerEvent>; onPointerDown?: EventHandlerUnion<T, PointerEvent>; onPointerEnter?: EventHandlerUnion<T, PointerEvent>; onPointerLeave?: EventHandlerUnion<T, PointerEvent>; onPointerMove?: EventHandlerUnion<T, PointerEvent>; onPointerOver?: EventHandlerUnion<T, PointerEvent>; onPointerOut?: EventHandlerUnion<T, PointerEvent>; onPointerUp?: EventHandlerUnion<T, PointerEvent>; onAbort?: EventHandlerUnion<T, Event>; onCanPlay?: EventHandlerUnion<T, Event>; onCanPlayThrough?: EventHandlerUnion<T, Event>; onDurationChange?: EventHandlerUnion<T, Event>; onEmptied?: EventHandlerUnion<T, Event>; onEncrypted?: EventHandlerUnion<T, Event>; onEnded?: EventHandlerUnion<T, Event>; onLoadedData?: EventHandlerUnion<T, Event>; onLoadedMetadata?: EventHandlerUnion<T, Event>; onLoadStart?: EventHandlerUnion<T, Event>; onPause?: EventHandlerUnion<T, Event>; onPlay?: EventHandlerUnion<T, Event>; onPlaying?: EventHandlerUnion<T, Event>; onProgress?: EventHandlerUnion<T, Event>; onRateChange?: EventHandlerUnion<T, Event>; onSeeked?: EventHandlerUnion<T, Event>; onSeeking?: EventHandlerUnion<T, Event>; onStalled?: EventHandlerUnion<T, Event>; onSuspend?: EventHandlerUnion<T, Event>; onTimeUpdate?: EventHandlerUnion<T, Event>; onVolumeChange?: EventHandlerUnion<T, Event>; onWaiting?: EventHandlerUnion<T, Event>; onClick?: EventHandlerUnion<T, MouseEvent>; onContextMenu?: EventHandlerUnion<T, MouseEvent>; onDblClick?: EventHandlerUnion<T, MouseEvent>; onDrag?: EventHandlerUnion<T, DragEvent>; onDragEnd?: EventHandlerUnion<T, DragEvent>; onDragEnter?: EventHandlerUnion<T, DragEvent>; onDragExit?: EventHandlerUnion<T, DragEvent>; onDragLeave?: EventHandlerUnion<T, DragEvent>; onDragOver?: EventHandlerUnion<T, DragEvent>; onDragStart?: EventHandlerUnion<T, DragEvent>; onDrop?: EventHandlerUnion<T, DragEvent>; onMouseDown?: EventHandlerUnion<T, MouseEvent>; onMouseEnter?: EventHandlerUnion<T, MouseEvent>; onMouseLeave?: EventHandlerUnion<T, MouseEvent>; onMouseMove?: EventHandlerUnion<T, MouseEvent>; onMouseOut?: EventHandlerUnion<T, MouseEvent>; onMouseOver?: EventHandlerUnion<T, MouseEvent>; onMouseUp?: EventHandlerUnion<T, MouseEvent>; onSelect?: EventHandlerUnion<T, UIEvent>; onTouchCancel?: EventHandlerUnion<T, TouchEvent>; onTouchEnd?: EventHandlerUnion<T, TouchEvent>; onTouchMove?: EventHandlerUnion<T, TouchEvent>; onTouchStart?: EventHandlerUnion<T, TouchEvent>; onScroll?: EventHandlerUnion<T, UIEvent>; onWheel?: EventHandlerUnion<T, WheelEvent>; onAnimationStart?: EventHandlerUnion<T, AnimationEvent>; onAnimationEnd?: EventHandlerUnion<T, AnimationEvent>; onAnimationIteration?: EventHandlerUnion<T, AnimationEvent>; onTransitionEnd?: EventHandlerUnion<T, TransitionEvent>; // lower case events oncopy?: EventHandlerUnion<T, ClipboardEvent>; oncut?: EventHandlerUnion<T, ClipboardEvent>; onpaste?: EventHandlerUnion<T, ClipboardEvent>; oncompositionend?: EventHandlerUnion<T, CompositionEvent>; oncompositionstart?: EventHandlerUnion<T, CompositionEvent>; oncompositionupdate?: EventHandlerUnion<T, CompositionEvent>; onfocus?: EventHandlerUnion<T, FocusEvent>; onfocusout?: EventHandlerUnion<T, FocusEvent>; onfocusin?: EventHandlerUnion<T, FocusEvent>; onblur?: EventHandlerUnion<T, FocusEvent>; onchange?: EventHandlerUnion<T, Event>; oninput?: EventHandlerUnion<T, InputEvent>; onreset?: EventHandlerUnion<T, Event>; onsubmit?: EventHandlerUnion< T, Event & { submitter: HTMLElement; } >; onload?: EventHandlerUnion<T, Event>; onerror?: EventHandlerUnion<T, Event>; onkeydown?: EventHandlerUnion<T, KeyboardEvent>; onkeypress?: EventHandlerUnion<T, KeyboardEvent>; onkeyup?: EventHandlerUnion<T, KeyboardEvent>; ongotpointercapture?: EventHandlerUnion<T, PointerEvent>; onlostpointercapture?: EventHandlerUnion<T, PointerEvent>; onpointercancel?: EventHandlerUnion<T, PointerEvent>; onpointerdown?: EventHandlerUnion<T, PointerEvent>; onpointerenter?: EventHandlerUnion<T, PointerEvent>; onpointerleave?: EventHandlerUnion<T, PointerEvent>; onpointermove?: EventHandlerUnion<T, PointerEvent>; onpointerover?: EventHandlerUnion<T, PointerEvent>; onpointerout?: EventHandlerUnion<T, PointerEvent>; onpointerup?: EventHandlerUnion<T, PointerEvent>; onabort?: EventHandlerUnion<T, Event>; oncanplay?: EventHandlerUnion<T, Event>; oncanplaythrough?: EventHandlerUnion<T, Event>; ondurationchange?: EventHandlerUnion<T, Event>; onemptied?: EventHandlerUnion<T, Event>; onencrypted?: EventHandlerUnion<T, Event>; onended?: EventHandlerUnion<T, Event>; onloadeddata?: EventHandlerUnion<T, Event>; onloadedmetadata?: EventHandlerUnion<T, Event>; onloadstart?: EventHandlerUnion<T, Event>; onpause?: EventHandlerUnion<T, Event>; onplay?: EventHandlerUnion<T, Event>; onplaying?: EventHandlerUnion<T, Event>; onprogress?: EventHandlerUnion<T, Event>; onratechange?: EventHandlerUnion<T, Event>; onseeked?: EventHandlerUnion<T, Event>; onseeking?: EventHandlerUnion<T, Event>; onstalled?: EventHandlerUnion<T, Event>; onsuspend?: EventHandlerUnion<T, Event>; ontimeupdate?: EventHandlerUnion<T, Event>; onvolumechange?: EventHandlerUnion<T, Event>; onwaiting?: EventHandlerUnion<T, Event>; onclick?: EventHandlerUnion<T, MouseEvent>; oncontextmenu?: EventHandlerUnion<T, MouseEvent>; ondblclick?: EventHandlerUnion<T, MouseEvent>; ondrag?: EventHandlerUnion<T, DragEvent>; ondragend?: EventHandlerUnion<T, DragEvent>; ondragenter?: EventHandlerUnion<T, DragEvent>; ondragexit?: EventHandlerUnion<T, DragEvent>; ondragleave?: EventHandlerUnion<T, DragEvent>; ondragover?: EventHandlerUnion<T, DragEvent>; ondragstart?: EventHandlerUnion<T, DragEvent>; ondrop?: EventHandlerUnion<T, DragEvent>; onmousedown?: EventHandlerUnion<T, MouseEvent>; onmouseenter?: EventHandlerUnion<T, MouseEvent>; onmouseleave?: EventHandlerUnion<T, MouseEvent>; onmousemove?: EventHandlerUnion<T, MouseEvent>; onmouseout?: EventHandlerUnion<T, MouseEvent>; onmouseover?: EventHandlerUnion<T, MouseEvent>; onmouseup?: EventHandlerUnion<T, MouseEvent>; onselect?: EventHandlerUnion<T, UIEvent>; ontouchcancel?: EventHandlerUnion<T, TouchEvent>; ontouchend?: EventHandlerUnion<T, TouchEvent>; ontouchmove?: EventHandlerUnion<T, TouchEvent>; ontouchstart?: EventHandlerUnion<T, TouchEvent>; onscroll?: EventHandlerUnion<T, UIEvent>; onwheel?: EventHandlerUnion<T, WheelEvent>; onanimationstart?: EventHandlerUnion<T, AnimationEvent>; onanimationend?: EventHandlerUnion<T, AnimationEvent>; onanimationiteration?: EventHandlerUnion<T, AnimationEvent>; ontransitionend?: EventHandlerUnion<T, TransitionEvent>; } type CSSWideKeyword = "initial" | "inherit" | "unset"; type CSSPercentage = string; type CSSLength = number | string; interface CSSProperties { /** * Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how justify-content aligns individual items within the main-axis. */ "align-content"?: | CSSWideKeyword | "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "stretch"; /** * Sets the default alignment in the cross axis for all of the flex container's items, including anonymous flex items, similarly to how justify-content aligns items along the main axis. */ "align-items"?: CSSWideKeyword | "flex-start" | "flex-end" | "center" | "baseline" | "stretch"; /** * Allows the default alignment to be overridden for individual flex items. */ "align-self"?: | CSSWideKeyword | "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch"; /** * This property allows precise alignment of elements, such as graphics, * that do not have a baseline-table or lack the desired baseline in their baseline-table. * With the alignment-adjust property, the position of the baseline identified by the alignment-baseline * can be explicitly determined. It also determines precisely the alignment point for each glyph within a textual element. */ "alignment-adjust"?: CSSWideKeyword | any; "alignment-baseline"?: CSSWideKeyword | any; /** * Defines a length of time to elapse before an animation starts, allowing an animation to begin execution some time after it is applied. */ "animation-delay"?: CSSWideKeyword | any; /** * Defines whether an animation should run in reverse on some or all cycles. */ "animation-direction"?: CSSWideKeyword | any; /** * Defines how long an animation runs for. */ "animation-duration"?: CSSWideKeyword | any; /** * Specifies how many times an animation cycle should play. */ "animation-iteration-count"?: CSSWideKeyword | any; /** * Defines the list of animations that apply to the element. */ "animation-name"?: CSSWideKeyword | any; /** * Defines whether an animation is running or paused. */ "animation-play-state"?: CSSWideKeyword | any; /** * Allows changing the style of any element to platform-based interface elements or vice versa. */ appearance?: CSSWideKeyword | any; /** * Determines whether or not the “back” side of a transformed element is visible when facing the viewer. */ "backface-visibility"?: CSSWideKeyword | any; /** * Shorthand property to set the values for one or more of: * background-clip, background-color, background-image, * background-origin, background-position, background-repeat, * background-size, and background-attachment. */ background?: CSSWideKeyword | any; /** * If a background-image is specified, this property determines * whether that image's position is fixed within the viewport, * or scrolls along with its containing block. * See CSS 3 background-attachment property https://drafts.csswg.org/css-backgrounds-3/#the-background-attachment */ "background-attachment"?: CSSWideKeyword | "scroll" | "fixed" | "local"; /** * This property describes how the element's background images should blend with each other and the element's background color. * The value is a list of blend modes that corresponds to each background image. Each element in the list will apply to the * corresponding element of background-image. If a property doesn’t have enough comma-separated values to match the number of layers, * the UA must calculate its used value by repeating the list of values until there are enough. */ "background-blend-mode"?: CSSWideKeyword | any; /** * Sets the background color of an element. */ "background-color"?: CSSWideKeyword | any; "background-composite"?: CSSWideKeyword | any; /** * Applies one or more background images to an element. These can be any valid CSS image, including url() paths to image files or CSS gradients. */ "background-image"?: CSSWideKeyword | any; /** * Specifies what the background-position property is relative to. */ "background-origin"?: CSSWideKeyword | any; /** * Sets the position of a background image. */ "background-position"?: CSSWideKeyword | any; /** * Background-repeat defines if and how background images will be repeated after they have been sized and positioned */ "background-repeat"?: CSSWideKeyword | any; /** * Defines the size of the background images */ "background-size"?: CSSWideKeyword | any; /** * Obsolete - spec retired, not implemented. */ "baseline-shift"?: CSSWideKeyword | any; /** * Non standard. Sets or retrieves the location of the Dynamic HTML (DHTML) behavior. */ behavior?: CSSWideKeyword | any; /** * Shorthand property that defines the different properties of all four sides of an element's border in a single declaration. * It can be used to set border-width, border-style and border-color, or a subset of these. */ border?: CSSWideKeyword | any; /** * Shorthand that sets the values of border-bottom-color, * border-bottom-style, and border-bottom-width. */ "border-bottom"?: CSSWideKeyword | any; /** * Sets the color of the bottom border of an element. */ "border-bottom-color"?: CSSWideKeyword | any; /** * Defines the shape of the border of the bottom-left corner. */ "border-bottom-left-radius"?: CSSWideKeyword | CSSLength; /** * Defines the shape of the border of the bottom-right corner. */ "border-bottom-right-radius"?: CSSWideKeyword | CSSLength; /** * Sets the line style of the bottom border of a box. */ "border-bottom-style"?: CSSWideKeyword | any; /** * Sets the width of an element's bottom border. To set all four borders, * use the border-width shorthand property which sets the values simultaneously for border-top-width, * border-right-width, border-bottom-width, and border-left-width. */ "border-bottom-width"?: CSSWideKeyword | any; /** * Border-collapse can be used for collapsing the borders between table cells */ "border-collapse"?: CSSWideKeyword | any; /** * The CSS border-color property sets the color of an element's four borders. * This property can have from one to four values, made up of the elementary properties: * • border-top-color * • border-right-color * • border-bottom-color * • border-left-color The default color is the currentColor of each of these values. * If you provide one value, it sets the color for the element. Two values set the horizontal and vertical values, * respectively. Providing three values sets the top, vertical, and bottom values, in that order. * Four values set all for sides: top, right, bottom, and left, in that order. */ "border-color"?: CSSWideKeyword | any; /** * Specifies different corner clipping effects, such as scoop (inner curves), bevel (straight cuts) or notch (cut-off rectangles). * Works along with border-radius to specify the size of each corner effect. */ "border-corner-shape"?: CSSWideKeyword | any; /** * The property border-image-source is used to set the image to be used instead of the border style. * If this is set to none the border-style is used instead. */ "border-image-source"?: CSSWideKeyword | any; /** * The border-image-width CSS property defines the offset to use for dividing the border image in nine parts, * the top-left corner, central top edge, top-right-corner, central right edge, bottom-right corner, central bottom edge, * bottom-left corner, and central right edge. They represent inward distance from the top, right, bottom, and left edges. */ "border-image-width"?: CSSWideKeyword | any; /** * Shorthand property that defines the border-width, border-style and border-color of an element's left border in a single declaration. * Note that you can use the corresponding longhand properties to set specific individual properties of the left border — border-left-width, * border-left-style and border-left-color. */ "border-left"?: CSSWideKeyword | any; /** * The CSS border-left-color property sets the color of an element's left border. This page explains the border-left-color value, * but often you will find it more convenient to fix the border's left color as part of a shorthand set, either border-left or border-color. * Colors can be defined several ways. For more information, see Usage. */ "border-left-color"?: CSSWideKeyword | any; /** * Sets the style of an element's left border. To set all four borders, use the shorthand property, border-style. * Otherwise, you can set the borders individually with border-top-style, border-right-style, border-bottom-style, border-left-style. */ "border-left-style"?: CSSWideKeyword | any; /** * Sets the width of an element's left border. To set all four borders, * use the border-width shorthand property which sets the values simultaneously for border-top-width, * border-right-width, border-bottom-width, and border-left-width. */ "border-left-width"?: CSSWideKeyword | any; /** * Shorthand property that sets the rounding of all four corners. */ "border-radius"?: CSSWideKeyword | CSSLength; /** * Shorthand property that defines the border-width, border-style and border-color of an element's right border * in a single declaration. Note that you can use the corresponding longhand properties to set specific * individual properties of the right border — border-right-width, border-right-style and border-right-color. */ "border-right"?: CSSWideKeyword | any; /** * Sets the color of an element's right border. This page explains the border-right-color value, * but often you will find it more convenient to fix the border's right color as part of a shorthand set, * either border-right or border-color. * Colors can be defined several ways. For more information, see Usage. */ "border-right-color"?: CSSWideKeyword | any; /** * Sets the style of an element's right border. To set all four borders, use the shorthand property, * border-style. Otherwise, you can set the borders individually with border-top-style, border-right-style, * border-bottom-style, border-left-style. */ "border-right-style"?: CSSWideKeyword | any; /** * Sets the width of an element's right border. To set all four borders, * use the border-width shorthand property which sets the values simultaneously for border-top-width, * border-right-width, border-bottom-width, and border-left-width. */ "border-right-width"?: CSSWideKeyword | any; /** * Specifies the distance between the borders of adjacent cells. */ "border-spacing"?: CSSWideKeyword | any; /** * Sets the style of an element's four borders. This property can have from one to four values. * With only one value, the value will be applied to all four borders; * otherwise, this works as a shorthand property for each of border-top-style, border-right-style, * border-bottom-style, border-left-style, where each border style may be assigned a separate value. */ "border-style"?: CSSWideKeyword | any; /** * Shorthand property that defines the border-width, border-style and border-color of an element's top border * in a single declaration. Note that you can use the corresponding longhand properties to set specific * individual properties of the top border — border-top-width, border-top-style and border-top-color. */ "border-top"?: CSSWideKeyword | any; /** * Sets the color of an element's top border. This page explains the border-top-color value, * but often you will find it more convenient to fix the border's top color as part of a shorthand set, * either border-top or border-color. * Colors can be defined several ways. For more information, see Usage. */ "border-top-color"?: CSSWideKeyword | any; /** * Sets the rounding of the top-left corner of the element. */ "border-top-left-radius"?: CSSWideKeyword | CSSLength; /** * Sets the rounding of the top-right corner of the element. */ "border-top-right-radius"?: CSSWideKeyword | CSSLength; /** * Sets the style of an element's top border. To set all four borders, use the shorthand property, border-style. * Otherwise, you can set the borders individually with border-top-style, border-right-style, border-bottom-style, border-left-style. */ "border-top-style"?: CSSWideKeyword | any; /** * Sets the width of an element's top border. To set all four borders, * use the border-width shorthand property which sets the values simultaneously for border-top-width, * border-right-width, border-bottom-width, and border-left-width. */ "border-top-width"?: CSSWideKeyword | any; /** * Sets the width of an element's four borders. This property can have from one to four values. * This is a shorthand property for setting values simultaneously for border-top-width, * border-right-width, border-bottom-width, and border-left-width. */ "border-width"?: CSSWideKeyword | any; /** * This property specifies how far an absolutely positioned box's bottom margin edge * is offset above the bottom edge of the box's containing block. For relatively positioned boxes, * the offset is with respect to the bottom edges of the box itself * (i.e., the box is given a position in the normal flow, then offset from that position according to these properties). */ bottom?: CSSWideKeyword | any; /** * Obsolete. */ "box-align"?: CSSWideKeyword | any; /** * Breaks a box into fragments creating new borders, * padding and repeating backgrounds or lets it stay as a continuous box on a page break, * column break, or, for inline elements, at a line break. */ "box-decoration-break"?: CSSWideKeyword | any; /** * Deprecated */ "box-direction"?: CSSWideKeyword | any; /** * Do not use. This property has been replaced by the flex-wrap property. * Gets or sets a value that specifies the direction to add successive rows or columns when the value of box-lines is set to multiple. */ "box-line-progression"?: CSSWideKeyword | any; /** * Do not use. This property has been replaced by the flex-wrap property. * Gets or sets a value that specifies whether child elements wrap onto multiple lines or columns based on the space available in the object. */ "box-lines"?: CSSWideKeyword | any; /** * Do not use. This property has been replaced by flex-order. * Specifies the ordinal group that a child element of the object belongs to. * This ordinal value identifies the display order (along the axis defined by the box-orient property) for the group. */ "box-ordinal-group"?: CSSWideKeyword | any; /** * Deprecated. */ "box-flex"?: CSSWideKeyword | number; /** * Deprecated. */ "box-flex-group"?: CSSWideKeyword | number; /** * Cast a drop shadow from the frame of almost any element. * MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow */ "box-shadow"?: CSSWideKeyword | any; /** * The CSS break-after property allows you to force a break on multi-column layouts. * More specifically, it allows you to force a break after an element. * It allows you to determine if a break should occur, and what type of break it should be. * The break-after CSS property describes how the page, column or region break behaves after the generated box. * If there is no generated box, the property is ignored. */ "break-after"?: CSSWideKeyword | any; /** * Control page/column/region breaks that fall above a block of content */ "break-before"?: CSSWideKeyword | any; /** * Control page/column/region breaks that fall within a block of content */ "break-inside"?: CSSWideKeyword | any; /** * The clear CSS property specifies if an element can be positioned next to * or must be positioned below the floating elements that precede it in the markup. */ clear?: CSSWideKeyword | any; /** * Deprecated; see clip-path. * Lets you specify the dimensions of an absolutely positioned element that should be visible, * and the element is clipped into this shape, and displayed. */ clip?: CSSWideKeyword | any; /** * Clipping crops an graphic, so that only a portion of the graphic is rendered, or filled. * This clip-rule property, when used with the clip-path property, defines which clip rule, or algorithm, * to use when filling the different parts of a graphics. */ "clip-rule"?: CSSWideKeyword | any; /** * The color property sets the color of an element's foreground content (usually text), * accepting any standard CSS color from keywords and hex values to RGB(a) and HSL(a). */ color?: CSSWideKeyword | any; /** * Describes the number of columns of the element. * See CSS 3 column-count property https://www.w3.org/TR/css3-multicol/#cc */ "column-count"?: CSSWideKeyword | number | "auto"; /** * Specifies how to fill columns (balanced or sequential). */ "column-fill"?: CSSWideKeyword | any; /** * The column-gap property controls the width of the gap between columns in multi-column elements. */ "column-gap"?: CSSWideKeyword | any; /** * Sets the width, style, and color of the rule between columns. */ "column-rule"?: CSSWideKeyword | any; /** * Specifies the color of the rule between columns. */ "column-rule-color"?: CSSWideKeyword | any; /** * Specifies the width of the rule between columns. */ "column-rule-width"?: CSSWideKeyword | any; /** * The column-span CSS property makes it possible for an element to span across all columns when its value is set to all. * An element that spans more than one column is called a spanning element. */ "column-span"?: CSSWideKeyword | any; /** * Specifies the width of columns in multi-column elements. */ "column-width"?: CSSWideKeyword | any; /** * This property is a shorthand property for setting column-width and/or column-count. */ columns?: CSSWideKeyword | any; /** * The counter-increment property accepts one or more names of counters (identifiers), * each one optionally followed by an integer which specifies the value by which the counter should be incremented * (e.g. if the value is 2, the counter increases by 2 each time it is invoked). */ "counter-increment"?: CSSWideKeyword | any; /** * The counter-reset property contains a list of one or more names of counters, * each one optionally followed by an integer (otherwise, the integer defaults to 0.). * Each time the given element is invoked, the counters specified by the property are set to the given integer. */ "counter-reset"?: CSSWideKeyword | any; /** * The cue property specifies sound files (known as an "auditory icon") to be played by speech media agents * before and after presenting an element's content; if only one file is specified, it is played both before and after. * The volume at which the file(s) should be played, relative to the volume of the main element, may also be specified. * The icon files may also be set separately with the cue-before and cue-after properties. */ cue?: CSSWideKeyword | any; /** * The cue-after property specifies a sound file (known as an "auditory icon") to be played by speech media agents * after presenting an element's content; the volume at which the file should be played may also be specified. * The shorthand property cue sets cue sounds for both before and after the element is presented. */ "cue-after"?: CSSWideKeyword | any; /** * Specifies the mouse cursor displayed when the mouse pointer is over an element. */ cursor?: CSSWideKeyword | any; /** * The direction CSS property specifies the text direction/writing direction. The rtl is used for Hebrew or Arabic text, the ltr is for other languages. */ direction?: CSSWideKeyword | any; /** * This property specifies the type of rendering box used for an element. It is a shorthand property for many other display properties. */ display?: CSSWideKeyword | any; /** * The ‘fill’ property paints the interior of the given graphical element. * The area to be painted consists of any areas inside the outline of the shape. * To determine the inside of the shape, all subpaths are considered, * and the interior is determined according to the rules associated with the current value of the ‘fill-rule’ property. * The zero-width geometric outline of a shape is included in the area to be painted. */ fill?: CSSWideKeyword | any; /** * SVG: Specifies the opacity of the color or the content the current object is filled with. * See SVG 1.1 https://www.w3.org/TR/SVG/painting.html#FillOpacityProperty */ "fill-opacity"?: CSSWideKeyword | number; /** * The ‘fill-rule’ property indicates the algorithm which is to be used to determine what parts of the canvas are included inside the shape. * For a simple, non-intersecting path, it is intuitively clear what region lies "inside"; * however, for a more complex path, such as a path that intersects itself or where one subpath encloses another, * the interpretation of "inside" is not so obvious. * The ‘fill-rule’ property provides two options for how the inside of a shape is determined: */ "fill-rule"?: CSSWideKeyword | any; /** * Applies various image processing effects. This property is largely unsupported. See Compatibility section for more information. */ filter?: CSSWideKeyword | any; /** * Shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`. */ flex?: CSSWideKeyword | number | string; /** * Obsolete, do not use. This property has been renamed to align-items. * Specifies the alignment (perpendicular to the layout axis defined by the flex-direction property) of child elements of the object. */ "flex-align"?: CSSWideKeyword | any; /** * The flex-basis CSS property describes the initial main size of the flex item * before any free space is distributed according to the flex factors described in the flex property (flex-grow and flex-shrink). */ "flex-basis"?: CSSWideKeyword | any; /** * The flex-direction CSS property describes how flex items are placed in the flex container, by setting the direction of the flex container's main axis. */ "flex-direction"?: CSSWideKeyword | "row" | "row-reverse" | "column" | "column-reverse"; /** * The flex-flow CSS property defines the flex container's main and cross axis. It is a shorthand property for the flex-direction and flex-wrap properties. */ "flex-flow"?: CSSWideKeyword | string; /** * Specifies the flex grow factor of a flex item. * See CSS flex-grow property https://drafts.csswg.org/css-flexbox-1/#flex-grow-property */ "flex-grow"?: CSSWideKeyword | number; /** * Do not use. This property has been renamed to align-self * Specifies the alignment (perpendicular to the layout axis defined by flex-direction) of child elements of the object. */ "flex-item-align"?: CSSWideKeyword | any; /** * Do not use. This property has been renamed to align-content. * Specifies how a flexbox's lines align within the flexbox when there is extra space along the axis that is perpendicular to the axis defined by the flex-direction property. */ "flex-line-pack"?: CSSWideKeyword | any; /** * Gets or sets a value that specifies the ordinal group that a flexbox element belongs to. This ordinal value identifies the display order for the group. */ "flex-order"?: CSSWideKeyword | any; /** * Specifies the flex shrink factor of a flex item. * See CSS flex-shrink property https://drafts.csswg.org/css-flexbox-1/#flex-shrink-property */ "flex-shrink"?: CSSWideKeyword | number; /** * Specifies whether flex items are forced into a single line or can be wrapped onto multiple lines. * If wrapping is allowed, this property also enables you to control the direction in which lines are stacked. * See CSS flex-wrap property https://drafts.csswg.org/css-flexbox-1/#flex-wrap-property */ "flex-wrap"?: CSSWideKeyword | "nowrap" | "wrap" | "wrap-reverse"; /** * Elements which have the style float are floated horizontally. * These elements can move as far to the left or right of the containing element. * All elements after the floating element will flow around it, but elements before the floating element are not impacted. * If several floating elements are placed after each other, they will float next to each other as long as there is room. */ float?: CSSWideKeyword | any; /** * Flows content from a named flow (specified by a corresponding flow-into) through selected elements to form a dynamic chain of layout regions. */ "flow-from"?: CSSWideKeyword | any; /** * The font property is shorthand that allows you to do one of two things: you can either set up six of the most mature font properties in one line, * or you can set one of a choice of keywords to adopt a system font setting. */ font?: CSSWideKeyword | any; /** * The font-family property allows one or more font family names and/or generic family names to be specified for usage on the selected element(s)' text. * The browser then goes through the list; for each character in the selection it applies the first font family that has an available glyph for that character. */ "font-family"?: CSSWideKeyword | any; /** * The font-kerning property allows contextual adjustment of inter-glyph spacing, i.e. the spaces between the characters in text. * This property controls <bold>metric kerning</bold> - that utilizes adjustment data contained in the font. Optical Kerning is not supported as yet. */ "font-kerning"?: CSSWideKeyword | any; /** * Specifies the size of the font. Used to compute em and ex units. * See CSS 3 font-size property https://www.w3.org/TR/css-fonts-3/#propdef-font-size */ "font-size"?: | CSSWideKeyword | "xx-small" | "x-small" | "small" | "medium" | "large" | "x-large" | "xx-large" | "larger" | "smaller" | CSSLength | CSSPercentage; /** * The font-size-adjust property adjusts the font-size of the fallback fonts defined with font-family, * so that the x-height is the same no matter what font is used. * This preserves the readability of the text when fallback happens. * See CSS 3 font-size-adjust property https://www.w3.org/TR/css-fonts-3/#propdef-font-size-adjust */ "font-size-adjust"?: CSSWideKeyword | "none" | number; /** * Allows you to expand or condense the widths for a normal, condensed, or expanded font face. * See CSS 3 font-stretch property https://drafts.csswg.org/css-fonts-3/#propdef-font-stretch */ "font-stretch"?: | CSSWideKeyword | "normal" | "ultra-condensed" | "extra-condensed" | "condensed" | "semi-condensed" | "semi-expanded" | "expanded" | "extra-expanded" | "ultra-expanded"; /** * The font-style property allows normal, 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. * Oblique faces can be simulated by artificially sloping the glyphs of the regular face. * See CSS 3 font-style property https://www.w3.org/TR/css-fonts-3/#propdef-font-style */ "font-style"?: CSSWideKeyword | "normal" | "italic" | "oblique"; /** * This value specifies whether the user agent is allowed to synthesize bold or oblique font faces when a font family lacks bold or italic faces. */ "font-synthesis"?: CSSWideKeyword | any; /** * The font-variant property enables you to select the small-caps font within a font family. */ "font-variant"?: CSSWideKeyword | any; /** * Fonts can provide alternate glyphs in addition to default glyph for a character. This property provides control over the selection of these alternate glyphs. */ "font-variant-alternates"?: CSSWideKeyword | any; /** * Specifies the weight or boldness of the font. * See CSS 3 'font-weight' property https://www.w3.org/TR/css-fonts-3/#propdef-font-weight */ "font-weight"?: | CSSWideKeyword | "normal" | "bold" | "bolder" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900; /** * Lays out one or more grid items bound by 4 grid lines. Shorthand for setting grid-column-start, grid-column-end, grid-row-start, and grid-row-end in a single declaration. */ "grid-area"?: CSSWideKeyword | any; /** * Controls a grid item's placement in a grid area, particularly grid position and a grid span. Shorthand for setting grid-column-start and grid-column-end in a single declaration. */ "grid-column"?: CSSWideKeyword | any; /** * Controls a grid item's placement in a grid area as well as grid position and a grid span. * The grid-column-end property (with grid-row-start, grid-row-end, and grid-column-start) determines a grid item's placement by specifying the grid lines of a grid item's grid area. */ "grid-column-end"?: CSSWideKeyword | any; /** * Determines a grid item's placement by specifying the starting grid lines of a grid item's grid area. * A grid item's placement in a grid area consists of a grid position and a grid span. * See also ( grid-row-start, grid-row-end, and grid-column-end) */ "grid-column-start"?: CSSWideKeyword | any; /** * Gets or sets a value that indicates which row an element within a Grid should appear in. Shorthand for setting grid-row-start and grid-row-end in a single declaration. */ "grid-row"?: CSSWideKeyword | any; /** * Determines a grid item’s placement by specifying the block-end. A grid item's placement in a grid area consists of a grid position and a grid span. * The grid-row-end property (with grid-row-start, grid-column-start, and grid-column-end) determines a grid item's placement by specifying the grid lines of a grid item's grid area. */ "grid-row-end"?: CSSWideKeyword | any; /** * Specifies a row position based upon an integer location, string value, or desired row size. * css/properties/grid-row is used as short-hand for grid-row-position and grid-row-position */ "grid-row-position"?: CSSWideKeyword | any; "grid-row-span"?: CSSWideKeyword | any; /** * Specifies named grid areas which are not associated with any particular grid item, but can be referenced from the grid-placement properties. * The syntax of the grid-template-areas property also provides a visualization of the structure of the grid, making the overall layout of the grid container easier to understand. */ "grid-template-areas"?: CSSWideKeyword | any; /** * Specifies (with grid-template-rows) the line names and track sizing functions of the grid. * Each sizing function can be specified as a length, a percentage of the grid container’s size, * a measurement of the contents occupying the column or row, or a fraction of the free space in the grid. */ "grid-template-columns"?: CSSWideKeyword | any; /** * Specifies (with grid-template-columns) the line names and track sizing functions of the grid. * Each sizing function can be specified as a length, a percentage of the grid container’s size, * a measurement of the contents occupying the column or row, or a fraction of the free space in the grid. */ "grid-template-rows"?: CSSWideKeyword | any; /** * Sets the height of an element. The content area of the element height does not include the padding, border, and margin of the element. */ height?: CSSWideKeyword | any; /** * Specifies the minimum number of characters in a hyphenated word */ "hyphenate-limit-chars"?: CSSWideKeyword | any; /** * Indicates the maximum number of successive hyphenated lines in an element. The ‘no-limit’ value means that there is no limit. */ "hyphenate-limit-lines"?: CSSWideKeyword | any; /** * Specifies the maximum amount of trailing whitespace (before justification) that may be left in a line before hyphenation is triggered * to pull part of a word from the next line back up into the current one. */ "hyphenate-limit-zone"?: CSSWideKeyword | any; /** * Specifies whether or not words in a sentence can be split by the use of a manual or automatic hyphenation mechanism. */ hyphens?: CSSWideKeyword | any; "ime-mode"?: CSSWideKeyword | any; /** * Defines how the browser distributes space between and around flex items * along the main-axis of their container. * See CSS justify-content property https://www.w3.org/TR/css-flexbox-1/#justify-content-property */ "justify-content"?: | CSSWideKeyword | "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch"; "layout-grid"?: CSSWideKeyword | any; "layout-grid-char"?: CSSWideKeyword | any; "layout-grid-line"?: CSSWideKeyword | any; "layout-grid-mode"?: CSSWideKeyword | any; "layout-grid-type"?: CSSWideKeyword | any; /** * Sets the left edge of an element */ left?: CSSWideKeyword | any; /** * The letter-spacing CSS property specifies the spacing behavior between text characters. */ "letter-spacing"?: CSSWideKeyword | any; /** * Deprecated. Gets or sets line-breaking rules for text in selected languages such as Japanese, Chinese, and Korean. */ "line-break"?: CSSWideKeyword | any; "line-clamp"?: CSSWideKeyword | number; /** * Specifies the height of an inline block level element. * See CSS 2.1 line-height property https://www.w3.org/TR/CSS21/visudet.html#propdef-line-height */ "line-height"?: CSSWideKeyword | "normal" | number | CSSLength | CSSPercentage; /** * Shorthand property that sets the list-style-type, list-style-position and list-style-image properties in one declaration. */ "list-style"?: CSSWideKeyword | any; /** * This property sets the image that will be used as the list item marker. When the image is available, * it will replace the marker set with the 'list-style-type' marker. That also means that if the image is not available, * it will show the style specified by list-style-property */ "list-style-image"?: CSSWideKeyword | any; /** * Specifies if the list-item markers should appear inside or outside the content flow. */ "list-style-position"?: CSSWideKeyword | any; /** * Specifies the type of list-item marker in a list. */ "list-style-type"?: CSSWideKeyword | any; /** * The margin property is shorthand to allow you to set all four margins of an element at once. * Its equivalent longhand properties are margin-top, margin-right, margin-bottom and margin-left. * Negative values are also allowed. */ margin?: CSSWideKeyword | any; /** * margin-bottom sets the bottom margin of an element. */ "margin-bottom"?: CSSWideKeyword | any; /** * margin-left sets the left margin of an element. */ "margin-left"?: CSSWideKeyword | any; /** * margin-right sets the right margin of an element. */ "margin-right"?: CSSWideKeyword | any; /** * margin-top sets the top margin of an element. */ "margin-top"?: CSSWideKeyword | any; /** * The marquee-direction determines the initial direction in which the marquee content moves. */ "marquee-direction"?: CSSWideKeyword | any; /** * The 'marquee-style' property determines a marquee's scrolling behavior. */ "marquee-style"?: CSSWideKeyword | any; /** * This property is shorthand for setting mask-image, mask-mode, mask-repeat, mask-position, mask-clip, mask-origin, mask-composite and mask-size. * Omitted values are set to their original properties' initial values. */ mask?: CSSWideKeyword | any; /** * This property is shorthand for setting mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, and mask-border-repeat. * Omitted values are set to their original properties' initial values. */ "mask-border"?: CSSWideKeyword | any; /** * This property specifies how the images for the sides and the middle part of the mask image are scaled and tiled. * The first keyword applies to the horizontal sides, the second one applies to the vertical ones. * If the second keyword is absent, it is assumed to be the same as the first, similar to the CSS border-image-repeat property. */ "mask-border-repeat"?: CSSWideKeyword | any; /** * This property specifies inward offsets from the top, right, bottom, and left edges of the mask image, * dividing it into nine regions: four corners, four edges, and a middle. * The middle image part is discarded and treated as fully transparent black unless the fill keyword is present. * The four values set the top, right, bottom and left offsets in that order, similar to the CSS border-image-slice property. */ "mask-border-slice"?: CSSWideKeyword | any; /** * Specifies an image to be used as a mask. An image that is empty, fails to download, is non-existent, or cannot be displayed is ignored and does not mask the element