diff --git a/.mapping.json b/.mapping.json index 67f94dd17..e6e899a67 100644 --- a/.mapping.json +++ b/.mapping.json @@ -16149,6 +16149,9 @@ "json-builder/kotlin/src/generated/kotlin/divkit/dsl/IndicatorItemPlacement.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/IndicatorItemPlacement.kt", "json-builder/kotlin/src/generated/kotlin/divkit/dsl/InfinityCount.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InfinityCount.kt", "json-builder/kotlin/src/generated/kotlin/divkit/dsl/Input.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/Input.kt", + "json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilter.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilter.kt", + "json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterExpression.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterExpression.kt", + "json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterRegex.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterRegex.kt", "json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputMask.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputMask.kt", "json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputValidator.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputValidator.kt", "json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputValidatorBase.kt":"divkit/public/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputValidatorBase.kt", diff --git a/client/ios/Configurations/Version.xcconfig b/client/ios/Configurations/Version.xcconfig index 3934a0135..e77b72218 100644 --- a/client/ios/Configurations/Version.xcconfig +++ b/client/ios/Configurations/Version.xcconfig @@ -1,2 +1,2 @@ -MARKETING_VERSION = 30.15.0 +MARKETING_VERSION = 30.16.0 CURRENT_PROJECT_VERSION = 30 diff --git a/client/ios/DivKit/DivKitInfo.swift b/client/ios/DivKit/DivKitInfo.swift index e3a855c3a..8dc29eaa8 100644 --- a/client/ios/DivKit/DivKitInfo.swift +++ b/client/ios/DivKit/DivKitInfo.swift @@ -1,3 +1,3 @@ public enum DivKitInfo { - public static let version = "30.15.0" + public static let version = "30.16.0" } diff --git a/client/web/divkit/package.json b/client/web/divkit/package.json index d90efd883..cb28fad38 100644 --- a/client/web/divkit/package.json +++ b/client/web/divkit/package.json @@ -1,6 +1,6 @@ { "name": "@divkitframework/divkit", - "version": "30.15.0", + "version": "30.16.0", "description": "DivKit for the web", "keywords": [ "server-driven-ui", diff --git a/json-builder/kotlin/src/generated/kotlin/divkit/dsl/EnumValues.kt b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/EnumValues.kt index df723bb5a..870f8d512 100644 --- a/json-builder/kotlin/src/generated/kotlin/divkit/dsl/EnumValues.kt +++ b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/EnumValues.kt @@ -40,6 +40,7 @@ object ExcludeEnumValue : EnumValue("exclude"), object NoneEnumValue : EnumValue("none"), Accessibility.Type, Gallery.Scrollbar, + Input.Autocapitalization, LineStyle, Tabs.TabTitleStyle.AnimationType, Text.Image.Accessibility.Type, @@ -85,6 +86,7 @@ object SelectEnumValue : EnumValue("select"), object AutoEnumValue : EnumValue("auto"), Accessibility.Type, Gallery.Scrollbar, + Input.Autocapitalization, Text.Image.Accessibility.Type @Generated @@ -317,6 +319,18 @@ object WormEnumValue : EnumValue("worm"), object SliderEnumValue : EnumValue("slider"), Indicator.Animation +@Generated +object WordsEnumValue : EnumValue("words"), + Input.Autocapitalization + +@Generated +object SentencesEnumValue : EnumValue("sentences"), + Input.Autocapitalization + +@Generated +object AllCharactersEnumValue : EnumValue("all_characters"), + Input.Autocapitalization + @Generated object SingleLineTextEnumValue : EnumValue("single_line_text"), Input.KeyboardType @@ -687,6 +701,18 @@ val DivScope.worm: WormEnumValue val DivScope.slider: SliderEnumValue get() = SliderEnumValue +@Generated +val DivScope.words: WordsEnumValue + get() = WordsEnumValue + +@Generated +val DivScope.sentences: SentencesEnumValue + get() = SentencesEnumValue + +@Generated +val DivScope.all_characters: AllCharactersEnumValue + get() = AllCharactersEnumValue + @Generated val DivScope.single_line_text: SingleLineTextEnumValue get() = SingleLineTextEnumValue diff --git a/json-builder/kotlin/src/generated/kotlin/divkit/dsl/Input.kt b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/Input.kt index 1f3602822..c26b962cb 100644 --- a/json-builder/kotlin/src/generated/kotlin/divkit/dsl/Input.kt +++ b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/Input.kt @@ -40,11 +40,13 @@ class Input internal constructor( alignmentHorizontal = additive.alignmentHorizontal ?: properties.alignmentHorizontal, alignmentVertical = additive.alignmentVertical ?: properties.alignmentVertical, alpha = additive.alpha ?: properties.alpha, + autocapitalization = additive.autocapitalization ?: properties.autocapitalization, background = additive.background ?: properties.background, border = additive.border ?: properties.border, columnSpan = additive.columnSpan ?: properties.columnSpan, disappearActions = additive.disappearActions ?: properties.disappearActions, extensions = additive.extensions ?: properties.extensions, + filters = additive.filters ?: properties.filters, focus = additive.focus ?: properties.focus, fontFamily = additive.fontFamily ?: properties.fontFamily, fontSize = additive.fontSize ?: properties.fontSize, @@ -109,6 +111,11 @@ class Input internal constructor( * Default value: `1.0`. */ val alpha: Property?, + /** + * Automatic text capitalization type. + * Default value: `auto`. + */ + val autocapitalization: Property?, /** * Element background. It can contain multiple layers. */ @@ -129,6 +136,10 @@ class Input internal constructor( * Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions). */ val extensions: Property>?, + /** + * Filtering that prevents the entry of text that does not meet specified conditions. + */ + val filters: Property>?, /** * Parameters when focusing on an element or losing focus. */ @@ -323,11 +334,13 @@ class Input internal constructor( result.tryPutProperty("alignment_horizontal", alignmentHorizontal) result.tryPutProperty("alignment_vertical", alignmentVertical) result.tryPutProperty("alpha", alpha) + result.tryPutProperty("autocapitalization", autocapitalization) result.tryPutProperty("background", background) result.tryPutProperty("border", border) result.tryPutProperty("column_span", columnSpan) result.tryPutProperty("disappear_actions", disappearActions) result.tryPutProperty("extensions", extensions) + result.tryPutProperty("filters", filters) result.tryPutProperty("focus", focus) result.tryPutProperty("font_family", fontFamily) result.tryPutProperty("font_size", fontSize) @@ -375,6 +388,14 @@ class Input internal constructor( } } + /** + * Automatic text capitalization type. + * + * Possible values: [auto], [none], [words], [sentences], [all_characters]. + */ + @Generated + sealed interface Autocapitalization + /** * Keyboard type. * @@ -426,11 +447,13 @@ class Input internal constructor( * @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 autocapitalization Automatic text capitalization type. * @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 extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions). + * @param filters Filtering that prevents the entry of text that does not meet specified conditions. * @param focus Parameters when focusing on an element or losing focus. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -482,11 +505,13 @@ fun DivScope.input( alignmentHorizontal: AlignmentHorizontal? = null, alignmentVertical: AlignmentVertical? = null, alpha: Double? = null, + autocapitalization: Input.Autocapitalization? = null, background: List? = null, border: Border? = null, columnSpan: Int? = null, disappearActions: List? = null, extensions: List? = null, + filters: List? = null, focus: Focus? = null, fontFamily: String? = null, fontSize: Int? = null, @@ -536,11 +561,13 @@ fun DivScope.input( alignmentHorizontal = valueOrNull(alignmentHorizontal), alignmentVertical = valueOrNull(alignmentVertical), alpha = valueOrNull(alpha), + autocapitalization = valueOrNull(autocapitalization), background = valueOrNull(background), border = valueOrNull(border), columnSpan = valueOrNull(columnSpan), disappearActions = valueOrNull(disappearActions), extensions = valueOrNull(extensions), + filters = valueOrNull(filters), focus = valueOrNull(focus), fontFamily = valueOrNull(fontFamily), fontSize = valueOrNull(fontSize), @@ -592,11 +619,13 @@ fun DivScope.input( * @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 autocapitalization Automatic text capitalization type. * @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 extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions). + * @param filters Filtering that prevents the entry of text that does not meet specified conditions. * @param focus Parameters when focusing on an element or losing focus. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -648,11 +677,13 @@ fun DivScope.inputProps( alignmentHorizontal: AlignmentHorizontal? = null, alignmentVertical: AlignmentVertical? = null, alpha: Double? = null, + autocapitalization: Input.Autocapitalization? = null, background: List? = null, border: Border? = null, columnSpan: Int? = null, disappearActions: List? = null, extensions: List? = null, + filters: List? = null, focus: Focus? = null, fontFamily: String? = null, fontSize: Int? = null, @@ -701,11 +732,13 @@ fun DivScope.inputProps( alignmentHorizontal = valueOrNull(alignmentHorizontal), alignmentVertical = valueOrNull(alignmentVertical), alpha = valueOrNull(alpha), + autocapitalization = valueOrNull(autocapitalization), background = valueOrNull(background), border = valueOrNull(border), columnSpan = valueOrNull(columnSpan), disappearActions = valueOrNull(disappearActions), extensions = valueOrNull(extensions), + filters = valueOrNull(filters), focus = valueOrNull(focus), fontFamily = valueOrNull(fontFamily), fontSize = valueOrNull(fontSize), @@ -756,11 +789,13 @@ fun DivScope.inputProps( * @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 autocapitalization Automatic text capitalization type. * @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 extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions). + * @param filters Filtering that prevents the entry of text that does not meet specified conditions. * @param focus Parameters when focusing on an element or losing focus. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -812,11 +847,13 @@ fun TemplateScope.inputRefs( alignmentHorizontal: ReferenceProperty? = null, alignmentVertical: ReferenceProperty? = null, alpha: ReferenceProperty? = null, + autocapitalization: ReferenceProperty? = null, background: ReferenceProperty>? = null, border: ReferenceProperty? = null, columnSpan: ReferenceProperty? = null, disappearActions: ReferenceProperty>? = null, extensions: ReferenceProperty>? = null, + filters: ReferenceProperty>? = null, focus: ReferenceProperty? = null, fontFamily: ReferenceProperty? = null, fontSize: ReferenceProperty? = null, @@ -865,11 +902,13 @@ fun TemplateScope.inputRefs( alignmentHorizontal = alignmentHorizontal, alignmentVertical = alignmentVertical, alpha = alpha, + autocapitalization = autocapitalization, background = background, border = border, columnSpan = columnSpan, disappearActions = disappearActions, extensions = extensions, + filters = filters, focus = focus, fontFamily = fontFamily, fontSize = fontSize, @@ -920,11 +959,13 @@ fun TemplateScope.inputRefs( * @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 autocapitalization Automatic text capitalization type. * @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 extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions). + * @param filters Filtering that prevents the entry of text that does not meet specified conditions. * @param focus Parameters when focusing on an element or losing focus. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -976,11 +1017,13 @@ fun Input.override( alignmentHorizontal: AlignmentHorizontal? = null, alignmentVertical: AlignmentVertical? = null, alpha: Double? = null, + autocapitalization: Input.Autocapitalization? = null, background: List? = null, border: Border? = null, columnSpan: Int? = null, disappearActions: List? = null, extensions: List? = null, + filters: List? = null, focus: Focus? = null, fontFamily: String? = null, fontSize: Int? = null, @@ -1030,11 +1073,13 @@ fun Input.override( alignmentHorizontal = valueOrNull(alignmentHorizontal) ?: properties.alignmentHorizontal, alignmentVertical = valueOrNull(alignmentVertical) ?: properties.alignmentVertical, alpha = valueOrNull(alpha) ?: properties.alpha, + autocapitalization = valueOrNull(autocapitalization) ?: properties.autocapitalization, background = valueOrNull(background) ?: properties.background, border = valueOrNull(border) ?: properties.border, columnSpan = valueOrNull(columnSpan) ?: properties.columnSpan, disappearActions = valueOrNull(disappearActions) ?: properties.disappearActions, extensions = valueOrNull(extensions) ?: properties.extensions, + filters = valueOrNull(filters) ?: properties.filters, focus = valueOrNull(focus) ?: properties.focus, fontFamily = valueOrNull(fontFamily) ?: properties.fontFamily, fontSize = valueOrNull(fontSize) ?: properties.fontSize, @@ -1086,11 +1131,13 @@ fun Input.override( * @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 autocapitalization Automatic text capitalization type. * @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 extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions). + * @param filters Filtering that prevents the entry of text that does not meet specified conditions. * @param focus Parameters when focusing on an element or losing focus. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -1142,11 +1189,13 @@ fun Input.defer( alignmentHorizontal: ReferenceProperty? = null, alignmentVertical: ReferenceProperty? = null, alpha: ReferenceProperty? = null, + autocapitalization: ReferenceProperty? = null, background: ReferenceProperty>? = null, border: ReferenceProperty? = null, columnSpan: ReferenceProperty? = null, disappearActions: ReferenceProperty>? = null, extensions: ReferenceProperty>? = null, + filters: ReferenceProperty>? = null, focus: ReferenceProperty? = null, fontFamily: ReferenceProperty? = null, fontSize: ReferenceProperty? = null, @@ -1196,11 +1245,13 @@ fun Input.defer( alignmentHorizontal = alignmentHorizontal ?: properties.alignmentHorizontal, alignmentVertical = alignmentVertical ?: properties.alignmentVertical, alpha = alpha ?: properties.alpha, + autocapitalization = autocapitalization ?: properties.autocapitalization, background = background ?: properties.background, border = border ?: properties.border, columnSpan = columnSpan ?: properties.columnSpan, disappearActions = disappearActions ?: properties.disappearActions, extensions = extensions ?: properties.extensions, + filters = filters ?: properties.filters, focus = focus ?: properties.focus, fontFamily = fontFamily ?: properties.fontFamily, fontSize = fontSize ?: properties.fontSize, @@ -1251,6 +1302,7 @@ fun Input.defer( * @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 autocapitalization Automatic text capitalization type. * @param columnSpan Merges cells in a column of the [grid](div-grid.md) element. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -1280,6 +1332,7 @@ fun Input.evaluate( alignmentHorizontal: ExpressionProperty? = null, alignmentVertical: ExpressionProperty? = null, alpha: ExpressionProperty? = null, + autocapitalization: ExpressionProperty? = null, columnSpan: ExpressionProperty? = null, fontFamily: ExpressionProperty? = null, fontSize: ExpressionProperty? = null, @@ -1308,11 +1361,13 @@ fun Input.evaluate( alignmentHorizontal = alignmentHorizontal ?: properties.alignmentHorizontal, alignmentVertical = alignmentVertical ?: properties.alignmentVertical, alpha = alpha ?: properties.alpha, + autocapitalization = autocapitalization ?: properties.autocapitalization, background = properties.background, border = properties.border, columnSpan = columnSpan ?: properties.columnSpan, disappearActions = properties.disappearActions, extensions = properties.extensions, + filters = properties.filters, focus = properties.focus, fontFamily = fontFamily ?: properties.fontFamily, fontSize = fontSize ?: properties.fontSize, @@ -1364,11 +1419,13 @@ fun Input.evaluate( * @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 autocapitalization Automatic text capitalization type. * @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 extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions). + * @param filters Filtering that prevents the entry of text that does not meet specified conditions. * @param focus Parameters when focusing on an element or losing focus. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -1420,11 +1477,13 @@ fun Component.override( alignmentHorizontal: AlignmentHorizontal? = null, alignmentVertical: AlignmentVertical? = null, alpha: Double? = null, + autocapitalization: Input.Autocapitalization? = null, background: List? = null, border: Border? = null, columnSpan: Int? = null, disappearActions: List? = null, extensions: List? = null, + filters: List? = null, focus: Focus? = null, fontFamily: String? = null, fontSize: Int? = null, @@ -1475,11 +1534,13 @@ fun Component.override( alignmentHorizontal = valueOrNull(alignmentHorizontal), alignmentVertical = valueOrNull(alignmentVertical), alpha = valueOrNull(alpha), + autocapitalization = valueOrNull(autocapitalization), background = valueOrNull(background), border = valueOrNull(border), columnSpan = valueOrNull(columnSpan), disappearActions = valueOrNull(disappearActions), extensions = valueOrNull(extensions), + filters = valueOrNull(filters), focus = valueOrNull(focus), fontFamily = valueOrNull(fontFamily), fontSize = valueOrNull(fontSize), @@ -1531,11 +1592,13 @@ fun Component.override( * @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 autocapitalization Automatic text capitalization type. * @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 extensions Extensions for additional processing of an element. The list of extensions is given in [DivExtension](../../extensions). + * @param filters Filtering that prevents the entry of text that does not meet specified conditions. * @param focus Parameters when focusing on an element or losing focus. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -1587,11 +1650,13 @@ fun Component.defer( alignmentHorizontal: ReferenceProperty? = null, alignmentVertical: ReferenceProperty? = null, alpha: ReferenceProperty? = null, + autocapitalization: ReferenceProperty? = null, background: ReferenceProperty>? = null, border: ReferenceProperty? = null, columnSpan: ReferenceProperty? = null, disappearActions: ReferenceProperty>? = null, extensions: ReferenceProperty>? = null, + filters: ReferenceProperty>? = null, focus: ReferenceProperty? = null, fontFamily: ReferenceProperty? = null, fontSize: ReferenceProperty? = null, @@ -1642,11 +1707,13 @@ fun Component.defer( alignmentHorizontal = alignmentHorizontal, alignmentVertical = alignmentVertical, alpha = alpha, + autocapitalization = autocapitalization, background = background, border = border, columnSpan = columnSpan, disappearActions = disappearActions, extensions = extensions, + filters = filters, focus = focus, fontFamily = fontFamily, fontSize = fontSize, @@ -1697,6 +1764,7 @@ fun Component.defer( * @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 autocapitalization Automatic text capitalization type. * @param columnSpan Merges cells in a column of the [grid](div-grid.md) element. * @param fontFamily Font family:
  • `text` — a standard text font;
  • `display` — a family of fonts with a large font size.
  • * @param fontSize Font size. @@ -1726,6 +1794,7 @@ fun Component.evaluate( alignmentHorizontal: ExpressionProperty? = null, alignmentVertical: ExpressionProperty? = null, alpha: ExpressionProperty? = null, + autocapitalization: ExpressionProperty? = null, columnSpan: ExpressionProperty? = null, fontFamily: ExpressionProperty? = null, fontSize: ExpressionProperty? = null, @@ -1755,11 +1824,13 @@ fun Component.evaluate( alignmentHorizontal = alignmentHorizontal, alignmentVertical = alignmentVertical, alpha = alpha, + autocapitalization = autocapitalization, background = null, border = null, columnSpan = columnSpan, disappearActions = null, extensions = null, + filters = null, focus = null, fontFamily = fontFamily, fontSize = fontSize, @@ -1815,6 +1886,9 @@ operator fun Component.plus(additive: Input.Properties): Component @Generated fun Input.asList() = listOf(this) +@Generated +fun Input.Autocapitalization.asList() = listOf(this) + @Generated fun Input.KeyboardType.asList() = listOf(this) diff --git a/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilter.kt b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilter.kt new file mode 100644 index 000000000..7dd9d63e0 --- /dev/null +++ b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilter.kt @@ -0,0 +1,27 @@ +@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 + +/** + * Possible values: [InputFilterRegex], [InputFilterExpression]. + */ +@Generated +sealed interface InputFilter + +@Generated +fun InputFilter.asList() = listOf(this) diff --git a/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterExpression.kt b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterExpression.kt new file mode 100644 index 000000000..3871f5aef --- /dev/null +++ b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterExpression.kt @@ -0,0 +1,133 @@ +@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 + +/** + * [Calculated expression](../../expressions) filter. + * + * Can be created using the method [inputFilterExpression]. + * + * Required parameters: `type, condition`. + */ +@Generated +class InputFilterExpression internal constructor( + @JsonIgnore + val properties: Properties, +) : InputFilter { + @JsonAnyGetter + internal fun getJsonProperties(): Map = properties.mergeWith( + mapOf("type" to "expression") + ) + + operator fun plus(additive: Properties): InputFilterExpression = InputFilterExpression( + Properties( + condition = additive.condition ?: properties.condition, + ) + ) + + class Properties internal constructor( + /** + * [Calculated expression](../../expressions) used as a value validity condition. + */ + val condition: Property?, + ) { + internal fun mergeWith(properties: Map): Map { + val result = mutableMapOf() + result.putAll(properties) + result.tryPutProperty("condition", condition) + return result + } + } +} + +/** + * @param condition [Calculated expression](../../expressions) used as a value validity condition. + */ +@Generated +fun DivScope.inputFilterExpression( + `use named arguments`: Guard = Guard.instance, + condition: Boolean? = null, +): InputFilterExpression = InputFilterExpression( + InputFilterExpression.Properties( + condition = valueOrNull(condition), + ) +) + +/** + * @param condition [Calculated expression](../../expressions) used as a value validity condition. + */ +@Generated +fun DivScope.inputFilterExpressionProps( + `use named arguments`: Guard = Guard.instance, + condition: Boolean? = null, +) = InputFilterExpression.Properties( + condition = valueOrNull(condition), +) + +/** + * @param condition [Calculated expression](../../expressions) used as a value validity condition. + */ +@Generated +fun TemplateScope.inputFilterExpressionRefs( + `use named arguments`: Guard = Guard.instance, + condition: ReferenceProperty? = null, +) = InputFilterExpression.Properties( + condition = condition, +) + +/** + * @param condition [Calculated expression](../../expressions) used as a value validity condition. + */ +@Generated +fun InputFilterExpression.override( + `use named arguments`: Guard = Guard.instance, + condition: Boolean? = null, +): InputFilterExpression = InputFilterExpression( + InputFilterExpression.Properties( + condition = valueOrNull(condition) ?: properties.condition, + ) +) + +/** + * @param condition [Calculated expression](../../expressions) used as a value validity condition. + */ +@Generated +fun InputFilterExpression.defer( + `use named arguments`: Guard = Guard.instance, + condition: ReferenceProperty? = null, +): InputFilterExpression = InputFilterExpression( + InputFilterExpression.Properties( + condition = condition ?: properties.condition, + ) +) + +/** + * @param condition [Calculated expression](../../expressions) used as a value validity condition. + */ +@Generated +fun InputFilterExpression.evaluate( + `use named arguments`: Guard = Guard.instance, + condition: ExpressionProperty? = null, +): InputFilterExpression = InputFilterExpression( + InputFilterExpression.Properties( + condition = condition ?: properties.condition, + ) +) + +@Generated +fun InputFilterExpression.asList() = listOf(this) diff --git a/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterRegex.kt b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterRegex.kt new file mode 100644 index 000000000..ccbeb1cb8 --- /dev/null +++ b/json-builder/kotlin/src/generated/kotlin/divkit/dsl/InputFilterRegex.kt @@ -0,0 +1,133 @@ +@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 + +/** + * Regex filter. + * + * Can be created using the method [inputFilterRegex]. + * + * Required parameters: `type, pattern`. + */ +@Generated +class InputFilterRegex internal constructor( + @JsonIgnore + val properties: Properties, +) : InputFilter { + @JsonAnyGetter + internal fun getJsonProperties(): Map = properties.mergeWith( + mapOf("type" to "regex") + ) + + operator fun plus(additive: Properties): InputFilterRegex = InputFilterRegex( + Properties( + pattern = additive.pattern ?: properties.pattern, + ) + ) + + class Properties internal constructor( + /** + * A regular expression (pattern) that the input value must match. + */ + val pattern: Property?, + ) { + internal fun mergeWith(properties: Map): Map { + val result = mutableMapOf() + result.putAll(properties) + result.tryPutProperty("pattern", pattern) + return result + } + } +} + +/** + * @param pattern A regular expression (pattern) that the input value must match. + */ +@Generated +fun DivScope.inputFilterRegex( + `use named arguments`: Guard = Guard.instance, + pattern: String? = null, +): InputFilterRegex = InputFilterRegex( + InputFilterRegex.Properties( + pattern = valueOrNull(pattern), + ) +) + +/** + * @param pattern A regular expression (pattern) that the input value must match. + */ +@Generated +fun DivScope.inputFilterRegexProps( + `use named arguments`: Guard = Guard.instance, + pattern: String? = null, +) = InputFilterRegex.Properties( + pattern = valueOrNull(pattern), +) + +/** + * @param pattern A regular expression (pattern) that the input value must match. + */ +@Generated +fun TemplateScope.inputFilterRegexRefs( + `use named arguments`: Guard = Guard.instance, + pattern: ReferenceProperty? = null, +) = InputFilterRegex.Properties( + pattern = pattern, +) + +/** + * @param pattern A regular expression (pattern) that the input value must match. + */ +@Generated +fun InputFilterRegex.override( + `use named arguments`: Guard = Guard.instance, + pattern: String? = null, +): InputFilterRegex = InputFilterRegex( + InputFilterRegex.Properties( + pattern = valueOrNull(pattern) ?: properties.pattern, + ) +) + +/** + * @param pattern A regular expression (pattern) that the input value must match. + */ +@Generated +fun InputFilterRegex.defer( + `use named arguments`: Guard = Guard.instance, + pattern: ReferenceProperty? = null, +): InputFilterRegex = InputFilterRegex( + InputFilterRegex.Properties( + pattern = pattern ?: properties.pattern, + ) +) + +/** + * @param pattern A regular expression (pattern) that the input value must match. + */ +@Generated +fun InputFilterRegex.evaluate( + `use named arguments`: Guard = Guard.instance, + pattern: ExpressionProperty? = null, +): InputFilterRegex = InputFilterRegex( + InputFilterRegex.Properties( + pattern = pattern ?: properties.pattern, + ) +) + +@Generated +fun InputFilterRegex.asList() = listOf(this) diff --git a/json-builder/python/pyproject.toml b/json-builder/python/pyproject.toml index 26859caa8..38bf6174b 100644 --- a/json-builder/python/pyproject.toml +++ b/json-builder/python/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pydivkit" -version = "30.15.0" +version = "30.16.0" description = "DivKit python library" readme = "README.md" repository = "https://github.com/divkit/divkit/tree/main/json-builder/python" diff --git a/json-builder/typescript/package.json b/json-builder/typescript/package.json index d73705400..96d7c766d 100644 --- a/json-builder/typescript/package.json +++ b/json-builder/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@divkitframework/jsonbuilder", - "version": "30.15.0", + "version": "30.16.0", "description": "DivKit TypeScript JSON Builder", "main": "./dist/jsonbuilder.js", "module": "./dist/es/jsonbuilder.js", diff --git a/version b/version index 52636e44d..5ac4d3ac9 100644 --- a/version +++ b/version @@ -1 +1 @@ -30.15.0 +30.16.0