From 7bb4ec59c253a686810af57f0da681aade48025b Mon Sep 17 00:00:00 2001
From: timatifey
In vertical galleries:`start` — alignment tothe left of the card;`center` — to the center;`end` — to the right.') + default_item: typing.Optional[int] = Field(description='Ordinal number of the gallery element to be scrolled to by default. For`scroll_mode`:`default` — the scroll position is set to the beginning of theelement, without taking into account `item_spacing`;`paging` — the scrollposition is set to the center of the element.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + item_spacing: typing.Optional[int] = Field(description='Spacing between elements.') + items: typing.List[div.Div] = Field(min_items=1, description='Gallery elements. Scrolling to elements can be implementedusing:`div-action://set_current_item?id=&item=` — scrolling to the element withan ordinal number `item` inside an element, with the specified`id`;`div-action://set_next_item?id=[&overflow={clamp|ring}]` — scrolling to thenext element inside an element, with the specified`id`;`div-action://set_previous_item?id=[&overflow={clamp|ring}]` — scrolling tothe previous element inside an element, with the specified `id`.
Theoptional `overflow` parameter is used to set navigation when the first or lastelement is reached:`clamp` — transition will stop at the border element;`ring` —go to the beginning or end, depending on the current element.
By default,`clamp`.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + orientation: typing.Optional[DivGalleryOrientation] = Field(description='Gallery orientation.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + restrict_parent_scroll: typing.Optional[bool] = Field(description='If the parameter is enabled, the gallery won\'t transmit the scroll gesture to theparent element.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + scroll_mode: typing.Optional[DivGalleryScrollMode] = Field(description='Scroll type: `default` — continuous, `paging` — page-by-page.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +class DivGalleryCrossContentAlignment(str, enum.Enum): + START = 'start' + CENTER = 'center' + END = 'end' + + +class DivGalleryOrientation(str, enum.Enum): + HORIZONTAL = 'horizontal' + VERTICAL = 'vertical' + + +class DivGalleryScrollMode(str, enum.Enum): + PAGING = 'paging' + DEFAULT = 'default' + + +DivGallery.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_gif_image.py b/json-builder/python/pydivkit/div/div_gif_image.py new file mode 100644 index 000000000..cd3d40fc1 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_gif_image.py @@ -0,0 +1,158 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_animation +from . import div_appearance_transition +from . import div_aspect +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_focus +from . import div_image_scale +from . import div_size +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# Animated GIF image. +class DivGifImage(BaseDiv): + + def __init__( + self, *, + gif_url: str, + type: str = 'gif', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + action: typing.Optional[div_action.DivAction] = None, + action_animation: typing.Optional[div_animation.DivAnimation] = None, + actions: typing.Optional[typing.List[div_action.DivAction]] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + aspect: typing.Optional[div_aspect.DivAspect] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + placeholder_color: typing.Optional[str] = None, + preload_required: typing.Optional[bool] = None, + preview: typing.Optional[str] = None, + row_span: typing.Optional[int] = None, + scale: typing.Optional[div_image_scale.DivImageScale] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + action=action, + action_animation=action_animation, + actions=actions, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + aspect=aspect, + background=background, + border=border, + column_span=column_span, + content_alignment_horizontal=content_alignment_horizontal, + content_alignment_vertical=content_alignment_vertical, + doubletap_actions=doubletap_actions, + extensions=extensions, + focus=focus, + gif_url=gif_url, + height=height, + id=id, + longtap_actions=longtap_actions, + margins=margins, + paddings=paddings, + placeholder_color=placeholder_color, + preload_required=preload_required, + preview=preview, + row_span=row_span, + scale=scale, + selected_actions=selected_actions, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='gif') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + action: typing.Optional[div_action.DivAction] = Field(description='One action when clicking on an element. Not used if the `actions` parameter isset.') + action_animation: typing.Optional[div_animation.DivAnimation] = Field(description='Action animation. Web supports `fade`, `scale` and `set` only.') + actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Multiple actions when clicking on an element.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + aspect: typing.Optional[div_aspect.DivAspect] = Field() + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal image alignment.') + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical image alignment.') + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when double-clicking on an element.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + gif_url: str = Field(format="uri", description='Direct URL to a GIF image.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when long-clicking on an element.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + placeholder_color: typing.Optional[str] = Field(format="color", description='Placeholder background before the image is loaded.') + preload_required: typing.Optional[bool] = Field(description='Background image must be loaded before the display.') + preview: typing.Optional[str] = Field(min_length=1, description='Image preview encoded in `base64`. It will be shown instead of`placeholder_color` before the image is loaded. Format `data url`:`data:[;base64],`') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + scale: typing.Optional[div_image_scale.DivImageScale] = Field(description='Image scaling:`fit` places the entire image into the element (free space isfilled with background);`fill` scales the image to the element size and cuts offthe excess.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +DivGifImage.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_grid.py b/json-builder/python/pydivkit/div/div_grid.py new file mode 100644 index 000000000..9b1d9ecf9 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_grid.py @@ -0,0 +1,145 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_animation +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_focus +from . import div_size +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# A grid with an option to merge cells vertically and horizontally. +class DivGrid(BaseDiv): + + def __init__( + self, *, + column_count: int, + items: typing.List[div.Div], + type: str = 'grid', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + action: typing.Optional[div_action.DivAction] = None, + action_animation: typing.Optional[div_animation.DivAnimation] = None, + actions: typing.Optional[typing.List[div_action.DivAction]] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + row_span: typing.Optional[int] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + action=action, + action_animation=action_animation, + actions=actions, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + background=background, + border=border, + column_count=column_count, + column_span=column_span, + content_alignment_horizontal=content_alignment_horizontal, + content_alignment_vertical=content_alignment_vertical, + doubletap_actions=doubletap_actions, + extensions=extensions, + focus=focus, + height=height, + id=id, + items=items, + longtap_actions=longtap_actions, + margins=margins, + paddings=paddings, + row_span=row_span, + selected_actions=selected_actions, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='grid') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + action: typing.Optional[div_action.DivAction] = Field(description='One action when clicking on an element. Not used if the `actions` parameter isset.') + action_animation: typing.Optional[div_animation.DivAnimation] = Field(description='Action animation. Web supports `fade`, `scale` and `set` only.') + actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Multiple actions when clicking on an element.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_count: int = Field(description='Number of columns.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of grid contents.') + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of grid contents.') + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when double-clicking on an element.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + items: typing.List[div.Div] = Field(min_items=1, description='Contents.') + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when long-clicking on an element.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +DivGrid.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_image.py b/json-builder/python/pydivkit/div/div_image.py new file mode 100644 index 000000000..88d3cda50 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_image.py @@ -0,0 +1,168 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_animation +from . import div_appearance_transition +from . import div_aspect +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_fade_transition +from . import div_focus +from . import div_image_scale +from . import div_size +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# Image. +class DivImage(BaseDiv): + + def __init__( + self, *, + image_url: str, + type: str = 'image', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + action: typing.Optional[div_action.DivAction] = None, + action_animation: typing.Optional[div_animation.DivAnimation] = None, + actions: typing.Optional[typing.List[div_action.DivAction]] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + appearance_animation: typing.Optional[div_fade_transition.DivFadeTransition] = None, + aspect: typing.Optional[div_aspect.DivAspect] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + height: typing.Optional[div_size.DivSize] = None, + high_priority_preview_show: typing.Optional[bool] = None, + id: typing.Optional[str] = None, + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + placeholder_color: typing.Optional[str] = None, + preload_required: typing.Optional[bool] = None, + preview: typing.Optional[str] = None, + row_span: typing.Optional[int] = None, + scale: typing.Optional[div_image_scale.DivImageScale] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + tint_color: typing.Optional[str] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + action=action, + action_animation=action_animation, + actions=actions, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + appearance_animation=appearance_animation, + aspect=aspect, + background=background, + border=border, + column_span=column_span, + content_alignment_horizontal=content_alignment_horizontal, + content_alignment_vertical=content_alignment_vertical, + doubletap_actions=doubletap_actions, + extensions=extensions, + focus=focus, + height=height, + high_priority_preview_show=high_priority_preview_show, + id=id, + image_url=image_url, + longtap_actions=longtap_actions, + margins=margins, + paddings=paddings, + placeholder_color=placeholder_color, + preload_required=preload_required, + preview=preview, + row_span=row_span, + scale=scale, + selected_actions=selected_actions, + tint_color=tint_color, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='image') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + action: typing.Optional[div_action.DivAction] = Field(description='One action when clicking on an element. Not used if the `actions` parameter isset.') + action_animation: typing.Optional[div_animation.DivAnimation] = Field(description='Action animation. Web supports `fade`, `scale` and `set` only.') + actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Multiple actions when clicking on an element.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + appearance_animation: typing.Optional[div_fade_transition.DivFadeTransition] = Field(description='Transparency animation when loading an image.') + aspect: typing.Optional[div_aspect.DivAspect] = Field() + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal image alignment.') + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical image alignment.') + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when double-clicking on an element.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + high_priority_preview_show: typing.Optional[bool] = Field(description='It sets the priority of displaying the preview — the preview is decoded in themain stream and displayed as the first frame. Use the parameter carefully — itwill worsen the preview display time and can worsen the application launch time.') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + image_url: str = Field(format="uri", description='Direct URL to an image.') + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when long-clicking on an element.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + placeholder_color: typing.Optional[str] = Field(format="color", description='Placeholder background before the image is loaded.') + preload_required: typing.Optional[bool] = Field(description='Background image must be loaded before the display.') + preview: typing.Optional[str] = Field(min_length=1, description='Image preview encoded in `base64`. It will be shown instead of`placeholder_color` before the image is loaded. Format `data url`:`data:[;base64],`') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + scale: typing.Optional[div_image_scale.DivImageScale] = Field(description='Image scaling:`fit` places the entire image into the element (free space isfilled with background);`fill` scales the image to the element size and cuts offthe excess.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + tint_color: typing.Optional[str] = Field(format="color", description='New color of a contour image.') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +DivImage.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_image_background.py b/json-builder/python/pydivkit/div/div_image_background.py new file mode 100644 index 000000000..9ca08fc97 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_image_background.py @@ -0,0 +1,45 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_image_scale + + +# Background image. +class DivImageBackground(BaseDiv): + + def __init__( + self, *, + image_url: str, + type: str = 'image', + alpha: typing.Optional[float] = None, + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + preload_required: typing.Optional[bool] = None, + scale: typing.Optional[div_image_scale.DivImageScale] = None, + ): + super().__init__( + type=type, + alpha=alpha, + content_alignment_horizontal=content_alignment_horizontal, + content_alignment_vertical=content_alignment_vertical, + image_url=image_url, + preload_required=preload_required, + scale=scale, + ) + + type: str = Field(default='image') + alpha: typing.Optional[float] = Field(description='Image transparency.') + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal image alignment.') + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical image alignment.') + image_url: str = Field(format="uri", description='Image URL.') + preload_required: typing.Optional[bool] = Field(description='Background image must be loaded before the display.') + scale: typing.Optional[div_image_scale.DivImageScale] = Field(description='Image scaling.') + + +DivImageBackground.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_image_scale.py b/json-builder/python/pydivkit/div/div_image_scale.py new file mode 100644 index 000000000..c138a2cab --- /dev/null +++ b/json-builder/python/pydivkit/div/div_image_scale.py @@ -0,0 +1,11 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +class DivImageScale(str, enum.Enum): + FILL = 'fill' + NO_SCALE = 'no_scale' + FIT = 'fit' diff --git a/json-builder/python/pydivkit/div/div_indicator.py b/json-builder/python/pydivkit/div/div_indicator.py new file mode 100644 index 000000000..b8020a696 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_indicator.py @@ -0,0 +1,148 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_fixed_size +from . import div_focus +from . import div_shape +from . import div_size +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# Progress indicator for [pager](div-pager.md). +class DivIndicator(BaseDiv): + + def __init__( + self, *, + type: str = 'indicator', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + active_item_color: typing.Optional[str] = None, + active_item_size: typing.Optional[float] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + animation: typing.Optional[DivIndicatorAnimation] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + inactive_item_color: typing.Optional[str] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + minimum_item_size: typing.Optional[float] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + pager_id: typing.Optional[str] = None, + row_span: typing.Optional[int] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + shape: typing.Optional[div_shape.DivShape] = None, + space_between_centers: typing.Optional[div_fixed_size.DivFixedSize] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + active_item_color=active_item_color, + active_item_size=active_item_size, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + animation=animation, + background=background, + border=border, + column_span=column_span, + extensions=extensions, + focus=focus, + height=height, + id=id, + inactive_item_color=inactive_item_color, + margins=margins, + minimum_item_size=minimum_item_size, + paddings=paddings, + pager_id=pager_id, + row_span=row_span, + selected_actions=selected_actions, + shape=shape, + space_between_centers=space_between_centers, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='indicator') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + active_item_color: typing.Optional[str] = Field(format="color", description='Active indicator color.') + active_item_size: typing.Optional[float] = Field(description='A size multiplier for an active indicator.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + animation: typing.Optional[DivIndicatorAnimation] = Field(description='Animation of switching between indicators.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + inactive_item_color: typing.Optional[str] = Field(format="color", description='Indicator color.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + minimum_item_size: typing.Optional[float] = Field(description='A size multiplier for a minimal indicator. It is used when the required number ofindicators don\'t fit on the screen.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + pager_id: typing.Optional[str] = Field(description='ID of the pager that is a data source for an indicator.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + shape: typing.Optional[div_shape.DivShape] = Field(description='Indicator shape.') + space_between_centers: typing.Optional[div_fixed_size.DivFixedSize] = Field(description='Spacing between indicator centers.') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +class DivIndicatorAnimation(str, enum.Enum): + SCALE = 'scale' + WORM = 'worm' + SLIDER = 'slider' + + +DivIndicator.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_infinity_count.py b/json-builder/python/pydivkit/div/div_infinity_count.py new file mode 100644 index 000000000..cbf8ae646 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_infinity_count.py @@ -0,0 +1,23 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Infinite number of repetitions. +class DivInfinityCount(BaseDiv): + + def __init__( + self, *, + type: str = 'infinity', + ): + super().__init__( + type=type, + ) + + type: str = Field(default='infinity') + + +DivInfinityCount.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_input.py b/json-builder/python/pydivkit/div/div_input.py new file mode 100644 index 000000000..b5cf80090 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_input.py @@ -0,0 +1,190 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_focus +from . import div_font_family +from . import div_font_weight +from . import div_size +from . import div_size_unit +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# Text input element. +class DivInput(BaseDiv): + + def __init__( + self, *, + text_variable: str, + type: str = 'input', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + font_family: typing.Optional[div_font_family.DivFontFamily] = None, + font_size: typing.Optional[int] = None, + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + font_weight: typing.Optional[div_font_weight.DivFontWeight] = None, + height: typing.Optional[div_size.DivSize] = None, + highlight_color: typing.Optional[str] = None, + hint_color: typing.Optional[str] = None, + hint_text: typing.Optional[str] = None, + id: typing.Optional[str] = None, + keyboard_type: typing.Optional[DivInputKeyboardType] = None, + letter_spacing: typing.Optional[float] = None, + line_height: typing.Optional[int] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + max_visible_lines: typing.Optional[int] = None, + native_interface: typing.Optional[DivInputNativeInterface] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + row_span: typing.Optional[int] = None, + select_all_on_focus: typing.Optional[bool] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + text_color: typing.Optional[str] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + background=background, + border=border, + column_span=column_span, + extensions=extensions, + focus=focus, + font_family=font_family, + font_size=font_size, + font_size_unit=font_size_unit, + font_weight=font_weight, + height=height, + highlight_color=highlight_color, + hint_color=hint_color, + hint_text=hint_text, + id=id, + keyboard_type=keyboard_type, + letter_spacing=letter_spacing, + line_height=line_height, + margins=margins, + max_visible_lines=max_visible_lines, + native_interface=native_interface, + paddings=paddings, + row_span=row_span, + select_all_on_focus=select_all_on_focus, + selected_actions=selected_actions, + text_color=text_color, + text_variable=text_variable, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='input') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + font_family: typing.Optional[div_font_family.DivFontFamily] = Field(description='Font family:`text` — a standard text font;`display` — a family of fonts with alarge font size.') + font_size: typing.Optional[int] = Field(description='Font size.') + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = Field(description='Unit of measurement:`px` — a physical pixel.`dp` — a logical pixel that doesn\'tdepend on screen density.`sp` — a logical pixel that depends on the font size ona device. Specify height in `sp`. Only available on Android.') + font_weight: typing.Optional[div_font_weight.DivFontWeight] = Field(description='Style.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + highlight_color: typing.Optional[str] = Field(format="color", description='Text highlight color. If the value isn\'t set, the color set in the client will beused instead.') + hint_color: typing.Optional[str] = Field(format="color", description='Text color.') + hint_text: typing.Optional[str] = Field(min_length=1, description='Tooltip text.') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + keyboard_type: typing.Optional[DivInputKeyboardType] = Field(description='Keyboard type.') + letter_spacing: typing.Optional[float] = Field(description='Spacing between characters.') + line_height: typing.Optional[int] = Field(description='Line spacing of the text range. The count is taken from the font baseline.Measured in units specified in `font_size_unit`.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + max_visible_lines: typing.Optional[int] = Field(description='Maximum number of lines that will be visible in the input view.') + native_interface: typing.Optional[DivInputNativeInterface] = Field(description='Text input line used in the native interface.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + select_all_on_focus: typing.Optional[bool] = Field(description='Highlighting input text when focused.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + text_color: typing.Optional[str] = Field(format="color", description='Text color.') + text_variable: str = Field(min_length=1, description='Name of text storage variable.') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +class DivInputKeyboardType(str, enum.Enum): + SINGLE_LINE_TEXT = 'single_line_text' + MULTI_LINE_TEXT = 'multi_line_text' + PHONE = 'phone' + NUMBER = 'number' + EMAIL = 'email' + URI = 'uri' + + +# Text input line used in the native interface. +class DivInputNativeInterface(BaseDiv): + + def __init__( + self, *, + color: str, + ): + super().__init__( + color=color, + ) + + color: str = Field(format="color", description='Text input line color.') + + +DivInputNativeInterface.update_forward_refs() + + +DivInput.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_line_style.py b/json-builder/python/pydivkit/div/div_line_style.py new file mode 100644 index 000000000..3d3a738ee --- /dev/null +++ b/json-builder/python/pydivkit/div/div_line_style.py @@ -0,0 +1,10 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +class DivLineStyle(str, enum.Enum): + NONE = 'none' + SINGLE = 'single' diff --git a/json-builder/python/pydivkit/div/div_linear_gradient.py b/json-builder/python/pydivkit/div/div_linear_gradient.py new file mode 100644 index 000000000..86d119f5d --- /dev/null +++ b/json-builder/python/pydivkit/div/div_linear_gradient.py @@ -0,0 +1,29 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Linear gradient. +class DivLinearGradient(BaseDiv): + + def __init__( + self, *, + colors: typing.List[str], + type: str = 'gradient', + angle: typing.Optional[int] = None, + ): + super().__init__( + type=type, + angle=angle, + colors=colors, + ) + + type: str = Field(default='gradient') + angle: typing.Optional[int] = Field(description='Angle of gradient direction.') + colors: typing.List[str] = Field(min_items=2, description='Colors. Gradient points will be located at an equal distance from each other.') + + +DivLinearGradient.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_match_parent_size.py b/json-builder/python/pydivkit/div/div_match_parent_size.py new file mode 100644 index 000000000..d51efdb0f --- /dev/null +++ b/json-builder/python/pydivkit/div/div_match_parent_size.py @@ -0,0 +1,26 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Element size adjusts to a parent element. +class DivMatchParentSize(BaseDiv): + + def __init__( + self, *, + type: str = 'match_parent', + weight: typing.Optional[float] = None, + ): + super().__init__( + type=type, + weight=weight, + ) + + type: str = Field(default='match_parent') + weight: typing.Optional[float] = Field(description='Weight when distributing free space between elements with the size type`match_parent` inside an element. If the weight isn\'t specified, the elementswill divide the place equally.') + + +DivMatchParentSize.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_neighbour_page_size.py b/json-builder/python/pydivkit/div/div_neighbour_page_size.py new file mode 100644 index 000000000..387b94939 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_neighbour_page_size.py @@ -0,0 +1,28 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_fixed_size + + +# Fixed width value of the visible part of a neighbouring page. +class DivNeighbourPageSize(BaseDiv): + + def __init__( + self, *, + neighbour_page_width: div_fixed_size.DivFixedSize, + type: str = 'fixed', + ): + super().__init__( + type=type, + neighbour_page_width=neighbour_page_width, + ) + + type: str = Field(default='fixed') + neighbour_page_width: div_fixed_size.DivFixedSize = Field(description='Width of the visible part of a neighbouring page.') + + +DivNeighbourPageSize.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_page_size.py b/json-builder/python/pydivkit/div/div_page_size.py new file mode 100644 index 000000000..a143b7e05 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_page_size.py @@ -0,0 +1,28 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_percentage_size + + +# Percentage value of the page width. +class DivPageSize(BaseDiv): + + def __init__( + self, *, + page_width: div_percentage_size.DivPercentageSize, + type: str = 'percentage', + ): + super().__init__( + type=type, + page_width=page_width, + ) + + type: str = Field(default='percentage') + page_width: div_percentage_size.DivPercentageSize = Field(description='Page width as a percentage of the parent element width.') + + +DivPageSize.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_pager.py b/json-builder/python/pydivkit/div/div_pager.py new file mode 100644 index 000000000..dc3534a7e --- /dev/null +++ b/json-builder/python/pydivkit/div/div_pager.py @@ -0,0 +1,143 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_fixed_size +from . import div_focus +from . import div_pager_layout_mode +from . import div_size +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# Pager. It contains a horizontal set of cards that can be scrolled page by page. +# It shows the main page and the beginning of the next one. +class DivPager(BaseDiv): + + def __init__( + self, *, + items: typing.List[div.Div], + layout_mode: div_pager_layout_mode.DivPagerLayoutMode, + type: str = 'pager', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + default_item: typing.Optional[int] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + item_spacing: typing.Optional[div_fixed_size.DivFixedSize] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + orientation: typing.Optional[DivPagerOrientation] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + restrict_parent_scroll: typing.Optional[bool] = None, + row_span: typing.Optional[int] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + background=background, + border=border, + column_span=column_span, + default_item=default_item, + extensions=extensions, + focus=focus, + height=height, + id=id, + item_spacing=item_spacing, + items=items, + layout_mode=layout_mode, + margins=margins, + orientation=orientation, + paddings=paddings, + restrict_parent_scroll=restrict_parent_scroll, + row_span=row_span, + selected_actions=selected_actions, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='pager') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + default_item: typing.Optional[int] = Field(description='Ordinal number of the pager element that will be opened by default.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + item_spacing: typing.Optional[div_fixed_size.DivFixedSize] = Field(description='Spacing between elements.') + items: typing.List[div.Div] = Field(min_items=1, description='Pager elements. Page-by-page transition options can be implementedusing:`div-action://set_current_item?id=&item=` — set the current page with anordinal number `item` inside an element, with the specified`id`;`div-action://set_next_item?id=[&overflow={clamp|ring}]` — go to the nextpage inside an element, with the specified`id`;`div-action://set_previous_item?id=[&overflow={clamp|ring}]` — go to theprevious page inside an element, with the specified `id`.
The optional`overflow` parameter is used to set navigation when the first or last element isreached:`clamp` — transition will stop at the border element;`ring` — go to thebeginning or end, depending on the current element.
By default, `clamp`.') + layout_mode: div_pager_layout_mode.DivPagerLayoutMode = Field(description='Type of calculation of the main page width:`fixed` — from the fixed width of thenext page `neighbour_page_width`;`percentage` — from the percentage value`page_width`.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + orientation: typing.Optional[DivPagerOrientation] = Field(description='Pager orientation.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + restrict_parent_scroll: typing.Optional[bool] = Field(description='If the parameter is enabled, the pager won\'t transmit the scroll gesture to theparent element.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +class DivPagerOrientation(str, enum.Enum): + HORIZONTAL = 'horizontal' + VERTICAL = 'vertical' + + +DivPager.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_pager_layout_mode.py b/json-builder/python/pydivkit/div/div_pager_layout_mode.py new file mode 100644 index 000000000..4187f52b2 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_pager_layout_mode.py @@ -0,0 +1,16 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_neighbour_page_size +from . import div_page_size + +from typing import Union + +DivPagerLayoutMode = Union[ + div_page_size.DivPageSize, + div_neighbour_page_size.DivNeighbourPageSize, +] diff --git a/json-builder/python/pydivkit/div/div_patch.py b/json-builder/python/pydivkit/div/div_patch.py new file mode 100644 index 000000000..4bdfd4301 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_patch.py @@ -0,0 +1,52 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div + + +# Edits the element. +class DivPatch(BaseDiv): + + def __init__( + self, *, + changes: typing.List[DivPatchChange], + mode: typing.Optional[DivPatchMode] = None, + ): + super().__init__( + changes=changes, + mode=mode, + ) + + changes: typing.List[DivPatchChange] = Field(min_items=1, description='Element changes.') + mode: typing.Optional[DivPatchMode] = Field(description='Procedure for applying changes:`transactional` — if an error occurs duringapplication of at least one element, the changes aren\'t applied.`partial` — allpossible changes are applied. If there are errors, they are reported.') + + +class DivPatchMode(str, enum.Enum): + TRANSACTIONAL = 'transactional' + PARTIAL = 'partial' + + +class DivPatchChange(BaseDiv): + + def __init__( + self, *, + id: str, + items: typing.Optional[typing.List[div.Div]] = None, + ): + super().__init__( + id=id, + items=items, + ) + + id: str = Field(description='ID of an element to be replaced or removed.') + items: typing.Optional[typing.List[div.Div]] = Field(min_items=1, description='Elements to be inserted. If the parameter isn\'t specified, the element will beremoved.') + + +DivPatchChange.update_forward_refs() + + +DivPatch.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_percentage_size.py b/json-builder/python/pydivkit/div/div_percentage_size.py new file mode 100644 index 000000000..d8764f7ee --- /dev/null +++ b/json-builder/python/pydivkit/div/div_percentage_size.py @@ -0,0 +1,26 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Percentage value of the element size. +class DivPercentageSize(BaseDiv): + + def __init__( + self, *, + value: float, + type: str = 'percentage', + ): + super().__init__( + type=type, + value=value, + ) + + type: str = Field(default='percentage') + value: float = Field(description='Element size value.') + + +DivPercentageSize.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_pivot.py b/json-builder/python/pydivkit/div/div_pivot.py new file mode 100644 index 000000000..716925be8 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_pivot.py @@ -0,0 +1,16 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_pivot_fixed +from . import div_pivot_percentage + +from typing import Union + +DivPivot = Union[ + div_pivot_fixed.DivPivotFixed, + div_pivot_percentage.DivPivotPercentage, +] diff --git a/json-builder/python/pydivkit/div/div_pivot_fixed.py b/json-builder/python/pydivkit/div/div_pivot_fixed.py new file mode 100644 index 000000000..82b3990d0 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_pivot_fixed.py @@ -0,0 +1,31 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_size_unit + + +# Value of the offset of the coordinates of the axis of rotation. +class DivPivotFixed(BaseDiv): + + def __init__( + self, *, + type: str = 'pivot-fixed', + unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + value: typing.Optional[int] = None, + ): + super().__init__( + type=type, + unit=unit, + value=value, + ) + + type: str = Field(default='pivot-fixed') + unit: typing.Optional[div_size_unit.DivSizeUnit] = Field(description='Unit of size measurement. To learn more about units of size measurement, see[Layout inside the card](../../layout.dita).') + value: typing.Optional[int] = Field(description='Offset.') + + +DivPivotFixed.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_pivot_percentage.py b/json-builder/python/pydivkit/div/div_pivot_percentage.py new file mode 100644 index 000000000..5e80cbaa9 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_pivot_percentage.py @@ -0,0 +1,27 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Location of the coordinate of the axis of rotation as a percentage relative to +# the element. +class DivPivotPercentage(BaseDiv): + + def __init__( + self, *, + value: float, + type: str = 'pivot-percentage', + ): + super().__init__( + type=type, + value=value, + ) + + type: str = Field(default='pivot-percentage') + value: float = Field(description='Location of the element.') + + +DivPivotPercentage.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_point.py b/json-builder/python/pydivkit/div/div_point.py new file mode 100644 index 000000000..6ad73dc66 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_point.py @@ -0,0 +1,28 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_dimension + + +# A point with fixed coordinates. +class DivPoint(BaseDiv): + + def __init__( + self, *, + x: div_dimension.DivDimension, + y: div_dimension.DivDimension, + ): + super().__init__( + x=x, + y=y, + ) + + x: div_dimension.DivDimension = Field(description='`X` coordinate.') + y: div_dimension.DivDimension = Field(description='`Y` coordinate.') + + +DivPoint.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_radial_gradient.py b/json-builder/python/pydivkit/div/div_radial_gradient.py new file mode 100644 index 000000000..0b5c90176 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_radial_gradient.py @@ -0,0 +1,35 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Radial gradient. +class DivRadialGradient(BaseDiv): + + def __init__( + self, *, + colors: typing.List[str], + radius: int, + type: str = 'radial_gradient', + center_x: typing.Optional[float] = None, + center_y: typing.Optional[float] = None, + ): + super().__init__( + type=type, + center_x=center_x, + center_y=center_y, + colors=colors, + radius=radius, + ) + + type: str = Field(default='radial_gradient') + center_x: typing.Optional[float] = Field(description='Shift of the central point of the gradient relative to the left edge along the Xaxis in the range `0..1`.') + center_y: typing.Optional[float] = Field(description='Shift of the central point of the gradient relative to the upper edge along the Yaxis in the range `0..1`.') + colors: typing.List[str] = Field(min_items=2, description='Colors. Gradient points will be located at an equal distance from each other.') + radius: int = Field(description='Radius of the gradient transition in `dp`.') + + +DivRadialGradient.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_rounded_rectangle_shape.py b/json-builder/python/pydivkit/div/div_rounded_rectangle_shape.py new file mode 100644 index 000000000..9f2971fac --- /dev/null +++ b/json-builder/python/pydivkit/div/div_rounded_rectangle_shape.py @@ -0,0 +1,34 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_fixed_size + + +# A rectangle with rounded corners. +class DivRoundedRectangleShape(BaseDiv): + + def __init__( + self, *, + type: str = 'rounded_rectangle', + corner_radius: typing.Optional[div_fixed_size.DivFixedSize] = None, + item_height: typing.Optional[div_fixed_size.DivFixedSize] = None, + item_width: typing.Optional[div_fixed_size.DivFixedSize] = None, + ): + super().__init__( + type=type, + corner_radius=corner_radius, + item_height=item_height, + item_width=item_width, + ) + + type: str = Field(default='rounded_rectangle') + corner_radius: typing.Optional[div_fixed_size.DivFixedSize] = Field(description='Corner rounding radius.') + item_height: typing.Optional[div_fixed_size.DivFixedSize] = Field(description='Height.') + item_width: typing.Optional[div_fixed_size.DivFixedSize] = Field(description='Width.') + + +DivRoundedRectangleShape.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_scale_transition.py b/json-builder/python/pydivkit/div/div_scale_transition.py new file mode 100644 index 000000000..a59c65c2d --- /dev/null +++ b/json-builder/python/pydivkit/div/div_scale_transition.py @@ -0,0 +1,43 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_animation_interpolator + + +# Scale animation. +class DivScaleTransition(BaseDiv): + + def __init__( + self, *, + type: str = 'scale', + duration: typing.Optional[int] = None, + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = None, + pivot_x: typing.Optional[float] = None, + pivot_y: typing.Optional[float] = None, + scale: typing.Optional[float] = None, + start_delay: typing.Optional[int] = None, + ): + super().__init__( + type=type, + duration=duration, + interpolator=interpolator, + pivot_x=pivot_x, + pivot_y=pivot_y, + scale=scale, + start_delay=start_delay, + ) + + type: str = Field(default='scale') + duration: typing.Optional[int] = Field(description='Animation duration in milliseconds.') + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = Field(description='Transition speed nature.') + pivot_x: typing.Optional[float] = Field(description='Relative coordinate `X` of the point that won\'t change its position in case ofscaling.') + pivot_y: typing.Optional[float] = Field(description='Relative coordinate `Y` of the point that won\'t change its position in case ofscaling.') + scale: typing.Optional[float] = Field(description='Value of the scale from which the element starts appearing or at which itfinishes disappearing.') + start_delay: typing.Optional[int] = Field(description='Delay in milliseconds before animation starts.') + + +DivScaleTransition.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_separator.py b/json-builder/python/pydivkit/div/div_separator.py new file mode 100644 index 000000000..bea5ba3f0 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_separator.py @@ -0,0 +1,160 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_animation +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_focus +from . import div_size +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# A separating line between elements. +class DivSeparator(BaseDiv): + + def __init__( + self, *, + type: str = 'separator', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + action: typing.Optional[div_action.DivAction] = None, + action_animation: typing.Optional[div_animation.DivAnimation] = None, + actions: typing.Optional[typing.List[div_action.DivAction]] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + delimiter_style: typing.Optional[DivSeparatorDelimiterStyle] = None, + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + row_span: typing.Optional[int] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + action=action, + action_animation=action_animation, + actions=actions, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + background=background, + border=border, + column_span=column_span, + delimiter_style=delimiter_style, + doubletap_actions=doubletap_actions, + extensions=extensions, + focus=focus, + height=height, + id=id, + longtap_actions=longtap_actions, + margins=margins, + paddings=paddings, + row_span=row_span, + selected_actions=selected_actions, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='separator') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + action: typing.Optional[div_action.DivAction] = Field(description='One action when clicking on an element. Not used if the `actions` parameter isset.') + action_animation: typing.Optional[div_animation.DivAnimation] = Field(description='Action animation. Web supports `fade`, `scale` and `set` only.') + actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Multiple actions when clicking on an element.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + delimiter_style: typing.Optional[DivSeparatorDelimiterStyle] = Field(description='Separator display settings.') + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when double-clicking on an element.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when long-clicking on an element.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +# Separator display settings. +class DivSeparatorDelimiterStyle(BaseDiv): + + def __init__( + self, *, + color: typing.Optional[str] = None, + orientation: typing.Optional[DelimiterStyleOrientation] = None, + ): + super().__init__( + color=color, + orientation=orientation, + ) + + color: typing.Optional[str] = Field(format="color", description='Separator color. To prevent the separator from being displayed, set transparencyin the alpha channel. For example, `#00FFFFFF`.') + orientation: typing.Optional[DelimiterStyleOrientation] = Field(description='Separator orientation:`vertical` — vertical;`horizontal` — horizontal.<') + + +class DelimiterStyleOrientation(str, enum.Enum): + VERTICAL = 'vertical' + HORIZONTAL = 'horizontal' + + +DivSeparatorDelimiterStyle.update_forward_refs() + + +DivSeparator.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_shadow.py b/json-builder/python/pydivkit/div/div_shadow.py new file mode 100644 index 000000000..7ca99e5fc --- /dev/null +++ b/json-builder/python/pydivkit/div/div_shadow.py @@ -0,0 +1,34 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_point + + +# Element shadow. +class DivShadow(BaseDiv): + + def __init__( + self, *, + offset: div_point.DivPoint, + alpha: typing.Optional[float] = None, + blur: typing.Optional[int] = None, + color: typing.Optional[str] = None, + ): + super().__init__( + alpha=alpha, + blur=blur, + color=color, + offset=offset, + ) + + alpha: typing.Optional[float] = Field(description='Shadow transparency.') + blur: typing.Optional[int] = Field(description='Blur intensity.') + color: typing.Optional[str] = Field(format="color", description='Shadow color.') + offset: div_point.DivPoint = Field(description='Shadow offset.') + + +DivShadow.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_shape.py b/json-builder/python/pydivkit/div/div_shape.py new file mode 100644 index 000000000..339946d9c --- /dev/null +++ b/json-builder/python/pydivkit/div/div_shape.py @@ -0,0 +1,14 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_rounded_rectangle_shape + +from typing import Union + +DivShape = Union[ + div_rounded_rectangle_shape.DivRoundedRectangleShape, +] diff --git a/json-builder/python/pydivkit/div/div_shape_drawable.py b/json-builder/python/pydivkit/div/div_shape_drawable.py new file mode 100644 index 000000000..ddeb46ba2 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_shape_drawable.py @@ -0,0 +1,35 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_shape +from . import div_stroke + + +# Drawable of a simple geometric shape. +class DivShapeDrawable(BaseDiv): + + def __init__( + self, *, + color: str, + shape: div_shape.DivShape, + type: str = 'shape_drawable', + stroke: typing.Optional[div_stroke.DivStroke] = None, + ): + super().__init__( + type=type, + color=color, + shape=shape, + stroke=stroke, + ) + + type: str = Field(default='shape_drawable') + color: str = Field(format="color", description='Fill color.') + shape: div_shape.DivShape = Field(description='Shape.') + stroke: typing.Optional[div_stroke.DivStroke] = Field(description='Stroke style.') + + +DivShapeDrawable.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_size.py b/json-builder/python/pydivkit/div/div_size.py new file mode 100644 index 000000000..e6fbbc26d --- /dev/null +++ b/json-builder/python/pydivkit/div/div_size.py @@ -0,0 +1,18 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_fixed_size +from . import div_match_parent_size +from . import div_wrap_content_size + +from typing import Union + +DivSize = Union[ + div_fixed_size.DivFixedSize, + div_match_parent_size.DivMatchParentSize, + div_wrap_content_size.DivWrapContentSize, +] diff --git a/json-builder/python/pydivkit/div/div_size_unit.py b/json-builder/python/pydivkit/div/div_size_unit.py new file mode 100644 index 000000000..046c840a3 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_size_unit.py @@ -0,0 +1,11 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +class DivSizeUnit(str, enum.Enum): + DP = 'dp' + SP = 'sp' + PX = 'px' diff --git a/json-builder/python/pydivkit/div/div_slide_transition.py b/json-builder/python/pydivkit/div/div_slide_transition.py new file mode 100644 index 000000000..d18d624fa --- /dev/null +++ b/json-builder/python/pydivkit/div/div_slide_transition.py @@ -0,0 +1,48 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_animation_interpolator +from . import div_dimension + + +# Slide animation. +class DivSlideTransition(BaseDiv): + + def __init__( + self, *, + type: str = 'slide', + distance: typing.Optional[div_dimension.DivDimension] = None, + duration: typing.Optional[int] = None, + edge: typing.Optional[DivSlideTransitionEdge] = None, + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = None, + start_delay: typing.Optional[int] = None, + ): + super().__init__( + type=type, + distance=distance, + duration=duration, + edge=edge, + interpolator=interpolator, + start_delay=start_delay, + ) + + type: str = Field(default='slide') + distance: typing.Optional[div_dimension.DivDimension] = Field(description='A fixed value of an offset which the element starts appearing from or at which itfinishes disappearing. If no value is specified, the distance to the selectededge of a parent element is used.') + duration: typing.Optional[int] = Field(description='Animation duration in milliseconds.') + edge: typing.Optional[DivSlideTransitionEdge] = Field(description='Edge of a parent element for one of the action types:where the element will movefrom when appearing;where the element will move to when disappearing.') + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = Field(description='Transition speed nature.') + start_delay: typing.Optional[int] = Field(description='Delay in milliseconds before animation starts.') + + +class DivSlideTransitionEdge(str, enum.Enum): + LEFT = 'left' + TOP = 'top' + RIGHT = 'right' + BOTTOM = 'bottom' + + +DivSlideTransition.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_slider.py b/json-builder/python/pydivkit/div/div_slider.py new file mode 100644 index 000000000..4235a7874 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_slider.py @@ -0,0 +1,187 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_drawable +from . import div_edge_insets +from . import div_extension +from . import div_focus +from . import div_font_weight +from . import div_point +from . import div_size +from . import div_size_unit +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# Slider for selecting a value in the range. +class DivSlider(BaseDiv): + + def __init__( + self, *, + thumb_style: div_drawable.DivDrawable, + track_active_style: div_drawable.DivDrawable, + track_inactive_style: div_drawable.DivDrawable, + type: str = 'slider', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + max_value: typing.Optional[int] = None, + min_value: typing.Optional[int] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + row_span: typing.Optional[int] = None, + secondary_value_accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + thumb_secondary_style: typing.Optional[div_drawable.DivDrawable] = None, + thumb_secondary_text_style: typing.Optional[DivSliderTextStyle] = None, + thumb_secondary_value_variable: typing.Optional[str] = None, + thumb_text_style: typing.Optional[DivSliderTextStyle] = None, + thumb_value_variable: typing.Optional[str] = None, + tick_mark_active_style: typing.Optional[div_drawable.DivDrawable] = None, + tick_mark_inactive_style: typing.Optional[div_drawable.DivDrawable] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + background=background, + border=border, + column_span=column_span, + extensions=extensions, + focus=focus, + height=height, + id=id, + margins=margins, + max_value=max_value, + min_value=min_value, + paddings=paddings, + row_span=row_span, + secondary_value_accessibility=secondary_value_accessibility, + selected_actions=selected_actions, + thumb_secondary_style=thumb_secondary_style, + thumb_secondary_text_style=thumb_secondary_text_style, + thumb_secondary_value_variable=thumb_secondary_value_variable, + thumb_style=thumb_style, + thumb_text_style=thumb_text_style, + thumb_value_variable=thumb_value_variable, + tick_mark_active_style=tick_mark_active_style, + tick_mark_inactive_style=tick_mark_inactive_style, + tooltips=tooltips, + track_active_style=track_active_style, + track_inactive_style=track_inactive_style, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='slider') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + max_value: typing.Optional[int] = Field(description='Maximum value. It must be greater than the minimum value.') + min_value: typing.Optional[int] = Field(description='Minimum value.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + secondary_value_accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for the secondary thumb.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + thumb_secondary_style: typing.Optional[div_drawable.DivDrawable] = Field(description='Style of the second pointer.') + thumb_secondary_text_style: typing.Optional[DivSliderTextStyle] = Field(description='Text style in the second pointer.') + thumb_secondary_value_variable: typing.Optional[str] = Field(min_length=1, description='Name of the variable to store the current value of the secondary thumb.') + thumb_style: div_drawable.DivDrawable = Field(description='Style of the first pointer.') + thumb_text_style: typing.Optional[DivSliderTextStyle] = Field(description='Text style in the first pointer.') + thumb_value_variable: typing.Optional[str] = Field(min_length=1, description='Name of the variable to store the current thumb value.') + tick_mark_active_style: typing.Optional[div_drawable.DivDrawable] = Field(description='Style of active serifs.') + tick_mark_inactive_style: typing.Optional[div_drawable.DivDrawable] = Field(description='Style of inactive serifs.') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + track_active_style: div_drawable.DivDrawable = Field(description='Style of the active part of a scale.') + track_inactive_style: div_drawable.DivDrawable = Field(description='Style of the inactive part of a scale.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +class DivSliderTextStyle(BaseDiv): + + def __init__( + self, *, + font_size: int, + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + font_weight: typing.Optional[div_font_weight.DivFontWeight] = None, + offset: typing.Optional[div_point.DivPoint] = None, + text_color: typing.Optional[str] = None, + ): + super().__init__( + font_size=font_size, + font_size_unit=font_size_unit, + font_weight=font_weight, + offset=offset, + text_color=text_color, + ) + + font_size: int = Field(description='Font size.') + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = Field() + font_weight: typing.Optional[div_font_weight.DivFontWeight] = Field(description='Style.') + offset: typing.Optional[div_point.DivPoint] = Field(description='Shift relative to the center.') + text_color: typing.Optional[str] = Field(format="color", description='Text color.') + + +DivSliderTextStyle.update_forward_refs() + + +DivSlider.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_solid_background.py b/json-builder/python/pydivkit/div/div_solid_background.py new file mode 100644 index 000000000..9035cea18 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_solid_background.py @@ -0,0 +1,26 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Solid background color. +class DivSolidBackground(BaseDiv): + + def __init__( + self, *, + color: str, + type: str = 'solid', + ): + super().__init__( + type=type, + color=color, + ) + + type: str = Field(default='solid') + color: str = Field(format="color", description='Color.') + + +DivSolidBackground.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_state.py b/json-builder/python/pydivkit/div/div_state.py new file mode 100644 index 000000000..ec64afdcd --- /dev/null +++ b/json-builder/python/pydivkit/div/div_state.py @@ -0,0 +1,159 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_animation +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_focus +from . import div_size +from . import div_tooltip +from . import div_transform +from . import div_transition_selector +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# It contains sets of states for visual elements and switches between them. +class DivState(BaseDiv): + + def __init__( + self, *, + states: typing.List[DivStateState], + type: str = 'state', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + default_state_id: typing.Optional[str] = None, + div_id: typing.Optional[str] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + row_span: typing.Optional[int] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_animation_selector: typing.Optional[div_transition_selector.DivTransitionSelector] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + background=background, + border=border, + column_span=column_span, + default_state_id=default_state_id, + div_id=div_id, + extensions=extensions, + focus=focus, + height=height, + id=id, + margins=margins, + paddings=paddings, + row_span=row_span, + selected_actions=selected_actions, + states=states, + tooltips=tooltips, + transform=transform, + transition_animation_selector=transition_animation_selector, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='state') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + default_state_id: typing.Optional[str] = Field(description='ID of the status that will be set by default. If the parameter isnt set, thefirst state of the `states` will be set.') + div_id: typing.Optional[str] = Field(description='ID of an element to search in the hierarchy. The ID must be unique at onehierarchy level. @deprecated') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + states: typing.List[DivStateState] = Field(min_items=1, description='States. Each element can have a few states with a different layout. Transitionbetween states is performed using [special scheme](../../interaction.dita) of the[action](div-action.md) element.') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_animation_selector: typing.Optional[div_transition_selector.DivTransitionSelector] = Field(description='It determines which events trigger transition animations. @deprecated') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +class DivStateState(BaseDiv): + + def __init__( + self, *, + state_id: str, + animation_in: typing.Optional[div_animation.DivAnimation] = None, + animation_out: typing.Optional[div_animation.DivAnimation] = None, + div: typing.Optional[div.Div] = None, + swipe_out_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + ): + super().__init__( + animation_in=animation_in, + animation_out=animation_out, + div=div, + state_id=state_id, + swipe_out_actions=swipe_out_actions, + ) + + animation_in: typing.Optional[div_animation.DivAnimation] = Field(description='State appearance animation. Use `transition_in` instead. @deprecated') + animation_out: typing.Optional[div_animation.DivAnimation] = Field(description='State disappearance animation. Use `transition_out` instead. @deprecated') + div: typing.Optional[div.Div] = Field(description='Contents. If the parameter is missing, the state won\'t be displayed.') + state_id: str = Field(description='State ID. It must be unique at one hierarchy level.') + swipe_out_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Actions when swiping the state horizontally. @deprecated') + + +DivStateState.update_forward_refs() + + +DivState.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_stroke.py b/json-builder/python/pydivkit/div/div_stroke.py new file mode 100644 index 000000000..f3fec9466 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_stroke.py @@ -0,0 +1,31 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_size_unit + + +# Stroke. +class DivStroke(BaseDiv): + + def __init__( + self, *, + color: str, + unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + width: typing.Optional[int] = None, + ): + super().__init__( + color=color, + unit=unit, + width=width, + ) + + color: str = Field(format="color", description='Stroke color.') + unit: typing.Optional[div_size_unit.DivSizeUnit] = Field() + width: typing.Optional[int] = Field(description='Stroke width.') + + +DivStroke.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_tabs.py b/json-builder/python/pydivkit/div/div_tabs.py new file mode 100644 index 000000000..38487a1bd --- /dev/null +++ b/json-builder/python/pydivkit/div/div_tabs.py @@ -0,0 +1,249 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_corners_radius +from . import div_edge_insets +from . import div_extension +from . import div_focus +from . import div_font_family +from . import div_font_weight +from . import div_size +from . import div_size_unit +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# Tabs. Height of the first tab is determined by its contents, and height of the +# remaining [depends on the platform](../../location.dita#tabs). +class DivTabs(BaseDiv): + + def __init__( + self, *, + items: typing.List[DivTabsItem], + type: str = 'tabs', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + dynamic_height: typing.Optional[bool] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + has_separator: typing.Optional[bool] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + restrict_parent_scroll: typing.Optional[bool] = None, + row_span: typing.Optional[int] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + selected_tab: typing.Optional[int] = None, + separator_color: typing.Optional[str] = None, + separator_paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + switch_tabs_by_content_swipe_enabled: typing.Optional[bool] = None, + tab_title_style: typing.Optional[DivTabsTabTitleStyle] = None, + title_paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + background=background, + border=border, + column_span=column_span, + dynamic_height=dynamic_height, + extensions=extensions, + focus=focus, + has_separator=has_separator, + height=height, + id=id, + items=items, + margins=margins, + paddings=paddings, + restrict_parent_scroll=restrict_parent_scroll, + row_span=row_span, + selected_actions=selected_actions, + selected_tab=selected_tab, + separator_color=separator_color, + separator_paddings=separator_paddings, + switch_tabs_by_content_swipe_enabled=switch_tabs_by_content_swipe_enabled, + tab_title_style=tab_title_style, + title_paddings=title_paddings, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='tabs') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + dynamic_height: typing.Optional[bool] = Field(description='Updating height when changing the active element. In the browser, the value isalways `true`.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + has_separator: typing.Optional[bool] = Field(description='A separating line between tabs and contents.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + items: typing.List[DivTabsItem] = Field(min_items=1, description='Tabs. Transition between tabs can be implementedusing:`div-action://set_current_item?id=&item=` — set the current tab with anordinal number `item` inside an element, with the specified`id`;`div-action://set_next_item?id=[&overflow={clamp|ring}]` — go to the nexttab inside an element, with the specified`id`;`div-action://set_previous_item?id=[&overflow={clamp|ring}]` — go to theprevious tab inside an element, with the specified `id`.
The optional`overflow` parameter is used to set navigation when the first or last element isreached:`clamp` — transition will stop at the border element;`ring` — go to thebeginning or end, depending on the current element.
By default, `clamp`.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + restrict_parent_scroll: typing.Optional[bool] = Field(description='If the parameter is enabled, tabs won\'t transmit the scroll gesture to the parentelement.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + selected_tab: typing.Optional[int] = Field(description='Ordinal number of the tab that will be opened by default.') + separator_color: typing.Optional[str] = Field(format="color", description='Separator color.') + separator_paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Indents from the separating line. Not used if `has_separator = false`.') + switch_tabs_by_content_swipe_enabled: typing.Optional[bool] = Field(description='Switching tabs by scrolling through the contents.') + tab_title_style: typing.Optional[DivTabsTabTitleStyle] = Field(description='Design style of tab titles.') + title_paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Indents in the tab name.') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +# Tab. +class DivTabsItem(BaseDiv): + + def __init__( + self, *, + div: div.Div, + title: str, + title_click_action: typing.Optional[div_action.DivAction] = None, + ): + super().__init__( + div=div, + title=title, + title_click_action=title_click_action, + ) + + div: div.Div = Field(description='Tab contents.') + title: str = Field(min_length=1, description='Tab title.') + title_click_action: typing.Optional[div_action.DivAction] = Field(description='Action when clicking on the active tab title.') + + +DivTabsItem.update_forward_refs() + + +# Design style of tab titles. +class DivTabsTabTitleStyle(BaseDiv): + + def __init__( + self, *, + active_background_color: typing.Optional[str] = None, + active_font_weight: typing.Optional[div_font_weight.DivFontWeight] = None, + active_text_color: typing.Optional[str] = None, + animation_duration: typing.Optional[int] = None, + animation_type: typing.Optional[TabTitleStyleAnimationType] = None, + corner_radius: typing.Optional[int] = None, + corners_radius: typing.Optional[div_corners_radius.DivCornersRadius] = None, + font_family: typing.Optional[div_font_family.DivFontFamily] = None, + font_size: typing.Optional[int] = None, + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + font_weight: typing.Optional[div_font_weight.DivFontWeight] = None, + inactive_background_color: typing.Optional[str] = None, + inactive_font_weight: typing.Optional[div_font_weight.DivFontWeight] = None, + inactive_text_color: typing.Optional[str] = None, + item_spacing: typing.Optional[int] = None, + letter_spacing: typing.Optional[float] = None, + line_height: typing.Optional[int] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + ): + super().__init__( + active_background_color=active_background_color, + active_font_weight=active_font_weight, + active_text_color=active_text_color, + animation_duration=animation_duration, + animation_type=animation_type, + corner_radius=corner_radius, + corners_radius=corners_radius, + font_family=font_family, + font_size=font_size, + font_size_unit=font_size_unit, + font_weight=font_weight, + inactive_background_color=inactive_background_color, + inactive_font_weight=inactive_font_weight, + inactive_text_color=inactive_text_color, + item_spacing=item_spacing, + letter_spacing=letter_spacing, + line_height=line_height, + paddings=paddings, + ) + + active_background_color: typing.Optional[str] = Field(format="color", description='Background color of the active tab title.') + active_font_weight: typing.Optional[div_font_weight.DivFontWeight] = Field(description='Active tab title style.') + active_text_color: typing.Optional[str] = Field(format="color", description='Color of the active tab title text.') + animation_duration: typing.Optional[int] = Field(description='Duration of active title change animation.') + animation_type: typing.Optional[TabTitleStyleAnimationType] = Field(description='Active title change animation.') + corner_radius: typing.Optional[int] = Field(description='Title corner rounding radius. If the parameter isn\'t specified, the rounding ismaximum (half of the smallest size). Not used if the `corners_radius` parameteris set.') + corners_radius: typing.Optional[div_corners_radius.DivCornersRadius] = Field(description='Rounding radii of corners of multiple titles. Empty values are replaced by`corner_radius`.') + font_family: typing.Optional[div_font_family.DivFontFamily] = Field(description='Font family:`text` — a standard text font;`display` — a family of fonts with alarge font size.') + font_size: typing.Optional[int] = Field(description='Title font size.') + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = Field(description='Units of title font size measurement.') + font_weight: typing.Optional[div_font_weight.DivFontWeight] = Field(description='Style. Use `active_font_weight` and `inactive_font_weight` instead. @deprecated') + inactive_background_color: typing.Optional[str] = Field(format="color", description='Background color of the inactive tab title.') + inactive_font_weight: typing.Optional[div_font_weight.DivFontWeight] = Field(description='Inactive tab title style.') + inactive_text_color: typing.Optional[str] = Field(format="color", description='Color of the inactive tab title text.') + item_spacing: typing.Optional[int] = Field(description='Spacing between neighbouring tab titles.') + letter_spacing: typing.Optional[float] = Field(description='Spacing between title characters.') + line_height: typing.Optional[int] = Field(description='Line spacing of the text range. The count is taken from the font baseline.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Indents around the tab title.') + + +class TabTitleStyleAnimationType(str, enum.Enum): + SLIDE = 'slide' + FADE = 'fade' + NONE = 'none' + + +DivTabsTabTitleStyle.update_forward_refs() + + +DivTabs.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_text.py b/json-builder/python/pydivkit/div/div_text.py new file mode 100644 index 000000000..b05908f24 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_text.py @@ -0,0 +1,320 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_accessibility +from . import div_action +from . import div_alignment_horizontal +from . import div_alignment_vertical +from . import div_animation +from . import div_appearance_transition +from . import div_background +from . import div_border +from . import div_change_transition +from . import div_edge_insets +from . import div_extension +from . import div_fixed_size +from . import div_focus +from . import div_font_family +from . import div_font_weight +from . import div_line_style +from . import div_size +from . import div_size_unit +from . import div_text_gradient +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +# Text. +class DivText(BaseDiv): + + def __init__( + self, *, + text: str, + type: str = 'text', + accessibility: typing.Optional[div_accessibility.DivAccessibility] = None, + action: typing.Optional[div_action.DivAction] = None, + action_animation: typing.Optional[div_animation.DivAnimation] = None, + actions: typing.Optional[typing.List[div_action.DivAction]] = None, + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + alpha: typing.Optional[float] = None, + auto_ellipsize: typing.Optional[bool] = None, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + column_span: typing.Optional[int] = None, + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + ellipsis: typing.Optional[DivTextEllipsis] = None, + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = None, + focus: typing.Optional[div_focus.DivFocus] = None, + focused_text_color: typing.Optional[str] = None, + font_family: typing.Optional[div_font_family.DivFontFamily] = None, + font_size: typing.Optional[int] = None, + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + font_weight: typing.Optional[div_font_weight.DivFontWeight] = None, + height: typing.Optional[div_size.DivSize] = None, + id: typing.Optional[str] = None, + images: typing.Optional[typing.List[DivTextImage]] = None, + letter_spacing: typing.Optional[float] = None, + line_height: typing.Optional[int] = None, + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + max_lines: typing.Optional[int] = None, + min_hidden_lines: typing.Optional[int] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + ranges: typing.Optional[typing.List[DivTextRange]] = None, + row_span: typing.Optional[int] = None, + selectable: typing.Optional[bool] = None, + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + strike: typing.Optional[div_line_style.DivLineStyle] = None, + text_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = None, + text_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = None, + text_color: typing.Optional[str] = None, + text_gradient: typing.Optional[div_text_gradient.DivTextGradient] = None, + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = None, + transform: typing.Optional[div_transform.DivTransform] = None, + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = None, + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = None, + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = None, + truncate: typing.Optional[DivTextTruncate] = None, + underline: typing.Optional[div_line_style.DivLineStyle] = None, + visibility: typing.Optional[div_visibility.DivVisibility] = None, + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = None, + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = None, + width: typing.Optional[div_size.DivSize] = None, + ): + super().__init__( + type=type, + accessibility=accessibility, + action=action, + action_animation=action_animation, + actions=actions, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + auto_ellipsize=auto_ellipsize, + background=background, + border=border, + column_span=column_span, + doubletap_actions=doubletap_actions, + ellipsis=ellipsis, + extensions=extensions, + focus=focus, + focused_text_color=focused_text_color, + font_family=font_family, + font_size=font_size, + font_size_unit=font_size_unit, + font_weight=font_weight, + height=height, + id=id, + images=images, + letter_spacing=letter_spacing, + line_height=line_height, + longtap_actions=longtap_actions, + margins=margins, + max_lines=max_lines, + min_hidden_lines=min_hidden_lines, + paddings=paddings, + ranges=ranges, + row_span=row_span, + selectable=selectable, + selected_actions=selected_actions, + strike=strike, + text=text, + text_alignment_horizontal=text_alignment_horizontal, + text_alignment_vertical=text_alignment_vertical, + text_color=text_color, + text_gradient=text_gradient, + tooltips=tooltips, + transform=transform, + transition_change=transition_change, + transition_in=transition_in, + transition_out=transition_out, + transition_triggers=transition_triggers, + truncate=truncate, + underline=underline, + visibility=visibility, + visibility_action=visibility_action, + visibility_actions=visibility_actions, + width=width, + ) + + type: str = Field(default='text') + accessibility: typing.Optional[div_accessibility.DivAccessibility] = Field(description='Accessibility for disabled people.') + action: typing.Optional[div_action.DivAction] = Field(description='One action when clicking on an element. Not used if the `actions` parameter isset.') + action_animation: typing.Optional[div_animation.DivAnimation] = Field(description='Action animation. Web supports `fade`, `scale` and `set` only.') + actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Multiple actions when clicking on an element.') + alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal alignment of an element inside the parent element.') + alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical alignment of an element inside the parent element.') + alpha: typing.Optional[float] = Field(description='Sets transparency of the entire element: `0` — completely transparent, `1` —opaque.') + auto_ellipsize: typing.Optional[bool] = Field(description='Automatic text cropping to fit the container size.') + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Element background. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Element stroke.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + doubletap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when double-clicking on an element.') + ellipsis: typing.Optional[DivTextEllipsis] = Field(description='Text cropping marker. It is displayed when text size exceeds the limit on thenumber of lines.') + extensions: typing.Optional[typing.List[div_extension.DivExtension]] = Field(min_items=1, description='Extensions for additional processing of an element. The list of extensions isgiven in [DivExtension](../../extensions.dita).') + focus: typing.Optional[div_focus.DivFocus] = Field(description='Parameters when focusing on an element or losing focus.') + focused_text_color: typing.Optional[str] = Field(format="color", description='Text color when focusing on the element.') + font_family: typing.Optional[div_font_family.DivFontFamily] = Field(description='Font family:`text` — a standard text font;`display` — a family of fonts with alarge font size.') + font_size: typing.Optional[int] = Field(description='Font size.') + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = Field() + font_weight: typing.Optional[div_font_weight.DivFontWeight] = Field(description='Style.') + height: typing.Optional[div_size.DivSize] = Field(description='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 moreabout units of size measurement, see [Layout inside the card](../../layout.dita).') + id: typing.Optional[str] = Field(min_length=1, description='Element ID. It must be unique within the root element. It is used as`accessibilityIdentifier` on iOS.') + images: typing.Optional[typing.List[DivTextImage]] = Field(min_items=1, description='Images embedded in text.') + letter_spacing: typing.Optional[float] = Field(description='Spacing between characters.') + line_height: typing.Optional[int] = Field(description='Line spacing of the text range. The count is taken from the font baseline.') + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when long-clicking on an element.') + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='External margins from the element stroke.') + max_lines: typing.Optional[int] = Field(description='Maximum number of lines not to be cropped when breaking the limits.') + min_hidden_lines: typing.Optional[int] = Field(description='Minimum number of cropped lines when breaking the limits.') + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = Field(description='Internal margins from the element stroke.') + ranges: typing.Optional[typing.List[DivTextRange]] = Field(min_items=1, description='A character range in which additional style parameters can be set. Defined bymandatory `start` and `end` fields.') + row_span: typing.Optional[int] = Field(description='Merges cells in a string of the [grid](div-grid.md) element.') + selectable: typing.Optional[bool] = Field(description='Selecting and copying text.') + selected_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='List of [actions](div-action.md) to be executed when selecting an element in[pager](div-pager.md).') + strike: typing.Optional[div_line_style.DivLineStyle] = Field(description='Strikethrough.') + text: str = Field(min_length=1, description='Text.') + text_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Horizontal text alignment.') + text_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Vertical text alignment.') + text_color: typing.Optional[str] = Field(format="color", description='Text color. Not used if the `text_gradient` parameter is set.') + text_gradient: typing.Optional[div_text_gradient.DivTextGradient] = Field(description='Gradient text color.') + tooltips: typing.Optional[typing.List[div_tooltip.DivTooltip]] = Field(min_items=1, description='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.') + transform: typing.Optional[div_transform.DivTransform] = Field(description='Transformation of the element. Applies the passed transform to the element. Thecontent that does not fit into the original view will be cut off.') + transition_change: typing.Optional[div_change_transition.DivChangeTransition] = Field(description='Change animation. It is played when the position or size of an element changes inthe new layout.') + transition_in: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Appearance animation. It is played when an element with a new ID appears. Tolearn more about the concept of transitions, see [Animatedtransitions](../../interaction.dita#animation/transition-animation).') + transition_out: typing.Optional[div_appearance_transition.DivAppearanceTransition] = Field(description='Disappearance animation. It is played when an element disappears in the newlayout.') + transition_triggers: typing.Optional[typing.List[div_transition_trigger.DivTransitionTrigger]] = Field(min_items=1, description='Animation starting triggers. Default value: `[state_change, visibility_change]`.') + truncate: typing.Optional[DivTextTruncate] = Field(description='Text cropping method. Use `ellipsis` instead. @deprecated') + underline: typing.Optional[div_line_style.DivLineStyle] = Field(description='Underline.') + visibility: typing.Optional[div_visibility.DivVisibility] = Field(description='Element visibility.') + visibility_action: typing.Optional[div_visibility_action.DivVisibilityAction] = Field(description='Tracking visibility of a single element. Not used if the `visibility_actions`parameter is set.') + visibility_actions: typing.Optional[typing.List[div_visibility_action.DivVisibilityAction]] = Field(min_items=1, description='Actions when an element appears on the screen.') + width: typing.Optional[div_size.DivSize] = Field(description='Element width.') + + +class DivTextTruncate(str, enum.Enum): + NONE = 'none' + START = 'start' + END = 'end' + MIDDLE = 'middle' + + +# Text cropping marker. It is displayed when text size exceeds the limit on the +# number of lines. +class DivTextEllipsis(BaseDiv): + + def __init__( + self, *, + text: str, + actions: typing.Optional[typing.List[div_action.DivAction]] = None, + images: typing.Optional[typing.List[DivTextImage]] = None, + ranges: typing.Optional[typing.List[DivTextRange]] = None, + ): + super().__init__( + actions=actions, + images=images, + ranges=ranges, + text=text, + ) + + actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Actions when clicking on a crop marker.') + images: typing.Optional[typing.List[DivTextImage]] = Field(min_items=1, description='Images embedded in a crop marker.') + ranges: typing.Optional[typing.List[DivTextRange]] = Field(min_items=1, description='Character ranges inside a crop marker with different text styles.') + text: str = Field(min_length=1, description='Marker text.') + + +DivTextEllipsis.update_forward_refs() + + +# Image. +class DivTextImage(BaseDiv): + + def __init__( + self, *, + start: int, + url: str, + height: typing.Optional[div_fixed_size.DivFixedSize] = None, + tint_color: typing.Optional[str] = None, + width: typing.Optional[div_fixed_size.DivFixedSize] = None, + ): + super().__init__( + height=height, + start=start, + tint_color=tint_color, + url=url, + width=width, + ) + + height: typing.Optional[div_fixed_size.DivFixedSize] = Field(description='Image height.') + start: int = Field(description='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.') + tint_color: typing.Optional[str] = Field(format="color", description='New color of a contour image.') + url: str = Field(format="uri", description='Image URL.') + width: typing.Optional[div_fixed_size.DivFixedSize] = Field(description='Image width.') + + +DivTextImage.update_forward_refs() + + +# Additional parameters of the character range. +class DivTextRange(BaseDiv): + + def __init__( + self, *, + end: int, + start: int, + actions: typing.Optional[typing.List[div_action.DivAction]] = None, + font_family: typing.Optional[div_font_family.DivFontFamily] = None, + font_size: typing.Optional[int] = None, + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + font_weight: typing.Optional[div_font_weight.DivFontWeight] = None, + letter_spacing: typing.Optional[float] = None, + line_height: typing.Optional[int] = None, + strike: typing.Optional[div_line_style.DivLineStyle] = None, + text_color: typing.Optional[str] = None, + top_offset: typing.Optional[int] = None, + underline: typing.Optional[div_line_style.DivLineStyle] = None, + ): + super().__init__( + actions=actions, + end=end, + font_family=font_family, + font_size=font_size, + font_size_unit=font_size_unit, + font_weight=font_weight, + letter_spacing=letter_spacing, + line_height=line_height, + start=start, + strike=strike, + text_color=text_color, + top_offset=top_offset, + underline=underline, + ) + + actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Action when clicking on text.') + end: int = Field(description='Ordinal number of the last character to be included in the range.') + font_family: typing.Optional[div_font_family.DivFontFamily] = Field(description='Font family:`text` — a standard text font;`display` — a family of fonts with alarge font size.') + font_size: typing.Optional[int] = Field(description='Font size.') + font_size_unit: typing.Optional[div_size_unit.DivSizeUnit] = Field(description='Unit of measurement:`px` — a physical pixel.`dp` — a logical pixel that doesn\'tdepend on screen density.`sp` — a logical pixel that depends on the font size ona device. Specify height in `sp`. Only available on Android.') + font_weight: typing.Optional[div_font_weight.DivFontWeight] = Field(description='Style.') + letter_spacing: typing.Optional[float] = Field(description='Spacing between characters.') + line_height: typing.Optional[int] = Field(description='Line spacing of the text range. The count is taken from the font baseline.Measured in units specified in `font_size_unit`.') + start: int = Field(description='Ordinal number of a character which the range begins from. The first characterhas a number `0`.') + strike: typing.Optional[div_line_style.DivLineStyle] = Field(description='Strikethrough.') + text_color: typing.Optional[str] = Field(format="color", description='Text color.') + top_offset: typing.Optional[int] = Field(description='The top margin of the text range. Measured in units specified in`font_size_unit`.') + underline: typing.Optional[div_line_style.DivLineStyle] = Field(description='Underline.') + + +DivTextRange.update_forward_refs() + + +DivText.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_text_gradient.py b/json-builder/python/pydivkit/div/div_text_gradient.py new file mode 100644 index 000000000..fdf81cfb4 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_text_gradient.py @@ -0,0 +1,16 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_linear_gradient +from . import div_radial_gradient + +from typing import Union + +DivTextGradient = Union[ + div_linear_gradient.DivLinearGradient, + div_radial_gradient.DivRadialGradient, +] diff --git a/json-builder/python/pydivkit/div/div_tooltip.py b/json-builder/python/pydivkit/div/div_tooltip.py new file mode 100644 index 000000000..db09125e0 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_tooltip.py @@ -0,0 +1,56 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div +from . import div_animation +from . import div_point + + +# Tooltip. +class DivTooltip(BaseDiv): + + def __init__( + self, *, + div: div.Div, + id: str, + position: DivTooltipPosition, + animation_in: typing.Optional[div_animation.DivAnimation] = None, + animation_out: typing.Optional[div_animation.DivAnimation] = None, + duration: typing.Optional[int] = None, + offset: typing.Optional[div_point.DivPoint] = None, + ): + super().__init__( + animation_in=animation_in, + animation_out=animation_out, + div=div, + duration=duration, + id=id, + offset=offset, + position=position, + ) + + animation_in: typing.Optional[div_animation.DivAnimation] = Field(description='Tooltip appearance animation. By default, the tooltip will be appearing graduallywith an offset from the anchor point by 10 dp.') + animation_out: typing.Optional[div_animation.DivAnimation] = Field(description='Tooltip disappearance animation. By default, the tooltip will disappear graduallywith an offset from the anchor point by 10 dp.') + div: div.Div = Field(description='An element that will be shown in a tooltip. If there are tooltips inside anelement, they won\'t be shown.') + duration: typing.Optional[int] = Field(description='Duration of the tooltip visibility in milliseconds. When the value is set to `0`,the tooltip will be visible until the user hides it.') + id: str = Field(min_length=1, description='Tooltip ID. It is used to avoid re-showing. It must be unique for all elementtooltips.') + offset: typing.Optional[div_point.DivPoint] = Field(description='Shift relative to an anchor point.') + position: DivTooltipPosition = Field(description='The position of a tooltip relative to an element it belongs to.') + + +class DivTooltipPosition(str, enum.Enum): + LEFT = 'left' + TOP_LEFT = 'top-left' + TOP = 'top' + TOP_RIGHT = 'top-right' + RIGHT = 'right' + BOTTOM_RIGHT = 'bottom-right' + BOTTOM = 'bottom' + BOTTOM_LEFT = 'bottom-left' + + +DivTooltip.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_transform.py b/json-builder/python/pydivkit/div/div_transform.py new file mode 100644 index 000000000..910b7cf0f --- /dev/null +++ b/json-builder/python/pydivkit/div/div_transform.py @@ -0,0 +1,31 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_pivot + + +# Transformation of the element. +class DivTransform(BaseDiv): + + def __init__( + self, *, + pivot_x: typing.Optional[div_pivot.DivPivot] = None, + pivot_y: typing.Optional[div_pivot.DivPivot] = None, + rotation: typing.Optional[float] = None, + ): + super().__init__( + pivot_x=pivot_x, + pivot_y=pivot_y, + rotation=rotation, + ) + + pivot_x: typing.Optional[div_pivot.DivPivot] = Field(description='The X coordinate of the rotation axis.') + pivot_y: typing.Optional[div_pivot.DivPivot] = Field(description='The Y coordinate of the rotation axis.') + rotation: typing.Optional[float] = Field(description='The number of degrees by which the element must be rotated. A positive valuedescribes a clockwise rotation.') + + +DivTransform.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_transition_base.py b/json-builder/python/pydivkit/div/div_transition_base.py new file mode 100644 index 000000000..a91764051 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_transition_base.py @@ -0,0 +1,30 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_animation_interpolator + + +class DivTransitionBase(BaseDiv): + + def __init__( + self, *, + duration: typing.Optional[int] = None, + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = None, + start_delay: typing.Optional[int] = None, + ): + super().__init__( + duration=duration, + interpolator=interpolator, + start_delay=start_delay, + ) + + duration: typing.Optional[int] = Field(description='Animation duration in milliseconds.') + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = Field(description='Transition speed nature.') + start_delay: typing.Optional[int] = Field(description='Delay in milliseconds before animation starts.') + + +DivTransitionBase.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_transition_selector.py b/json-builder/python/pydivkit/div/div_transition_selector.py new file mode 100644 index 000000000..e362843f8 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_transition_selector.py @@ -0,0 +1,12 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +class DivTransitionSelector(str, enum.Enum): + NONE = 'none' + DATA_CHANGE = 'data_change' + STATE_CHANGE = 'state_change' + ANY_CHANGE = 'any_change' diff --git a/json-builder/python/pydivkit/div/div_transition_trigger.py b/json-builder/python/pydivkit/div/div_transition_trigger.py new file mode 100644 index 000000000..997996ead --- /dev/null +++ b/json-builder/python/pydivkit/div/div_transition_trigger.py @@ -0,0 +1,11 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +class DivTransitionTrigger(str, enum.Enum): + DATA_CHANGE = 'data_change' + STATE_CHANGE = 'state_change' + VISIBILITY_CHANGE = 'visibility_change' diff --git a/json-builder/python/pydivkit/div/div_trigger.py b/json-builder/python/pydivkit/div/div_trigger.py new file mode 100644 index 000000000..adeafe4d6 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_trigger.py @@ -0,0 +1,36 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_action + + +# A trigger that causes an action when activated. +class DivTrigger(BaseDiv): + + def __init__( + self, *, + actions: typing.List[div_action.DivAction], + condition: bool, + mode: typing.Optional[DivTriggerMode] = None, + ): + super().__init__( + actions=actions, + condition=condition, + mode=mode, + ) + + actions: typing.List[div_action.DivAction] = Field(min_items=1, description='Action when a trigger is activated.') + condition: bool = Field(description='Condition for activating a trigger. For example, `liked && subscribed`.') + mode: typing.Optional[DivTriggerMode] = Field(description='Trigger activation mode:`on_condition` — a trigger is activated when thecondition changes from `false` to `true`;`on_variable` — a trigger is activatedwhen the condition is met and the variable value changes.') + + +class DivTriggerMode(str, enum.Enum): + ON_CONDITION = 'on_condition' + ON_VARIABLE = 'on_variable' + + +DivTrigger.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_variable.py b/json-builder/python/pydivkit/div/div_variable.py new file mode 100644 index 000000000..237342eab --- /dev/null +++ b/json-builder/python/pydivkit/div/div_variable.py @@ -0,0 +1,24 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import boolean_variable +from . import color_variable +from . import integer_variable +from . import number_variable +from . import string_variable +from . import url_variable + +from typing import Union + +DivVariable = Union[ + string_variable.StringVariable, + number_variable.NumberVariable, + integer_variable.IntegerVariable, + boolean_variable.BooleanVariable, + color_variable.ColorVariable, + url_variable.UrlVariable, +] diff --git a/json-builder/python/pydivkit/div/div_visibility.py b/json-builder/python/pydivkit/div/div_visibility.py new file mode 100644 index 000000000..d652d6862 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_visibility.py @@ -0,0 +1,11 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +class DivVisibility(str, enum.Enum): + VISIBLE = 'visible' + INVISIBLE = 'invisible' + GONE = 'gone' diff --git a/json-builder/python/pydivkit/div/div_visibility_action.py b/json-builder/python/pydivkit/div/div_visibility_action.py new file mode 100644 index 000000000..d48481da5 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_visibility_action.py @@ -0,0 +1,46 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_download_callbacks + + +# Actions performed when an element becomes visible. +class DivVisibilityAction(BaseDiv): + + def __init__( + self, *, + log_id: str, + download_callbacks: typing.Optional[div_download_callbacks.DivDownloadCallbacks] = None, + log_limit: typing.Optional[int] = None, + payload: typing.Optional[typing.Dict[str, typing.Any]] = None, + referer: typing.Optional[str] = None, + url: typing.Optional[str] = None, + visibility_duration: typing.Optional[int] = None, + visibility_percentage: typing.Optional[int] = None, + ): + super().__init__( + download_callbacks=download_callbacks, + log_id=log_id, + log_limit=log_limit, + payload=payload, + referer=referer, + url=url, + visibility_duration=visibility_duration, + visibility_percentage=visibility_percentage, + ) + + download_callbacks: typing.Optional[div_download_callbacks.DivDownloadCallbacks] = Field(description='Callbacks that are called after [dataloading](../../interaction.dita#loading-data).') + log_id: str = Field(min_length=1, description='Logging ID.') + log_limit: typing.Optional[int] = Field(description='Limit on the number of loggings. If `0`, the limit is removed.') + payload: typing.Optional[typing.Dict[str, typing.Any]] = Field(description='Additional parameters, passed to the host application.') + referer: typing.Optional[str] = Field(format="uri", description='Referer URL for logging.') + url: typing.Optional[str] = Field(format="uri", description='URL. Possible values: `url` or `div-action://`. To learn more, see [Interactionwith elements](../../interaction.dita).') + visibility_duration: typing.Optional[int] = Field(description='Time in milliseconds during which an element must be visible to trigger`visibility-action`.') + visibility_percentage: typing.Optional[int] = Field(description='Percentage of the visible part of an element that triggers `visibility-action`.') + + +DivVisibilityAction.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_wrap_content_size.py b/json-builder/python/pydivkit/div/div_wrap_content_size.py new file mode 100644 index 000000000..96520a897 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_wrap_content_size.py @@ -0,0 +1,26 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# The size of an element adjusts to its contents. +class DivWrapContentSize(BaseDiv): + + def __init__( + self, *, + type: str = 'wrap_content', + constrained: typing.Optional[bool] = None, + ): + super().__init__( + type=type, + constrained=constrained, + ) + + type: str = Field(default='wrap_content') + constrained: typing.Optional[bool] = Field(description='The final size mustn\'t exceed the parent one. On iOS and in a default browser`false`. On Android always `true`.') + + +DivWrapContentSize.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/integer_variable.py b/json-builder/python/pydivkit/div/integer_variable.py new file mode 100644 index 000000000..02d7cfc2d --- /dev/null +++ b/json-builder/python/pydivkit/div/integer_variable.py @@ -0,0 +1,29 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# An integer variable. +class IntegerVariable(BaseDiv): + + def __init__( + self, *, + name: str, + value: int, + type: str = 'integer', + ): + super().__init__( + type=type, + name=name, + value=value, + ) + + type: str = Field(default='integer') + name: str = Field(min_length=1, description='Variable name.') + value: int = Field(description='Value.') + + +IntegerVariable.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/number_variable.py b/json-builder/python/pydivkit/div/number_variable.py new file mode 100644 index 000000000..0a574e0f8 --- /dev/null +++ b/json-builder/python/pydivkit/div/number_variable.py @@ -0,0 +1,29 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# A floating-point variable. +class NumberVariable(BaseDiv): + + def __init__( + self, *, + name: str, + value: float, + type: str = 'number', + ): + super().__init__( + type=type, + name=name, + value=value, + ) + + type: str = Field(default='number') + name: str = Field(min_length=1, description='Variable name.') + value: float = Field(description='Value.') + + +NumberVariable.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/string_variable.py b/json-builder/python/pydivkit/div/string_variable.py new file mode 100644 index 000000000..a8f81591f --- /dev/null +++ b/json-builder/python/pydivkit/div/string_variable.py @@ -0,0 +1,29 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# A string variable. +class StringVariable(BaseDiv): + + def __init__( + self, *, + name: str, + value: str, + type: str = 'string', + ): + super().__init__( + type=type, + name=name, + value=value, + ) + + type: str = Field(default='string') + name: str = Field(min_length=1, description='Variable name.') + value: str = Field(description='Value.') + + +StringVariable.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/url_variable.py b/json-builder/python/pydivkit/div/url_variable.py new file mode 100644 index 000000000..e1d4b857d --- /dev/null +++ b/json-builder/python/pydivkit/div/url_variable.py @@ -0,0 +1,29 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Variable — URL as a string. +class UrlVariable(BaseDiv): + + def __init__( + self, *, + name: str, + value: str, + type: str = 'url', + ): + super().__init__( + type=type, + name=name, + value=value, + ) + + type: str = Field(default='url') + name: str = Field(min_length=1, description='Variable name.') + value: str = Field(format="uri", description='Value.') + + +UrlVariable.update_forward_refs()