diff --git a/json-builder/python/.arcignore b/json-builder/python/.arcignore deleted file mode 100644 index b143d1273..000000000 --- a/json-builder/python/.arcignore +++ /dev/null @@ -1,155 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintainted in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -.idea/ -.DS_Store - -.div-schema diff --git a/json-builder/python/.gitignore b/json-builder/python/.gitignore deleted file mode 100644 index 75f9cd91f..000000000 --- a/json-builder/python/.gitignore +++ /dev/null @@ -1,156 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintainted in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -.idea/ -.DS_Store - -.div-schema -pydivkit/div/** diff --git a/json-builder/python/pydivkit/div/__init__.py b/json-builder/python/pydivkit/div/__init__.py new file mode 100644 index 000000000..42e00224f --- /dev/null +++ b/json-builder/python/pydivkit/div/__init__.py @@ -0,0 +1,167 @@ +# Generated code. Do not modify. + +from .boolean_variable import BooleanVariable +from .color_variable import ColorVariable +from .div import Div +from .div_accessibility import DivAccessibility, DivAccessibilityMode, DivAccessibilityType +from .div_action import DivAction, DivActionTarget, DivActionMenuItem +from .div_alignment_horizontal import DivAlignmentHorizontal +from .div_alignment_vertical import DivAlignmentVertical +from .div_animation import DivAnimation, DivAnimationName +from .div_animation_interpolator import DivAnimationInterpolator +from .div_appearance_set_transition import DivAppearanceSetTransition +from .div_appearance_transition import DivAppearanceTransition +from .div_aspect import DivAspect +from .div_background import DivBackground +from .div_base import DivBase +from .div_border import DivBorder +from .div_change_bounds_transition import DivChangeBoundsTransition +from .div_change_set_transition import DivChangeSetTransition +from .div_change_transition import DivChangeTransition +from .div_container import DivContainer, DivContainerLayoutMode, DivContainerOrientation +from .div_corners_radius import DivCornersRadius +from .div_count import DivCount +from .div_custom import DivCustom +from .div_data import DivData, DivDataState +from .div_dimension import DivDimension +from .div_download_callbacks import DivDownloadCallbacks +from .div_drawable import DivDrawable +from .div_edge_insets import DivEdgeInsets +from .div_extension import DivExtension +from .div_fade_transition import DivFadeTransition +from .div_fixed_count import DivFixedCount +from .div_fixed_size import DivFixedSize +from .div_focus import DivFocus, DivFocusNextFocusIds +from .div_font_family import DivFontFamily +from .div_font_weight import DivFontWeight +from .div_gallery import DivGallery, DivGalleryCrossContentAlignment, DivGalleryOrientation, DivGalleryScrollMode +from .div_gif_image import DivGifImage +from .div_grid import DivGrid +from .div_image import DivImage +from .div_image_background import DivImageBackground +from .div_image_scale import DivImageScale +from .div_indicator import DivIndicator, DivIndicatorAnimation +from .div_infinity_count import DivInfinityCount +from .div_input import DivInput, DivInputKeyboardType, DivInputNativeInterface +from .div_line_style import DivLineStyle +from .div_linear_gradient import DivLinearGradient +from .div_match_parent_size import DivMatchParentSize +from .div_neighbour_page_size import DivNeighbourPageSize +from .div_page_size import DivPageSize +from .div_pager import DivPager, DivPagerOrientation +from .div_pager_layout_mode import DivPagerLayoutMode +from .div_patch import DivPatch, DivPatchMode, DivPatchChange +from .div_percentage_size import DivPercentageSize +from .div_pivot import DivPivot +from .div_pivot_fixed import DivPivotFixed +from .div_pivot_percentage import DivPivotPercentage +from .div_point import DivPoint +from .div_radial_gradient import DivRadialGradient +from .div_rounded_rectangle_shape import DivRoundedRectangleShape +from .div_scale_transition import DivScaleTransition +from .div_separator import DivSeparator, DivSeparatorDelimiterStyle, DelimiterStyleOrientation +from .div_shadow import DivShadow +from .div_shape import DivShape +from .div_shape_drawable import DivShapeDrawable +from .div_size import DivSize +from .div_size_unit import DivSizeUnit +from .div_slide_transition import DivSlideTransition, DivSlideTransitionEdge +from .div_slider import DivSlider, DivSliderTextStyle +from .div_solid_background import DivSolidBackground +from .div_state import DivState, DivStateState +from .div_stroke import DivStroke +from .div_tabs import DivTabs, DivTabsItem, DivTabsTabTitleStyle, TabTitleStyleAnimationType +from .div_text import DivText, DivTextTruncate, DivTextEllipsis, DivTextImage, DivTextRange +from .div_text_gradient import DivTextGradient +from .div_tooltip import DivTooltip, DivTooltipPosition +from .div_transform import DivTransform +from .div_transition_base import DivTransitionBase +from .div_transition_selector import DivTransitionSelector +from .div_transition_trigger import DivTransitionTrigger +from .div_trigger import DivTrigger, DivTriggerMode +from .div_variable import DivVariable +from .div_visibility import DivVisibility +from .div_visibility_action import DivVisibilityAction +from .div_wrap_content_size import DivWrapContentSize +from .integer_variable import IntegerVariable +from .number_variable import NumberVariable +from .string_variable import StringVariable +from .url_variable import UrlVariable + +BooleanVariable.update_forward_refs() +ColorVariable.update_forward_refs() +DivAccessibility.update_forward_refs() +DivAction.update_forward_refs() +DivActionMenuItem.update_forward_refs() +DivAnimation.update_forward_refs() +DivAppearanceSetTransition.update_forward_refs() +DivAspect.update_forward_refs() +DivBase.update_forward_refs() +DivBorder.update_forward_refs() +DivChangeBoundsTransition.update_forward_refs() +DivChangeSetTransition.update_forward_refs() +DivContainer.update_forward_refs() +DivCornersRadius.update_forward_refs() +DivCustom.update_forward_refs() +DivData.update_forward_refs() +DivDataState.update_forward_refs() +DivDimension.update_forward_refs() +DivDownloadCallbacks.update_forward_refs() +DivEdgeInsets.update_forward_refs() +DivExtension.update_forward_refs() +DivFadeTransition.update_forward_refs() +DivFixedCount.update_forward_refs() +DivFixedSize.update_forward_refs() +DivFocus.update_forward_refs() +DivFocusNextFocusIds.update_forward_refs() +DivGallery.update_forward_refs() +DivGifImage.update_forward_refs() +DivGrid.update_forward_refs() +DivImage.update_forward_refs() +DivImageBackground.update_forward_refs() +DivIndicator.update_forward_refs() +DivInfinityCount.update_forward_refs() +DivInput.update_forward_refs() +DivInputNativeInterface.update_forward_refs() +DivLinearGradient.update_forward_refs() +DivMatchParentSize.update_forward_refs() +DivNeighbourPageSize.update_forward_refs() +DivPageSize.update_forward_refs() +DivPager.update_forward_refs() +DivPatch.update_forward_refs() +DivPatchChange.update_forward_refs() +DivPercentageSize.update_forward_refs() +DivPivotFixed.update_forward_refs() +DivPivotPercentage.update_forward_refs() +DivPoint.update_forward_refs() +DivRadialGradient.update_forward_refs() +DivRoundedRectangleShape.update_forward_refs() +DivScaleTransition.update_forward_refs() +DivSeparator.update_forward_refs() +DivSeparatorDelimiterStyle.update_forward_refs() +DivShadow.update_forward_refs() +DivShapeDrawable.update_forward_refs() +DivSlideTransition.update_forward_refs() +DivSlider.update_forward_refs() +DivSliderTextStyle.update_forward_refs() +DivSolidBackground.update_forward_refs() +DivState.update_forward_refs() +DivStateState.update_forward_refs() +DivStroke.update_forward_refs() +DivTabs.update_forward_refs() +DivTabsItem.update_forward_refs() +DivTabsTabTitleStyle.update_forward_refs() +DivText.update_forward_refs() +DivTextEllipsis.update_forward_refs() +DivTextImage.update_forward_refs() +DivTextRange.update_forward_refs() +DivTooltip.update_forward_refs() +DivTransform.update_forward_refs() +DivTransitionBase.update_forward_refs() +DivTrigger.update_forward_refs() +DivVisibilityAction.update_forward_refs() +DivWrapContentSize.update_forward_refs() +IntegerVariable.update_forward_refs() +NumberVariable.update_forward_refs() +StringVariable.update_forward_refs() +UrlVariable.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/boolean_variable.py b/json-builder/python/pydivkit/div/boolean_variable.py new file mode 100644 index 000000000..bf779599f --- /dev/null +++ b/json-builder/python/pydivkit/div/boolean_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 Boolean variable in binary format. +class BooleanVariable(BaseDiv): + + def __init__( + self, *, + name: str, + value: bool, + type: str = 'boolean', + ): + super().__init__( + type=type, + name=name, + value=value, + ) + + type: str = Field(default='boolean') + name: str = Field(min_length=1, description='Variable name.') + value: bool = Field(description='Value.') + + +BooleanVariable.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/color_variable.py b/json-builder/python/pydivkit/div/color_variable.py new file mode 100644 index 000000000..d00e5193e --- /dev/null +++ b/json-builder/python/pydivkit/div/color_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 — HEX color as a string. +class ColorVariable(BaseDiv): + + def __init__( + self, *, + name: str, + value: str, + type: str = 'color', + ): + super().__init__( + type=type, + name=name, + value=value, + ) + + type: str = Field(default='color') + name: str = Field(min_length=1, description='Variable name.') + value: str = Field(format="color", description='Value.') + + +ColorVariable.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div.py b/json-builder/python/pydivkit/div/div.py new file mode 100644 index 000000000..b6669a567 --- /dev/null +++ b/json-builder/python/pydivkit/div/div.py @@ -0,0 +1,40 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_container +from . import div_custom +from . import div_gallery +from . import div_gif_image +from . import div_grid +from . import div_image +from . import div_indicator +from . import div_input +from . import div_pager +from . import div_separator +from . import div_slider +from . import div_state +from . import div_tabs +from . import div_text + +from typing import Union + +Div = Union[ + div_image.DivImage, + div_gif_image.DivGifImage, + div_text.DivText, + div_separator.DivSeparator, + div_container.DivContainer, + div_grid.DivGrid, + div_gallery.DivGallery, + div_pager.DivPager, + div_tabs.DivTabs, + div_state.DivState, + div_custom.DivCustom, + div_indicator.DivIndicator, + div_slider.DivSlider, + div_input.DivInput, +] diff --git a/json-builder/python/pydivkit/div/div_accessibility.py b/json-builder/python/pydivkit/div/div_accessibility.py new file mode 100644 index 000000000..fb5c5e723 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_accessibility.py @@ -0,0 +1,54 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Accessibility for disabled people. +class DivAccessibility(BaseDiv): + + def __init__( + self, *, + description: typing.Optional[str] = None, + hint: typing.Optional[str] = None, + mode: typing.Optional[DivAccessibilityMode] = None, + mute_after_action: typing.Optional[bool] = None, + state_description: typing.Optional[str] = None, + type: typing.Optional[DivAccessibilityType] = None, + ): + super().__init__( + description=description, + hint=hint, + mode=mode, + mute_after_action=mute_after_action, + state_description=state_description, + type=type, + ) + + description: typing.Optional[str] = Field(min_length=1, description='Element description. It is used as the main description for screen readingapplications.') + hint: typing.Optional[str] = Field(min_length=1, description='A tooltip of what will happen during interaction. If Speak Hints is enabled inthe VoiceOver settings on iOS, a tooltip is played after `description`.') + mode: typing.Optional[DivAccessibilityMode] = Field(description='The way the accessibility tree is organized. In the `merge` mode theaccessibility service perceives an element together with a subtree as a whole. Inthe `exclude` mode an element together with a subtree isn\'t available foraccessibility.') + mute_after_action: typing.Optional[bool] = Field(description='Mutes the sound of the screen reader after interacting with the element.') + state_description: typing.Optional[str] = Field(min_length=1, description='Description of the current state of an element. For example, in the descriptionyou can specify a selected date for a date selection element and an on/off statefor a switch.') + type: typing.Optional[DivAccessibilityType] = Field(description='Element role. It is used for correct identification of an element by anaccessibility service.') + + +class DivAccessibilityMode(str, enum.Enum): + DEFAULT = 'default' + MERGE = 'merge' + EXCLUDE = 'exclude' + + +class DivAccessibilityType(str, enum.Enum): + NONE = 'none' + BUTTON = 'button' + IMAGE = 'image' + TEXT = 'text' + EDIT_TEXT = 'edit_text' + HEADER = 'header' + TAB_BAR = 'tab_bar' + + +DivAccessibility.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_action.py b/json-builder/python/pydivkit/div/div_action.py new file mode 100644 index 000000000..f03d90039 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_action.py @@ -0,0 +1,73 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_download_callbacks + + +# It defines an action when clicking on an element. +class DivAction(BaseDiv): + + def __init__( + self, *, + log_id: str, + download_callbacks: typing.Optional[div_download_callbacks.DivDownloadCallbacks] = None, + log_url: typing.Optional[str] = None, + menu_items: typing.Optional[typing.List[DivActionMenuItem]] = None, + payload: typing.Optional[typing.Dict[str, typing.Any]] = None, + referer: typing.Optional[str] = None, + target: typing.Optional[DivActionTarget] = None, + url: typing.Optional[str] = None, + ): + super().__init__( + download_callbacks=download_callbacks, + log_id=log_id, + log_url=log_url, + menu_items=menu_items, + payload=payload, + referer=referer, + target=target, + url=url, + ) + + 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_url: typing.Optional[str] = Field(format="uri", description='URL for logging.') + menu_items: typing.Optional[typing.List[DivActionMenuItem]] = Field(min_items=1, description='Context menu.') + 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.') + target: typing.Optional[DivActionTarget] = Field(description='The tab in which the URL must be opened.') + url: typing.Optional[str] = Field(format="uri", description='URL. Possible values: `url` or `div-action://`. To learn more, see [Interactionwith elements](../../interaction.dita).') + + +class DivActionTarget(str, enum.Enum): + SELF = '_self' + BLANK = '_blank' + + +class DivActionMenuItem(BaseDiv): + + def __init__( + self, *, + text: str, + action: typing.Optional[DivAction] = None, + actions: typing.Optional[typing.List[DivAction]] = None, + ): + super().__init__( + action=action, + actions=actions, + text=text, + ) + + action: typing.Optional[DivAction] = Field(description='One action when clicking on a menu item. Not used if the `actions` parameter isset.') + actions: typing.Optional[typing.List[DivAction]] = Field(min_items=1, description='Multiple actions when clicking on a menu item.') + text: str = Field(min_length=1, description='Menu item title.') + + +DivActionMenuItem.update_forward_refs() + + +DivAction.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_alignment_horizontal.py b/json-builder/python/pydivkit/div/div_alignment_horizontal.py new file mode 100644 index 000000000..70ae0a2fe --- /dev/null +++ b/json-builder/python/pydivkit/div/div_alignment_horizontal.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 DivAlignmentHorizontal(str, enum.Enum): + LEFT = 'left' + CENTER = 'center' + RIGHT = 'right' diff --git a/json-builder/python/pydivkit/div/div_alignment_vertical.py b/json-builder/python/pydivkit/div/div_alignment_vertical.py new file mode 100644 index 000000000..8ae249597 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_alignment_vertical.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 DivAlignmentVertical(str, enum.Enum): + TOP = 'top' + CENTER = 'center' + BOTTOM = 'bottom' diff --git a/json-builder/python/pydivkit/div/div_animation.py b/json-builder/python/pydivkit/div/div_animation.py new file mode 100644 index 000000000..4b728d848 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_animation.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_animation_interpolator +from . import div_count + + +# Element animation parameters. +class DivAnimation(BaseDiv): + + def __init__( + self, *, + name: DivAnimationName, + duration: typing.Optional[int] = None, + end_value: typing.Optional[float] = None, + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = None, + items: typing.Optional[typing.List[DivAnimation]] = None, + repeat: typing.Optional[div_count.DivCount] = None, + start_delay: typing.Optional[int] = None, + start_value: typing.Optional[float] = None, + ): + super().__init__( + duration=duration, + end_value=end_value, + interpolator=interpolator, + items=items, + name=name, + repeat=repeat, + start_delay=start_delay, + start_value=start_value, + ) + + duration: typing.Optional[int] = Field(description='Animation duration in milliseconds.') + end_value: typing.Optional[float] = Field(description='Final value of an animation.') + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = Field(description='Animation speed nature. When the value is set to `spring` — animation of dampingfluctuations cut to 0.7 with the `damping=1` parameter. Other options correspondto the Bezier curve:`linear` — cubic-bezier(0, 0, 1, 1);`ease` —cubic-bezier(0.25, 0.1, 0.25, 1);`ease_in` — cubic-bezier(0.42, 0, 1,1);`ease_out` — cubic-bezier(0, 0, 0.58, 1);`ease_in_out` — cubic-bezier(0.42, 0,0.58, 1).') + items: typing.Optional[typing.List[DivAnimation]] = Field(min_items=1, description='Animation elements.') + name: DivAnimationName = Field(description='Animation type.') + repeat: typing.Optional[div_count.DivCount] = Field(description='Number of animation repetitions.') + start_delay: typing.Optional[int] = Field(description='Delay in milliseconds before animation starts.') + start_value: typing.Optional[float] = Field(description='Starting value of an animation.') + + +class DivAnimationName(str, enum.Enum): + FADE = 'fade' + TRANSLATE = 'translate' + SCALE = 'scale' + NATIVE = 'native' + SET = 'set' + NO_ANIMATION = 'no_animation' + + +DivAnimation.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_animation_interpolator.py b/json-builder/python/pydivkit/div/div_animation_interpolator.py new file mode 100644 index 000000000..2580b0251 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_animation_interpolator.py @@ -0,0 +1,14 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +class DivAnimationInterpolator(str, enum.Enum): + LINEAR = 'linear' + EASE = 'ease' + EASE_IN = 'ease_in' + EASE_OUT = 'ease_out' + EASE_IN_OUT = 'ease_in_out' + SPRING = 'spring' diff --git a/json-builder/python/pydivkit/div/div_appearance_set_transition.py b/json-builder/python/pydivkit/div/div_appearance_set_transition.py new file mode 100644 index 000000000..7af4216fd --- /dev/null +++ b/json-builder/python/pydivkit/div/div_appearance_set_transition.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_appearance_transition + + +# A set of animations to be applied simultaneously. +class DivAppearanceSetTransition(BaseDiv): + + def __init__( + self, *, + items: typing.List[div_appearance_transition.DivAppearanceTransition], + type: str = 'set', + ): + super().__init__( + type=type, + items=items, + ) + + type: str = Field(default='set') + items: typing.List[div_appearance_transition.DivAppearanceTransition] = Field(min_items=1, description='An array of animations.') + + +DivAppearanceSetTransition.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_appearance_transition.py b/json-builder/python/pydivkit/div/div_appearance_transition.py new file mode 100644 index 000000000..7fd6ecd9b --- /dev/null +++ b/json-builder/python/pydivkit/div/div_appearance_transition.py @@ -0,0 +1,20 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_appearance_set_transition +from . import div_fade_transition +from . import div_scale_transition +from . import div_slide_transition + +from typing import Union + +DivAppearanceTransition = Union[ + div_appearance_set_transition.DivAppearanceSetTransition, + div_fade_transition.DivFadeTransition, + div_scale_transition.DivScaleTransition, + div_slide_transition.DivSlideTransition, +] diff --git a/json-builder/python/pydivkit/div/div_aspect.py b/json-builder/python/pydivkit/div/div_aspect.py new file mode 100644 index 000000000..bc4c16d66 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_aspect.py @@ -0,0 +1,24 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Size with a fixed aspect ratio. It counts height from width and ignores other +# specified height values. +class DivAspect(BaseDiv): + + def __init__( + self, *, + ratio: float, + ): + super().__init__( + ratio=ratio, + ) + + ratio: float = Field(description='`ratio = width / height`.') + + +DivAspect.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_background.py b/json-builder/python/pydivkit/div/div_background.py new file mode 100644 index 000000000..d43cc0ba9 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_background.py @@ -0,0 +1,20 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_image_background +from . import div_linear_gradient +from . import div_radial_gradient +from . import div_solid_background + +from typing import Union + +DivBackground = Union[ + div_linear_gradient.DivLinearGradient, + div_radial_gradient.DivRadialGradient, + div_image_background.DivImageBackground, + div_solid_background.DivSolidBackground, +] diff --git a/json-builder/python/pydivkit/div/div_base.py b/json-builder/python/pydivkit/div/div_base.py new file mode 100644 index 000000000..b20e6810a --- /dev/null +++ b/json-builder/python/pydivkit/div/div_base.py @@ -0,0 +1,112 @@ +# 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_size +from . import div_tooltip +from . import div_transform +from . import div_transition_trigger +from . import div_visibility +from . import div_visibility_action + + +class DivBase(BaseDiv): + + def __init__( + self, *, + 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, + 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__( + 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, + 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, + ) + + 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.') + 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.') + + +DivBase.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_border.py b/json-builder/python/pydivkit/div/div_border.py new file mode 100644 index 000000000..fea301726 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_border.py @@ -0,0 +1,39 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_corners_radius +from . import div_shadow +from . import div_stroke + + +# Stroke around the element. +class DivBorder(BaseDiv): + + def __init__( + self, *, + corner_radius: typing.Optional[int] = None, + corners_radius: typing.Optional[div_corners_radius.DivCornersRadius] = None, + has_shadow: typing.Optional[bool] = None, + shadow: typing.Optional[div_shadow.DivShadow] = None, + stroke: typing.Optional[div_stroke.DivStroke] = None, + ): + super().__init__( + corner_radius=corner_radius, + corners_radius=corners_radius, + has_shadow=has_shadow, + shadow=shadow, + stroke=stroke, + ) + + corner_radius: typing.Optional[int] = Field(description='One radius of element and stroke corner rounding. Has a lower priority than`corners_radius`.') + corners_radius: typing.Optional[div_corners_radius.DivCornersRadius] = Field(description='Multiple radii of element and stroke corner rounding.') + has_shadow: typing.Optional[bool] = Field(description='Adding shadow.') + shadow: typing.Optional[div_shadow.DivShadow] = Field(description='Shadow parameters.') + stroke: typing.Optional[div_stroke.DivStroke] = Field(description='Stroke style.') + + +DivBorder.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_change_bounds_transition.py b/json-builder/python/pydivkit/div/div_change_bounds_transition.py new file mode 100644 index 000000000..96a18fe8e --- /dev/null +++ b/json-builder/python/pydivkit/div/div_change_bounds_transition.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_animation_interpolator + + +# Element position and size change animation. +class DivChangeBoundsTransition(BaseDiv): + + def __init__( + self, *, + type: str = 'change_bounds', + duration: typing.Optional[int] = None, + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = None, + start_delay: typing.Optional[int] = None, + ): + super().__init__( + type=type, + duration=duration, + interpolator=interpolator, + start_delay=start_delay, + ) + + type: str = Field(default='change_bounds') + 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.') + + +DivChangeBoundsTransition.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_change_set_transition.py b/json-builder/python/pydivkit/div/div_change_set_transition.py new file mode 100644 index 000000000..7f5c64ba1 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_change_set_transition.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_change_transition + + +# Animations. +class DivChangeSetTransition(BaseDiv): + + def __init__( + self, *, + items: typing.List[div_change_transition.DivChangeTransition], + type: str = 'set', + ): + super().__init__( + type=type, + items=items, + ) + + type: str = Field(default='set') + items: typing.List[div_change_transition.DivChangeTransition] = Field(min_items=1, description='List of animations.') + + +DivChangeSetTransition.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_change_transition.py b/json-builder/python/pydivkit/div/div_change_transition.py new file mode 100644 index 000000000..6f99051c1 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_change_transition.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_change_bounds_transition +from . import div_change_set_transition + +from typing import Union + +DivChangeTransition = Union[ + div_change_set_transition.DivChangeSetTransition, + div_change_bounds_transition.DivChangeBoundsTransition, +] diff --git a/json-builder/python/pydivkit/div/div_container.py b/json-builder/python/pydivkit/div/div_container.py new file mode 100644 index 000000000..14b1aea24 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_container.py @@ -0,0 +1,161 @@ +# 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 + + +# Container. It contains other elements and is responsible for their location. It +# is used to arrange elements vertically, horizontally, and with an overlay in a +# certain order, simulating the third dimension. +class DivContainer(BaseDiv): + + def __init__( + self, *, + items: typing.List[div.Div], + type: str = 'container', + 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, + layout_mode: typing.Optional[DivContainerLayoutMode] = None, + longtap_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + orientation: typing.Optional[DivContainerOrientation] = 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, + 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, + layout_mode=layout_mode, + longtap_actions=longtap_actions, + margins=margins, + orientation=orientation, + 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='container') + 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.') + content_alignment_horizontal: typing.Optional[div_alignment_horizontal.DivAlignmentHorizontal] = Field(description='Default alignment of elements. Not used if the `alignment_horizontal` parameteris set from the element field.') + content_alignment_vertical: typing.Optional[div_alignment_vertical.DivAlignmentVertical] = Field(description='Default alignment of elements. Not used if the `alignment_vertical` parameter isset from the element field.') + 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='Nested elements.') + layout_mode: typing.Optional[DivContainerLayoutMode] = Field(description='Method of placing elements. `wrap` value includes the transfer of elements to thenext line if they did not fit in the previous one. If the value is set to `wrap`,then a separate line will be allocated for all elements with a size value ofmatch_parent along the main axis.') + 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.') + orientation: typing.Optional[DivContainerOrientation] = Field(description='Location of elements. `overlap` value overlays elements on top of each other inthe order of enumeration. The lowest is the zero element of an array.') + 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.') + + +class DivContainerLayoutMode(str, enum.Enum): + NO_WRAP = 'no_wrap' + WRAP = 'wrap' + + +class DivContainerOrientation(str, enum.Enum): + VERTICAL = 'vertical' + HORIZONTAL = 'horizontal' + OVERLAP = 'overlap' + + +DivContainer.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_corners_radius.py b/json-builder/python/pydivkit/div/div_corners_radius.py new file mode 100644 index 000000000..d02ecfc49 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_corners_radius.py @@ -0,0 +1,32 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Sets corner rounding. +class DivCornersRadius(BaseDiv): + + def __init__( + self, *, + bottom_left: typing.Optional[int] = None, + bottom_right: typing.Optional[int] = None, + top_left: typing.Optional[int] = None, + top_right: typing.Optional[int] = None, + ): + super().__init__( + bottom_left=bottom_left, + bottom_right=bottom_right, + top_left=top_left, + top_right=top_right, + ) + + bottom_left: typing.Optional[int] = Field(description='Rounding radius of a lower left corner. If not specified, then `corner_radius` isused.', name='bottom-left') + bottom_right: typing.Optional[int] = Field(description='Rounding radius of a lower right corner. If not specified, then `corner_radius`is used.', name='bottom-right') + top_left: typing.Optional[int] = Field(description='Rounding radius of an upper left corner. If not specified, then `corner_radius`is used.', name='top-left') + top_right: typing.Optional[int] = Field(description='Rounding radius of an upper right corner. If not specified, then `corner_radius`is used.', name='top-right') + + +DivCornersRadius.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_count.py b/json-builder/python/pydivkit/div/div_count.py new file mode 100644 index 000000000..a86ebafb0 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_count.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_fixed_count +from . import div_infinity_count + +from typing import Union + +DivCount = Union[ + div_infinity_count.DivInfinityCount, + div_fixed_count.DivFixedCount, +] diff --git a/json-builder/python/pydivkit/div/div_custom.py b/json-builder/python/pydivkit/div/div_custom.py new file mode 100644 index 000000000..8b7c23f7f --- /dev/null +++ b/json-builder/python/pydivkit/div/div_custom.py @@ -0,0 +1,127 @@ +# 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_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 + + +# Custom element. It is delegated to a host application to create native elements +# depending on the platform. +class DivCustom(BaseDiv): + + def __init__( + self, *, + custom_type: str, + type: str = 'custom', + 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, + custom_props: typing.Optional[typing.Dict[str, typing.Any]] = 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, + items: typing.Optional[typing.List[div.Div]] = 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, + alignment_horizontal=alignment_horizontal, + alignment_vertical=alignment_vertical, + alpha=alpha, + background=background, + border=border, + column_span=column_span, + custom_props=custom_props, + custom_type=custom_type, + extensions=extensions, + focus=focus, + height=height, + id=id, + items=items, + 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='custom') + 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.') + custom_props: typing.Optional[typing.Dict[str, typing.Any]] = Field(description='Element data for a host application.') + custom_type: str = Field(description='Subtype of an element for a host application.') + 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.Optional[typing.List[div.Div]] = Field(min_items=1, description='Nested elements.') + 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.') + + +DivCustom.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_data.py b/json-builder/python/pydivkit/div/div_data.py new file mode 100644 index 000000000..d6c6ebdd7 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_data.py @@ -0,0 +1,59 @@ +# 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_transition_selector +from . import div_trigger +from . import div_variable + + +# Root structure. +class DivData(BaseDiv): + + def __init__( + self, *, + log_id: str, + states: typing.List[DivDataState], + transition_animation_selector: typing.Optional[div_transition_selector.DivTransitionSelector] = None, + variable_triggers: typing.Optional[typing.List[div_trigger.DivTrigger]] = None, + variables: typing.Optional[typing.List[div_variable.DivVariable]] = None, + ): + super().__init__( + log_id=log_id, + states=states, + transition_animation_selector=transition_animation_selector, + variable_triggers=variable_triggers, + variables=variables, + ) + + log_id: str = Field(min_length=1, description='Logging ID.') + states: typing.List[DivDataState] = Field(min_items=1, description='A set of visual element states. Each element can have a few states with adifferent layout. The states are displayed strictly one by one and switched using[action](div-action.md).') + transition_animation_selector: typing.Optional[div_transition_selector.DivTransitionSelector] = Field(description='Events that trigger transition animations. @deprecated') + variable_triggers: typing.Optional[typing.List[div_trigger.DivTrigger]] = Field(min_items=1, description='Triggers for changing variables.') + variables: typing.Optional[typing.List[div_variable.DivVariable]] = Field(min_items=1, description='Declaration of variables that can be used in an element.') + + +class DivDataState(BaseDiv): + + def __init__( + self, *, + div: div.Div, + state_id: int, + ): + super().__init__( + div=div, + state_id=state_id, + ) + + div: div.Div = Field(description='Contents.') + state_id: int = Field(description='State ID.') + + +DivDataState.update_forward_refs() + + +DivData.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_dimension.py b/json-builder/python/pydivkit/div/div_dimension.py new file mode 100644 index 000000000..0a20d353c --- /dev/null +++ b/json-builder/python/pydivkit/div/div_dimension.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_size_unit + + +# Element dimension value. +class DivDimension(BaseDiv): + + def __init__( + self, *, + value: float, + unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + ): + super().__init__( + unit=unit, + value=value, + ) + + unit: typing.Optional[div_size_unit.DivSizeUnit] = Field() + value: float = Field(description='Value.') + + +DivDimension.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_download_callbacks.py b/json-builder/python/pydivkit/div/div_download_callbacks.py new file mode 100644 index 000000000..925a03152 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_download_callbacks.py @@ -0,0 +1,29 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_action + + +# Callbacks that are called after [data +# loading](../../interaction.dita#loading-data). +class DivDownloadCallbacks(BaseDiv): + + def __init__( + self, *, + on_fail_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + on_success_actions: typing.Optional[typing.List[div_action.DivAction]] = None, + ): + super().__init__( + on_fail_actions=on_fail_actions, + on_success_actions=on_success_actions, + ) + + on_fail_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Actions in case of unsuccessful loading if the host reported it or the waitingtime expired.') + on_success_actions: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Actions in case of successful loading.') + + +DivDownloadCallbacks.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_drawable.py b/json-builder/python/pydivkit/div/div_drawable.py new file mode 100644 index 000000000..72037422e --- /dev/null +++ b/json-builder/python/pydivkit/div/div_drawable.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_shape_drawable + +from typing import Union + +DivDrawable = Union[ + div_shape_drawable.DivShapeDrawable, +] diff --git a/json-builder/python/pydivkit/div/div_edge_insets.py b/json-builder/python/pydivkit/div/div_edge_insets.py new file mode 100644 index 000000000..280d91fa3 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_edge_insets.py @@ -0,0 +1,37 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_size_unit + + +# It sets margins. +class DivEdgeInsets(BaseDiv): + + def __init__( + self, *, + bottom: typing.Optional[int] = None, + left: typing.Optional[int] = None, + right: typing.Optional[int] = None, + top: typing.Optional[int] = None, + unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + ): + super().__init__( + bottom=bottom, + left=left, + right=right, + top=top, + unit=unit, + ) + + bottom: typing.Optional[int] = Field(description='Bottom margin.') + left: typing.Optional[int] = Field(description='Left margin.') + right: typing.Optional[int] = Field(description='Right margin.') + top: typing.Optional[int] = Field(description='Top margin.') + unit: typing.Optional[div_size_unit.DivSizeUnit] = Field() + + +DivEdgeInsets.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_extension.py b/json-builder/python/pydivkit/div/div_extension.py new file mode 100644 index 000000000..79b22f456 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_extension.py @@ -0,0 +1,26 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Extension that affects an element. +class DivExtension(BaseDiv): + + def __init__( + self, *, + id: str, + params: typing.Optional[typing.Dict[str, typing.Any]] = None, + ): + super().__init__( + id=id, + params=params, + ) + + id: str = Field(min_length=1, description='Extension ID.') + params: typing.Optional[typing.Dict[str, typing.Any]] = Field(description='Additional extension parameters.') + + +DivExtension.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_fade_transition.py b/json-builder/python/pydivkit/div/div_fade_transition.py new file mode 100644 index 000000000..456000bcc --- /dev/null +++ b/json-builder/python/pydivkit/div/div_fade_transition.py @@ -0,0 +1,37 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_animation_interpolator + + +# Transparency animation. +class DivFadeTransition(BaseDiv): + + def __init__( + self, *, + type: str = 'fade', + alpha: typing.Optional[float] = None, + duration: typing.Optional[int] = None, + interpolator: typing.Optional[div_animation_interpolator.DivAnimationInterpolator] = None, + start_delay: typing.Optional[int] = None, + ): + super().__init__( + type=type, + alpha=alpha, + duration=duration, + interpolator=interpolator, + start_delay=start_delay, + ) + + type: str = Field(default='fade') + alpha: typing.Optional[float] = Field(description='Value of the alpha channel which the element starts appearing from or at which itfinishes disappearing.') + 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.') + + +DivFadeTransition.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_fixed_count.py b/json-builder/python/pydivkit/div/div_fixed_count.py new file mode 100644 index 000000000..45ff26314 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_fixed_count.py @@ -0,0 +1,26 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + + +# Fixed number of repetitions. +class DivFixedCount(BaseDiv): + + def __init__( + self, *, + value: int, + type: str = 'fixed', + ): + super().__init__( + type=type, + value=value, + ) + + type: str = Field(default='fixed') + value: int = Field(description='Number of repetitions.') + + +DivFixedCount.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_fixed_size.py b/json-builder/python/pydivkit/div/div_fixed_size.py new file mode 100644 index 000000000..208089bce --- /dev/null +++ b/json-builder/python/pydivkit/div/div_fixed_size.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 + + +# Fixed size of an element. +class DivFixedSize(BaseDiv): + + def __init__( + self, *, + value: int, + type: str = 'fixed', + unit: typing.Optional[div_size_unit.DivSizeUnit] = None, + ): + super().__init__( + type=type, + unit=unit, + value=value, + ) + + type: str = Field(default='fixed') + unit: typing.Optional[div_size_unit.DivSizeUnit] = Field(description='Unit of measurement. To learn more about units of size measurement, see [Layoutinside the card](../../layout.dita).') + value: int = Field(description='Element size.') + + +DivFixedSize.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_focus.py b/json-builder/python/pydivkit/div/div_focus.py new file mode 100644 index 000000000..c52c912e0 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_focus.py @@ -0,0 +1,68 @@ +# Generated code. Do not modify. + +from __future__ import annotations +from pydivkit.core import BaseDiv, Field +import enum +import typing + +from . import div_action +from . import div_background +from . import div_border + + +# Element behavior when focusing or losing focus. +class DivFocus(BaseDiv): + + def __init__( + self, *, + background: typing.Optional[typing.List[div_background.DivBackground]] = None, + border: typing.Optional[div_border.DivBorder] = None, + next_focus_ids: typing.Optional[DivFocusNextFocusIds] = None, + on_blur: typing.Optional[typing.List[div_action.DivAction]] = None, + on_focus: typing.Optional[typing.List[div_action.DivAction]] = None, + ): + super().__init__( + background=background, + border=border, + next_focus_ids=next_focus_ids, + on_blur=on_blur, + on_focus=on_focus, + ) + + background: typing.Optional[typing.List[div_background.DivBackground]] = Field(min_items=1, description='Background of an element when it is in focus. It can contain multiple layers.') + border: typing.Optional[div_border.DivBorder] = Field(description='Border of an element when it is in focus') + next_focus_ids: typing.Optional[DivFocusNextFocusIds] = Field(description='IDs of elements that will be next to get focus.') + on_blur: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Actions when an element loses focus.') + on_focus: typing.Optional[typing.List[div_action.DivAction]] = Field(min_items=1, description='Actions when an element gets focus.') + + +# IDs of elements that will be next to get focus. +class DivFocusNextFocusIds(BaseDiv): + + def __init__( + self, *, + down: typing.Optional[str] = None, + forward: typing.Optional[str] = None, + left: typing.Optional[str] = None, + right: typing.Optional[str] = None, + up: typing.Optional[str] = None, + ): + super().__init__( + down=down, + forward=forward, + left=left, + right=right, + up=up, + ) + + down: typing.Optional[str] = Field(min_length=1) + forward: typing.Optional[str] = Field(min_length=1) + left: typing.Optional[str] = Field(min_length=1) + right: typing.Optional[str] = Field(min_length=1) + up: typing.Optional[str] = Field(min_length=1) + + +DivFocusNextFocusIds.update_forward_refs() + + +DivFocus.update_forward_refs() diff --git a/json-builder/python/pydivkit/div/div_font_family.py b/json-builder/python/pydivkit/div/div_font_family.py new file mode 100644 index 000000000..8df1f9dc3 --- /dev/null +++ b/json-builder/python/pydivkit/div/div_font_family.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 DivFontFamily(str, enum.Enum): + TEXT = 'text' + DISPLAY = 'display' diff --git a/json-builder/python/pydivkit/div/div_font_weight.py b/json-builder/python/pydivkit/div/div_font_weight.py new file mode 100644 index 000000000..8e4e23bba --- /dev/null +++ b/json-builder/python/pydivkit/div/div_font_weight.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 DivFontWeight(str, enum.Enum): + LIGHT = 'light' + MEDIUM = 'medium' + REGULAR = 'regular' + BOLD = 'bold' diff --git a/json-builder/python/pydivkit/div/div_gallery.py b/json-builder/python/pydivkit/div/div_gallery.py new file mode 100644 index 000000000..65d791eda --- /dev/null +++ b/json-builder/python/pydivkit/div/div_gallery.py @@ -0,0 +1,157 @@ +# 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_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 + + +# Gallery. It contains a horizontal or vertical set of cards that can be scrolled. +class DivGallery(BaseDiv): + + def __init__( + self, *, + items: typing.List[div.Div], + type: str = 'gallery', + 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_count: typing.Optional[int] = None, + column_span: typing.Optional[int] = None, + cross_content_alignment: typing.Optional[DivGalleryCrossContentAlignment] = 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[int] = None, + margins: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + orientation: typing.Optional[DivGalleryOrientation] = None, + paddings: typing.Optional[div_edge_insets.DivEdgeInsets] = None, + restrict_parent_scroll: typing.Optional[bool] = None, + row_span: typing.Optional[int] = None, + scroll_mode: typing.Optional[DivGalleryScrollMode] = 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_count=column_count, + column_span=column_span, + cross_content_alignment=cross_content_alignment, + default_item=default_item, + extensions=extensions, + focus=focus, + height=height, + id=id, + item_spacing=item_spacing, + items=items, + margins=margins, + orientation=orientation, + paddings=paddings, + restrict_parent_scroll=restrict_parent_scroll, + row_span=row_span, + scroll_mode=scroll_mode, + 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='gallery') + 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_count: typing.Optional[int] = Field(description='Number of columns for block layout.') + column_span: typing.Optional[int] = Field(description='Merges cells in a column of the [grid](div-grid.md) element.') + cross_content_alignment: typing.Optional[DivGalleryCrossContentAlignment] = Field(description='Aligning elements in the direction perpendicular to the scroll direction. Inhorizontal galleries:`start` — alignment to the top of the card;`center` — to thecenter;`end` — to the bottom.
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()