divkit.dsl.Text.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kotlin-json-builder Show documentation
Show all versions of kotlin-json-builder Show documentation
DivKit is an open source Server-Driven UI (SDUI) framework. SDUI is a an emerging technique that leverage the server to build the user interfaces of their mobile app.
@file:Suppress(
"unused",
"UNUSED_PARAMETER",
)
package divkit.dsl
import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonValue
import divkit.dsl.annotation.*
import divkit.dsl.core.*
import divkit.dsl.scope.*
import kotlin.Any
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
/**
* Text.
*
* Can be created using the method [text].
*
* Required parameters: `type, text`.
*/
@Generated
class Text internal constructor(
@JsonIgnore
val properties: Properties,
) : Div {
@JsonAnyGetter
internal fun getJsonProperties(): Map = properties.mergeWith(
mapOf("type" to "text")
)
operator fun plus(additive: Properties): Text = Text(
Properties(
text = additive.text ?: properties.text,
accessibility = additive.accessibility ?: properties.accessibility,
action = additive.action ?: properties.action,
actionAnimation = additive.actionAnimation ?: properties.actionAnimation,
actions = additive.actions ?: properties.actions,
alignmentHorizontal = additive.alignmentHorizontal ?: properties.alignmentHorizontal,
alignmentVertical = additive.alignmentVertical ?: properties.alignmentVertical,
alpha = additive.alpha ?: properties.alpha,
autoEllipsize = additive.autoEllipsize ?: properties.autoEllipsize,
background = additive.background ?: properties.background,
border = additive.border ?: properties.border,
columnSpan = additive.columnSpan ?: properties.columnSpan,
disappearActions = additive.disappearActions ?: properties.disappearActions,
doubletapActions = additive.doubletapActions ?: properties.doubletapActions,
ellipsis = additive.ellipsis ?: properties.ellipsis,
extensions = additive.extensions ?: properties.extensions,
focus = additive.focus ?: properties.focus,
focusedTextColor = additive.focusedTextColor ?: properties.focusedTextColor,
fontFamily = additive.fontFamily ?: properties.fontFamily,
fontFeatureSettings = additive.fontFeatureSettings ?: properties.fontFeatureSettings,
fontSize = additive.fontSize ?: properties.fontSize,
fontSizeUnit = additive.fontSizeUnit ?: properties.fontSizeUnit,
fontWeight = additive.fontWeight ?: properties.fontWeight,
fontWeightValue = additive.fontWeightValue ?: properties.fontWeightValue,
height = additive.height ?: properties.height,
id = additive.id ?: properties.id,
images = additive.images ?: properties.images,
layoutProvider = additive.layoutProvider ?: properties.layoutProvider,
letterSpacing = additive.letterSpacing ?: properties.letterSpacing,
lineHeight = additive.lineHeight ?: properties.lineHeight,
longtapActions = additive.longtapActions ?: properties.longtapActions,
margins = additive.margins ?: properties.margins,
maxLines = additive.maxLines ?: properties.maxLines,
minHiddenLines = additive.minHiddenLines ?: properties.minHiddenLines,
paddings = additive.paddings ?: properties.paddings,
ranges = additive.ranges ?: properties.ranges,
reuseId = additive.reuseId ?: properties.reuseId,
rowSpan = additive.rowSpan ?: properties.rowSpan,
selectable = additive.selectable ?: properties.selectable,
selectedActions = additive.selectedActions ?: properties.selectedActions,
strike = additive.strike ?: properties.strike,
textAlignmentHorizontal = additive.textAlignmentHorizontal ?: properties.textAlignmentHorizontal,
textAlignmentVertical = additive.textAlignmentVertical ?: properties.textAlignmentVertical,
textColor = additive.textColor ?: properties.textColor,
textGradient = additive.textGradient ?: properties.textGradient,
textShadow = additive.textShadow ?: properties.textShadow,
tooltips = additive.tooltips ?: properties.tooltips,
transform = additive.transform ?: properties.transform,
transitionChange = additive.transitionChange ?: properties.transitionChange,
transitionIn = additive.transitionIn ?: properties.transitionIn,
transitionOut = additive.transitionOut ?: properties.transitionOut,
transitionTriggers = additive.transitionTriggers ?: properties.transitionTriggers,
truncate = additive.truncate ?: properties.truncate,
underline = additive.underline ?: properties.underline,
variableTriggers = additive.variableTriggers ?: properties.variableTriggers,
variables = additive.variables ?: properties.variables,
visibility = additive.visibility ?: properties.visibility,
visibilityAction = additive.visibilityAction ?: properties.visibilityAction,
visibilityActions = additive.visibilityActions ?: properties.visibilityActions,
width = additive.width ?: properties.width,
)
)
class Properties internal constructor(
/**
* Text.
*/
val text: Property?,
/**
* Accessibility settings.
*/
val accessibility: Property?,
/**
* One action when clicking on an element. Not used if the `actions` parameter is set.
*/
val action: Property?,
/**
* Click animation. The web only supports the following values: `fade`, `scale`, `native`, `no_animation` and `set`.
* Default value: `{"name": "fade", "start_value": 1, "end_value": 0.6, "duration": 100 }`.
*/
val actionAnimation: Property?,
/**
* Multiple actions when clicking on an element.
*/
val actions: Property>?,
/**
* Horizontal alignment of an element inside the parent element.
*/
val alignmentHorizontal: Property?,
/**
* Vertical alignment of an element inside the parent element.
*/
val alignmentVertical: Property?,
/**
* Sets transparency of the entire element: `0` — completely transparent, `1` — opaque.
* Default value: `1.0`.
*/
val alpha: Property?,
/**
* Automatic text cropping to fit the container size.
*/
val autoEllipsize: Property?,
/**
* Element background. It can contain multiple layers.
*/
val background: Property>?,
/**
* Element stroke.
*/
val border: Property?,
/**
* Merges cells in a column of the [grid](div-grid.md) element.
*/
val columnSpan: Property?,
/**
* Actions when an element disappears from the screen.
*/
val disappearActions: Property>?,
/**
* Action when double-clicking on an element.
*/
val doubletapActions: Property>?,
/**
* Text cropping marker. It is displayed when text size exceeds the limit on the number of lines.
*/
val ellipsis: Property?,
/**
* Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions).
*/
val extensions: Property>?,
/**
* Parameters when focusing on an element or losing focus.
*/
val focus: Property?,
/**
* Text color when focusing on the element.
*/
val focusedTextColor: Property?,
/**
* Font family:`text` — a standard text font; `display` — a family of fonts with a large font size.
*/
val fontFamily: Property?,
/**
* List of OpenType font features. The format matches the CSS attribute "font-feature-settings". Learn more: https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop
*/
val fontFeatureSettings: Property?,
/**
* Font size.
* Default value: `12`.
*/
val fontSize: Property?,
/**
* Default value: `sp`.
*/
val fontSizeUnit: Property?,
/**
* Style.
* Default value: `regular`.
*/
val fontWeight: Property?,
/**
* Style. Numeric value.
*/
val fontWeightValue: Property?,
/**
* Element height. For Android: if there is text in this or in a child element, specify height in `sp` to scale the element together with the text. To learn more about units of size measurement, see [Layout inside the card](../../layout).
* Default value: `{"type": "wrap_content"}`.
*/
val height: Property?,
/**
* Element ID. It must be unique within the root element. It is used as `accessibilityIdentifier` on iOS.
*/
val id: Property?,
/**
* Images embedded in text.
*/
val images: Property>?,
/**
* Provides element real size values after a layout cycle.
*/
val layoutProvider: Property?,
/**
* Spacing between characters.
* Default value: `0`.
*/
val letterSpacing: Property?,
/**
* Line spacing of the text.
*/
val lineHeight: Property?,
/**
* Action when long-clicking an element. Doesn't work on devices that don't support touch gestures.
*/
val longtapActions: Property>?,
/**
* External margins from the element stroke.
*/
val margins: Property?,
/**
* Maximum number of lines not to be cropped when breaking the limits.
*/
val maxLines: Property?,
/**
* Minimum number of cropped lines when breaking the limits.
*/
val minHiddenLines: Property?,
/**
* Internal margins from the element stroke.
*/
val paddings: Property?,
/**
* A character range in which additional style parameters can be set. Defined by mandatory `start` and `end` fields.
*/
val ranges: Property>?,
/**
* Id for the div structure. Used for more optimal reuse of blocks. See [reusing blocks](../../reuse/reuse.md)
*/
val reuseId: Property?,
/**
* Merges cells in a string of the [grid](div-grid.md) element.
*/
val rowSpan: Property?,
/**
* Ability to select and copy text.
* Default value: `false`.
*/
val selectable: Property?,
/**
* List of [actions](div-action.md) to be executed when selecting an element in [pager](div-pager.md).
*/
val selectedActions: Property>?,
/**
* Strikethrough.
* Default value: `none`.
*/
val strike: Property?,
/**
* Horizontal text alignment.
* Default value: `start`.
*/
val textAlignmentHorizontal: Property?,
/**
* Vertical text alignment.
* Default value: `top`.
*/
val textAlignmentVertical: Property?,
/**
* Text color. Not used if the `text_gradient` parameter is set.
* Default value: `#FF000000`.
*/
val textColor: Property?,
/**
* Gradient text color.
*/
val textGradient: Property?,
/**
* Parameters of the shadow applied to the text.
*/
val textShadow: Property?,
/**
* Tooltips linked to an element. A tooltip can be shown by `div-action://show_tooltip?id=`, hidden by `div-action://hide_tooltip?id=` where `id` — tooltip id.
*/
val tooltips: Property>?,
/**
* Applies the passed transformation to the element. Content that doesn't fit into the original view area is cut off.
*/
val transform: Property?,
/**
* Change animation. It is played when the position or size of an element changes in the new layout.
*/
val transitionChange: Property?,
/**
* Appearance animation. It is played when an element with a new ID appears. To learn more about the concept of transitions, see [Animated transitions](../../interaction#animation/transition-animation).
*/
val transitionIn: Property?,
/**
* Disappearance animation. It is played when an element disappears in the new layout.
*/
val transitionOut: Property?,
/**
* Animation starting triggers. Default value: `[state_change, visibility_change]`.
*/
val transitionTriggers: Property>>?,
/**
* Text cropping method. Use `ellipsis` instead.
* Default value: `end`.
*/
@Deprecated("Marked as deprecated in the JSON schema ")
val truncate: Property?,
/**
* Underline.
* Default value: `none`.
*/
val underline: Property?,
/**
* Triggers for changing variables within an element.
*/
val variableTriggers: Property>?,
/**
* Definition of variables that can be used within this element. These variables, defined in the array, can only be used inside this element and its children.
*/
val variables: Property>?,
/**
* Element visibility.
* Default value: `visible`.
*/
val visibility: Property?,
/**
* Tracking visibility of a single element. Not used if the `visibility_actions` parameter is set.
*/
val visibilityAction: Property?,
/**
* Actions when an element appears on the screen.
*/
val visibilityActions: Property>?,
/**
* Element width.
* Default value: `{"type": "match_parent"}`.
*/
val width: Property?,
) {
internal fun mergeWith(properties: Map): Map {
val result = mutableMapOf()
result.putAll(properties)
result.tryPutProperty("text", text)
result.tryPutProperty("accessibility", accessibility)
result.tryPutProperty("action", action)
result.tryPutProperty("action_animation", actionAnimation)
result.tryPutProperty("actions", actions)
result.tryPutProperty("alignment_horizontal", alignmentHorizontal)
result.tryPutProperty("alignment_vertical", alignmentVertical)
result.tryPutProperty("alpha", alpha)
result.tryPutProperty("auto_ellipsize", autoEllipsize)
result.tryPutProperty("background", background)
result.tryPutProperty("border", border)
result.tryPutProperty("column_span", columnSpan)
result.tryPutProperty("disappear_actions", disappearActions)
result.tryPutProperty("doubletap_actions", doubletapActions)
result.tryPutProperty("ellipsis", ellipsis)
result.tryPutProperty("extensions", extensions)
result.tryPutProperty("focus", focus)
result.tryPutProperty("focused_text_color", focusedTextColor)
result.tryPutProperty("font_family", fontFamily)
result.tryPutProperty("font_feature_settings", fontFeatureSettings)
result.tryPutProperty("font_size", fontSize)
result.tryPutProperty("font_size_unit", fontSizeUnit)
result.tryPutProperty("font_weight", fontWeight)
result.tryPutProperty("font_weight_value", fontWeightValue)
result.tryPutProperty("height", height)
result.tryPutProperty("id", id)
result.tryPutProperty("images", images)
result.tryPutProperty("layout_provider", layoutProvider)
result.tryPutProperty("letter_spacing", letterSpacing)
result.tryPutProperty("line_height", lineHeight)
result.tryPutProperty("longtap_actions", longtapActions)
result.tryPutProperty("margins", margins)
result.tryPutProperty("max_lines", maxLines)
result.tryPutProperty("min_hidden_lines", minHiddenLines)
result.tryPutProperty("paddings", paddings)
result.tryPutProperty("ranges", ranges)
result.tryPutProperty("reuse_id", reuseId)
result.tryPutProperty("row_span", rowSpan)
result.tryPutProperty("selectable", selectable)
result.tryPutProperty("selected_actions", selectedActions)
result.tryPutProperty("strike", strike)
result.tryPutProperty("text_alignment_horizontal", textAlignmentHorizontal)
result.tryPutProperty("text_alignment_vertical", textAlignmentVertical)
result.tryPutProperty("text_color", textColor)
result.tryPutProperty("text_gradient", textGradient)
result.tryPutProperty("text_shadow", textShadow)
result.tryPutProperty("tooltips", tooltips)
result.tryPutProperty("transform", transform)
result.tryPutProperty("transition_change", transitionChange)
result.tryPutProperty("transition_in", transitionIn)
result.tryPutProperty("transition_out", transitionOut)
result.tryPutProperty("transition_triggers", transitionTriggers)
result.tryPutProperty("truncate", truncate)
result.tryPutProperty("underline", underline)
result.tryPutProperty("variable_triggers", variableTriggers)
result.tryPutProperty("variables", variables)
result.tryPutProperty("visibility", visibility)
result.tryPutProperty("visibility_action", visibilityAction)
result.tryPutProperty("visibility_actions", visibilityActions)
result.tryPutProperty("width", width)
return result
}
}
/**
* Text cropping method. Use `ellipsis` instead.
*
* Possible values: [none], [start], [end], [middle].
*/
@Generated
sealed interface Truncate
/**
* Text cropping marker. It is displayed when text size exceeds the limit on the number of lines.
*
* Can be created using the method [textEllipsis].
*
* Required parameters: `text`.
*/
@Generated
class Ellipsis internal constructor(
@JsonIgnore
val properties: Properties,
) {
@JsonAnyGetter
internal fun getJsonProperties(): Map = properties.mergeWith(emptyMap())
operator fun plus(additive: Properties): Ellipsis = Ellipsis(
Properties(
actions = additive.actions ?: properties.actions,
images = additive.images ?: properties.images,
ranges = additive.ranges ?: properties.ranges,
text = additive.text ?: properties.text,
)
)
class Properties internal constructor(
/**
* Actions when clicking on a crop marker.
*/
val actions: Property>?,
/**
* Images embedded in a crop marker.
*/
val images: Property>?,
/**
* Character ranges inside a crop marker with different text styles.
*/
val ranges: Property>?,
/**
* Marker text.
*/
val text: Property?,
) {
internal fun mergeWith(properties: Map): Map {
val result = mutableMapOf()
result.putAll(properties)
result.tryPutProperty("actions", actions)
result.tryPutProperty("images", images)
result.tryPutProperty("ranges", ranges)
result.tryPutProperty("text", text)
return result
}
}
}
/**
* Image.
*
* Can be created using the method [textImage].
*
* Required parameters: `url, start`.
*/
@Generated
class Image internal constructor(
@JsonIgnore
val properties: Properties,
) {
@JsonAnyGetter
internal fun getJsonProperties(): Map = properties.mergeWith(emptyMap())
operator fun plus(additive: Properties): Image = Image(
Properties(
accessibility = additive.accessibility ?: properties.accessibility,
alignmentVertical = additive.alignmentVertical ?: properties.alignmentVertical,
height = additive.height ?: properties.height,
preloadRequired = additive.preloadRequired ?: properties.preloadRequired,
start = additive.start ?: properties.start,
tintColor = additive.tintColor ?: properties.tintColor,
tintMode = additive.tintMode ?: properties.tintMode,
url = additive.url ?: properties.url,
width = additive.width ?: properties.width,
)
)
class Properties internal constructor(
val accessibility: Property?,
/**
* Vertical text image alignment within a string.
* Default value: `baseline`.
*/
val alignmentVertical: Property?,
/**
* Image height.
* Default value: `{"type": "fixed","value":20}`.
*/
val height: Property?,
/**
* Background image must be loaded before the display.
* Default value: `false`.
*/
val preloadRequired: Property?,
/**
* A symbol to insert prior to an image. To insert an image at the end of the text, specify the number of the last character plus one.
*/
val start: Property?,
/**
* New color of a contour image.
*/
val tintColor: Property?,
/**
* Blend mode of the color specified in `tint_color`.
* Default value: `source_in`.
*/
val tintMode: Property?,
/**
* Image URL.
*/
val url: Property?,
/**
* Image width.
* Default value: `{"type": "fixed","value":20}`.
*/
val width: Property?,
) {
internal fun mergeWith(properties: Map): Map {
val result = mutableMapOf()
result.putAll(properties)
result.tryPutProperty("accessibility", accessibility)
result.tryPutProperty("alignment_vertical", alignmentVertical)
result.tryPutProperty("height", height)
result.tryPutProperty("preload_required", preloadRequired)
result.tryPutProperty("start", start)
result.tryPutProperty("tint_color", tintColor)
result.tryPutProperty("tint_mode", tintMode)
result.tryPutProperty("url", url)
result.tryPutProperty("width", width)
return result
}
}
/**
* Can be created using the method [textImageAccessibility].
*/
@Generated
class Accessibility internal constructor(
@JsonIgnore
val properties: Properties,
) {
@JsonAnyGetter
internal fun getJsonProperties(): Map = properties.mergeWith(emptyMap())
operator fun plus(additive: Properties): Accessibility = Accessibility(
Properties(
description = additive.description ?: properties.description,
type = additive.type ?: properties.type,
)
)
class Properties internal constructor(
/**
* Element description. It is used as the main description for screen reading applications.
*/
val description: Property?,
/**
* Element role. Used to correctly identify an element by the accessibility service. For example, the `list` element is used to group list elements into one element.
* Default value: `auto`.
*/
val type: Property?,
) {
internal fun mergeWith(properties: Map): Map {
val result = mutableMapOf()
result.putAll(properties)
result.tryPutProperty("description", description)
result.tryPutProperty("type", type)
return result
}
}
/**
* Element role. Used to correctly identify an element by the accessibility service. For example, the `list` element is used to group list elements into one element.
*
* Possible values: [none], [button], [image], [text], [auto].
*/
@Generated
sealed interface Type
}
}
/**
* Additional parameters of the character range.
*
* Can be created using the method [textRange].
*
* Required parameters: `start, end`.
*/
@Generated
class Range internal constructor(
@JsonIgnore
val properties: Properties,
) {
@JsonAnyGetter
internal fun getJsonProperties(): Map = properties.mergeWith(emptyMap())
operator fun plus(additive: Properties): Range = Range(
Properties(
actions = additive.actions ?: properties.actions,
alignmentVertical = additive.alignmentVertical ?: properties.alignmentVertical,
background = additive.background ?: properties.background,
border = additive.border ?: properties.border,
end = additive.end ?: properties.end,
fontFamily = additive.fontFamily ?: properties.fontFamily,
fontFeatureSettings = additive.fontFeatureSettings ?: properties.fontFeatureSettings,
fontSize = additive.fontSize ?: properties.fontSize,
fontSizeUnit = additive.fontSizeUnit ?: properties.fontSizeUnit,
fontWeight = additive.fontWeight ?: properties.fontWeight,
fontWeightValue = additive.fontWeightValue ?: properties.fontWeightValue,
letterSpacing = additive.letterSpacing ?: properties.letterSpacing,
lineHeight = additive.lineHeight ?: properties.lineHeight,
start = additive.start ?: properties.start,
strike = additive.strike ?: properties.strike,
textColor = additive.textColor ?: properties.textColor,
textShadow = additive.textShadow ?: properties.textShadow,
topOffset = additive.topOffset ?: properties.topOffset,
underline = additive.underline ?: properties.underline,
)
)
class Properties internal constructor(
/**
* Action when clicking on text.
*/
val actions: Property>?,
/**
* Vertical text range alignment within a string.
* Default value: `baseline`.
*/
val alignmentVertical: Property?,
/**
* Character range background.
*/
val background: Property?,
/**
* Character range border.
*/
val border: Property?,
/**
* Ordinal number of the last character to be included in the range.
*/
val end: Property?,
/**
* Font family:`text` — a standard text font; `display` — a family of fonts with a large font size.
*/
val fontFamily: Property?,
/**
* List of OpenType font features. The format matches the CSS attribute "font-feature-settings". Learn more: https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop
*/
val fontFeatureSettings: Property?,
/**
* Font size.
*/
val fontSize: Property?,
/**
* Unit of measurement:`px` — a physical pixel. `dp` — a logical pixel that doesn't depend on screen density. `sp` — a logical pixel that depends on the font size on a device. Specify height in `sp`. Only available on Android.
* Default value: `sp`.
*/
val fontSizeUnit: Property?,
/**
* Style.
*/
val fontWeight: Property?,
/**
* Style. Numeric value.
*/
val fontWeightValue: Property?,
/**
* Spacing between characters.
*/
val letterSpacing: Property?,
/**
* Line spacing of the text. Units specified in `font_size_unit`.
*/
val lineHeight: Property?,
/**
* Ordinal number of a character which the range begins from. The first character has a number `0`.
*/
val start: Property?,
/**
* Strikethrough.
*/
val strike: Property?,
/**
* Text color.
*/
val textColor: Property?,
/**
* Parameters of the shadow applied to the character range.
*/
val textShadow: Property?,
/**
* Top margin of the character range. Units specified in `font_size_unit`.
*/
val topOffset: Property?,
/**
* Underline.
*/
val underline: Property?,
) {
internal fun mergeWith(properties: Map): Map {
val result = mutableMapOf()
result.putAll(properties)
result.tryPutProperty("actions", actions)
result.tryPutProperty("alignment_vertical", alignmentVertical)
result.tryPutProperty("background", background)
result.tryPutProperty("border", border)
result.tryPutProperty("end", end)
result.tryPutProperty("font_family", fontFamily)
result.tryPutProperty("font_feature_settings", fontFeatureSettings)
result.tryPutProperty("font_size", fontSize)
result.tryPutProperty("font_size_unit", fontSizeUnit)
result.tryPutProperty("font_weight", fontWeight)
result.tryPutProperty("font_weight_value", fontWeightValue)
result.tryPutProperty("letter_spacing", letterSpacing)
result.tryPutProperty("line_height", lineHeight)
result.tryPutProperty("start", start)
result.tryPutProperty("strike", strike)
result.tryPutProperty("text_color", textColor)
result.tryPutProperty("text_shadow", textShadow)
result.tryPutProperty("top_offset", topOffset)
result.tryPutProperty("underline", underline)
return result
}
}
}
}
/**
* @param text Text.
* @param accessibility Accessibility settings.
* @param action One action when clicking on an element. Not used if the `actions` parameter is set.
* @param actionAnimation Click animation. The web only supports the following values: `fade`, `scale`, `native`, `no_animation` and `set`.
* @param actions Multiple actions when clicking on an element.
* @param alignmentHorizontal Horizontal alignment of an element inside the parent element.
* @param alignmentVertical Vertical alignment of an element inside the parent element.
* @param alpha Sets transparency of the entire element: `0` — completely transparent, `1` — opaque.
* @param autoEllipsize Automatic text cropping to fit the container size.
* @param background Element background. It can contain multiple layers.
* @param border Element stroke.
* @param columnSpan Merges cells in a column of the [grid](div-grid.md) element.
* @param disappearActions Actions when an element disappears from the screen.
* @param doubletapActions Action when double-clicking on an element.
* @param ellipsis Text cropping marker. It is displayed when text size exceeds the limit on the number of lines.
* @param extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions).
* @param focus Parameters when focusing on an element or losing focus.
* @param focusedTextColor Text color when focusing on the element.
* @param fontFamily Font family:`text` — a standard text font; `display` — a family of fonts with a large font size.
* @param fontFeatureSettings List of OpenType font features. The format matches the CSS attribute "font-feature-settings". Learn more: https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop
* @param fontSize Font size.
* @param fontWeight Style.
* @param fontWeightValue Style. Numeric value.
* @param height Element height. For Android: if there is text in this or in a child element, specify height in `sp` to scale the element together with the text. To learn more about units of size measurement, see [Layout inside the card](../../layout).
* @param id Element ID. It must be unique within the root element. It is used as `accessibilityIdentifier` on iOS.
* @param images Images embedded in text.
* @param layoutProvider Provides element real size values after a layout cycle.
* @param letterSpacing Spacing between characters.
* @param lineHeight Line spacing of the text.
* @param longtapActions Action when long-clicking an element. Doesn't work on devices that don't support touch gestures.
* @param margins External margins from the element stroke.
* @param maxLines Maximum number of lines not to be cropped when breaking the limits.
* @param minHiddenLines Minimum number of cropped lines when breaking the limits.
* @param paddings Internal margins from the element stroke.
* @param ranges A character range in which additional style parameters can be set. Defined by mandatory `start` and `end` fields.
* @param reuseId Id for the div structure. Used for more optimal reuse of blocks. See [reusing blocks](../../reuse/reuse.md)
* @param rowSpan Merges cells in a string of the [grid](div-grid.md) element.
* @param selectable Ability to select and copy text.
* @param selectedActions List of [actions](div-action.md) to be executed when selecting an element in [pager](div-pager.md).
* @param strike Strikethrough.
* @param textAlignmentHorizontal Horizontal text alignment.
* @param textAlignmentVertical Vertical text alignment.
* @param textColor Text color. Not used if the `text_gradient` parameter is set.
* @param textGradient Gradient text color.
* @param textShadow Parameters of the shadow applied to the text.
* @param tooltips Tooltips linked to an element. A tooltip can be shown by `div-action://show_tooltip?id=`, hidden by `div-action://hide_tooltip?id=` where `id` — tooltip id.
* @param transform Applies the passed transformation to the element. Content that doesn't fit into the original view area is cut off.
* @param transitionChange Change animation. It is played when the position or size of an element changes in the new layout.
* @param transitionIn Appearance animation. It is played when an element with a new ID appears. To learn more about the concept of transitions, see [Animated transitions](../../interaction#animation/transition-animation).
* @param transitionOut Disappearance animation. It is played when an element disappears in the new layout.
* @param transitionTriggers Animation starting triggers. Default value: `[state_change, visibility_change]`.
* @param truncate Text cropping method. Use `ellipsis` instead.
* @param underline Underline.
* @param variableTriggers Triggers for changing variables within an element.
* @param variables Definition of variables that can be used within this element. These variables, defined in the array, can only be used inside this element and its children.
* @param visibility Element visibility.
* @param visibilityAction Tracking visibility of a single element. Not used if the `visibility_actions` parameter is set.
* @param visibilityActions Actions when an element appears on the screen.
* @param width Element width.
*/
@Generated
fun DivScope.text(
text: String? = null,
`use named arguments`: Guard = Guard.instance,
accessibility: Accessibility? = null,
action: Action? = null,
actionAnimation: Animation? = null,
actions: List? = null,
alignmentHorizontal: AlignmentHorizontal? = null,
alignmentVertical: AlignmentVertical? = null,
alpha: Double? = null,
autoEllipsize: Boolean? = null,
background: List? = null,
border: Border? = null,
columnSpan: Int? = null,
disappearActions: List? = null,
doubletapActions: List? = null,
ellipsis: Text.Ellipsis? = null,
extensions: List? = null,
focus: Focus? = null,
focusedTextColor: Color? = null,
fontFamily: String? = null,
fontFeatureSettings: String? = null,
fontSize: Int? = null,
fontSizeUnit: SizeUnit? = null,
fontWeight: FontWeight? = null,
fontWeightValue: Int? = null,
height: Size? = null,
id: String? = null,
images: List? = null,
layoutProvider: LayoutProvider? = null,
letterSpacing: Double? = null,
lineHeight: Int? = null,
longtapActions: List? = null,
margins: EdgeInsets? = null,
maxLines: Int? = null,
minHiddenLines: Int? = null,
paddings: EdgeInsets? = null,
ranges: List? = null,
reuseId: String? = null,
rowSpan: Int? = null,
selectable: Boolean? = null,
selectedActions: List? = null,
strike: LineStyle? = null,
textAlignmentHorizontal: AlignmentHorizontal? = null,
textAlignmentVertical: AlignmentVertical? = null,
textColor: Color? = null,
textGradient: TextGradient? = null,
textShadow: Shadow? = null,
tooltips: List? = null,
transform: Transform? = null,
transitionChange: ChangeTransition? = null,
transitionIn: AppearanceTransition? = null,
transitionOut: AppearanceTransition? = null,
transitionTriggers: List>? = null,
truncate: Text.Truncate? = null,
underline: LineStyle? = null,
variableTriggers: List? = null,
variables: List? = null,
visibility: Visibility? = null,
visibilityAction: VisibilityAction? = null,
visibilityActions: List? = null,
width: Size? = null,
): Text = Text(
Text.Properties(
text = valueOrNull(text),
accessibility = valueOrNull(accessibility),
action = valueOrNull(action),
actionAnimation = valueOrNull(actionAnimation),
actions = valueOrNull(actions),
alignmentHorizontal = valueOrNull(alignmentHorizontal),
alignmentVertical = valueOrNull(alignmentVertical),
alpha = valueOrNull(alpha),
autoEllipsize = valueOrNull(autoEllipsize),
background = valueOrNull(background),
border = valueOrNull(border),
columnSpan = valueOrNull(columnSpan),
disappearActions = valueOrNull(disappearActions),
doubletapActions = valueOrNull(doubletapActions),
ellipsis = valueOrNull(ellipsis),
extensions = valueOrNull(extensions),
focus = valueOrNull(focus),
focusedTextColor = valueOrNull(focusedTextColor),
fontFamily = valueOrNull(fontFamily),
fontFeatureSettings = valueOrNull(fontFeatureSettings),
fontSize = valueOrNull(fontSize),
fontSizeUnit = valueOrNull(fontSizeUnit),
fontWeight = valueOrNull(fontWeight),
fontWeightValue = valueOrNull(fontWeightValue),
height = valueOrNull(height),
id = valueOrNull(id),
images = valueOrNull(images),
layoutProvider = valueOrNull(layoutProvider),
letterSpacing = valueOrNull(letterSpacing),
lineHeight = valueOrNull(lineHeight),
longtapActions = valueOrNull(longtapActions),
margins = valueOrNull(margins),
maxLines = valueOrNull(maxLines),
minHiddenLines = valueOrNull(minHiddenLines),
paddings = valueOrNull(paddings),
ranges = valueOrNull(ranges),
reuseId = valueOrNull(reuseId),
rowSpan = valueOrNull(rowSpan),
selectable = valueOrNull(selectable),
selectedActions = valueOrNull(selectedActions),
strike = valueOrNull(strike),
textAlignmentHorizontal = valueOrNull(textAlignmentHorizontal),
textAlignmentVertical = valueOrNull(textAlignmentVertical),
textColor = valueOrNull(textColor),
textGradient = valueOrNull(textGradient),
textShadow = valueOrNull(textShadow),
tooltips = valueOrNull(tooltips),
transform = valueOrNull(transform),
transitionChange = valueOrNull(transitionChange),
transitionIn = valueOrNull(transitionIn),
transitionOut = valueOrNull(transitionOut),
transitionTriggers = valueOrNull(transitionTriggers),
truncate = valueOrNull(truncate),
underline = valueOrNull(underline),
variableTriggers = valueOrNull(variableTriggers),
variables = valueOrNull(variables),
visibility = valueOrNull(visibility),
visibilityAction = valueOrNull(visibilityAction),
visibilityActions = valueOrNull(visibilityActions),
width = valueOrNull(width),
)
)
/**
* @param text Text.
* @param accessibility Accessibility settings.
* @param action One action when clicking on an element. Not used if the `actions` parameter is set.
* @param actionAnimation Click animation. The web only supports the following values: `fade`, `scale`, `native`, `no_animation` and `set`.
* @param actions Multiple actions when clicking on an element.
* @param alignmentHorizontal Horizontal alignment of an element inside the parent element.
* @param alignmentVertical Vertical alignment of an element inside the parent element.
* @param alpha Sets transparency of the entire element: `0` — completely transparent, `1` — opaque.
* @param autoEllipsize Automatic text cropping to fit the container size.
* @param background Element background. It can contain multiple layers.
* @param border Element stroke.
* @param columnSpan Merges cells in a column of the [grid](div-grid.md) element.
* @param disappearActions Actions when an element disappears from the screen.
* @param doubletapActions Action when double-clicking on an element.
* @param ellipsis Text cropping marker. It is displayed when text size exceeds the limit on the number of lines.
* @param extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions).
* @param focus Parameters when focusing on an element or losing focus.
* @param focusedTextColor Text color when focusing on the element.
* @param fontFamily Font family:`text` — a standard text font; `display` — a family of fonts with a large font size.
* @param fontFeatureSettings List of OpenType font features. The format matches the CSS attribute "font-feature-settings". Learn more: https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop
* @param fontSize Font size.
* @param fontWeight Style.
* @param fontWeightValue Style. Numeric value.
* @param height Element height. For Android: if there is text in this or in a child element, specify height in `sp` to scale the element together with the text. To learn more about units of size measurement, see [Layout inside the card](../../layout).
* @param id Element ID. It must be unique within the root element. It is used as `accessibilityIdentifier` on iOS.
* @param images Images embedded in text.
* @param layoutProvider Provides element real size values after a layout cycle.
* @param letterSpacing Spacing between characters.
* @param lineHeight Line spacing of the text.
* @param longtapActions Action when long-clicking an element. Doesn't work on devices that don't support touch gestures.
* @param margins External margins from the element stroke.
* @param maxLines Maximum number of lines not to be cropped when breaking the limits.
* @param minHiddenLines Minimum number of cropped lines when breaking the limits.
* @param paddings Internal margins from the element stroke.
* @param ranges A character range in which additional style parameters can be set. Defined by mandatory `start` and `end` fields.
* @param reuseId Id for the div structure. Used for more optimal reuse of blocks. See [reusing blocks](../../reuse/reuse.md)
* @param rowSpan Merges cells in a string of the [grid](div-grid.md) element.
* @param selectable Ability to select and copy text.
* @param selectedActions List of [actions](div-action.md) to be executed when selecting an element in [pager](div-pager.md).
* @param strike Strikethrough.
* @param textAlignmentHorizontal Horizontal text alignment.
* @param textAlignmentVertical Vertical text alignment.
* @param textColor Text color. Not used if the `text_gradient` parameter is set.
* @param textGradient Gradient text color.
* @param textShadow Parameters of the shadow applied to the text.
* @param tooltips Tooltips linked to an element. A tooltip can be shown by `div-action://show_tooltip?id=`, hidden by `div-action://hide_tooltip?id=` where `id` — tooltip id.
* @param transform Applies the passed transformation to the element. Content that doesn't fit into the original view area is cut off.
* @param transitionChange Change animation. It is played when the position or size of an element changes in the new layout.
* @param transitionIn Appearance animation. It is played when an element with a new ID appears. To learn more about the concept of transitions, see [Animated transitions](../../interaction#animation/transition-animation).
* @param transitionOut Disappearance animation. It is played when an element disappears in the new layout.
* @param transitionTriggers Animation starting triggers. Default value: `[state_change, visibility_change]`.
* @param truncate Text cropping method. Use `ellipsis` instead.
* @param underline Underline.
* @param variableTriggers Triggers for changing variables within an element.
* @param variables Definition of variables that can be used within this element. These variables, defined in the array, can only be used inside this element and its children.
* @param visibility Element visibility.
* @param visibilityAction Tracking visibility of a single element. Not used if the `visibility_actions` parameter is set.
* @param visibilityActions Actions when an element appears on the screen.
* @param width Element width.
*/
@Generated
fun DivScope.textProps(
`use named arguments`: Guard = Guard.instance,
text: String? = null,
accessibility: Accessibility? = null,
action: Action? = null,
actionAnimation: Animation? = null,
actions: List? = null,
alignmentHorizontal: AlignmentHorizontal? = null,
alignmentVertical: AlignmentVertical? = null,
alpha: Double? = null,
autoEllipsize: Boolean? = null,
background: List? = null,
border: Border? = null,
columnSpan: Int? = null,
disappearActions: List? = null,
doubletapActions: List? = null,
ellipsis: Text.Ellipsis? = null,
extensions: List? = null,
focus: Focus? = null,
focusedTextColor: Color? = null,
fontFamily: String? = null,
fontFeatureSettings: String? = null,
fontSize: Int? = null,
fontSizeUnit: SizeUnit? = null,
fontWeight: FontWeight? = null,
fontWeightValue: Int? = null,
height: Size? = null,
id: String? = null,
images: List? = null,
layoutProvider: LayoutProvider? = null,
letterSpacing: Double? = null,
lineHeight: Int? = null,
longtapActions: List? = null,
margins: EdgeInsets? = null,
maxLines: Int? = null,
minHiddenLines: Int? = null,
paddings: EdgeInsets? = null,
ranges: List? = null,
reuseId: String? = null,
rowSpan: Int? = null,
selectable: Boolean? = null,
selectedActions: List? = null,
strike: LineStyle? = null,
textAlignmentHorizontal: AlignmentHorizontal? = null,
textAlignmentVertical: AlignmentVertical? = null,
textColor: Color? = null,
textGradient: TextGradient? = null,
textShadow: Shadow? = null,
tooltips: List? = null,
transform: Transform? = null,
transitionChange: ChangeTransition? = null,
transitionIn: AppearanceTransition? = null,
transitionOut: AppearanceTransition? = null,
transitionTriggers: List>? = null,
truncate: Text.Truncate? = null,
underline: LineStyle? = null,
variableTriggers: List? = null,
variables: List? = null,
visibility: Visibility? = null,
visibilityAction: VisibilityAction? = null,
visibilityActions: List? = null,
width: Size? = null,
) = Text.Properties(
text = valueOrNull(text),
accessibility = valueOrNull(accessibility),
action = valueOrNull(action),
actionAnimation = valueOrNull(actionAnimation),
actions = valueOrNull(actions),
alignmentHorizontal = valueOrNull(alignmentHorizontal),
alignmentVertical = valueOrNull(alignmentVertical),
alpha = valueOrNull(alpha),
autoEllipsize = valueOrNull(autoEllipsize),
background = valueOrNull(background),
border = valueOrNull(border),
columnSpan = valueOrNull(columnSpan),
disappearActions = valueOrNull(disappearActions),
doubletapActions = valueOrNull(doubletapActions),
ellipsis = valueOrNull(ellipsis),
extensions = valueOrNull(extensions),
focus = valueOrNull(focus),
focusedTextColor = valueOrNull(focusedTextColor),
fontFamily = valueOrNull(fontFamily),
fontFeatureSettings = valueOrNull(fontFeatureSettings),
fontSize = valueOrNull(fontSize),
fontSizeUnit = valueOrNull(fontSizeUnit),
fontWeight = valueOrNull(fontWeight),
fontWeightValue = valueOrNull(fontWeightValue),
height = valueOrNull(height),
id = valueOrNull(id),
images = valueOrNull(images),
layoutProvider = valueOrNull(layoutProvider),
letterSpacing = valueOrNull(letterSpacing),
lineHeight = valueOrNull(lineHeight),
longtapActions = valueOrNull(longtapActions),
margins = valueOrNull(margins),
maxLines = valueOrNull(maxLines),
minHiddenLines = valueOrNull(minHiddenLines),
paddings = valueOrNull(paddings),
ranges = valueOrNull(ranges),
reuseId = valueOrNull(reuseId),
rowSpan = valueOrNull(rowSpan),
selectable = valueOrNull(selectable),
selectedActions = valueOrNull(selectedActions),
strike = valueOrNull(strike),
textAlignmentHorizontal = valueOrNull(textAlignmentHorizontal),
textAlignmentVertical = valueOrNull(textAlignmentVertical),
textColor = valueOrNull(textColor),
textGradient = valueOrNull(textGradient),
textShadow = valueOrNull(textShadow),
tooltips = valueOrNull(tooltips),
transform = valueOrNull(transform),
transitionChange = valueOrNull(transitionChange),
transitionIn = valueOrNull(transitionIn),
transitionOut = valueOrNull(transitionOut),
transitionTriggers = valueOrNull(transitionTriggers),
truncate = valueOrNull(truncate),
underline = valueOrNull(underline),
variableTriggers = valueOrNull(variableTriggers),
variables = valueOrNull(variables),
visibility = valueOrNull(visibility),
visibilityAction = valueOrNull(visibilityAction),
visibilityActions = valueOrNull(visibilityActions),
width = valueOrNull(width),
)
/**
* @param text Text.
* @param accessibility Accessibility settings.
* @param action One action when clicking on an element. Not used if the `actions` parameter is set.
* @param actionAnimation Click animation. The web only supports the following values: `fade`, `scale`, `native`, `no_animation` and `set`.
* @param actions Multiple actions when clicking on an element.
* @param alignmentHorizontal Horizontal alignment of an element inside the parent element.
* @param alignmentVertical Vertical alignment of an element inside the parent element.
* @param alpha Sets transparency of the entire element: `0` — completely transparent, `1` — opaque.
* @param autoEllipsize Automatic text cropping to fit the container size.
* @param background Element background. It can contain multiple layers.
* @param border Element stroke.
* @param columnSpan Merges cells in a column of the [grid](div-grid.md) element.
* @param disappearActions Actions when an element disappears from the screen.
* @param doubletapActions Action when double-clicking on an element.
* @param ellipsis Text cropping marker. It is displayed when text size exceeds the limit on the number of lines.
* @param extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions).
* @param focus Parameters when focusing on an element or losing focus.
* @param focusedTextColor Text color when focusing on the element.
* @param fontFamily Font family:`text` — a standard text font; `display` — a family of fonts with a large font size.
* @param fontFeatureSettings List of OpenType font features. The format matches the CSS attribute "font-feature-settings". Learn more: https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop
* @param fontSize Font size.
* @param fontWeight Style.
* @param fontWeightValue Style. Numeric value.
* @param height Element height. For Android: if there is text in this or in a child element, specify height in `sp` to scale the element together with the text. To learn more about units of size measurement, see [Layout inside the card](../../layout).
* @param id Element ID. It must be unique within the root element. It is used as `accessibilityIdentifier` on iOS.
* @param images Images embedded in text.
* @param layoutProvider Provides element real size values after a layout cycle.
* @param letterSpacing Spacing between characters.
* @param lineHeight Line spacing of the text.
* @param longtapActions Action when long-clicking an element. Doesn't work on devices that don't support touch gestures.
* @param margins External margins from the element stroke.
* @param maxLines Maximum number of lines not to be cropped when breaking the limits.
* @param minHiddenLines Minimum number of cropped lines when breaking the limits.
* @param paddings Internal margins from the element stroke.
* @param ranges A character range in which additional style parameters can be set. Defined by mandatory `start` and `end` fields.
* @param reuseId Id for the div structure. Used for more optimal reuse of blocks. See [reusing blocks](../../reuse/reuse.md)
* @param rowSpan Merges cells in a string of the [grid](div-grid.md) element.
* @param selectable Ability to select and copy text.
* @param selectedActions List of [actions](div-action.md) to be executed when selecting an element in [pager](div-pager.md).
* @param strike Strikethrough.
* @param textAlignmentHorizontal Horizontal text alignment.
* @param textAlignmentVertical Vertical text alignment.
* @param textColor Text color. Not used if the `text_gradient` parameter is set.
* @param textGradient Gradient text color.
* @param textShadow Parameters of the shadow applied to the text.
* @param tooltips Tooltips linked to an element. A tooltip can be shown by `div-action://show_tooltip?id=`, hidden by `div-action://hide_tooltip?id=` where `id` — tooltip id.
* @param transform Applies the passed transformation to the element. Content that doesn't fit into the original view area is cut off.
* @param transitionChange Change animation. It is played when the position or size of an element changes in the new layout.
* @param transitionIn Appearance animation. It is played when an element with a new ID appears. To learn more about the concept of transitions, see [Animated transitions](../../interaction#animation/transition-animation).
* @param transitionOut Disappearance animation. It is played when an element disappears in the new layout.
* @param transitionTriggers Animation starting triggers. Default value: `[state_change, visibility_change]`.
* @param truncate Text cropping method. Use `ellipsis` instead.
* @param underline Underline.
* @param variableTriggers Triggers for changing variables within an element.
* @param variables Definition of variables that can be used within this element. These variables, defined in the array, can only be used inside this element and its children.
* @param visibility Element visibility.
* @param visibilityAction Tracking visibility of a single element. Not used if the `visibility_actions` parameter is set.
* @param visibilityActions Actions when an element appears on the screen.
* @param width Element width.
*/
@Generated
fun TemplateScope.textRefs(
`use named arguments`: Guard = Guard.instance,
text: ReferenceProperty? = null,
accessibility: ReferenceProperty? = null,
action: ReferenceProperty? = null,
actionAnimation: ReferenceProperty? = null,
actions: ReferenceProperty>? = null,
alignmentHorizontal: ReferenceProperty? = null,
alignmentVertical: ReferenceProperty? = null,
alpha: ReferenceProperty? = null,
autoEllipsize: ReferenceProperty? = null,
background: ReferenceProperty>? = null,
border: ReferenceProperty? = null,
columnSpan: ReferenceProperty? = null,
disappearActions: ReferenceProperty>? = null,
doubletapActions: ReferenceProperty>? = null,
ellipsis: ReferenceProperty? = null,
extensions: ReferenceProperty>? = null,
focus: ReferenceProperty? = null,
focusedTextColor: ReferenceProperty? = null,
fontFamily: ReferenceProperty? = null,
fontFeatureSettings: ReferenceProperty? = null,
fontSize: ReferenceProperty? = null,
fontSizeUnit: ReferenceProperty? = null,
fontWeight: ReferenceProperty? = null,
fontWeightValue: ReferenceProperty? = null,
height: ReferenceProperty? = null,
id: ReferenceProperty? = null,
images: ReferenceProperty>? = null,
layoutProvider: ReferenceProperty? = null,
letterSpacing: ReferenceProperty? = null,
lineHeight: ReferenceProperty? = null,
longtapActions: ReferenceProperty>? = null,
margins: ReferenceProperty? = null,
maxLines: ReferenceProperty? = null,
minHiddenLines: ReferenceProperty? = null,
paddings: ReferenceProperty? = null,
ranges: ReferenceProperty>? = null,
reuseId: ReferenceProperty? = null,
rowSpan: ReferenceProperty? = null,
selectable: ReferenceProperty? = null,
selectedActions: ReferenceProperty>? = null,
strike: ReferenceProperty? = null,
textAlignmentHorizontal: ReferenceProperty? = null,
textAlignmentVertical: ReferenceProperty? = null,
textColor: ReferenceProperty? = null,
textGradient: ReferenceProperty? = null,
textShadow: ReferenceProperty? = null,
tooltips: ReferenceProperty>? = null,
transform: ReferenceProperty? = null,
transitionChange: ReferenceProperty? = null,
transitionIn: ReferenceProperty? = null,
transitionOut: ReferenceProperty? = null,
transitionTriggers: ReferenceProperty>>? = null,
truncate: ReferenceProperty? = null,
underline: ReferenceProperty? = null,
variableTriggers: ReferenceProperty>? = null,
variables: ReferenceProperty>? = null,
visibility: ReferenceProperty? = null,
visibilityAction: ReferenceProperty? = null,
visibilityActions: ReferenceProperty>? = null,
width: ReferenceProperty? = null,
) = Text.Properties(
text = text,
accessibility = accessibility,
action = action,
actionAnimation = actionAnimation,
actions = actions,
alignmentHorizontal = alignmentHorizontal,
alignmentVertical = alignmentVertical,
alpha = alpha,
autoEllipsize = autoEllipsize,
background = background,
border = border,
columnSpan = columnSpan,
disappearActions = disappearActions,
doubletapActions = doubletapActions,
ellipsis = ellipsis,
extensions = extensions,
focus = focus,
focusedTextColor = focusedTextColor,
fontFamily = fontFamily,
fontFeatureSettings = fontFeatureSettings,
fontSize = fontSize,
fontSizeUnit = fontSizeUnit,
fontWeight = fontWeight,
fontWeightValue = fontWeightValue,
height = height,
id = id,
images = images,
layoutProvider = layoutProvider,
letterSpacing = letterSpacing,
lineHeight = lineHeight,
longtapActions = longtapActions,
margins = margins,
maxLines = maxLines,
minHiddenLines = minHiddenLines,
paddings = paddings,
ranges = ranges,
reuseId = reuseId,
rowSpan = rowSpan,
selectable = selectable,
selectedActions = selectedActions,
strike = strike,
textAlignmentHorizontal = textAlignmentHorizontal,
textAlignmentVertical = textAlignmentVertical,
textColor = textColor,
textGradient = textGradient,
textShadow = textShadow,
tooltips = tooltips,
transform = transform,
transitionChange = transitionChange,
transitionIn = transitionIn,
transitionOut = transitionOut,
transitionTriggers = transitionTriggers,
truncate = truncate,
underline = underline,
variableTriggers = variableTriggers,
variables = variables,
visibility = visibility,
visibilityAction = visibilityAction,
visibilityActions = visibilityActions,
width = width,
)
/**
* @param text Text.
* @param accessibility Accessibility settings.
* @param action One action when clicking on an element. Not used if the `actions` parameter is set.
* @param actionAnimation Click animation. The web only supports the following values: `fade`, `scale`, `native`, `no_animation` and `set`.
* @param actions Multiple actions when clicking on an element.
* @param alignmentHorizontal Horizontal alignment of an element inside the parent element.
* @param alignmentVertical Vertical alignment of an element inside the parent element.
* @param alpha Sets transparency of the entire element: `0` — completely transparent, `1` — opaque.
* @param autoEllipsize Automatic text cropping to fit the container size.
* @param background Element background. It can contain multiple layers.
* @param border Element stroke.
* @param columnSpan Merges cells in a column of the [grid](div-grid.md) element.
* @param disappearActions Actions when an element disappears from the screen.
* @param doubletapActions Action when double-clicking on an element.
* @param ellipsis Text cropping marker. It is displayed when text size exceeds the limit on the number of lines.
* @param extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions).
* @param focus Parameters when focusing on an element or losing focus.
* @param focusedTextColor Text color when focusing on the element.
* @param fontFamily Font family:`text` — a standard text font; `display` — a family of fonts with a large font size.
* @param fontFeatureSettings List of OpenType font features. The format matches the CSS attribute "font-feature-settings". Learn more: https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop
* @param fontSize Font size.
* @param fontWeight Style.
* @param fontWeightValue Style. Numeric value.
* @param height Element height. For Android: if there is text in this or in a child element, specify height in `sp` to scale the element together with the text. To learn more about units of size measurement, see [Layout inside the card](../../layout).
* @param id Element ID. It must be unique within the root element. It is used as `accessibilityIdentifier` on iOS.
* @param images Images embedded in text.
* @param layoutProvider Provides element real size values after a layout cycle.
* @param letterSpacing Spacing between characters.
* @param lineHeight Line spacing of the text.
* @param longtapActions Action when long-clicking an element. Doesn't work on devices that don't support touch gestures.
* @param margins External margins from the element stroke.
* @param maxLines Maximum number of lines not to be cropped when breaking the limits.
* @param minHiddenLines Minimum number of cropped lines when breaking the limits.
* @param paddings Internal margins from the element stroke.
* @param ranges A character range in which additional style parameters can be set. Defined by mandatory `start` and `end` fields.
* @param reuseId Id for the div structure. Used for more optimal reuse of blocks. See [reusing blocks](../../reuse/reuse.md)
* @param rowSpan Merges cells in a string of the [grid](div-grid.md) element.
* @param selectable Ability to select and copy text.
* @param selectedActions List of [actions](div-action.md) to be executed when selecting an element in [pager](div-pager.md).
* @param strike Strikethrough.
* @param textAlignmentHorizontal Horizontal text alignment.
* @param textAlignmentVertical Vertical text alignment.
* @param textColor Text color. Not used if the `text_gradient` parameter is set.
* @param textGradient Gradient text color.
* @param textShadow Parameters of the shadow applied to the text.
* @param tooltips Tooltips linked to an element. A tooltip can be shown by `div-action://show_tooltip?id=`, hidden by `div-action://hide_tooltip?id=` where `id` — tooltip id.
* @param transform Applies the passed transformation to the element. Content that doesn't fit into the original view area is cut off.
* @param transitionChange Change animation. It is played when the position or size of an element changes in the new layout.
* @param transitionIn Appearance animation. It is played when an element with a new ID appears. To learn more about the concept of transitions, see [Animated transitions](../../interaction#animation/transition-animation).
* @param transitionOut Disappearance animation. It is played when an element disappears in the new layout.
* @param transitionTriggers Animation starting triggers. Default value: `[state_change, visibility_change]`.
* @param truncate Text cropping method. Use `ellipsis` instead.
* @param underline Underline.
* @param variableTriggers Triggers for changing variables within an element.
* @param variables Definition of variables that can be used within this element. These variables, defined in the array, can only be used inside this element and its children.
* @param visibility Element visibility.
* @param visibilityAction Tracking visibility of a single element. Not used if the `visibility_actions` parameter is set.
* @param visibilityActions Actions when an element appears on the screen.
* @param width Element width.
*/
@Generated
fun Text.override(
`use named arguments`: Guard = Guard.instance,
text: String? = null,
accessibility: Accessibility? = null,
action: Action? = null,
actionAnimation: Animation? = null,
actions: List? = null,
alignmentHorizontal: AlignmentHorizontal? = null,
alignmentVertical: AlignmentVertical? = null,
alpha: Double? = null,
autoEllipsize: Boolean? = null,
background: List? = null,
border: Border? = null,
columnSpan: Int? = null,
disappearActions: List? = null,
doubletapActions: List? = null,
ellipsis: Text.Ellipsis? = null,
extensions: List? = null,
focus: Focus? = null,
focusedTextColor: Color? = null,
fontFamily: String? = null,
fontFeatureSettings: String? = null,
fontSize: Int? = null,
fontSizeUnit: SizeUnit? = null,
fontWeight: FontWeight? = null,
fontWeightValue: Int? = null,
height: Size? = null,
id: String? = null,
images: List? = null,
layoutProvider: LayoutProvider? = null,
letterSpacing: Double? = null,
lineHeight: Int? = null,
longtapActions: List? = null,
margins: EdgeInsets? = null,
maxLines: Int? = null,
minHiddenLines: Int? = null,
paddings: EdgeInsets? = null,
ranges: List? = null,
reuseId: String? = null,
rowSpan: Int? = null,
selectable: Boolean? = null,
selectedActions: List? = null,
strike: LineStyle? = null,
textAlignmentHorizontal: AlignmentHorizontal? = null,
textAlignmentVertical: AlignmentVertical? = null,
textColor: Color? = null,
textGradient: TextGradient? = null,
textShadow: Shadow? = null,
tooltips: List? = null,
transform: Transform? = null,
transitionChange: ChangeTransition? = null,
transitionIn: AppearanceTransition? = null,
transitionOut: AppearanceTransition? = null,
transitionTriggers: List>? = null,
truncate: Text.Truncate? = null,
underline: LineStyle? = null,
variableTriggers: List? = null,
variables: List? = null,
visibility: Visibility? = null,
visibilityAction: VisibilityAction? = null,
visibilityActions: List? = null,
width: Size? = null,
): Text = Text(
Text.Properties(
text = valueOrNull(text) ?: properties.text,
accessibility = valueOrNull(accessibility) ?: properties.accessibility,
action = valueOrNull(action) ?: properties.action,
actionAnimation = valueOrNull(actionAnimation) ?: properties.actionAnimation,
actions = valueOrNull(actions) ?: properties.actions,
alignmentHorizontal = valueOrNull(alignmentHorizontal) ?: properties.alignmentHorizontal,
alignmentVertical = valueOrNull(alignmentVertical) ?: properties.alignmentVertical,
alpha = valueOrNull(alpha) ?: properties.alpha,
autoEllipsize = valueOrNull(autoEllipsize) ?: properties.autoEllipsize,
background = valueOrNull(background) ?: properties.background,
border = valueOrNull(border) ?: properties.border,
columnSpan = valueOrNull(columnSpan) ?: properties.columnSpan,
disappearActions = valueOrNull(disappearActions) ?: properties.disappearActions,
doubletapActions = valueOrNull(doubletapActions) ?: properties.doubletapActions,
ellipsis = valueOrNull(ellipsis) ?: properties.ellipsis,
extensions = valueOrNull(extensions) ?: properties.extensions,
focus = valueOrNull(focus) ?: properties.focus,
focusedTextColor = valueOrNull(focusedTextColor) ?: properties.focusedTextColor,
fontFamily = valueOrNull(fontFamily) ?: properties.fontFamily,
fontFeatureSettings = valueOrNull(fontFeatureSettings) ?: properties.fontFeatureSettings,
fontSize = valueOrNull(fontSize) ?: properties.fontSize,
fontSizeUnit = valueOrNull(fontSizeUnit) ?: properties.fontSizeUnit,
fontWeight = valueOrNull(fontWeight) ?: properties.fontWeight,
fontWeightValue = valueOrNull(fontWeightValue) ?: properties.fontWeightValue,
height = valueOrNull(height) ?: properties.height,
id = valueOrNull(id) ?: properties.id,
images = valueOrNull(images) ?: properties.images,
layoutProvider = valueOrNull(layoutProvider) ?: properties.layoutProvider,
letterSpacing = valueOrNull(letterSpacing) ?: properties.letterSpacing,
lineHeight = valueOrNull(lineHeight) ?: properties.lineHeight,
longtapActions = valueOrNull(longtapActions) ?: properties.longtapActions,
margins = valueOrNull(margins) ?: properties.margins,
maxLines = valueOrNull(maxLines) ?: properties.maxLines,
minHiddenLines = valueOrNull(minHiddenLines) ?: properties.minHiddenLines,
paddings = valueOrNull(paddings) ?: properties.paddings,
ranges = valueOrNull(ranges) ?: properties.ranges,
reuseId = valueOrNull(reuseId) ?: properties.reuseId,
rowSpan = valueOrNull(rowSpan) ?: properties.rowSpan,
selectable = valueOrNull(selectable) ?: properties.selectable,
selectedActions = valueOrNull(selectedActions) ?: properties.selectedActions,
strike = valueOrNull(strike) ?: properties.strike,
textAlignmentHorizontal = valueOrNull(textAlignmentHorizontal) ?: properties.textAlignmentHorizontal,
textAlignmentVertical = valueOrNull(textAlignmentVertical) ?: properties.textAlignmentVertical,
textColor = valueOrNull(textColor) ?: properties.textColor,
textGradient = valueOrNull(textGradient) ?: properties.textGradient,
textShadow = valueOrNull(textShadow) ?: properties.textShadow,
tooltips = valueOrNull(tooltips) ?: properties.tooltips,
transform = valueOrNull(transform) ?: properties.transform,
transitionChange = valueOrNull(transitionChange) ?: properties.transitionChange,
transitionIn = valueOrNull(transitionIn) ?: properties.transitionIn,
transitionOut = valueOrNull(transitionOut) ?: properties.transitionOut,
transitionTriggers = valueOrNull(transitionTriggers) ?: properties.transitionTriggers,
truncate = valueOrNull(truncate) ?: properties.truncate,
underline = valueOrNull(underline) ?: properties.underline,
variableTriggers = valueOrNull(variableTriggers) ?: properties.variableTriggers,
variables = valueOrNull(variables) ?: properties.variables,
visibility = valueOrNull(visibility) ?: properties.visibility,
visibilityAction = valueOrNull(visibilityAction) ?: properties.visibilityAction,
visibilityActions = valueOrNull(visibilityActions) ?: properties.visibilityActions,
width = valueOrNull(width) ?: properties.width,
)
)
/**
* @param text Text.
* @param accessibility Accessibility settings.
* @param action One action when clicking on an element. Not used if the `actions` parameter is set.
* @param actionAnimation Click animation. The web only supports the following values: `fade`, `scale`, `native`, `no_animation` and `set`.
* @param actions Multiple actions when clicking on an element.
* @param alignmentHorizontal Horizontal alignment of an element inside the parent element.
* @param alignmentVertical Vertical alignment of an element inside the parent element.
* @param alpha Sets transparency of the entire element: `0` — completely transparent, `1` — opaque.
* @param autoEllipsize Automatic text cropping to fit the container size.
* @param background Element background. It can contain multiple layers.
* @param border Element stroke.
* @param columnSpan Merges cells in a column of the [grid](div-grid.md) element.
* @param disappearActions Actions when an element disappears from the screen.
* @param doubletapActions Action when double-clicking on an element.
* @param ellipsis Text cropping marker. It is displayed when text size exceeds the limit on the number of lines.
* @param extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions).
* @param focus Parameters when focusing on an element or losing focus.
* @param focusedTextColor Text color when focusing on the element.
* @param fontFamily Font family:`text` — a standard text font; `display` — a family of fonts with a large font size.
* @param fontFeatureSettings List of OpenType font features. The format matches the CSS attribute "font-feature-settings". Learn more: https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop
* @param fontSize Font size.
* @param fontWeight Style.
* @param fontWeightValue Style. Numeric value.
* @param height Element height. For Android: if there is text in this or in a child element, specify height in `sp` to scale the element together with the text. To learn more about units of size measurement, see [Layout inside the card](../../layout).
* @param id Element ID. It must be unique within the root element. It is used as `accessibilityIdentifier` on iOS.
* @param images Images embedded in text.
* @param layoutProvider Provides element real size values after a layout cycle.
* @param letterSpacing Spacing between characters.
* @param lineHeight Line spacing of the text.
* @param longtapActions Action when long-clicking an element. Doesn't work on devices that don't support touch gestures.
* @param margins External margins from the element stroke.
* @param maxLines Maximum number of lines not to be cropped when breaking the limits.
* @param minHiddenLines Minimum number of cropped lines when breaking the limits.
* @param paddings Internal margins from the element stroke.
* @param ranges A character range in which additional style parameters can be set. Defined by mandatory `start` and `end` fields.
* @param reuseId Id for the div structure. Used for more optimal reuse of blocks. See [reusing blocks](../../reuse/reuse.md)
* @param rowSpan Merges cells in a string of the [grid](div-grid.md) element.
* @param selectable Ability to select and copy text.
* @param selectedActions List of [actions](div-action.md) to be executed when selecting an element in [pager](div-pager.md).
* @param strike Strikethrough.
* @param textAlignmentHorizontal Horizontal text alignment.
* @param textAlignmentVertical Vertical text alignment.
* @param textColor Text color. Not used if the `text_gradient` parameter is set.
* @param textGradient Gradient text color.
* @param textShadow Parameters of the shadow applied to the text.
* @param tooltips Tooltips linked to an element. A tooltip can be shown by `div-action://show_tooltip?id=`, hidden by `div-action://hide_tooltip?id=` where `id` — tooltip id.
* @param transform Applies the passed transformation to the element. Content that doesn't fit into the original view area is cut off.
* @param transitionChange Change animation. It is played when the position or size of an element changes in the new layout.
* @param transitionIn Appearance animation. It is played when an element with a new ID appears. To learn more about the concept of transitions, see [Animated transitions](../../interaction#animation/transition-animation).
* @param transitionOut Disappearance animation. It is played when an element disappears in the new layout.
* @param transitionTriggers Animation starting triggers. Default value: `[state_change, visibility_change]`.
* @param truncate Text cropping method. Use `ellipsis` instead.
* @param underline Underline.
* @param variableTriggers Triggers for changing variables within an element.
* @param variables Definition of variables that can be used within this element. These variables, defined in the array, can only be used inside this element and its children.
* @param visibility Element visibility.
* @param visibilityAction Tracking visibility of a single element. Not used if the `visibility_actions` parameter is set.
* @param visibilityActions Actions when an element appears on the screen.
* @param width Element width.
*/
@Generated
fun Text.defer(
`use named arguments`: Guard = Guard.instance,
text: ReferenceProperty? = null,
accessibility: ReferenceProperty? = null,
action: ReferenceProperty? = null,
actionAnimation: ReferenceProperty? = null,
actions: ReferenceProperty>? = null,
alignmentHorizontal: ReferenceProperty? = null,
alignmentVertical: ReferenceProperty? = null,
alpha: ReferenceProperty? = null,
autoEllipsize: ReferenceProperty? = null,
background: ReferenceProperty>? = null,
border: ReferenceProperty? = null,
columnSpan: ReferenceProperty? = null,
disappearActions: ReferenceProperty>? = null,
doubletapActions: ReferenceProperty>? = null,
ellipsis: ReferenceProperty? = null,
extensions: ReferenceProperty>? = null,
focus: ReferenceProperty? = null,
focusedTextColor: ReferenceProperty? = null,
fontFamily: ReferenceProperty? = null,
fontFeatureSettings: ReferenceProperty? = null,
fontSize: ReferenceProperty? = null,
fontSizeUnit: ReferenceProperty? = null,
fontWeight: ReferenceProperty? = null,
fontWeightValue: ReferenceProperty? = null,
height: ReferenceProperty? = null,
id: ReferenceProperty? = null,
images: ReferenceProperty>? = null,
layoutProvider: ReferenceProperty? = null,
letterSpacing: ReferenceProperty? = null,
lineHeight: ReferenceProperty? = null,
longtapActions: ReferenceProperty>? = null,
margins: ReferenceProperty? = null,
maxLines: ReferenceProperty? = null,
minHiddenLines: ReferenceProperty? = null,
paddings: ReferenceProperty? = null,
ranges: ReferenceProperty