dara-core 1.21.16__py3-none-any.whl → 1.21.17__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. dara/core/auth/base.py +5 -5
  2. dara/core/auth/basic.py +3 -3
  3. dara/core/auth/definitions.py +13 -14
  4. dara/core/auth/routes.py +7 -5
  5. dara/core/auth/utils.py +11 -10
  6. dara/core/base_definitions.py +30 -36
  7. dara/core/cli.py +7 -8
  8. dara/core/configuration.py +51 -58
  9. dara/core/css.py +2 -2
  10. dara/core/data_utils.py +12 -17
  11. dara/core/defaults.py +3 -3
  12. dara/core/definitions.py +58 -63
  13. dara/core/http.py +4 -4
  14. dara/core/interactivity/actions.py +34 -42
  15. dara/core/interactivity/any_data_variable.py +1 -1
  16. dara/core/interactivity/any_variable.py +6 -5
  17. dara/core/interactivity/client_variable.py +1 -2
  18. dara/core/interactivity/condition.py +2 -2
  19. dara/core/interactivity/data_variable.py +2 -4
  20. dara/core/interactivity/derived_data_variable.py +7 -10
  21. dara/core/interactivity/derived_variable.py +45 -51
  22. dara/core/interactivity/filtering.py +19 -19
  23. dara/core/interactivity/loop_variable.py +2 -4
  24. dara/core/interactivity/non_data_variable.py +1 -1
  25. dara/core/interactivity/plain_variable.py +21 -18
  26. dara/core/interactivity/server_variable.py +13 -15
  27. dara/core/interactivity/state_variable.py +4 -5
  28. dara/core/interactivity/switch_variable.py +16 -16
  29. dara/core/interactivity/tabular_variable.py +3 -3
  30. dara/core/interactivity/url_variable.py +3 -3
  31. dara/core/internal/cache_store/cache_store.py +6 -6
  32. dara/core/internal/cache_store/keep_all.py +3 -3
  33. dara/core/internal/cache_store/lru.py +8 -8
  34. dara/core/internal/cache_store/ttl.py +4 -4
  35. dara/core/internal/custom_response.py +3 -3
  36. dara/core/internal/dependency_resolution.py +6 -10
  37. dara/core/internal/devtools.py +2 -3
  38. dara/core/internal/download.py +5 -6
  39. dara/core/internal/encoder_registry.py +7 -11
  40. dara/core/internal/execute_action.py +5 -5
  41. dara/core/internal/hashing.py +1 -2
  42. dara/core/internal/import_discovery.py +7 -9
  43. dara/core/internal/normalization.py +12 -15
  44. dara/core/internal/pandas_utils.py +6 -6
  45. dara/core/internal/pool/channel.py +3 -4
  46. dara/core/internal/pool/definitions.py +9 -9
  47. dara/core/internal/pool/task_pool.py +8 -8
  48. dara/core/internal/pool/utils.py +4 -3
  49. dara/core/internal/pool/worker.py +3 -3
  50. dara/core/internal/registries.py +4 -4
  51. dara/core/internal/registry.py +3 -3
  52. dara/core/internal/registry_lookup.py +4 -4
  53. dara/core/internal/routing.py +23 -22
  54. dara/core/internal/scheduler.py +8 -8
  55. dara/core/internal/settings.py +1 -2
  56. dara/core/internal/store.py +9 -9
  57. dara/core/internal/tasks.py +30 -30
  58. dara/core/internal/utils.py +9 -15
  59. dara/core/internal/websocket.py +18 -18
  60. dara/core/js_tooling/js_utils.py +19 -19
  61. dara/core/logging.py +13 -13
  62. dara/core/main.py +4 -5
  63. dara/core/metrics/cache.py +2 -4
  64. dara/core/persistence.py +19 -25
  65. dara/core/router/compat.py +1 -3
  66. dara/core/router/components.py +10 -10
  67. dara/core/router/dependency_graph.py +2 -4
  68. dara/core/router/router.py +43 -42
  69. dara/core/visual/components/dynamic_component.py +1 -3
  70. dara/core/visual/components/fallback.py +3 -3
  71. dara/core/visual/components/for_cmp.py +5 -5
  72. dara/core/visual/components/menu.py +1 -3
  73. dara/core/visual/components/router_content.py +1 -3
  74. dara/core/visual/components/sidebar_frame.py +8 -10
  75. dara/core/visual/components/theme_provider.py +3 -3
  76. dara/core/visual/components/topbar_frame.py +8 -10
  77. dara/core/visual/css/__init__.py +277 -277
  78. dara/core/visual/dynamic_component.py +18 -22
  79. dara/core/visual/progress_updater.py +1 -1
  80. dara/core/visual/template.py +10 -12
  81. dara/core/visual/themes/definitions.py +46 -46
  82. {dara_core-1.21.16.dist-info → dara_core-1.21.17.dist-info}/METADATA +12 -13
  83. dara_core-1.21.17.dist-info/RECORD +127 -0
  84. dara_core-1.21.16.dist-info/RECORD +0 -127
  85. {dara_core-1.21.16.dist-info → dara_core-1.21.17.dist-info}/LICENSE +0 -0
  86. {dara_core-1.21.16.dist-info → dara_core-1.21.17.dist-info}/WHEEL +0 -0
  87. {dara_core-1.21.16.dist-info → dara_core-1.21.17.dist-info}/entry_points.txt +0 -0
@@ -21,7 +21,7 @@ limitations under the License.
21
21
 
22
22
  from __future__ import annotations
23
23
 
24
- from typing import Literal, Optional, Union
24
+ from typing import Literal
25
25
 
26
26
  from pydantic import ConfigDict, Field
27
27
 
@@ -311,8 +311,8 @@ class CSSProperties(DaraBaseModel):
311
311
  default=None,
312
312
  description='The **`align-tracks`**\xa0CSS property sets the alignment in the masonry axis for grid containers that have masonry in their block axis.\n\n**Syntax**: `[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | n/a | No | No | No |',
313
313
  )
314
- alignmentBaseline: Optional[Property.AlignmentBaseline] = None
315
- all: Optional[Property.All] = Field(
314
+ alignmentBaseline: Property.AlignmentBaseline | None = None
315
+ all: Property.All | None = Field(
316
316
  default=None,
317
317
  description="The `**all**` shorthand CSS property resets all of an element's properties except `unicode-bidi`, `direction`, and CSS Custom Properties. It can set properties to their initial or inherited values, or to the values specified in another stylesheet origin.\n\n**Syntax**: `initial | inherit | unset | revert`\n\n**Initial value**: There is no practical initial value for it.\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :-: |\n| **37** | **27** | **9.1** | **79** | No |",
318
318
  )
@@ -406,7 +406,7 @@ class CSSProperties(DaraBaseModel):
406
406
  default=None,
407
407
  description='The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.\n\n**Syntax**: `<easing-function>#`\n\n**Initial value**: `ease`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :----: |\n| **43** | **16** | **9** | **12** | **10** |\n| 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | |',
408
408
  )
409
- appearance: Optional[Property.Appearance] = Field(
409
+ appearance: Property.Appearance | None = Field(
410
410
  default=None,
411
411
  description="The `**appearance**` CSS property is used to display an element using platform-native styling, based on the operating system's theme. The **`-moz-appearance`** and **`-webkit-appearance`** properties are non-standard versions of this property, used (respectively) by Gecko (Firefox) and by WebKit-based (e.g., Safari) and Blink-based (e.g., Chrome, Opera) browsers to achieve the same thing. Note that Firefox and Edge also support **`-webkit-appearance`**, for compatibility reasons.\n\n**Syntax**: `none | auto | textfield | menulist-button | <compat-auto>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :---------: | :------: | :-: |\n| **84** | **80** | **3** _-x-_ | **84** | No |\n| 1 _-x-_ | 1 _-x-_ | | 12 _-x-_ | |",
412
412
  )
@@ -441,11 +441,11 @@ class CSSProperties(DaraBaseModel):
441
441
  default=None,
442
442
  description='The **`backdrop-filter`** CSS property lets you apply graphical effects such as blurring or color shifting to the area behind an element. Because it applies to everything _behind_ the element, to see the effect you must make the element or its background at least partially transparent.\n\n**Syntax**: `none | <filter-function-list>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :---------: | :----: | :-: |\n| **76** | n/a | **9** _-x-_ | **17** | No |',
443
443
  )
444
- backfaceVisibility: Optional[Property.BackfaceVisibility] = Field(
444
+ backfaceVisibility: Property.BackfaceVisibility | None = Field(
445
445
  default=None,
446
446
  description='The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.\n\n**Syntax**: `visible | hidden`\n\n**Initial value**: `visible`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :------: | :-----------: | :----: | :----: |\n| **36** | **16** | **5.1** _-x-_ | **12** | **10** |\n| 12 _-x-_ | 10 _-x-_ | | | |',
447
447
  )
448
- background: Optional[Union[float_, str]] = Field(
448
+ background: float_ | str | None = Field(
449
449
  default=None,
450
450
  description='The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.\n\n**Syntax**: `[ <bg-layer> , ]* <final-bg-layer>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
451
451
  )
@@ -687,15 +687,15 @@ class CSSProperties(DaraBaseModel):
687
687
  default=None,
688
688
  description="The **`background-origin`** CSS property sets the background's origin: from the border start, inside the border, or inside the padding.\n\n**Syntax**: `<box>#`\n\n**Initial value**: `padding-box`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **4** | **3** | **12** | **9** |",
689
689
  )
690
- backgroundPosition: Optional[Union[float_, str]] = Field(
690
+ backgroundPosition: float_ | str | None = Field(
691
691
  default=None,
692
692
  description='The **`background-position`** CSS property sets the initial position for each background image. The position is relative to the position layer set by `background-origin`.\n\n**Syntax**: `<bg-position>#`\n\n**Initial value**: `0% 0%`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
693
693
  )
694
- backgroundPositionX: Optional[Union[float_, str]] = Field(
694
+ backgroundPositionX: float_ | str | None = Field(
695
695
  default=None,
696
696
  description='The **`background-position-x`** CSS property sets the initial horizontal position for each background image. The position is relative to the position layer set by `background-origin`.\n\n**Syntax**: `[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#`\n\n**Initial value**: `left`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **49** | **1** | **12** | **6** |',
697
697
  )
698
- backgroundPositionY: Optional[Union[float_, str]] = Field(
698
+ backgroundPositionY: float_ | str | None = Field(
699
699
  default=None,
700
700
  description='The **`background-position-y`** CSS property sets the initial vertical position for each background image. The position is relative to the position layer set by `background-origin`.\n\n**Syntax**: `[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#`\n\n**Initial value**: `top`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **49** | **1** | **12** | **6** |',
701
701
  )
@@ -716,24 +716,24 @@ class CSSProperties(DaraBaseModel):
716
716
  default=None,
717
717
  description='The **`background-repeat`** CSS property sets how background images are repeated. A background image can be repeated along the horizontal and vertical axes, or not repeated at all.\n\n**Syntax**: `<repeat-style>#`\n\n**Initial value**: `repeat`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
718
718
  )
719
- backgroundSize: Optional[Union[float_, str]] = Field(
719
+ backgroundSize: float_ | str | None = Field(
720
720
  default=None,
721
721
  description="The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.\n\n**Syntax**: `<bg-size>#`\n\n**Initial value**: `auto auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :---: |\n| **3** | **4** | **5** | **12** | **9** |\n| 1 _-x-_ | | 3 _-x-_ | | |",
722
722
  )
723
- baselineShift: Optional[Union[float_, str]] = None
723
+ baselineShift: float_ | str | None = None
724
724
  blockOverflow: Literal['-moz-initial', 'clip', 'ellipsis', 'inherit', 'initial', 'revert', 'unset', None] = Field(
725
725
  default=None,
726
726
  description='**Syntax**: `clip | ellipsis | <string>`\n\n**Initial value**: `clip`',
727
727
  )
728
- blockSize: Optional[Union[float_, str]] = Field(
728
+ blockSize: float_ | str | None = Field(
729
729
  default=None,
730
730
  description="The **`block-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`.\n\n**Syntax**: `<'width'>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **41** | **12.1** | **79** | No |",
731
731
  )
732
- border: Optional[Union[float_, str]] = Field(
732
+ border: float_ | str | None = Field(
733
733
  default=None,
734
734
  description="The **`border`** shorthand CSS property sets an element's border. It sets the values of `border-width`, `border-style`, and `border-color`.\n\n**Syntax**: `<line-width> || <line-style> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
735
735
  )
736
- borderBlock: Optional[Union[float_, str]] = Field(
736
+ borderBlock: float_ | str | None = Field(
737
737
  default=None,
738
738
  description="The **`border-block`** CSS property is a shorthand property for setting the individual logical block border property values in a single place in the style sheet.\n\n**Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
739
739
  )
@@ -926,7 +926,7 @@ class CSSProperties(DaraBaseModel):
926
926
  default=None,
927
927
  description="The **`border-block-color`** CSS property defines the color of the logical block borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color` and `border-bottom-color`, or `border-right-color` and `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-color'>{1,2}`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
928
928
  )
929
- borderBlockEnd: Optional[Union[float_, str]] = Field(
929
+ borderBlockEnd: float_ | str | None = Field(
930
930
  default=None,
931
931
  description="The **`border-block-end`** CSS property is a shorthand property for setting the individual logical block-end border property values in a single place in the style sheet.\n\n**Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
932
932
  )
@@ -1119,15 +1119,15 @@ class CSSProperties(DaraBaseModel):
1119
1119
  default=None,
1120
1120
  description="The **`border-block-end-color`** CSS property defines the color of the logical block-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`,\xa0`border-right-color`,\xa0`border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-color'>`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
1121
1121
  )
1122
- borderBlockEndStyle: Optional[Property.BorderBlockEndStyle] = Field(
1122
+ borderBlockEndStyle: Property.BorderBlockEndStyle | None = Field(
1123
1123
  default=None,
1124
1124
  description="The **`border-block-end-style`** CSS property defines the style of the logical block-end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-style'>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
1125
1125
  )
1126
- borderBlockEndWidth: Optional[Union[float_, str]] = Field(
1126
+ borderBlockEndWidth: float_ | str | None = Field(
1127
1127
  default=None,
1128
1128
  description="The **`border-block-end-width`** CSS property defines the width of the logical block-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`,\xa0`border-right-width`,\xa0`border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-width'>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
1129
1129
  )
1130
- borderBlockStart: Optional[Union[float_, str]] = Field(
1130
+ borderBlockStart: float_ | str | None = Field(
1131
1131
  default=None,
1132
1132
  description="The **`border-block-start`** CSS property is a shorthand property for setting the individual logical block-start border property values in a single place in the style sheet.\n\n**Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
1133
1133
  )
@@ -1320,23 +1320,23 @@ class CSSProperties(DaraBaseModel):
1320
1320
  default=None,
1321
1321
  description="The **`border-block-start-color`** CSS property defines the color of the logical block-start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`,\xa0`border-right-color`,\xa0`border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-color'>`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
1322
1322
  )
1323
- borderBlockStartStyle: Optional[Property.BorderBlockStartStyle] = Field(
1323
+ borderBlockStartStyle: Property.BorderBlockStartStyle | None = Field(
1324
1324
  default=None,
1325
1325
  description="The **`border-block-start-style`** CSS property defines the style of the logical block start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`,\xa0`border-right-style`,\xa0`border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-style'>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
1326
1326
  )
1327
- borderBlockStartWidth: Optional[Union[float_, str]] = Field(
1327
+ borderBlockStartWidth: float_ | str | None = Field(
1328
1328
  default=None,
1329
1329
  description="The **`border-block-start-width`** CSS property defines the width of the logical block-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`,\xa0`border-right-width`,\xa0`border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-width'>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
1330
1330
  )
1331
- borderBlockStyle: Optional[Property.BorderBlockStyle] = Field(
1331
+ borderBlockStyle: Property.BorderBlockStyle | None = Field(
1332
1332
  default=None,
1333
1333
  description="The **`border-block-style`** CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style` and `border-bottom-style`, or `border-left-style` and `border-right-style` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-style'>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
1334
1334
  )
1335
- borderBlockWidth: Optional[Union[float_, str]] = Field(
1335
+ borderBlockWidth: float_ | str | None = Field(
1336
1336
  default=None,
1337
1337
  description="The **`border-block-width`** CSS property defines the width of the logical block\xa0borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width` and\xa0`border-bottom-width`, or `border-left-width`, and\xa0`border-right-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-width'>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
1338
1338
  )
1339
- borderBottom: Optional[Union[float_, str]] = Field(
1339
+ borderBottom: float_ | str | None = Field(
1340
1340
  default=None,
1341
1341
  description="The **`border-bottom`** shorthand CSS property sets an element's bottom border. It sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`.\n\n**Syntax**: `<line-width> || <line-style> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
1342
1342
  )
@@ -1529,23 +1529,23 @@ class CSSProperties(DaraBaseModel):
1529
1529
  default=None,
1530
1530
  description="The **`border-bottom-color`** CSS property sets the color of an element's bottom border. It can also be set with the shorthand CSS properties `border-color` or `border-bottom`.\n\n**Syntax**: `<'border-top-color'>`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
1531
1531
  )
1532
- borderBottomLeftRadius: Optional[Union[float_, str]] = Field(
1532
+ borderBottomLeftRadius: float_ | str | None = Field(
1533
1533
  default=None,
1534
1534
  description='The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.\n\n**Syntax**: `<length-percentage>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :---: |\n| **4** | **4** | **5** | **12** | **9** |\n| 1 _-x-_ | | 3 _-x-_ | | |',
1535
1535
  )
1536
- borderBottomRightRadius: Optional[Union[float_, str]] = Field(
1536
+ borderBottomRightRadius: float_ | str | None = Field(
1537
1537
  default=None,
1538
1538
  description='The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.\n\n**Syntax**: `<length-percentage>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :---: |\n| **4** | **4** | **5** | **12** | **9** |\n| 1 _-x-_ | | 3 _-x-_ | | |',
1539
1539
  )
1540
- borderBottomStyle: Optional[Property.BorderBottomStyle] = Field(
1540
+ borderBottomStyle: Property.BorderBottomStyle | None = Field(
1541
1541
  default=None,
1542
1542
  description="The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`.\n\n**Syntax**: `<line-style>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |",
1543
1543
  )
1544
- borderBottomWidth: Optional[Union[float_, str]] = Field(
1544
+ borderBottomWidth: float_ | str | None = Field(
1545
1545
  default=None,
1546
1546
  description='The **`border-bottom-width`** CSS property sets the width of the bottom border of an element.\n\n**Syntax**: `<line-width>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
1547
1547
  )
1548
- borderCollapse: Optional[Property.BorderCollapse] = Field(
1548
+ borderCollapse: Property.BorderCollapse | None = Field(
1549
1549
  default=None,
1550
1550
  description='The **`border-collapse`** CSS property sets whether cells inside a `<table>` have shared or separate borders.\n\n**Syntax**: `collapse | separate`\n\n**Initial value**: `separate`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1** | **1.2** | **12** | **5** |',
1551
1551
  )
@@ -1738,11 +1738,11 @@ class CSSProperties(DaraBaseModel):
1738
1738
  default=None,
1739
1739
  description="The **`border-color`** shorthand CSS property sets the color of an element's border.\n\n**Syntax**: `<color>{1,4}`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
1740
1740
  )
1741
- borderEndEndRadius: Optional[Union[float_, str]] = Field(
1741
+ borderEndEndRadius: float_ | str | None = Field(
1742
1742
  default=None,
1743
1743
  description="The **`border-end-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and\xa0writing mode.\n\n**Syntax**: `<length-percentage>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **89** | **66** | **15** | **89** | No |",
1744
1744
  )
1745
- borderEndStartRadius: Optional[Union[float_, str]] = Field(
1745
+ borderEndStartRadius: float_ | str | None = Field(
1746
1746
  default=None,
1747
1747
  description="The **`border-end-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius\xa0depending on the element's `writing-mode`, `direction`, and `text-orientation`.\xa0This is useful when building styles to work regardless of the text orientation and\xa0writing mode.\n\n**Syntax**: `<length-percentage>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **89** | **66** | **15** | **89** | No |",
1748
1748
  )
@@ -1752,7 +1752,7 @@ class CSSProperties(DaraBaseModel):
1752
1752
  default=None,
1753
1753
  description="The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.\n\n**Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-------: | :-----: | :----: | :----: |\n| **16** | **15** | **6** | **12** | **11** |\n| 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | |",
1754
1754
  )
1755
- borderImageOutset: Optional[Union[float_, str]] = Field(
1755
+ borderImageOutset: float_ | str | None = Field(
1756
1756
  default=None,
1757
1757
  description="The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box.\n\n**Syntax**: `[ <length> | <number> ]{1,4}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **15** | **15** | **6** | **12** | **11** |",
1758
1758
  )
@@ -1770,11 +1770,11 @@ class CSSProperties(DaraBaseModel):
1770
1770
  default=None,
1771
1771
  description="The **`border-image-source`** CSS property sets the source image used to create an element's border image.\n\n**Syntax**: `none | <image>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **15** | **15** | **6** | **12** | **11** |",
1772
1772
  )
1773
- borderImageWidth: Optional[Union[float_, str]] = Field(
1773
+ borderImageWidth: float_ | str | None = Field(
1774
1774
  default=None,
1775
1775
  description="The **`border-image-width`** CSS property sets the width of an element's border image.\n\n**Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`\n\n**Initial value**: `1`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **15** | **13** | **6** | **12** | **11** |",
1776
1776
  )
1777
- borderInline: Optional[Union[float_, str]] = Field(
1777
+ borderInline: float_ | str | None = Field(
1778
1778
  default=None,
1779
1779
  description="The **`border-inline`** CSS property is a shorthand property for setting the individual logical inline border property values in a single place in the style sheet.\n\n**Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
1780
1780
  )
@@ -1967,7 +1967,7 @@ class CSSProperties(DaraBaseModel):
1967
1967
  default=None,
1968
1968
  description="The **`border-inline-color`** CSS property defines the color of the logical inline borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color` and `border-bottom-color`, or `border-right-color` and `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-color'>{1,2}`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
1969
1969
  )
1970
- borderInlineEnd: Optional[Union[float_, str]] = Field(
1970
+ borderInlineEnd: float_ | str | None = Field(
1971
1971
  default=None,
1972
1972
  description="The **`border-inline-end`** CSS property is a shorthand property for setting the individual logical inline-end border property values in a single place in the style sheet.\n\n**Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
1973
1973
  )
@@ -2160,15 +2160,15 @@ class CSSProperties(DaraBaseModel):
2160
2160
  default=None,
2161
2161
  description="The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-color'>`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-------------------------: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| | 3 _(-moz-border-end-color)_ | | | |",
2162
2162
  )
2163
- borderInlineEndStyle: Optional[Property.BorderInlineEndStyle] = Field(
2163
+ borderInlineEndStyle: Property.BorderInlineEndStyle | None = Field(
2164
2164
  default=None,
2165
2165
  description="The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-style'>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-------------------------: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| | 3 _(-moz-border-end-style)_ | | | |",
2166
2166
  )
2167
- borderInlineEndWidth: Optional[Union[float_, str]] = Field(
2167
+ borderInlineEndWidth: float_ | str | None = Field(
2168
2168
  default=None,
2169
2169
  description="The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-width'>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-------------------------: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| | 3 _(-moz-border-end-width)_ | | | |",
2170
2170
  )
2171
- borderInlineStart: Optional[Union[float_, str]] = Field(
2171
+ borderInlineStart: float_ | str | None = Field(
2172
2172
  default=None,
2173
2173
  description="The **`border-inline-start`** CSS property is a shorthand property for setting the individual logical inline-start border property values in a single place in the style sheet.\n\n**Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
2174
2174
  )
@@ -2361,23 +2361,23 @@ class CSSProperties(DaraBaseModel):
2361
2361
  default=None,
2362
2362
  description="The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-color'>`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :---------------------------: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| | 3 _(-moz-border-start-color)_ | | | |",
2363
2363
  )
2364
- borderInlineStartStyle: Optional[Property.BorderInlineStartStyle] = Field(
2364
+ borderInlineStartStyle: Property.BorderInlineStartStyle | None = Field(
2365
2365
  default=None,
2366
2366
  description="The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-style'>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :---------------------------: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| | 3 _(-moz-border-start-style)_ | | | |",
2367
2367
  )
2368
- borderInlineStartWidth: Optional[Union[float_, str]] = Field(
2368
+ borderInlineStartWidth: float_ | str | None = Field(
2369
2369
  default=None,
2370
2370
  description="The **`border-inline-start-width`** CSS property defines the width of the logical inline-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-width'>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
2371
2371
  )
2372
- borderInlineStyle: Optional[Property.BorderInlineStyle] = Field(
2372
+ borderInlineStyle: Property.BorderInlineStyle | None = Field(
2373
2373
  default=None,
2374
2374
  description="The **`border-inline-style`** CSS property defines the style of the logical inline\xa0borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style` and\xa0`border-bottom-style`, or\xa0`border-left-style` and\xa0`border-right-style` properties\xa0depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-style'>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
2375
2375
  )
2376
- borderInlineWidth: Optional[Union[float_, str]] = Field(
2376
+ borderInlineWidth: float_ | str | None = Field(
2377
2377
  default=None,
2378
2378
  description="The **`border-inline-width`** CSS property defines the width of the logical inline\xa0borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width` and\xa0`border-bottom-width`, or `border-left-width`, and\xa0`border-right-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'border-top-width'>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
2379
2379
  )
2380
- borderLeft: Optional[Union[float_, str]] = Field(
2380
+ borderLeft: float_ | str | None = Field(
2381
2381
  default=None,
2382
2382
  description="The **`border-left`** shorthand CSS property sets all the properties of an element's left border.\n\n**Syntax**: `<line-width> || <line-style> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
2383
2383
  )
@@ -2570,19 +2570,19 @@ class CSSProperties(DaraBaseModel):
2570
2570
  default=None,
2571
2571
  description="The **`border-left-color`** CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties `border-color` or `border-left`.\n\n**Syntax**: `<color>`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
2572
2572
  )
2573
- borderLeftStyle: Optional[Property.BorderLeftStyle] = Field(
2573
+ borderLeftStyle: Property.BorderLeftStyle | None = Field(
2574
2574
  default=None,
2575
2575
  description="The **`border-left-style`** CSS property sets the line style of an element's left `border`.\n\n**Syntax**: `<line-style>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |",
2576
2576
  )
2577
- borderLeftWidth: Optional[Union[float_, str]] = Field(
2577
+ borderLeftWidth: float_ | str | None = Field(
2578
2578
  default=None,
2579
2579
  description='The **`border-left-width`** CSS property sets the width of the left border of an element.\n\n**Syntax**: `<line-width>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
2580
2580
  )
2581
- borderRadius: Optional[Union[float_, str]] = Field(
2581
+ borderRadius: float_ | str | None = Field(
2582
2582
  default=None,
2583
2583
  description="The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners.\n\n**Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :---: |\n| **4** | **4** | **5** | **12** | **9** |\n| 1 _-x-_ | | 3 _-x-_ | | |",
2584
2584
  )
2585
- borderRight: Optional[Union[float_, str]] = Field(
2585
+ borderRight: float_ | str | None = Field(
2586
2586
  default=None,
2587
2587
  description="The **`border-right`** shorthand CSS property sets all the properties of an element's right border.\n\n**Syntax**: `<line-width> || <line-style> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |",
2588
2588
  )
@@ -2775,23 +2775,23 @@ class CSSProperties(DaraBaseModel):
2775
2775
  default=None,
2776
2776
  description="The **`border-right-color`** CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties `border-color` or `border-right`.\n\n**Syntax**: `<color>`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
2777
2777
  )
2778
- borderRightStyle: Optional[Property.BorderRightStyle] = Field(
2778
+ borderRightStyle: Property.BorderRightStyle | None = Field(
2779
2779
  default=None,
2780
2780
  description="The **`border-right-style`** CSS property sets the line style of an element's right `border`.\n\n**Syntax**: `<line-style>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |",
2781
2781
  )
2782
- borderRightWidth: Optional[Union[float_, str]] = Field(
2782
+ borderRightWidth: float_ | str | None = Field(
2783
2783
  default=None,
2784
2784
  description='The **`border-right-width`** CSS property sets the width of the right border of an element.\n\n**Syntax**: `<line-width>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
2785
2785
  )
2786
- borderSpacing: Optional[Union[float_, str]] = Field(
2786
+ borderSpacing: float_ | str | None = Field(
2787
2787
  default=None,
2788
2788
  description='The **`border-spacing`** CSS property sets the distance between the borders of adjacent `<table>` cells. This property applies only when `border-collapse` is `separate`.\n\n**Syntax**: `<length> <length>?`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **8** |',
2789
2789
  )
2790
- borderStartEndRadius: Optional[Union[float_, str]] = Field(
2790
+ borderStartEndRadius: float_ | str | None = Field(
2791
2791
  default=None,
2792
2792
  description="The **`border-start-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius\xa0depending on the element's `writing-mode`, `direction`, and `text-orientation`.\xa0This is useful when building styles to work regardless of the text orientation and\xa0writing mode.\n\n**Syntax**: `<length-percentage>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **89** | **66** | **15** | **89** | No |",
2793
2793
  )
2794
- borderStartStartRadius: Optional[Union[float_, str]] = Field(
2794
+ borderStartStartRadius: float_ | str | None = Field(
2795
2795
  default=None,
2796
2796
  description="The **`border-start-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and\xa0writing mode.\n\n**Syntax**: `<length-percentage>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **89** | **66** | **15** | **89** | No |",
2797
2797
  )
@@ -2816,7 +2816,7 @@ class CSSProperties(DaraBaseModel):
2816
2816
  default=None,
2817
2817
  description="The **`border-style`** shorthand CSS property sets the line style for all four sides of an element's border.\n\n**Syntax**: `<line-style>{1,4}`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
2818
2818
  )
2819
- borderTop: Optional[Union[float_, str]] = Field(
2819
+ borderTop: float_ | str | None = Field(
2820
2820
  default=None,
2821
2821
  description="The **`border-top`** shorthand CSS property sets all the properties of an element's top border.\n\n**Syntax**: `<line-width> || <line-style> || <color>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
2822
2822
  )
@@ -3009,39 +3009,39 @@ class CSSProperties(DaraBaseModel):
3009
3009
  default=None,
3010
3010
  description="The **`border-top-color`** CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties `border-color` or `border-top`.\n\n**Syntax**: `<color>`\n\n**Initial value**: `currentcolor`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
3011
3011
  )
3012
- borderTopLeftRadius: Optional[Union[float_, str]] = Field(
3012
+ borderTopLeftRadius: float_ | str | None = Field(
3013
3013
  default=None,
3014
3014
  description='The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.\n\n**Syntax**: `<length-percentage>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :---: |\n| **4** | **4** | **5** | **12** | **9** |\n| 1 _-x-_ | | 3 _-x-_ | | |',
3015
3015
  )
3016
- borderTopRightRadius: Optional[Union[float_, str]] = Field(
3016
+ borderTopRightRadius: float_ | str | None = Field(
3017
3017
  default=None,
3018
3018
  description='The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.\n\n**Syntax**: `<length-percentage>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :---: |\n| **4** | **4** | **5** | **12** | **9** |\n| 1 _-x-_ | | 3 _-x-_ | | |',
3019
3019
  )
3020
- borderTopStyle: Optional[Property.BorderTopStyle] = Field(
3020
+ borderTopStyle: Property.BorderTopStyle | None = Field(
3021
3021
  default=None,
3022
3022
  description="The **`border-top-style`** CSS property sets the line style of an element's top `border`.\n\n**Syntax**: `<line-style>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |",
3023
3023
  )
3024
- borderTopWidth: Optional[Union[float_, str]] = Field(
3024
+ borderTopWidth: float_ | str | None = Field(
3025
3025
  default=None,
3026
3026
  description='The **`border-top-width`** CSS property sets the width of the top border of an element.\n\n**Syntax**: `<line-width>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
3027
3027
  )
3028
- borderWidth: Optional[Union[float_, str]] = Field(
3028
+ borderWidth: float_ | str | None = Field(
3029
3029
  default=None,
3030
3030
  description="The **`border-width`** shorthand CSS property sets the width of an element's border.\n\n**Syntax**: `<line-width>{1,4}`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
3031
3031
  )
3032
- bottom: Optional[Union[float_, str]] = Field(
3032
+ bottom: float_ | str | None = Field(
3033
3033
  default=None,
3034
3034
  description='The **`bottom`** CSS property participates in setting the vertical position of a positioned element. It has no effect on non-positioned elements.\n\n**Syntax**: `<length> | <percentage> | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **5** |',
3035
3035
  )
3036
- boxAlign: Optional[Property.BoxAlign] = Field(
3036
+ boxAlign: Property.BoxAlign | None = Field(
3037
3037
  default=None,
3038
3038
  description='The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.\n\n**Syntax**: `start | center | end | baseline | stretch`\n\n**Initial value**: `stretch`',
3039
3039
  )
3040
- boxDecorationBreak: Optional[Property.BoxDecorationBreak] = Field(
3040
+ boxDecorationBreak: Property.BoxDecorationBreak | None = Field(
3041
3041
  default=None,
3042
3042
  description="The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.\n\n**Syntax**: `slice | clone`\n\n**Initial value**: `slice`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----------: | :-----: | :---------: | :----------: | :-: |\n| **22** _-x-_ | **32** | **7** _-x-_ | **79** _-x-_ | No |",
3043
3043
  )
3044
- boxDirection: Optional[Property.BoxDirection] = Field(
3044
+ boxDirection: Property.BoxDirection | None = Field(
3045
3045
  default=None,
3046
3046
  description='The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).\n\n**Syntax**: `normal | reverse | inherit`\n\n**Initial value**: `normal`',
3047
3047
  )
@@ -3053,7 +3053,7 @@ class CSSProperties(DaraBaseModel):
3053
3053
  default=None,
3054
3054
  description="The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.\n\n**Syntax**: `<integer>`\n\n**Initial value**: `1`",
3055
3055
  )
3056
- boxLines: Optional[Property.BoxLines] = Field(
3056
+ boxLines: Property.BoxLines | None = Field(
3057
3057
  default=None,
3058
3058
  description='The **`box-lines`** CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).\n\n**Syntax**: `single | multiple`\n\n**Initial value**: `single`',
3059
3059
  )
@@ -3061,11 +3061,11 @@ class CSSProperties(DaraBaseModel):
3061
3061
  default=None,
3062
3062
  description="The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.\n\n**Syntax**: `<integer>`\n\n**Initial value**: `1`",
3063
3063
  )
3064
- boxOrient: Optional[Property.BoxOrient] = Field(
3064
+ boxOrient: Property.BoxOrient | None = Field(
3065
3065
  default=None,
3066
3066
  description='This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.\n\n**Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`\n\n**Initial value**: `inline-axis` (`horizontal` in XUL)',
3067
3067
  )
3068
- boxPack: Optional[Property.BoxPack] = Field(
3068
+ boxPack: Property.BoxPack | None = Field(
3069
3069
  default=None,
3070
3070
  description='The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.\n\n**Syntax**: `start | center | end | justify`\n\n**Initial value**: `start`',
3071
3071
  )
@@ -3073,23 +3073,23 @@ class CSSProperties(DaraBaseModel):
3073
3073
  default=None,
3074
3074
  description="The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color.\n\n**Syntax**: `none | <shadow>#`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :---: |\n| **10** | **4** | **5.1** | **12** | **9** |\n| 1 _-x-_ | | 3 _-x-_ | | |",
3075
3075
  )
3076
- boxSizing: Optional[Property.BoxSizing] = Field(
3076
+ boxSizing: Property.BoxSizing | None = Field(
3077
3077
  default=None,
3078
3078
  description='The **`box-sizing`** CSS property sets how the total width and height of an element is calculated.\n\n**Syntax**: `content-box | border-box`\n\n**Initial value**: `content-box`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :---: |\n| **10** | **29** | **5.1** | **12** | **8** |\n| 1 _-x-_ | 1 _-x-_ | 3 _-x-_ | | |',
3079
3079
  )
3080
- breakAfter: Optional[Property.BreakAfter] = Field(
3080
+ breakAfter: Property.BreakAfter | None = Field(
3081
3081
  default=None,
3082
3082
  description='The **`break-after`** CSS property sets how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.\n\n**Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`\n\n**Initial value**: `auto`\n\n---\n\n_Supported in Multi-column Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **50** | **65** | No | **12** | **10** |\n\n---\n\n_Supported in Paged Media_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **50** | **65** | **10** | **12** | **10** |\n\n---',
3083
3083
  )
3084
- breakBefore: Optional[Property.BreakBefore] = Field(
3084
+ breakBefore: Property.BreakBefore | None = Field(
3085
3085
  default=None,
3086
3086
  description='The **`break-before`** CSS property sets how page, column, or region breaks should behave before a generated box. If there is no generated box, the property is ignored.\n\n**Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`\n\n**Initial value**: `auto`\n\n---\n\n_Supported in Multi-column Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **50** | **65** | No | **12** | **10** |\n\n---\n\n_Supported in Paged Media_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **50** | **65** | **10** | **12** | **10** |\n\n---',
3087
3087
  )
3088
- breakInside: Optional[Property.BreakInside] = Field(
3088
+ breakInside: Property.BreakInside | None = Field(
3089
3089
  default=None,
3090
3090
  description='The **`break-inside`** CSS property sets how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.\n\n**Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region`\n\n**Initial value**: `auto`\n\n---\n\n_Supported in Multi-column Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **50** | **65** | **10** | **12** | **10** |\n\n---\n\n_Supported in Paged Media_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **50** | **65** | **10** | **12** | **10** |\n\n---',
3091
3091
  )
3092
- captionSide: Optional[Property.CaptionSide] = Field(
3092
+ captionSide: Property.CaptionSide | None = Field(
3093
3093
  default=None,
3094
3094
  description="The **`caption-side`** CSS property puts the content of a table's `<caption>` on the specified side. The values are relative to the `writing-mode` of the table.\n\n**Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end`\n\n**Initial value**: `top`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **8** |",
3095
3095
  )
@@ -3283,7 +3283,7 @@ class CSSProperties(DaraBaseModel):
3283
3283
  default=None,
3284
3284
  description='The **`caret-color`** CSS property sets the color of the **insertion caret**, the visible marker where the next character typed will be inserted. This is sometimes referred to as the **text input cursor**. The caret appears in elements such as `<input>` or those with the `contenteditable` attribute. The caret is typically a thin vertical line that flashes to help make it more noticeable. By default, it is black, but its color can be altered with this property.\n\n**Syntax**: `auto | <color>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **53** | **11.1** | **79** | No |',
3285
3285
  )
3286
- clear: Optional[Property.Clear] = Field(
3286
+ clear: Property.Clear | None = Field(
3287
3287
  default=None,
3288
3288
  description='The **`clear`** CSS property sets whether an element must be moved below (cleared) floating elements that precede it. The `clear` property applies to floating and non-floating elements.\n\n**Syntax**: `none | left | right | both | inline-start | inline-end`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
3289
3289
  )
@@ -3310,7 +3310,7 @@ class CSSProperties(DaraBaseModel):
3310
3310
  default=None,
3311
3311
  description='The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden.\n\n**Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-------: | :----: | :----: |\n| **55** | **3.5** | **9.1** | **12** | **10** |\n| 23 _-x-_ | | 6.1 _-x-_ | | |',
3312
3312
  )
3313
- clipRule: Optional[Property.ClipRule] = None
3313
+ clipRule: Property.ClipRule | None = None
3314
3314
  color: Literal[
3315
3315
  '-moz-initial',
3316
3316
  'ActiveBorder',
@@ -3500,12 +3500,12 @@ class CSSProperties(DaraBaseModel):
3500
3500
  default=None,
3501
3501
  description="The **`color`** CSS property sets the foreground color value of an element's text and text decorations, and sets the `<currentcolor>` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.\n\n**Syntax**: `<color>`\n\n**Initial value**: Varies from one browser to another\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |",
3502
3502
  )
3503
- colorAdjust: Optional[Property.ColorAdjust] = Field(
3503
+ colorAdjust: Property.ColorAdjust | None = Field(
3504
3504
  default=None,
3505
3505
  description="The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device.\n\n**Syntax**: `economy | exact`\n\n**Initial value**: `economy`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----------------------------------: | :-----: | :----------------------------------: | :-----------------------------------: | :-: |\n| **49** _(-webkit-print-color-adjust)_ | **48** | **6** _(-webkit-print-color-adjust)_ | **79** _(-webkit-print-color-adjust)_ | No |",
3506
3506
  )
3507
- colorInterpolation: Optional[Property.ColorInterpolation] = None
3508
- colorRendering: Optional[Property.ColorRendering] = None
3507
+ colorInterpolation: Property.ColorInterpolation | None = None
3508
+ colorRendering: Property.ColorRendering | None = None
3509
3509
  colorScheme: Literal['-moz-initial', 'dark', 'inherit', 'initial', 'light', 'normal', 'revert', 'unset', None] = (
3510
3510
  Field(
3511
3511
  default=None,
@@ -3516,15 +3516,15 @@ class CSSProperties(DaraBaseModel):
3516
3516
  default=None,
3517
3517
  description="The **`column-count`** CSS property breaks an element's content into the specified number of columns.\n\n**Syntax**: `<integer> | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :----: |\n| **50** | **52** | **9** | **12** | **10** |\n| 1 _-x-_ | | 3 _-x-_ | | |",
3518
3518
  )
3519
- columnFill: Optional[Property.ColumnFill] = Field(
3519
+ columnFill: Property.ColumnFill | None = Field(
3520
3520
  default=None,
3521
3521
  description="The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.\n\n**Syntax**: `auto | balance | balance-all`\n\n**Initial value**: `balance`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :----: |\n| **50** | **52** | **9** | **12** | **10** |\n| | | 8 _-x-_ | | |",
3522
3522
  )
3523
- columnGap: Optional[Union[float_, str]] = Field(
3523
+ columnGap: float_ | str | None = Field(
3524
3524
  default=None,
3525
3525
  description="The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.\n\n**Syntax**: `normal | <length-percentage>`\n\n**Initial value**: `normal`\n\n---\n\n_Supported in Flex Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **84** | **63** | **14.1** | **84** | No |\n\n---\n\n_Supported in Grid Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :--------------------: | :--------------------: | :----------------------: | :----: | :-: |\n| **66** | **61** | **12** | **16** | No |\n| 57 _(grid-column-gap)_ | 52 _(grid-column-gap)_ | 10.1 _(grid-column-gap)_ | | |\n\n---\n\n_Supported in Multi-column Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :----: |\n| **50** | **52** | **10** | **12** | **10** |\n| 1 _-x-_ | | 3 _-x-_ | | |\n\n---",
3526
3526
  )
3527
- columnRule: Optional[Union[float_, str]] = Field(
3527
+ columnRule: float_ | str | None = Field(
3528
3528
  default=None,
3529
3529
  description="The **`column-rule`**\xa0shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout.\n\n**Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :----: |\n| **50** | **52** | **9** | **12** | **10** |\n| 1 _-x-_ | | 3 _-x-_ | | |",
3530
3530
  )
@@ -3738,19 +3738,19 @@ class CSSProperties(DaraBaseModel):
3738
3738
  default=None,
3739
3739
  description="The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.\n\n**Syntax**: `<'border-style'>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :----: |\n| **50** | **52** | **9** | **12** | **10** |\n| 1 _-x-_ | | 3 _-x-_ | | |",
3740
3740
  )
3741
- columnRuleWidth: Optional[Union[float_, str]] = Field(
3741
+ columnRuleWidth: float_ | str | None = Field(
3742
3742
  default=None,
3743
3743
  description="The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout.\n\n**Syntax**: `<'border-width'>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :----: |\n| **50** | **52** | **9** | **12** | **10** |\n| 1 _-x-_ | | 3 _-x-_ | | |",
3744
3744
  )
3745
- columnSpan: Optional[Property.ColumnSpan] = Field(
3745
+ columnSpan: Property.ColumnSpan | None = Field(
3746
3746
  default=None,
3747
3747
  description='The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.\n\n**Syntax**: `none | all`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-------: | :----: | :----: |\n| **50** | **71** | **9** | **12** | **10** |\n| 6 _-x-_ | | 5.1 _-x-_ | | |',
3748
3748
  )
3749
- columnWidth: Optional[Union[float_, str]] = Field(
3749
+ columnWidth: float_ | str | None = Field(
3750
3750
  default=None,
3751
3751
  description="The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width.\n\n**Syntax**: `<length> | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :----: |\n| **50** | **50** | **9** | **12** | **10** |\n| 1 _-x-_ | | 3 _-x-_ | | |",
3752
3752
  )
3753
- columns: Optional[Union[float_, str]] = Field(
3753
+ columns: float_ | str | None = Field(
3754
3754
  default=None,
3755
3755
  description="The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths.\n\n**Syntax**: `<'column-width'> || <'column-count'>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :----: |\n| **50** | **52** | **9** | **12** | **10** |\n| | | 3 _-x-_ | | |",
3756
3756
  )
@@ -3790,7 +3790,7 @@ class CSSProperties(DaraBaseModel):
3790
3790
  default=None,
3791
3791
  description='The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are **anonymous replaced elements**_._\n\n**Syntax**: `normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **8** |',
3792
3792
  )
3793
- contentVisibility: Optional[Property.ContentVisibility] = Field(
3793
+ contentVisibility: Property.ContentVisibility | None = Field(
3794
3794
  default=None,
3795
3795
  description="The **`content-visibility`** CSS property controls whether or not an element renders its contents at all, along with forcing a strong set of containments, allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed. Basically it enables the user agent to skip an element's rendering work, including layout and painting, until it is needed, makes the initial page load much faster.\n\n**Syntax**: `visible | auto | hidden`\n\n**Initial value**: `visible`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **85** | No | No | **85** | No |",
3796
3796
  )
@@ -3855,7 +3855,7 @@ class CSSProperties(DaraBaseModel):
3855
3855
  default=None,
3856
3856
  description='The **`cursor`** CSS property sets the type of mouse cursor, if any, to show when the mouse pointer is over an element.\n\n**Syntax**: `[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1** | **1.2** | **12** | **4** |',
3857
3857
  )
3858
- direction: Optional[Property.Direction] = Field(
3858
+ direction: Property.Direction | None = Field(
3859
3859
  default=None,
3860
3860
  description='The **`direction`** CSS property sets the direction of text, table columns, and horizontal overflow. Use `rtl` for languages written from right to left (like Hebrew or Arabic), and `ltr` for those written from left to right (like English and most other languages).\n\n**Syntax**: `ltr | rtl`\n\n**Initial value**: `ltr`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **2** | **1** | **1** | **12** | **5.5** |',
3861
3861
  )
@@ -3905,8 +3905,8 @@ class CSSProperties(DaraBaseModel):
3905
3905
  default=None,
3906
3906
  description='The **`display`** CSS property sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex.\n\n**Syntax**: `[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>`\n\n**Initial value**: `inline`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
3907
3907
  )
3908
- dominantBaseline: Optional[Property.DominantBaseline] = None
3909
- emptyCells: Optional[Property.EmptyCells] = Field(
3908
+ dominantBaseline: Property.DominantBaseline | None = None
3909
+ emptyCells: Property.EmptyCells | None = Field(
3910
3910
  default=None,
3911
3911
  description='The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `<table>` cells that have no visible content.\n\n**Syntax**: `show | hide`\n\n**Initial value**: `show`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1** | **1.2** | **12** | **8** |',
3912
3912
  )
@@ -4101,20 +4101,20 @@ class CSSProperties(DaraBaseModel):
4101
4101
  None,
4102
4102
  ] = None
4103
4103
  fillOpacity: Literal['-moz-initial', 'inherit', 'initial', 'revert', 'unset', None] = None
4104
- fillRule: Optional[Property.FillRule] = None
4104
+ fillRule: Property.FillRule | None = None
4105
4105
  filter: Literal['-moz-initial', 'inherit', 'initial', 'none', 'revert', 'unset', None] = Field(
4106
4106
  default=None,
4107
4107
  description='The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders.\n\n**Syntax**: `none | <filter-function-list>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-----: | :----: | :-: |\n| **53** | **35** | **9.1** | **12** | No |\n| 18 _-x-_ | | 6 _-x-_ | | |',
4108
4108
  )
4109
- flex: Optional[Union[float_, str]] = Field(
4109
+ flex: float_ | str | None = Field(
4110
4110
  default=None,
4111
4111
  description="The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.\n\n**Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-----: | :----: | :------: |\n| **29** | **20** | **9** | **12** | **11** |\n| 21 _-x-_ | | 7 _-x-_ | | 10 _-x-_ |",
4112
4112
  )
4113
- flexBasis: Optional[Union[float_, str]] = Field(
4113
+ flexBasis: float_ | str | None = Field(
4114
4114
  default=None,
4115
4115
  description="The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`.\n\n**Syntax**: `content | <'width'>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-----: | :----: | :----: |\n| **29** | **22** | **9** | **12** | **11** |\n| 22 _-x-_ | | 7 _-x-_ | | |",
4116
4116
  )
4117
- flexDirection: Optional[Property.FlexDirection] = Field(
4117
+ flexDirection: Property.FlexDirection | None = Field(
4118
4118
  default=None,
4119
4119
  description='The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed).\n\n**Syntax**: `row | row-reverse | column | column-reverse`\n\n**Initial value**: `row`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-----: | :----: | :------: |\n| **29** | **20** | **9** | **12** | **11** |\n| 21 _-x-_ | | 7 _-x-_ | | 10 _-x-_ |',
4120
4120
  )
@@ -4144,11 +4144,11 @@ class CSSProperties(DaraBaseModel):
4144
4144
  default=None,
4145
4145
  description='The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.\n\n**Syntax**: `<number>`\n\n**Initial value**: `1`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-----: | :----: | :----: |\n| **29** | **20** | **9** | **12** | **10** |\n| 22 _-x-_ | | 8 _-x-_ | | |',
4146
4146
  )
4147
- flexWrap: Optional[Property.FlexWrap] = Field(
4147
+ flexWrap: Property.FlexWrap | None = Field(
4148
4148
  default=None,
4149
4149
  description='The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked.\n\n**Syntax**: `nowrap | wrap | wrap-reverse`\n\n**Initial value**: `nowrap`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-------: | :----: | :----: |\n| **29** | **28** | **9** | **12** | **11** |\n| 21 _-x-_ | | 6.1 _-x-_ | | |',
4150
4150
  )
4151
- float: Optional[Property.Float] = Field(
4151
+ float: Property.Float | None = Field(
4152
4152
  default=None,
4153
4153
  description='The **`float`** CSS property places an element on the left or right side of its container, allowing text and inline elements to wrap around it. The element is removed from the normal flow of the page, though still remaining a part of the flow (in contrast to absolute positioning).\n\n**Syntax**: `left | right | none | inline-start | inline-end`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
4154
4154
  )
@@ -4377,7 +4377,7 @@ class CSSProperties(DaraBaseModel):
4377
4377
  default=None,
4378
4378
  description='The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.\n\n**Syntax**: `normal | <feature-tag-value>#`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :------: | :-----: | :----: | :----: |\n| **48** | **34** | **9.1** | **15** | **10** |\n| 16 _-x-_ | 15 _-x-_ | | | |',
4379
4379
  )
4380
- fontKerning: Optional[Property.FontKerning] = Field(
4380
+ fontKerning: Property.FontKerning | None = Field(
4381
4381
  default=None,
4382
4382
  description='The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.\n\n**Syntax**: `auto | normal | none`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :-: |\n| **33** | **32** | **9** | **79** | No |\n| | | 6 _-x-_ | | |',
4383
4383
  )
@@ -4385,11 +4385,11 @@ class CSSProperties(DaraBaseModel):
4385
4385
  default=None,
4386
4386
  description='The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.\n\n**Syntax**: `normal | <string>`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | **34** | No | No | No |\n| | 4 _-x-_ | | | |',
4387
4387
  )
4388
- fontOpticalSizing: Optional[Property.FontOpticalSizing] = Field(
4388
+ fontOpticalSizing: Property.FontOpticalSizing | None = Field(
4389
4389
  default=None,
4390
4390
  description='The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes.\n\n**Syntax**: `auto | none`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **79** | **62** | **11** | **17** | No |',
4391
4391
  )
4392
- fontSize: Optional[Union[float_, str]] = Field(
4392
+ fontSize: float_ | str | None = Field(
4393
4393
  default=None,
4394
4394
  description='The **`font-size`** CSS property sets the size of the font. Changing the font size also updates the sizes of the font size-relative `<length>` units, such as\xa0`em`, `ex`, and so forth.\n\n**Syntax**: `<absolute-size> | <relative-size> | <length-percentage>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |',
4395
4395
  )
@@ -4397,7 +4397,7 @@ class CSSProperties(DaraBaseModel):
4397
4397
  default=None,
4398
4398
  description='The **`font-size-adjust`** CSS property sets the size of lower-case letters relative to the current font size (which defines the size of upper-case letters).\n\n**Syntax**: `none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number> ]`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| n/a | **1** | No | n/a | No |',
4399
4399
  )
4400
- fontSmooth: Optional[Union[float_, str]] = Field(
4400
+ fontSmooth: float_ | str | None = Field(
4401
4401
  default=None,
4402
4402
  description='The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered.\n\n**Syntax**: `auto | never | always | <absolute-size> | <length>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------------------------------: | :--------------------------------: | :------------------------------: | :-------------------------------: | :-: |\n| **5** _(-webkit-font-smoothing)_ | **25** _(-moz-osx-font-smoothing)_ | **4** _(-webkit-font-smoothing)_ | **79** _(-webkit-font-smoothing)_ | No |',
4403
4403
  )
@@ -4484,7 +4484,7 @@ class CSSProperties(DaraBaseModel):
4484
4484
  default=None,
4485
4485
  description='The **`font-variant-alternates`** CSS property controls the usage of alternate glyphs. These alternate glyphs may be referenced by alternative names defined in `@font-feature-values`.\n\n**Syntax**: `normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]`\n\n**Initial value**: `normal`',
4486
4486
  )
4487
- fontVariantCaps: Optional[Property.FontVariantCaps] = Field(
4487
+ fontVariantCaps: Property.FontVariantCaps | None = Field(
4488
4488
  default=None,
4489
4489
  description='The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters.\n\n**Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :-: |\n| **52** | **34** | **9.1** | **79** | No |',
4490
4490
  )
@@ -4550,7 +4550,7 @@ class CSSProperties(DaraBaseModel):
4550
4550
  default=None,
4551
4551
  description='The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers.\n\n**Syntax**: `normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :-: |\n| **52** | **34** | **9.1** | **79** | No |',
4552
4552
  )
4553
- fontVariantPosition: Optional[Property.FontVariantPosition] = Field(
4553
+ fontVariantPosition: Property.FontVariantPosition | None = Field(
4554
4554
  default=None,
4555
4555
  description='The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript.\n\n**Syntax**: `normal | sub | super`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :--: | :-: |\n| No | **34** | **9.1** | No | No |',
4556
4556
  )
@@ -4564,11 +4564,11 @@ class CSSProperties(DaraBaseModel):
4564
4564
  default=None,
4565
4565
  description='The **`font-weight`** CSS property sets the weight (or boldness) of the font. The weights available depend on the `font-family` that is currently set.\n\n**Syntax**: `<font-weight-absolute> | bolder | lighter`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **2** | **1** | **1** | **12** | **3** |',
4566
4566
  )
4567
- forcedColorAdjust: Optional[Property.ForcedColorAdjust] = Field(
4567
+ forcedColorAdjust: Property.ForcedColorAdjust | None = Field(
4568
4568
  default=None,
4569
4569
  description='The **`forced-color-adjust`** CSS property allows authors to opt certain elements out of forced colors mode. This then restores the control of those values to CSS.\n\n**Syntax**: `auto | none`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :-----------------------------: | :---------------------------------: |\n| **89** | No | No | **79** | **10** _(-ms-high-contrast-adjust)_ |\n| | | | 12 _(-ms-high-contrast-adjust)_ | |',
4570
4570
  )
4571
- gap: Optional[Union[float_, str]] = Field(
4571
+ gap: float_ | str | None = Field(
4572
4572
  default=None,
4573
4573
  description="The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.\n\n**Syntax**: `<'row-gap'> <'column-gap'>?`\n\n---\n\n_Supported in Flex Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **84** | **63** | **14.1** | **84** | No |\n\n---\n\n_Supported in Grid Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-------------: | :-------------: | :---------------: | :----: | :-: |\n| **66** | **61** | **12** | **16** | No |\n| 57 _(grid-gap)_ | 52 _(grid-gap)_ | 10.1 _(grid-gap)_ | | |\n\n---\n\n_Supported in Multi-column Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **66** | **61** | No | **16** | No |\n\n---",
4574
4574
  )
@@ -4581,7 +4581,7 @@ class CSSProperties(DaraBaseModel):
4581
4581
  default=None,
4582
4582
  description='The **`grid-area`** CSS shorthand property specifies a grid item’s size and location within a grid by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the edges of its grid area.\n\n**Syntax**: `<grid-line> [ / <grid-line> ]{0,3}`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **52** | **10.1** | **16** | No |',
4583
4583
  )
4584
- gridAutoColumns: Optional[Union[float_, str]] = Field(
4584
+ gridAutoColumns: float_ | str | None = Field(
4585
4585
  default=None,
4586
4586
  description='The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track or pattern of tracks.\n\n**Syntax**: `<track-size>+`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-------------------------: |\n| **57** | **70** | **10.1** | **16** | **10** _(-ms-grid-columns)_ |',
4587
4587
  )
@@ -4591,7 +4591,7 @@ class CSSProperties(DaraBaseModel):
4591
4591
  description='The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.\n\n**Syntax**: `[ row | column ] || dense`\n\n**Initial value**: `row`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **52** | **10.1** | **16** | No |',
4592
4592
  )
4593
4593
  )
4594
- gridAutoRows: Optional[Union[float_, str]] = Field(
4594
+ gridAutoRows: float_ | str | None = Field(
4595
4595
  default=None,
4596
4596
  description='The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track\xa0or pattern of tracks.\n\n**Syntax**: `<track-size>+`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :----------------------: |\n| **57** | **70** | **10.1** | **16** | **10** _(-ms-grid-rows)_ |',
4597
4597
  )
@@ -4603,7 +4603,7 @@ class CSSProperties(DaraBaseModel):
4603
4603
  default=None,
4604
4604
  description='The **`grid-column-end`** CSS property specifies a grid item’s end position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the block-end edge of its grid area.\n\n**Syntax**: `<grid-line>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **52** | **10.1** | **16** | No |',
4605
4605
  )
4606
- gridColumnGap: Optional[Union[float_, str]] = Field(
4606
+ gridColumnGap: float_ | str | None = Field(
4607
4607
  default=None,
4608
4608
  description="The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.\n\n**Syntax**: `<length-percentage>`\n\n**Initial value**: `0`",
4609
4609
  )
@@ -4611,7 +4611,7 @@ class CSSProperties(DaraBaseModel):
4611
4611
  default=None,
4612
4612
  description='The **`grid-column-start`** CSS property specifies a grid item’s start position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement. This start position defines the block-start edge of the grid area.\n\n**Syntax**: `<grid-line>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **52** | **10.1** | **16** | No |',
4613
4613
  )
4614
- gridGap: Optional[Union[float_, str]] = Field(
4614
+ gridGap: float_ | str | None = Field(
4615
4615
  default=None,
4616
4616
  description="The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.\n\n**Syntax**: `<'grid-row-gap'> <'grid-column-gap'>?`",
4617
4617
  )
@@ -4623,7 +4623,7 @@ class CSSProperties(DaraBaseModel):
4623
4623
  default=None,
4624
4624
  description='The **`grid-row-end`** CSS property specifies a grid item’s end position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-end edge of its grid area.\n\n**Syntax**: `<grid-line>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **52** | **10.1** | **16** | No |',
4625
4625
  )
4626
- gridRowGap: Optional[Union[float_, str]] = Field(
4626
+ gridRowGap: float_ | str | None = Field(
4627
4627
  default=None,
4628
4628
  description="The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.\n\n**Syntax**: `<length-percentage>`\n\n**Initial value**: `0`",
4629
4629
  )
@@ -4639,11 +4639,11 @@ class CSSProperties(DaraBaseModel):
4639
4639
  default=None,
4640
4640
  description='The **`grid-template-areas`** CSS property specifies named grid areas, establishing the cells in the grid and assigning them names.\n\n**Syntax**: `none | <string>+`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **52** | **10.1** | **16** | No |',
4641
4641
  )
4642
- gridTemplateColumns: Optional[Union[float_, str]] = Field(
4642
+ gridTemplateColumns: float_ | str | None = Field(
4643
4643
  default=None,
4644
4644
  description='The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.\n\n**Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-------------------------: |\n| **57** | **52** | **10.1** | **16** | **10** _(-ms-grid-columns)_ |',
4645
4645
  )
4646
- gridTemplateRows: Optional[Union[float_, str]] = Field(
4646
+ gridTemplateRows: float_ | str | None = Field(
4647
4647
  default=None,
4648
4648
  description='The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.\n\n**Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :----------------------: |\n| **57** | **52** | **10.1** | **16** | **10** _(-ms-grid-rows)_ |',
4649
4649
  )
@@ -4653,11 +4653,11 @@ class CSSProperties(DaraBaseModel):
4653
4653
  default=None,
4654
4654
  description='The **`hanging-punctuation`** CSS property specifies whether a punctuation mark should hang at the start or end of a line of text. Hanging punctuation may be placed outside the line box.\n\n**Syntax**: `none | [ first || [ force-end | allow-end ] || last ]`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | No | **10** | No | No |',
4655
4655
  )
4656
- height: Optional[Union[float_, str]] = Field(
4656
+ height: float_ | str | None = Field(
4657
4657
  default=None,
4658
4658
  description='The **`height`** CSS property specifies the height of an element. By default, the property defines the height of the content area. If `box-sizing` is set to `border-box`, however, it instead determines the height of the border area.\n\n**Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
4659
4659
  )
4660
- hyphens: Optional[Property.Hyphens] = Field(
4660
+ hyphens: Property.Hyphens | None = Field(
4661
4661
  default=None,
4662
4662
  description='The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.\n\n**Syntax**: `none | manual | auto`\n\n**Initial value**: `manual`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-----------: | :----: | :----------: |\n| **55** | **43** | **5.1** _-x-_ | **79** | **10** _-x-_ |\n| 13 _-x-_ | 6 _-x-_ | | | |',
4663
4663
  )
@@ -4667,7 +4667,7 @@ class CSSProperties(DaraBaseModel):
4667
4667
  description='The **`image-orientation`** CSS property specifies a layout-independent correction to the orientation of an image. It should _not_ be used for any other orientation adjustments; instead, the `transform` property should be used with the `rotate` `<transform-function>`.\n\n**Syntax**: `from-image | <angle> | [ <angle>? flip ]`\n\n**Initial value**: `from-image`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **81** | **26** | **13.1** | **81** | No |',
4668
4668
  )
4669
4669
  )
4670
- imageRendering: Optional[Property.ImageRendering] = Field(
4670
+ imageRendering: Property.ImageRendering | None = Field(
4671
4671
  default=None,
4672
4672
  description='The **`image-rendering`** CSS property sets an image scaling algorithm. The property applies to an element itself, to any images set in its other properties, and to its descendants.\n\n**Syntax**: `auto | crisp-edges | pixelated`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **13** | **3.6** | **6** | **79** | No |',
4673
4673
  )
@@ -4675,7 +4675,7 @@ class CSSProperties(DaraBaseModel):
4675
4675
  default=None,
4676
4676
  description='**Syntax**: `[ from-image || <resolution> ] && snap?`\n\n**Initial value**: `1dppx`',
4677
4677
  )
4678
- imeMode: Optional[Property.ImeMode] = Field(
4678
+ imeMode: Property.ImeMode | None = Field(
4679
4679
  default=None,
4680
4680
  description='The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.\n\n**Syntax**: `auto | normal | active | inactive | disabled`\n\n**Initial value**: `auto`',
4681
4681
  )
@@ -4683,39 +4683,39 @@ class CSSProperties(DaraBaseModel):
4683
4683
  default=None,
4684
4684
  description='The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters.\n\n**Syntax**: `normal | [ <number> <integer>? ]`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | No | **9** | No | No |',
4685
4685
  )
4686
- inlineSize: Optional[Union[float_, str]] = Field(
4686
+ inlineSize: float_ | str | None = Field(
4687
4687
  default=None,
4688
4688
  description="The **`inline-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`.\n\n**Syntax**: `<'width'>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **41** | **12.1** | **79** | No |",
4689
4689
  )
4690
- inset: Optional[Union[float_, str]] = Field(
4690
+ inset: float_ | str | None = Field(
4691
4691
  default=None,
4692
4692
  description="The **`inset`**\xa0CSS property is a shorthand that corresponds to the `top`, `right`, `bottom`, and/or `left` properties. It has the same multi-value syntax of the `margin` shorthand.\n\n**Syntax**: `<'top'>{1,4}`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
4693
4693
  )
4694
- insetBlock: Optional[Union[float_, str]] = Field(
4694
+ insetBlock: float_ | str | None = Field(
4695
4695
  default=None,
4696
4696
  description="The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>{1,2}`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **63** | **14.1** | **87** | No |",
4697
4697
  )
4698
- insetBlockEnd: Optional[Union[float_, str]] = Field(
4698
+ insetBlockEnd: float_ | str | None = Field(
4699
4699
  default=None,
4700
4700
  description="The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **63** | **14.1** | **87** | No |",
4701
4701
  )
4702
- insetBlockStart: Optional[Union[float_, str]] = Field(
4702
+ insetBlockStart: float_ | str | None = Field(
4703
4703
  default=None,
4704
4704
  description="The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **63** | **14.1** | **87** | No |",
4705
4705
  )
4706
- insetInline: Optional[Union[float_, str]] = Field(
4706
+ insetInline: float_ | str | None = Field(
4707
4707
  default=None,
4708
4708
  description="The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>{1,2}`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **63** | **14.1** | **87** | No |",
4709
4709
  )
4710
- insetInlineEnd: Optional[Union[float_, str]] = Field(
4710
+ insetInlineEnd: float_ | str | None = Field(
4711
4711
  default=None,
4712
4712
  description="The **`inset-inline-end`** CSS property defines the logical inline end inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **63** | **14.1** | **87** | No |",
4713
4713
  )
4714
- insetInlineStart: Optional[Union[float_, str]] = Field(
4714
+ insetInlineStart: float_ | str | None = Field(
4715
4715
  default=None,
4716
4716
  description="The **`inset-inline-start`** CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **63** | **14.1** | **87** | No |",
4717
4717
  )
4718
- isolation: Optional[Property.Isolation] = Field(
4718
+ isolation: Property.Isolation | None = Field(
4719
4719
  default=None,
4720
4720
  description='The **`isolation`** CSS property determines whether an element must create a new stacking context.\n\n**Syntax**: `auto | isolate`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **41** | **36** | **8** | **79** | No |',
4721
4721
  )
@@ -4813,11 +4813,11 @@ class CSSProperties(DaraBaseModel):
4813
4813
  default=None,
4814
4814
  description='The **`justify-tracks`**\xa0CSS property sets the alignment in the masonry axis for grid containers that have masonry in their inline\xa0axis.\n\n**Syntax**: `[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | n/a | No | No | No |',
4815
4815
  )
4816
- left: Optional[Union[float_, str]] = Field(
4816
+ left: float_ | str | None = Field(
4817
4817
  default=None,
4818
4818
  description='The **`left`** CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements.\n\n**Syntax**: `<length> | <percentage> | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |',
4819
4819
  )
4820
- letterSpacing: Optional[Union[float_, str]] = Field(
4820
+ letterSpacing: float_ | str | None = Field(
4821
4821
  default=None,
4822
4822
  description='The **`letter-spacing`** CSS property sets the horizontal spacing behavior between text characters. This value is added to the natural spacing between characters while rendering the text. Positive values of `letter-spacing` causes characters to spread farther apart, while negative values of `letter-spacing` bring characters closer together.\n\n**Syntax**: `normal | <length>`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
4823
4823
  )
@@ -5008,18 +5008,18 @@ class CSSProperties(DaraBaseModel):
5008
5008
  'yellowgreen',
5009
5009
  None,
5010
5010
  ] = None
5011
- lineBreak: Optional[Property.LineBreak] = Field(
5011
+ lineBreak: Property.LineBreak | None = Field(
5012
5012
  default=None,
5013
5013
  description='The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.\n\n**Syntax**: `auto | loose | normal | strict | anywhere`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-----: | :----: | :-----: |\n| **58** | **69** | **11** | **14** | **5.5** |\n| 1 _-x-_ | | 3 _-x-_ | | |',
5014
5014
  )
5015
5015
  lineClamp: Literal['-moz-initial', 'inherit', 'initial', 'none', 'revert', 'unset', None] = Field(
5016
5016
  default=None, description='**Syntax**: `none | <integer>`\n\n**Initial value**: `none`'
5017
5017
  )
5018
- lineHeight: Optional[Union[float_, str]] = Field(
5018
+ lineHeight: float_ | str | None = Field(
5019
5019
  default=None,
5020
5020
  description="The **`line-height`** CSS property sets the height of a line box. It's commonly used to set the distance between lines of text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height.\n\n**Syntax**: `normal | <number> | <length> | <percentage>`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
5021
5021
  )
5022
- lineHeightStep: Optional[Union[float_, str]] = Field(
5022
+ lineHeightStep: float_ | str | None = Field(
5023
5023
  default=None,
5024
5024
  description='The **`line-height-step`** CSS property sets the step unit for line box heights. When the property is set, line box heights are rounded up to the closest multiple of the unit.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| n/a | No | No | n/a | No |',
5025
5025
  )
@@ -5033,7 +5033,7 @@ class CSSProperties(DaraBaseModel):
5033
5033
  default=None,
5034
5034
  description='The **`list-style-image`** CSS property sets an image to be used as the list item marker.\n\n**Syntax**: `<image> | none`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5035
5035
  )
5036
- listStylePosition: Optional[Property.ListStylePosition] = Field(
5036
+ listStylePosition: Property.ListStylePosition | None = Field(
5037
5037
  default=None,
5038
5038
  description='The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item.\n\n**Syntax**: `inside | outside`\n\n**Initial value**: `outside`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5039
5039
  )
@@ -5041,47 +5041,47 @@ class CSSProperties(DaraBaseModel):
5041
5041
  default=None,
5042
5042
  description='The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.\n\n**Syntax**: `<counter-style> | <string> | none`\n\n**Initial value**: `disc`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5043
5043
  )
5044
- margin: Optional[Union[float_, str]] = Field(
5044
+ margin: float_ | str | None = Field(
5045
5045
  default=None,
5046
5046
  description='The **`margin`** CSS property sets the margin area on all four sides of an element. It is a shorthand for `margin-top`, `margin-right`, `margin-bottom`, and `margin-left`.\n\n**Syntax**: `[ <length> | <percentage> | auto ]{1,4}`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |',
5047
5047
  )
5048
- marginBlock: Optional[Union[float_, str]] = Field(
5048
+ marginBlock: float_ | str | None = Field(
5049
5049
  default=None,
5050
5050
  description="The **`margin-block`** CSS shorthand property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'margin-left'>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
5051
5051
  )
5052
- marginBlockEnd: Optional[Union[float_, str]] = Field(
5052
+ marginBlockEnd: float_ | str | None = Field(
5053
5053
  default=None,
5054
5054
  description="The **`margin-block-end`** CSS property defines the logical block end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'margin-left'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
5055
5055
  )
5056
- marginBlockStart: Optional[Union[float_, str]] = Field(
5056
+ marginBlockStart: float_ | str | None = Field(
5057
5057
  default=None,
5058
5058
  description="The **`margin-block-start`** CSS property defines the logical block start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'margin-left'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
5059
5059
  )
5060
- marginBottom: Optional[Union[float_, str]] = Field(
5060
+ marginBottom: float_ | str | None = Field(
5061
5061
  default=None,
5062
5062
  description='The **`margin-bottom`** CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\n\n**Syntax**: `<length> | <percentage> | auto`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |',
5063
5063
  )
5064
- marginInline: Optional[Union[float_, str]] = Field(
5064
+ marginInline: float_ | str | None = Field(
5065
5065
  default=None,
5066
5066
  description="The **`margin-inline`** CSS shorthand property is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'margin-left'>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
5067
5067
  )
5068
- marginInlineEnd: Optional[Union[float_, str]] = Field(
5068
+ marginInlineEnd: float_ | str | None = Field(
5069
5069
  default=None,
5070
5070
  description="The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'margin-left'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----------------------: | :-------------------: | :----------------------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ | | |",
5071
5071
  )
5072
- marginInlineStart: Optional[Union[float_, str]] = Field(
5072
+ marginInlineStart: float_ | str | None = Field(
5073
5073
  default=None,
5074
5074
  description="The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'margin-left'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------------------------: | :---------------------: | :------------------------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ | | |",
5075
5075
  )
5076
- marginLeft: Optional[Union[float_, str]] = Field(
5076
+ marginLeft: float_ | str | None = Field(
5077
5077
  default=None,
5078
5078
  description='The **`margin-left`** CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\n\n**Syntax**: `<length> | <percentage> | auto`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |',
5079
5079
  )
5080
- marginRight: Optional[Union[float_, str]] = Field(
5080
+ marginRight: float_ | str | None = Field(
5081
5081
  default=None,
5082
5082
  description='The **`margin-right`** CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\n\n**Syntax**: `<length> | <percentage> | auto`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |',
5083
5083
  )
5084
- marginTop: Optional[Union[float_, str]] = Field(
5084
+ marginTop: float_ | str | None = Field(
5085
5085
  default=None,
5086
5086
  description='The **`margin-top`** CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\n\n**Syntax**: `<length> | <percentage> | auto`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |',
5087
5087
  )
@@ -5089,7 +5089,7 @@ class CSSProperties(DaraBaseModel):
5089
5089
  markerEnd: Literal['-moz-initial', 'inherit', 'initial', 'none', 'revert', 'unset', None] = None
5090
5090
  markerMid: Literal['-moz-initial', 'inherit', 'initial', 'none', 'revert', 'unset', None] = None
5091
5091
  markerStart: Literal['-moz-initial', 'inherit', 'initial', 'none', 'revert', 'unset', None] = None
5092
- mask: Optional[Union[float_, str]] = Field(
5092
+ mask: float_ | str | None = Field(
5093
5093
  default=None,
5094
5094
  description='The **`mask`** CSS shorthand property hides an element (partially or fully) by masking or clipping the image at specific points.\n\n**Syntax**: `<mask-layer>#`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :---: | :-: |\n| **1** | **2** | **3.1** | 12-79 | No |',
5095
5095
  )
@@ -5111,11 +5111,11 @@ class CSSProperties(DaraBaseModel):
5111
5111
  default=None,
5112
5112
  description="The **`mask-border`** CSS shorthand property lets you create a mask along the edge of an element's border.\n\n**Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------------------------------: | :-----: | :--------------------------------: | :-------------------------------: | :-: |\n| **1** _(-webkit-mask-box-image)_ | No | **3.1** _(-webkit-mask-box-image)_ | **79** _(-webkit-mask-box-image)_ | No |",
5113
5113
  )
5114
- maskBorderMode: Optional[Property.MaskBorderMode] = Field(
5114
+ maskBorderMode: Property.MaskBorderMode | None = Field(
5115
5115
  default=None,
5116
5116
  description='The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border.\n\n**Syntax**: `luminance | alpha`\n\n**Initial value**: `alpha`',
5117
5117
  )
5118
- maskBorderOutset: Optional[Union[float_, str]] = Field(
5118
+ maskBorderOutset: float_ | str | None = Field(
5119
5119
  default=None,
5120
5120
  description="The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.\n\n**Syntax**: `[ <length> | <number> ]{1,4}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-------------------------------------: | :-----: | :---------------------------------------: | :--------------------------------------: | :-: |\n| **1** _(-webkit-mask-box-image-outset)_ | No | **3.1** _(-webkit-mask-box-image-outset)_ | **79** _(-webkit-mask-box-image-outset)_ | No |",
5121
5121
  )
@@ -5133,7 +5133,7 @@ class CSSProperties(DaraBaseModel):
5133
5133
  default=None,
5134
5134
  description="The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.\n\n**Syntax**: `none | <image>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-------------------------------------: | :-----: | :---------------------------------------: | :--------------------------------------: | :-: |\n| **1** _(-webkit-mask-box-image-source)_ | No | **3.1** _(-webkit-mask-box-image-source)_ | **79** _(-webkit-mask-box-image-source)_ | No |",
5135
5135
  )
5136
- maskBorderWidth: Optional[Union[float_, str]] = Field(
5136
+ maskBorderWidth: float_ | str | None = Field(
5137
5137
  default=None,
5138
5138
  description="The **`mask-border-width`** CSS property sets the width of an element's mask border.\n\n**Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------------------------------------: | :-----: | :--------------------------------------: | :-------------------------------------: | :-: |\n| **1** _(-webkit-mask-box-image-width)_ | No | **3.1** _(-webkit-mask-box-image-width)_ | **79** _(-webkit-mask-box-image-width)_ | No |",
5139
5139
  )
@@ -5187,7 +5187,7 @@ class CSSProperties(DaraBaseModel):
5187
5187
  default=None,
5188
5188
  description='The **`mask-origin`** CSS property sets the origin of a mask.\n\n**Syntax**: `<geometry-box>#`\n\n**Initial value**: `border-box`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :---------: | :-----: | :---------: | :----------: | :-: |\n| **1** _-x-_ | **53** | **4** _-x-_ | **79** _-x-_ | No |',
5189
5189
  )
5190
- maskPosition: Optional[Union[float_, str]] = Field(
5190
+ maskPosition: float_ | str | None = Field(
5191
5191
  default=None,
5192
5192
  description='The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.\n\n**Syntax**: `<position>#`\n\n**Initial value**: `center`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :---------: | :-----: | :-----------: | :---: | :-: |\n| **1** _-x-_ | **53** | **3.1** _-x-_ | 18-79 | No |',
5193
5193
  )
@@ -5208,62 +5208,62 @@ class CSSProperties(DaraBaseModel):
5208
5208
  default=None,
5209
5209
  description='The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all.\n\n**Syntax**: `<repeat-style>#`\n\n**Initial value**: `no-repeat`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :---------: | :-----: | :-----------: | :---: | :-: |\n| **1** _-x-_ | **53** | **3.1** _-x-_ | 18-79 | No |',
5210
5210
  )
5211
- maskSize: Optional[Union[float_, str]] = Field(
5211
+ maskSize: float_ | str | None = Field(
5212
5212
  default=None,
5213
5213
  description='The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio.\n\n**Syntax**: `<bg-size>#`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :---------: | :-----: | :---------: | :---: | :-: |\n| **4** _-x-_ | **53** | **4** _-x-_ | 18-79 | No |',
5214
5214
  )
5215
- maskType: Optional[Property.MaskType] = Field(
5215
+ maskType: Property.MaskType | None = Field(
5216
5216
  default=None,
5217
5217
  description='The **`mask-type`** CSS property sets whether an SVG `<mask>` element is used as a _luminance_ or an _alpha_ mask. It applies to the `<mask>` element itself.\n\n**Syntax**: `luminance | alpha`\n\n**Initial value**: `luminance`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **24** | **35** | **7** | **79** | No |',
5218
5218
  )
5219
- mathStyle: Optional[Property.MathStyle] = Field(
5219
+ mathStyle: Property.MathStyle | None = Field(
5220
5220
  default=None,
5221
5221
  description='The `math-style` property\xa0indicates whether MathML equations should render with normal or compact height.\n\n**Syntax**: `normal | compact`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :--: | :-: |\n| n/a | n/a | **14.1** | No | No |',
5222
5222
  )
5223
- maxBlockSize: Optional[Union[float_, str]] = Field(
5223
+ maxBlockSize: float_ | str | None = Field(
5224
5224
  default=None,
5225
5225
  description="The `**max-block-size**` CSS property specifies the maximum size of an element in the direction opposite that of the writing direction as specified by `writing-mode`. That is, if the writing direction is horizontal, then `max-block-size` is equivalent to `max-height`; if the writing direction is vertical, `max-block-size` is the same as `max-width`.\n\n**Syntax**: `<'max-width'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **41** | **12.1** | **79** | No |",
5226
5226
  )
5227
- maxHeight: Optional[Union[float_, str]] = Field(
5227
+ maxHeight: float_ | str | None = Field(
5228
5228
  default=None,
5229
5229
  description='The **`max-height`** CSS property sets the maximum height of an element. It prevents the used value of the `height` property from becoming larger than the value specified for `max-height`.\n\n**Syntax**: `none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **18** | **1** | **1.3** | **12** | **7** |',
5230
5230
  )
5231
- maxInlineSize: Optional[Union[float_, str]] = Field(
5231
+ maxInlineSize: float_ | str | None = Field(
5232
5232
  default=None,
5233
5233
  description="The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block, depending on its writing mode. It corresponds to either the `max-width` or the `max-height` property, depending on the value of `writing-mode`.\n\n**Syntax**: `<'max-width'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :--------: | :----: | :-: |\n| **57** | **41** | **12.1** | **79** | No |\n| | | 10.1 _-x-_ | | |",
5234
5234
  )
5235
5235
  maxLines: Literal['-moz-initial', 'inherit', 'initial', 'none', 'revert', 'unset', None] = Field(
5236
5236
  default=None, description='**Syntax**: `none | <integer>`\n\n**Initial value**: `none`'
5237
5237
  )
5238
- maxWidth: Optional[Union[float_, str]] = Field(
5238
+ maxWidth: float_ | str | None = Field(
5239
5239
  default=None,
5240
5240
  description='The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.\n\n**Syntax**: `none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **7** |',
5241
5241
  )
5242
- minBlockSize: Optional[Union[float_, str]] = Field(
5242
+ minBlockSize: float_ | str | None = Field(
5243
5243
  default=None,
5244
5244
  description="The **`min-block-size`** CSS property defines the minimum horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`.\n\n**Syntax**: `<'min-width'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **41** | **12.1** | **79** | No |",
5245
5245
  )
5246
- minHeight: Optional[Union[float_, str]] = Field(
5246
+ minHeight: float_ | str | None = Field(
5247
5247
  default=None,
5248
5248
  description='The **`min-height`** CSS property sets the minimum height of an element. It prevents the used value of the `height` property from becoming smaller than the value specified for `min-height`.\n\n**Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **3** | **1.3** | **12** | **7** |',
5249
5249
  )
5250
- minInlineSize: Optional[Union[float_, str]] = Field(
5250
+ minInlineSize: float_ | str | None = Field(
5251
5251
  default=None,
5252
5252
  description="The **`min-inline-size`** CSS property defines the horizontal or vertical minimal size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`.\n\n**Syntax**: `<'min-width'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **41** | **12.1** | **79** | No |",
5253
5253
  )
5254
- minWidth: Optional[Union[float_, str]] = Field(
5254
+ minWidth: float_ | str | None = Field(
5255
5255
  default=None,
5256
5256
  description='The **`min-width`** CSS property sets the minimum width of an element. It prevents the used value of the `width` property from becoming smaller than the value specified for `min-width`.\n\n**Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **7** |',
5257
5257
  )
5258
- mixBlendMode: Optional[Property.MixBlendMode] = Field(
5258
+ mixBlendMode: Property.MixBlendMode | None = Field(
5259
5259
  default=None,
5260
5260
  description="The **`mix-blend-mode`** CSS property sets how an element's content should blend with the content of the element's parent and the element's background.\n\n**Syntax**: `<blend-mode>`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **41** | **32** | **8** | **79** | No |",
5261
5261
  )
5262
- motion: Optional[Union[float_, str]] = Field(
5262
+ motion: float_ | str | None = Field(
5263
5263
  default=None,
5264
5264
  description="The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path.\n\n**Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----------: | :-----: | :----: | :----: | :-: |\n| **55** | **72** | No | **79** | No |\n| 46 _(motion)_ | | | | |",
5265
5265
  )
5266
- motionDistance: Optional[Union[float_, str]] = Field(
5266
+ motionDistance: float_ | str | None = Field(
5267
5267
  default=None,
5268
5268
  description='The **`offset-distance`** CSS property specifies a position along an `offset-path` for an element to be placed.\n\n**Syntax**: `<length-percentage>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :--------------------: | :-----: | :----: | :----: | :-: |\n| **55** | **72** | No | **79** | No |\n| 46 _(motion-distance)_ | | | | |',
5269
5269
  )
@@ -5290,47 +5290,47 @@ class CSSProperties(DaraBaseModel):
5290
5290
  default=None,
5291
5291
  description='The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`.\n\n**Syntax**: `[ auto | reverse ] || <angle>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :--------------------: | :-----: | :----: | :----: | :-: |\n| **56** | **72** | No | **79** | No |\n| 46 _(motion-rotation)_ | | | | |',
5292
5292
  )
5293
- objectFit: Optional[Property.ObjectFit] = Field(
5293
+ objectFit: Property.ObjectFit | None = Field(
5294
5294
  default=None,
5295
5295
  description='The **`object-fit`** CSS property sets how the content of a replaced element, such as an `<img>` or `<video>`, should be resized to fit its container.\n\n**Syntax**: `fill | contain | cover | none | scale-down`\n\n**Initial value**: `fill`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **32** | **36** | **10** | **79** | No |',
5296
5296
  )
5297
- objectPosition: Optional[Union[float_, str]] = Field(
5297
+ objectPosition: float_ | str | None = Field(
5298
5298
  default=None,
5299
5299
  description="The **`object-position`** CSS property specifies the alignment of the selected replaced element's contents within the element's box. Areas of the box which aren't covered by the replaced element's object will show the element's background.\n\n**Syntax**: `<position>`\n\n**Initial value**: `50% 50%`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **32** | **36** | **10** | **79** | No |",
5300
5300
  )
5301
- offset: Optional[Union[float_, str]] = Field(
5301
+ offset: float_ | str | None = Field(
5302
5302
  default=None,
5303
5303
  description="The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path.\n\n**Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----------: | :-----: | :----: | :----: | :-: |\n| **55** | **72** | No | **79** | No |\n| 46 _(motion)_ | | | | |",
5304
5304
  )
5305
- offsetAnchor: Optional[Union[float_, str]] = Field(
5305
+ offsetAnchor: float_ | str | None = Field(
5306
5306
  default=None,
5307
5307
  description='**Syntax**: `auto | <position>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **79** | **72** | No | **79** | No |',
5308
5308
  )
5309
- offsetBlock: Optional[Union[float_, str]] = Field(
5309
+ offsetBlock: float_ | str | None = Field(
5310
5310
  default=None,
5311
5311
  description="The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>{1,2}`\n\n**Initial value**: `auto`",
5312
5312
  )
5313
- offsetBlockEnd: Optional[Union[float_, str]] = Field(
5313
+ offsetBlockEnd: float_ | str | None = Field(
5314
5314
  default=None,
5315
5315
  description="The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>`\n\n**Initial value**: `auto`",
5316
5316
  )
5317
- offsetBlockStart: Optional[Union[float_, str]] = Field(
5317
+ offsetBlockStart: float_ | str | None = Field(
5318
5318
  default=None,
5319
5319
  description="The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>`\n\n**Initial value**: `auto`",
5320
5320
  )
5321
- offsetDistance: Optional[Union[float_, str]] = Field(
5321
+ offsetDistance: float_ | str | None = Field(
5322
5322
  default=None,
5323
5323
  description='The **`offset-distance`** CSS property specifies a position along an `offset-path` for an element to be placed.\n\n**Syntax**: `<length-percentage>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :--------------------: | :-----: | :----: | :----: | :-: |\n| **55** | **72** | No | **79** | No |\n| 46 _(motion-distance)_ | | | | |',
5324
5324
  )
5325
- offsetInline: Optional[Union[float_, str]] = Field(
5325
+ offsetInline: float_ | str | None = Field(
5326
5326
  default=None,
5327
5327
  description="The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>{1,2}`\n\n**Initial value**: `auto`",
5328
5328
  )
5329
- offsetInlineEnd: Optional[Union[float_, str]] = Field(
5329
+ offsetInlineEnd: float_ | str | None = Field(
5330
5330
  default=None,
5331
5331
  description="The **`inset-inline-end`** CSS property defines the logical inline end inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>`\n\n**Initial value**: `auto`",
5332
5332
  )
5333
- offsetInlineStart: Optional[Union[float_, str]] = Field(
5333
+ offsetInlineStart: float_ | str | None = Field(
5334
5334
  default=None,
5335
5335
  description="The **`inset-inline-start`** CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.\n\n**Syntax**: `<'top'>`\n\n**Initial value**: `auto`",
5336
5336
  )
@@ -5373,7 +5373,7 @@ class CSSProperties(DaraBaseModel):
5373
5373
  default=None,
5374
5374
  description='The **`orphans`** CSS property sets the minimum number of lines in a block container that must be shown at the _bottom_ of a page, region, or column.\n\n**Syntax**: `<integer>`\n\n**Initial value**: `2`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **25** | No | **1.3** | **12** | **8** |',
5375
5375
  )
5376
- outline: Optional[Union[float_, str]] = Field(
5376
+ outline: float_ | str | None = Field(
5377
5377
  default=None,
5378
5378
  description="The **`outline`** CSS shorthand property set all the outline properties in a single declaration.\n\n**Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1.5** | **1.2** | **12** | **8** |",
5379
5379
  )
@@ -5567,7 +5567,7 @@ class CSSProperties(DaraBaseModel):
5567
5567
  default=None,
5568
5568
  description="The **`outline-color`** CSS property sets the color of an element's outline.\n\n**Syntax**: `<color> | invert`\n\n**Initial value**: `invert`, for browsers supporting it, `currentColor` for the other\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1.5** | **1.2** | **12** | **8** |",
5569
5569
  )
5570
- outlineOffset: Optional[Union[float_, str]] = Field(
5570
+ outlineOffset: float_ | str | None = Field(
5571
5571
  default=None,
5572
5572
  description='The **`outline-offset`** CSS property sets the amount of space between an outline and the edge or border of an element.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :-: |\n| **1** | **1.5** | **1.2** | **15** | No |',
5573
5573
  )
@@ -5593,7 +5593,7 @@ class CSSProperties(DaraBaseModel):
5593
5593
  default=None,
5594
5594
  description="The **`outline-style`** CSS property sets the style of an element's outline. An outline is a line that is drawn around an element, outside the `border`.\n\n**Syntax**: `auto | <'border-style'>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1.5** | **1.2** | **12** | **8** |",
5595
5595
  )
5596
- outlineWidth: Optional[Union[float_, str]] = Field(
5596
+ outlineWidth: float_ | str | None = Field(
5597
5597
  default=None,
5598
5598
  description="The CSS **`outline-width`** property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.\n\n**Syntax**: `<line-width>`\n\n**Initial value**: `medium`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1.5** | **1.2** | **12** | **8** |",
5599
5599
  )
@@ -5614,35 +5614,35 @@ class CSSProperties(DaraBaseModel):
5614
5614
  default=None,
5615
5615
  description="The **`overflow`** CSS shorthand property sets the desired behavior for an element's overflow — i.e. when an element's content is too big to fit in its block formatting context — in both directions.\n\n**Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}`\n\n**Initial value**: `visible`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
5616
5616
  )
5617
- overflowAnchor: Optional[Property.OverflowAnchor] = Field(
5617
+ overflowAnchor: Property.OverflowAnchor | None = Field(
5618
5618
  default=None,
5619
5619
  description='**Syntax**: `auto | none`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **56** | **66** | No | **79** | No |',
5620
5620
  )
5621
- overflowBlock: Optional[Property.OverflowBlock] = Field(
5621
+ overflowBlock: Property.OverflowBlock | None = Field(
5622
5622
  default=None,
5623
5623
  description='**Syntax**: `visible | hidden | clip | scroll | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | **69** | No | No | No |',
5624
5624
  )
5625
- overflowClipBox: Optional[Property.OverflowClipBox] = Field(
5625
+ overflowClipBox: Property.OverflowClipBox | None = Field(
5626
5626
  default=None,
5627
5627
  description='The **`overflow-clip-box`** CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the `overflow-clip-box-inline` and `overflow-clip-box-block` properties.\n\n**Syntax**: `padding-box | content-box`\n\n**Initial value**: `padding-box`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | **29** | No | No | No |',
5628
5628
  )
5629
- overflowClipMargin: Optional[Union[float_, str]] = Field(
5629
+ overflowClipMargin: float_ | str | None = Field(
5630
5630
  default=None,
5631
5631
  description='**Syntax**: `<visual-box> || <length [0,∞]>`\n\n**Initial value**: `0px`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **90** | No | No | **90** | No |',
5632
5632
  )
5633
- overflowInline: Optional[Property.OverflowInline] = Field(
5633
+ overflowInline: Property.OverflowInline | None = Field(
5634
5634
  default=None,
5635
5635
  description='**Syntax**: `visible | hidden | clip | scroll | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | **69** | No | No | No |',
5636
5636
  )
5637
- overflowWrap: Optional[Property.OverflowWrap] = Field(
5637
+ overflowWrap: Property.OverflowWrap | None = Field(
5638
5638
  default=None,
5639
5639
  description='The `**overflow-wrap**` CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box.\n\n**Syntax**: `normal | break-word | anywhere`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-------------: | :---------------: | :-------------: | :--------------: | :-------------------: |\n| **23** | **49** | **7** | **18** | **5.5** _(word-wrap)_ |\n| 1 _(word-wrap)_ | 3.5 _(word-wrap)_ | 1 _(word-wrap)_ | 12 _(word-wrap)_ | |',
5640
5640
  )
5641
- overflowX: Optional[Property.OverflowX] = Field(
5641
+ overflowX: Property.OverflowX | None = Field(
5642
5642
  default=None,
5643
5643
  description="The **`overflow-x`** CSS property sets what shows when content overflows a block-level element's left and right edges. This may be nothing, a scroll bar, or the overflow content.\n\n**Syntax**: `visible | hidden | clip | scroll | auto`\n\n**Initial value**: `visible`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **3.5** | **3** | **12** | **5** |",
5644
5644
  )
5645
- overflowY: Optional[Property.OverflowY] = Field(
5645
+ overflowY: Property.OverflowY | None = Field(
5646
5646
  default=None,
5647
5647
  description="The **`overflow-y`** CSS property sets what shows when content overflows a block-level element's top and bottom edges. This may be nothing, a scroll bar, or the overflow content.\n\n**Syntax**: `visible | hidden | clip | scroll | auto`\n\n**Initial value**: `visible`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **3.5** | **3** | **12** | **5** |",
5648
5648
  )
@@ -5652,75 +5652,75 @@ class CSSProperties(DaraBaseModel):
5652
5652
  default=None,
5653
5653
  description="The **`overscroll-behavior`** CSS property sets what a browser does when reaching the boundary of a scrolling area. It's a shorthand for `overscroll-behavior-x` and `overscroll-behavior-y`.\n\n**Syntax**: `[ contain | none | auto ]{1,2}`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **63** | **59** | No | **18** | No |",
5654
5654
  )
5655
- overscrollBehaviorBlock: Optional[Property.OverscrollBehaviorBlock] = Field(
5655
+ overscrollBehaviorBlock: Property.OverscrollBehaviorBlock | None = Field(
5656
5656
  default=None,
5657
5657
  description="The **`overscroll-behavior-block`**\xa0CSS property sets the browser's behavior when the block direction\xa0boundary of a scrolling area is reached.\n\n**Syntax**: `contain | none | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **77** | **73** | No | **79** | No |",
5658
5658
  )
5659
- overscrollBehaviorInline: Optional[Property.OverscrollBehaviorInline] = Field(
5659
+ overscrollBehaviorInline: Property.OverscrollBehaviorInline | None = Field(
5660
5660
  default=None,
5661
5661
  description="The **`overscroll-behavior-inline`**\xa0CSS property sets the browser's behavior when the inline\xa0direction\xa0boundary of a scrolling area is reached.\n\n**Syntax**: `contain | none | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **77** | **73** | No | **79** | No |",
5662
5662
  )
5663
- overscrollBehaviorX: Optional[Property.OverscrollBehaviorX] = Field(
5663
+ overscrollBehaviorX: Property.OverscrollBehaviorX | None = Field(
5664
5664
  default=None,
5665
5665
  description="The **`overscroll-behavior-x`** CSS property sets the browser's behavior when the horizontal boundary of a scrolling area is reached.\n\n**Syntax**: `contain | none | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **63** | **59** | No | **18** | No |",
5666
5666
  )
5667
- overscrollBehaviorY: Optional[Property.OverscrollBehaviorY] = Field(
5667
+ overscrollBehaviorY: Property.OverscrollBehaviorY | None = Field(
5668
5668
  default=None,
5669
5669
  description="The **`overscroll-behavior-y`** CSS property sets the browser's behavior when the vertical boundary of a scrolling area is reached.\n\n**Syntax**: `contain | none | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **63** | **59** | No | **18** | No |",
5670
5670
  )
5671
- padding: Optional[Union[float_, str]] = Field(
5671
+ padding: float_ | str | None = Field(
5672
5672
  default=None,
5673
5673
  description='The **`padding`** CSS shorthand property sets the padding area on all four sides of an element at once.\n\n**Syntax**: `[ <length> | <percentage> ]{1,4}`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5674
5674
  )
5675
- paddingBlock: Optional[Union[float_, str]] = Field(
5675
+ paddingBlock: float_ | str | None = Field(
5676
5676
  default=None,
5677
5677
  description="The **`padding-block`** CSS shorthand property defines the logical block start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'padding-left'>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
5678
5678
  )
5679
- paddingBlockEnd: Optional[Union[float_, str]] = Field(
5679
+ paddingBlockEnd: float_ | str | None = Field(
5680
5680
  default=None,
5681
5681
  description="The **`padding-block-end`** CSS property defines the logical block end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'padding-left'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
5682
5682
  )
5683
- paddingBlockStart: Optional[Union[float_, str]] = Field(
5683
+ paddingBlockStart: float_ | str | None = Field(
5684
5684
  default=None,
5685
5685
  description="The **`padding-block-start`** CSS property defines the logical block start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'padding-left'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |",
5686
5686
  )
5687
- paddingBottom: Optional[Union[float_, str]] = Field(
5687
+ paddingBottom: float_ | str | None = Field(
5688
5688
  default=None,
5689
5689
  description='The **`padding-bottom`** CSS property sets the height of the padding area on the bottom of an element.\n\n**Syntax**: `<length> | <percentage>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5690
5690
  )
5691
- paddingInline: Optional[Union[float_, str]] = Field(
5691
+ paddingInline: float_ | str | None = Field(
5692
5692
  default=None,
5693
5693
  description="The **`padding-inline`** CSS shorthand property defines the logical inline start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'padding-left'>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **66** | **14.1** | **87** | No |",
5694
5694
  )
5695
- paddingInlineEnd: Optional[Union[float_, str]] = Field(
5695
+ paddingInlineEnd: float_ | str | None = Field(
5696
5696
  default=None,
5697
5697
  description="The **`padding-inline-end`** CSS property defines the logical inline end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'padding-left'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----------------------: | :--------------------: | :-----------------------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| 2 _(-webkit-padding-end)_ | 3 _(-moz-padding-end)_ | 3 _(-webkit-padding-end)_ | | |",
5698
5698
  )
5699
- paddingInlineStart: Optional[Union[float_, str]] = Field(
5699
+ paddingInlineStart: float_ | str | None = Field(
5700
5700
  default=None,
5701
5701
  description="The **`padding-inline-start`** CSS property defines the logical inline start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.\n\n**Syntax**: `<'padding-left'>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-------------------------: | :----------------------: | :-------------------------: | :----: | :-: |\n| **69** | **41** | **12.1** | **79** | No |\n| 2 _(-webkit-padding-start)_ | 3 _(-moz-padding-start)_ | 3 _(-webkit-padding-start)_ | | |",
5702
5702
  )
5703
- paddingLeft: Optional[Union[float_, str]] = Field(
5703
+ paddingLeft: float_ | str | None = Field(
5704
5704
  default=None,
5705
5705
  description='The **`padding-left`** CSS property sets the width of the padding area to the left of an element.\n\n**Syntax**: `<length> | <percentage>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5706
5706
  )
5707
- paddingRight: Optional[Union[float_, str]] = Field(
5707
+ paddingRight: float_ | str | None = Field(
5708
5708
  default=None,
5709
5709
  description='The **`padding-right`** CSS property sets the width of the padding area on the right of an element.\n\n**Syntax**: `<length> | <percentage>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5710
5710
  )
5711
- paddingTop: Optional[Union[float_, str]] = Field(
5711
+ paddingTop: float_ | str | None = Field(
5712
5712
  default=None,
5713
5713
  description='The **`padding-top`** CSS property sets the height of the padding area on the top of an element.\n\n**Syntax**: `<length> | <percentage>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5714
5714
  )
5715
- pageBreakAfter: Optional[Property.PageBreakAfter] = Field(
5715
+ pageBreakAfter: Property.PageBreakAfter | None = Field(
5716
5716
  default=None,
5717
5717
  description='The **`page-break-after`** CSS property adjusts page breaks _after_ the current element.\n\n**Syntax**: `auto | always | avoid | left | right | recto | verso`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1** | **1.2** | **12** | **4** |',
5718
5718
  )
5719
- pageBreakBefore: Optional[Property.PageBreakBefore] = Field(
5719
+ pageBreakBefore: Property.PageBreakBefore | None = Field(
5720
5720
  default=None,
5721
5721
  description='The **`page-break-before`** CSS property adjusts page breaks _before_ the current element.\n\n**Syntax**: `auto | always | avoid | left | right | recto | verso`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **1** | **1.2** | **12** | **4** |',
5722
5722
  )
5723
- pageBreakInside: Optional[Property.PageBreakInside] = Field(
5723
+ pageBreakInside: Property.PageBreakInside | None = Field(
5724
5724
  default=None,
5725
5725
  description='The **`page-break-inside`** CSS property adjusts page breaks _inside_ the current element.\n\n**Syntax**: `auto | avoid`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **19** | **1.3** | **12** | **8** |',
5726
5726
  )
@@ -5730,11 +5730,11 @@ class CSSProperties(DaraBaseModel):
5730
5730
  default=None,
5731
5731
  description='The **`paint-order`** CSS property lets you control the order in which the fill and stroke (and painting markers) of text content and shapes are drawn.\n\n**Syntax**: `normal | [ fill || stroke || markers ]`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **35** | **60** | **8** | **17** | No |',
5732
5732
  )
5733
- perspective: Optional[Union[float_, str]] = Field(
5733
+ perspective: float_ | str | None = Field(
5734
5734
  default=None,
5735
5735
  description='The **`perspective`** CSS property determines the distance between the z=0 plane and the user in order to give a 3D-positioned element some perspective.\n\n**Syntax**: `none | <length>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :------: | :-----: | :----: | :----: |\n| **36** | **16** | **9** | **12** | **10** |\n| 12 _-x-_ | 10 _-x-_ | 4 _-x-_ | | |',
5736
5736
  )
5737
- perspectiveOrigin: Optional[Union[float_, str]] = Field(
5737
+ perspectiveOrigin: float_ | str | None = Field(
5738
5738
  default=None,
5739
5739
  description='The **`perspective-origin`** CSS property determines the position at which the viewer is looking. It is used as the _vanishing point_ by the `perspective` property.\n\n**Syntax**: `<position>`\n\n**Initial value**: `50% 50%`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :------: | :-----: | :----: | :----: |\n| **36** | **16** | **9** | **12** | **10** |\n| 12 _-x-_ | 10 _-x-_ | 4 _-x-_ | | |',
5740
5740
  )
@@ -5803,11 +5803,11 @@ class CSSProperties(DaraBaseModel):
5803
5803
  default=None,
5804
5804
  description="The **`place-self`** CSS shorthand property allows you to align an individual item in both the block and inline directions at once (i.e. the `align-self` and `justify-self` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not present, the first value is also used for it.\n\n**Syntax**: `<'align-self'> <'justify-self'>?`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **59** | **45** | **11** | **79** | No |",
5805
5805
  )
5806
- pointerEvents: Optional[Property.PointerEvents] = Field(
5806
+ pointerEvents: Property.PointerEvents | None = Field(
5807
5807
  default=None,
5808
5808
  description='The **`pointer-events`** CSS property sets under what circumstances (if any) a particular graphic element can become the target of pointer events.\n\n**Syntax**: `auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| **1** | **1.5** | **4** | **12** | **11** |',
5809
5809
  )
5810
- position: Optional[Property.Position] = Field(
5810
+ position: Property.Position | None = Field(
5811
5811
  default=None,
5812
5812
  description='The **`position`** CSS property sets how an element is positioned in a document. The `top`, `right`, `bottom`, and `left` properties determine the final location of positioned elements.\n\n**Syntax**: `static | relative | absolute | sticky | fixed`\n\n**Initial value**: `static`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
5813
5813
  )
@@ -5815,11 +5815,11 @@ class CSSProperties(DaraBaseModel):
5815
5815
  default=None,
5816
5816
  description='The **`quotes`** CSS property sets how the browser should render quotation marks that are added using the `open-quotes` or `close-quotes` values of the CSS `content` property.\n\n**Syntax**: `none | auto | [ <string> <string> ]+`\n\n**Initial value**: depends on user agent\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **11** | **1.5** | **9** | **12** | **8** |',
5817
5817
  )
5818
- resize: Optional[Property.Resize] = Field(
5818
+ resize: Property.Resize | None = Field(
5819
5819
  default=None,
5820
5820
  description='The **`resize`** CSS property sets whether an element is resizable, and if so, in which directions.\n\n**Syntax**: `none | both | horizontal | vertical | block | inline`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **1** | **4** | **3** | **79** | No |',
5821
5821
  )
5822
- right: Optional[Union[float_, str]] = Field(
5822
+ right: float_ | str | None = Field(
5823
5823
  default=None,
5824
5824
  description='The **`right`** CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements.\n\n**Syntax**: `<length> | <percentage> | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |',
5825
5825
  )
@@ -5827,15 +5827,15 @@ class CSSProperties(DaraBaseModel):
5827
5827
  default=None,
5828
5828
  description='The **`rotate`** CSS property allows you to specify rotation transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` property.\n\n**Syntax**: `none | <angle> | [ x | y | z | <number>{3} ] && <angle>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :--: | :-: |\n| No | **72** | **14.1** | No | No |',
5829
5829
  )
5830
- rowGap: Optional[Union[float_, str]] = Field(
5830
+ rowGap: float_ | str | None = Field(
5831
5831
  default=None,
5832
5832
  description="The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.\n\n**Syntax**: `normal | <length-percentage>`\n\n**Initial value**: `normal`\n\n---\n\n_Supported in Flex Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **84** | **63** | **14.1** | **84** | No |\n\n---\n\n_Supported in Grid Layout_\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----------------: | :-----------------: | :-------------------: | :----: | :-: |\n| **66** | **61** | **12** | **16** | No |\n| 57 _(grid-row-gap)_ | 52 _(grid-row-gap)_ | 10.1 _(grid-row-gap)_ | | |\n\n---",
5833
5833
  )
5834
- rubyAlign: Optional[Property.RubyAlign] = Field(
5834
+ rubyAlign: Property.RubyAlign | None = Field(
5835
5835
  default=None,
5836
5836
  description='The `**ruby-align**` CSS property defines the distribution of the different ruby elements over the base.\n\n**Syntax**: `start | center | space-between | space-around`\n\n**Initial value**: `space-around`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | **38** | No | No | No |',
5837
5837
  )
5838
- rubyMerge: Optional[Property.RubyMerge] = Field(
5838
+ rubyMerge: Property.RubyMerge | None = Field(
5839
5839
  default=None,
5840
5840
  description='**Syntax**: `separate | collapse | auto`\n\n**Initial value**: `separate`',
5841
5841
  )
@@ -5849,95 +5849,95 @@ class CSSProperties(DaraBaseModel):
5849
5849
  default=None,
5850
5850
  description='The **`scale`** CSS property allows you to specify scale transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` value.\n\n**Syntax**: `none | <number>{1,3}`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :--: | :-: |\n| No | **72** | **14.1** | No | No |',
5851
5851
  )
5852
- scrollBehavior: Optional[Property.ScrollBehavior] = Field(
5852
+ scrollBehavior: Property.ScrollBehavior | None = Field(
5853
5853
  default=None,
5854
5854
  description='The **`scroll-behavior`** CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation or CSSOM scrolling APIs.\n\n**Syntax**: `auto | smooth`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **61** | **36** | n/a | **79** | No |',
5855
5855
  )
5856
- scrollMargin: Optional[Union[float_, str]] = Field(
5856
+ scrollMargin: float_ | str | None = Field(
5857
5857
  default=None,
5858
5858
  description='The **`scroll-margin`** shorthand property sets all of the scroll margins of an element at once, assigning values much like the `margin` property does for margins of an element.\n\n**Syntax**: `<length>{1,4}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----------------------: | :----: | :-: |\n| **69** | **90** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin)_ | | |',
5859
5859
  )
5860
- scrollMarginBlock: Optional[Union[float_, str]] = Field(
5860
+ scrollMarginBlock: float_ | str | None = Field(
5861
5861
  default=None,
5862
5862
  description='The `scroll-margin-block` shorthand property sets the scroll margins of an element in the block dimension.\n\n**Syntax**: `<length>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |',
5863
5863
  )
5864
- scrollMarginBlockEnd: Optional[Union[float_, str]] = Field(
5864
+ scrollMarginBlockEnd: float_ | str | None = Field(
5865
5865
  default=None,
5866
5866
  description='The `scroll-margin-block-end`\xa0property defines the\xa0margin of the scroll snap area at the end\xa0of the block dimension\xa0that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |',
5867
5867
  )
5868
- scrollMarginBlockStart: Optional[Union[float_, str]] = Field(
5868
+ scrollMarginBlockStart: float_ | str | None = Field(
5869
5869
  default=None,
5870
5870
  description='The `scroll-margin-block-start`\xa0property defines the\xa0margin of the scroll snap area at the start of the block dimension\xa0that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |',
5871
5871
  )
5872
- scrollMarginBottom: Optional[Union[float_, str]] = Field(
5872
+ scrollMarginBottom: float_ | str | None = Field(
5873
5873
  default=None,
5874
5874
  description='The `scroll-margin-bottom` property defines the bottom margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------------------------------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin-bottom)_ | | |',
5875
5875
  )
5876
- scrollMarginInline: Optional[Union[float_, str]] = Field(
5876
+ scrollMarginInline: float_ | str | None = Field(
5877
5877
  default=None,
5878
5878
  description='The `scroll-margin-inline` shorthand property sets the scroll margins of an element in the inline dimension.\n\n**Syntax**: `<length>{1,2}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :--: | :-: |\n| No | **68** | **14.1** | No | No |',
5879
5879
  )
5880
- scrollMarginInlineEnd: Optional[Union[float_, str]] = Field(
5880
+ scrollMarginInlineEnd: float_ | str | None = Field(
5881
5881
  default=None,
5882
5882
  description='The `scroll-margin-inline-end`\xa0property defines the\xa0margin of the scroll snap area at the end\xa0of the inline\xa0dimension\xa0that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |',
5883
5883
  )
5884
- scrollMarginInlineStart: Optional[Union[float_, str]] = Field(
5884
+ scrollMarginInlineStart: float_ | str | None = Field(
5885
5885
  default=None,
5886
5886
  description='The `scroll-margin-inline-start` property defines the margin of the scroll snap area at the start of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |',
5887
5887
  )
5888
- scrollMarginLeft: Optional[Union[float_, str]] = Field(
5888
+ scrollMarginLeft: float_ | str | None = Field(
5889
5889
  default=None,
5890
5890
  description='The `scroll-margin-left` property defines the left margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----------------------------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin-left)_ | | |',
5891
5891
  )
5892
- scrollMarginRight: Optional[Union[float_, str]] = Field(
5892
+ scrollMarginRight: float_ | str | None = Field(
5893
5893
  default=None,
5894
5894
  description='The `scroll-margin-right` property defines the right margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----------------------------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin-right)_ | | |',
5895
5895
  )
5896
- scrollMarginTop: Optional[Union[float_, str]] = Field(
5896
+ scrollMarginTop: float_ | str | None = Field(
5897
5897
  default=None,
5898
5898
  description='The `scroll-margin-top` property defines the top margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :---------------------------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin-top)_ | | |',
5899
5899
  )
5900
- scrollPadding: Optional[Union[float_, str]] = Field(
5900
+ scrollPadding: float_ | str | None = Field(
5901
5901
  default=None,
5902
5902
  description='The **`scroll-padding`** shorthand property sets scroll padding on all sides of an element at once, much like the `padding` property does for padding on an element.\n\n**Syntax**: `[ auto | <length-percentage> ]{1,4}`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **11** | **79** | No |',
5903
5903
  )
5904
- scrollPaddingBlock: Optional[Union[float_, str]] = Field(
5904
+ scrollPaddingBlock: float_ | str | None = Field(
5905
5905
  default=None,
5906
5906
  description='The `scroll-padding-block` shorthand property sets the scroll padding of an element in the block dimension.\n\n**Syntax**: `[ auto | <length-percentage> ]{1,2}`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **15** | **79** | No |',
5907
5907
  )
5908
- scrollPaddingBlockEnd: Optional[Union[float_, str]] = Field(
5908
+ scrollPaddingBlockEnd: float_ | str | None = Field(
5909
5909
  default=None,
5910
5910
  description='The `scroll-padding-block-end` property defines offsets for the end edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.\n\n**Syntax**: `auto | <length-percentage>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **15** | **79** | No |',
5911
5911
  )
5912
- scrollPaddingBlockStart: Optional[Union[float_, str]] = Field(
5912
+ scrollPaddingBlockStart: float_ | str | None = Field(
5913
5913
  default=None,
5914
5914
  description='The `scroll-padding-block-start` property defines offsets for the start edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.\n\n**Syntax**: `auto | <length-percentage>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **15** | **79** | No |',
5915
5915
  )
5916
- scrollPaddingBottom: Optional[Union[float_, str]] = Field(
5916
+ scrollPaddingBottom: float_ | str | None = Field(
5917
5917
  default=None,
5918
5918
  description='The `scroll-padding-bottom` property defines offsets for the bottom of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.\n\n**Syntax**: `auto | <length-percentage>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **11** | **79** | No |',
5919
5919
  )
5920
- scrollPaddingInline: Optional[Union[float_, str]] = Field(
5920
+ scrollPaddingInline: float_ | str | None = Field(
5921
5921
  default=None,
5922
5922
  description='The `scroll-padding-inline` shorthand property sets the scroll padding of an element in the inline dimension.\n\n**Syntax**: `[ auto | <length-percentage> ]{1,2}`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **15** | **79** | No |',
5923
5923
  )
5924
- scrollPaddingInlineEnd: Optional[Union[float_, str]] = Field(
5924
+ scrollPaddingInlineEnd: float_ | str | None = Field(
5925
5925
  default=None,
5926
5926
  description='The `scroll-padding-inline-end`\xa0property\xa0defines offsets for the end\xa0edge in the inline\xa0dimension\xa0of the\xa0optimal viewing region\xa0of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.\n\n**Syntax**: `auto | <length-percentage>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **15** | **79** | No |',
5927
5927
  )
5928
- scrollPaddingInlineStart: Optional[Union[float_, str]] = Field(
5928
+ scrollPaddingInlineStart: float_ | str | None = Field(
5929
5929
  default=None,
5930
5930
  description='The `scroll-padding-inline-start` property defines offsets for the start edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.\n\n**Syntax**: `auto | <length-percentage>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **15** | **79** | No |',
5931
5931
  )
5932
- scrollPaddingLeft: Optional[Union[float_, str]] = Field(
5932
+ scrollPaddingLeft: float_ | str | None = Field(
5933
5933
  default=None,
5934
5934
  description='The `scroll-padding-left` property defines offsets for the left of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.\n\n**Syntax**: `auto | <length-percentage>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **11** | **79** | No |',
5935
5935
  )
5936
- scrollPaddingRight: Optional[Union[float_, str]] = Field(
5936
+ scrollPaddingRight: float_ | str | None = Field(
5937
5937
  default=None,
5938
5938
  description='The `scroll-padding-right`\xa0property\xa0defines offsets for the right\xa0of the\xa0optimal viewing region\xa0of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.\n\n**Syntax**: `auto | <length-percentage>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **11** | **79** | No |',
5939
5939
  )
5940
- scrollPaddingTop: Optional[Union[float_, str]] = Field(
5940
+ scrollPaddingTop: float_ | str | None = Field(
5941
5941
  default=None,
5942
5942
  description='The **`scroll-padding-top`** property\xa0defines offsets for the top of the\xa0optimal viewing region\xa0of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.\n\n**Syntax**: `auto | <length-percentage>`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **11** | **79** | No |',
5943
5943
  )
@@ -5947,31 +5947,31 @@ class CSSProperties(DaraBaseModel):
5947
5947
  default=None,
5948
5948
  description='The `scroll-snap-align` property specifies the box’s snap position as an alignment of its snap area (as the alignment subject) within its snap container’s snapport (as the alignment container). The two values specify the snapping alignment in the block axis and inline axis, respectively. If only one value is specified, the second value defaults to the same value.\n\n**Syntax**: `[ none | start | end | center ]{1,2}`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **69** | **68** | **11** | **79** | No |',
5949
5949
  )
5950
- scrollSnapCoordinate: Optional[Union[float_, str]] = Field(
5950
+ scrollSnapCoordinate: float_ | str | None = Field(
5951
5951
  default=None,
5952
5952
  description="The **`scroll-snap-coordinate`** CSS property defines the x and y coordinate positions within an element that will align with its nearest ancestor scroll container's `scroll-snap-destination` for each respective axis.\n\n**Syntax**: `none | <position>#`\n\n**Initial value**: `none`",
5953
5953
  )
5954
- scrollSnapDestination: Optional[Union[float_, str]] = Field(
5954
+ scrollSnapDestination: float_ | str | None = Field(
5955
5955
  default=None,
5956
5956
  description="The **`scroll-snap-destination`** CSS property defines the position in x and y coordinates within the scroll container's visual viewport which element snap points align with.\n\n**Syntax**: `<position>`\n\n**Initial value**: `0px 0px`",
5957
5957
  )
5958
- scrollSnapMargin: Optional[Union[float_, str]] = Field(
5958
+ scrollSnapMargin: float_ | str | None = Field(
5959
5959
  default=None,
5960
5960
  description='The **`scroll-margin`** shorthand property sets all of the scroll margins of an element at once, assigning values much like the `margin` property does for margins of an element.\n\n**Syntax**: `<length>{1,4}`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----------------------: | :----: | :-: |\n| **69** | 68-90 | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin)_ | | |',
5961
5961
  )
5962
- scrollSnapMarginBottom: Optional[Union[float_, str]] = Field(
5962
+ scrollSnapMarginBottom: float_ | str | None = Field(
5963
5963
  default=None,
5964
5964
  description='The `scroll-margin-bottom` property defines the bottom margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------------------------------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin-bottom)_ | | |',
5965
5965
  )
5966
- scrollSnapMarginLeft: Optional[Union[float_, str]] = Field(
5966
+ scrollSnapMarginLeft: float_ | str | None = Field(
5967
5967
  default=None,
5968
5968
  description='The `scroll-margin-left` property defines the left margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----------------------------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin-left)_ | | |',
5969
5969
  )
5970
- scrollSnapMarginRight: Optional[Union[float_, str]] = Field(
5970
+ scrollSnapMarginRight: float_ | str | None = Field(
5971
5971
  default=None,
5972
5972
  description='The `scroll-margin-right` property defines the right margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----------------------------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin-right)_ | | |',
5973
5973
  )
5974
- scrollSnapMarginTop: Optional[Union[float_, str]] = Field(
5974
+ scrollSnapMarginTop: float_ | str | None = Field(
5975
5975
  default=None,
5976
5976
  description='The `scroll-margin-top` property defines the top margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.\n\n**Syntax**: `<length>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :---------------------------: | :----: | :-: |\n| **69** | **68** | **14.1** | **79** | No |\n| | | 11 _(scroll-snap-margin-top)_ | | |',
5977
5977
  )
@@ -5983,7 +5983,7 @@ class CSSProperties(DaraBaseModel):
5983
5983
  default=None,
5984
5984
  description='The **`scroll-snap-points-y`** CSS property defines the vertical positioning of snap points within the content of the scroll container they are applied to.\n\n**Syntax**: `none | repeat( <length-percentage> )`\n\n**Initial value**: `none`',
5985
5985
  )
5986
- scrollSnapStop: Optional[Property.ScrollSnapStop] = Field(
5986
+ scrollSnapStop: Property.ScrollSnapStop | None = Field(
5987
5987
  default=None,
5988
5988
  description='The **`scroll-snap-stop`** CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.\n\n**Syntax**: `normal | always`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **75** | No | **15** | **79** | No |',
5989
5989
  )
@@ -5993,11 +5993,11 @@ class CSSProperties(DaraBaseModel):
5993
5993
  default=None,
5994
5994
  description='The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.\n\n**Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :----------: |\n| **69** | 39-68 | **11** | **79** | **10** _-x-_ |\n| | | 9 _-x-_ | | |',
5995
5995
  )
5996
- scrollSnapTypeX: Optional[Property.ScrollSnapTypeX] = Field(
5996
+ scrollSnapTypeX: Property.ScrollSnapTypeX | None = Field(
5997
5997
  default=None,
5998
5998
  description='The **`scroll-snap-type-x`** CSS property defines how strictly snap points are enforced on the horizontal axis of the scroll container in case there is one.\n\n**Syntax**: `none | mandatory | proximity`\n\n**Initial value**: `none`',
5999
5999
  )
6000
- scrollSnapTypeY: Optional[Property.ScrollSnapTypeY] = Field(
6000
+ scrollSnapTypeY: Property.ScrollSnapTypeY | None = Field(
6001
6001
  default=None,
6002
6002
  description='The **`scroll-snap-type-y`** CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.\n\n**Syntax**: `none | mandatory | proximity`\n\n**Initial value**: `none`',
6003
6003
  )
@@ -6384,7 +6384,7 @@ class CSSProperties(DaraBaseModel):
6384
6384
  default=None,
6385
6385
  description='The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.\n\n**Syntax**: `<color>`\n\n**Initial value**: `Scrollbar`',
6386
6386
  )
6387
- scrollbarWidth: Optional[Property.ScrollbarWidth] = Field(
6387
+ scrollbarWidth: Property.ScrollbarWidth | None = Field(
6388
6388
  default=None,
6389
6389
  description='The **`scrollbar-width`** property allows the author to set the maximum thickness of an element’s scrollbars when they are shown.\n\n**Syntax**: `auto | thin | none`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :--: | :-: |\n| No | **64** | No | No | No |',
6390
6390
  )
@@ -6392,7 +6392,7 @@ class CSSProperties(DaraBaseModel):
6392
6392
  default=None,
6393
6393
  description='The **`shape-image-threshold`** CSS property sets the alpha channel threshold used to extract the shape using an image as the value for `shape-outside`.\n\n**Syntax**: `<alpha-value>`\n\n**Initial value**: `0.0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **37** | **62** | **10.1** | **79** | No |',
6394
6394
  )
6395
- shapeMargin: Optional[Union[float_, str]] = Field(
6395
+ shapeMargin: float_ | str | None = Field(
6396
6396
  default=None,
6397
6397
  description='The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.\n\n**Syntax**: `<length-percentage>`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **37** | **62** | **10.1** | **79** | No |',
6398
6398
  )
@@ -6412,7 +6412,7 @@ class CSSProperties(DaraBaseModel):
6412
6412
  default=None,
6413
6413
  description='The **`shape-outside`** CSS property defines a shape—which may be non-rectangular—around which adjacent inline content should wrap. By default, inline content wraps around its margin box; `shape-outside` provides a way to customize this wrapping, making it possible to wrap text around complex objects rather than simple boxes.\n\n**Syntax**: `none | [ <shape-box> || <basic-shape> ] | <image>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **37** | **62** | **10.1** | **79** | No |',
6414
6414
  )
6415
- shapeRendering: Optional[Property.ShapeRendering] = None
6415
+ shapeRendering: Property.ShapeRendering | None = None
6416
6416
  stopColor: Literal[
6417
6417
  '-moz-initial',
6418
6418
  'ActiveBorder',
@@ -6791,30 +6791,30 @@ class CSSProperties(DaraBaseModel):
6791
6791
  'yellowgreen',
6792
6792
  None,
6793
6793
  ] = None
6794
- strokeDasharray: Optional[Union[float_, str]] = None
6795
- strokeDashoffset: Optional[Union[float_, str]] = None
6796
- strokeLinecap: Optional[Property.StrokeLinecap] = None
6797
- strokeLinejoin: Optional[Property.StrokeLinejoin] = None
6794
+ strokeDasharray: float_ | str | None = None
6795
+ strokeDashoffset: float_ | str | None = None
6796
+ strokeLinecap: Property.StrokeLinecap | None = None
6797
+ strokeLinejoin: Property.StrokeLinejoin | None = None
6798
6798
  strokeMiterlimit: Literal['-moz-initial', 'inherit', 'initial', 'revert', 'unset', None] = None
6799
6799
  strokeOpacity: Literal['-moz-initial', 'inherit', 'initial', 'revert', 'unset', None] = None
6800
- strokeWidth: Optional[Union[float_, str]] = None
6801
- tabSize: Optional[Union[float_, str]] = Field(
6800
+ strokeWidth: float_ | str | None = None
6801
+ tabSize: float_ | str | None = Field(
6802
6802
  default=None,
6803
6803
  description='The **`tab-size`** CSS property is used to customize the width of tab characters (U+0009).\n\n**Syntax**: `<integer> | <length>`\n\n**Initial value**: `8`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **21** | **91** | **7** | **79** | No |\n| | 4 _-x-_ | | | |',
6804
6804
  )
6805
- tableLayout: Optional[Property.TableLayout] = Field(
6805
+ tableLayout: Property.TableLayout | None = Field(
6806
6806
  default=None,
6807
6807
  description='The **`table-layout`** CSS property sets the algorithm used to lay out `<table>` cells, rows, and columns.\n\n**Syntax**: `auto | fixed`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **14** | **1** | **1** | **12** | **5** |',
6808
6808
  )
6809
- textAlign: Optional[Property.TextAlign] = Field(
6809
+ textAlign: Property.TextAlign | None = Field(
6810
6810
  default=None,
6811
6811
  description='The **`text-align`** CSS property sets the horizontal alignment of a\xa0block element or table-cell box. This means it works like `vertical-align` but in the horizontal direction.\n\n**Syntax**: `start | end | left | right | center | justify | match-parent`\n\n**Initial value**: `start`, or a nameless value that acts as `left` if _direction_ is `ltr`, `right` if _direction_ is `rtl` if `start` is not supported by the browser.\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |',
6812
6812
  )
6813
- textAlignLast: Optional[Property.TextAlignLast] = Field(
6813
+ textAlignLast: Property.TextAlignLast | None = Field(
6814
6814
  default=None,
6815
6815
  description='The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned.\n\n**Syntax**: `auto | start | end | left | right | center | justify`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **47** | **49** | No | **12** | **5.5** |',
6816
6816
  )
6817
- textAnchor: Optional[Property.TextAnchor] = None
6817
+ textAnchor: Property.TextAnchor | None = None
6818
6818
  textCombineUpright: Literal[
6819
6819
  '-moz-initial',
6820
6820
  '-ms-text-combine-horizontal',
@@ -6830,7 +6830,7 @@ class CSSProperties(DaraBaseModel):
6830
6830
  default=None,
6831
6831
  description='The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.\n\n**Syntax**: `none | all | [ digits <integer>? ]`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------------------------: | :-----: | :------------------------------: | :---: | :------------------------------------: |\n| **48** | **48** | **5.1** _(-webkit-text-combine)_ | 15-79 | **11** _(-ms-text-combine-horizontal)_ |\n| 9 _(-webkit-text-combine)_ | | | | |',
6832
6832
  )
6833
- textDecoration: Optional[Union[float_, str]] = Field(
6833
+ textDecoration: float_ | str | None = Field(
6834
6834
  default=None,
6835
6835
  description="The **`text-decoration`** shorthand CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, `text-decoration-style`, and the newer `text-decoration-thickness` property.\n\n**Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |",
6836
6836
  )
@@ -7059,19 +7059,19 @@ class CSSProperties(DaraBaseModel):
7059
7059
  default=None,
7060
7060
  description='The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors.\n\n**Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`\n\n**Initial value**: `objects`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :--: | :-: |\n| 57-64 | No | **12.1** | No | No |\n| | | 7 _-x-_ | | |',
7061
7061
  )
7062
- textDecorationSkipInk: Optional[Property.TextDecorationSkipInk] = Field(
7062
+ textDecorationSkipInk: Property.TextDecorationSkipInk | None = Field(
7063
7063
  default=None,
7064
7064
  description='The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.\n\n**Syntax**: `auto | all | none`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **64** | **70** | No | **79** | No |',
7065
7065
  )
7066
- textDecorationStyle: Optional[Property.TextDecorationStyle] = Field(
7066
+ textDecorationStyle: Property.TextDecorationStyle | None = Field(
7067
7067
  default=None,
7068
7068
  description='The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`.\n\n**Syntax**: `solid | double | dotted | dashed | wavy`\n\n**Initial value**: `solid`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **57** | **36** | **12.1** | **79** | No |\n| | | 8 _-x-_ | | |',
7069
7069
  )
7070
- textDecorationThickness: Optional[Union[float_, str]] = Field(
7070
+ textDecorationThickness: float_ | str | None = Field(
7071
7071
  default=None,
7072
7072
  description='The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline.\n\n**Syntax**: `auto | from-font | <length> | <percentage> `\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **89** | **70** | **12.1** | **89** | No |',
7073
7073
  )
7074
- textDecorationWidth: Optional[Union[float_, str]] = Field(
7074
+ textDecorationWidth: float_ | str | None = Field(
7075
7075
  default=None,
7076
7076
  description='The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline.\n\n**Syntax**: `auto | from-font | <length> | <percentage> `\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :---: | :-: |\n| 87-89 | **70** | **12.1** | 87-89 | No |',
7077
7077
  )
@@ -7484,15 +7484,15 @@ class CSSProperties(DaraBaseModel):
7484
7484
  default=None,
7485
7485
  description='The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.\n\n**Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----------: | :-----: | :----: | :----------: | :-: |\n| **25** _-x-_ | **46** | **7** | **79** _-x-_ | No |',
7486
7486
  )
7487
- textIndent: Optional[Union[float_, str]] = Field(
7487
+ textIndent: float_ | str | None = Field(
7488
7488
  default=None,
7489
7489
  description='The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block.\n\n**Syntax**: `<length-percentage> && hanging? && each-line?`\n\n**Initial value**: `0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **3** |',
7490
7490
  )
7491
- textJustify: Optional[Property.TextJustify] = Field(
7491
+ textJustify: Property.TextJustify | None = Field(
7492
7492
  default=None,
7493
7493
  description='The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element.\n\n**Syntax**: `auto | inter-character | inter-word | none`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :----: |\n| n/a | **55** | No | **12** | **11** |',
7494
7494
  )
7495
- textOrientation: Optional[Property.TextOrientation] = Field(
7495
+ textOrientation: Property.TextOrientation | None = Field(
7496
7496
  default=None,
7497
7497
  description='The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers.\n\n**Syntax**: `mixed | upright | sideways`\n\n**Initial value**: `mixed`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :-----: | :-------: | :----: | :-: |\n| **48** | **41** | **14** | **79** | No |\n| 11 _-x-_ | | 5.1 _-x-_ | | |',
7498
7498
  )
@@ -7500,7 +7500,7 @@ class CSSProperties(DaraBaseModel):
7500
7500
  default=None,
7501
7501
  description="The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string.\n\n**Syntax**: `[ clip | ellipsis | <string> ]{1,2}`\n\n**Initial value**: `clip`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **1** | **7** | **1.3** | **12** | **6** |",
7502
7502
  )
7503
- textRendering: Optional[Property.TextRendering] = Field(
7503
+ textRendering: Property.TextRendering | None = Field(
7504
7504
  default=None,
7505
7505
  description='The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text.\n\n**Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **4** | **1** | **5** | **79** | No |',
7506
7506
  )
@@ -7512,11 +7512,11 @@ class CSSProperties(DaraBaseModel):
7512
7512
  default=None,
7513
7513
  description='The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.\n\n**Syntax**: `none | auto | <percentage>`\n\n**Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **54** | No | No | **79** | No |',
7514
7514
  )
7515
- textTransform: Optional[Property.TextTransform] = Field(
7515
+ textTransform: Property.TextTransform | None = Field(
7516
7516
  default=None,
7517
7517
  description="The **`text-transform`** CSS property specifies how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. It also can help improve legibility for ruby.\n\n**Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
7518
7518
  )
7519
- textUnderlineOffset: Optional[Union[float_, str]] = Field(
7519
+ textUnderlineOffset: float_ | str | None = Field(
7520
7520
  default=None,
7521
7521
  description='The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position.\n\n**Syntax**: `auto | <length> | <percentage> `\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :-: |\n| **87** | **70** | **12.1** | **87** | No |',
7522
7522
  )
@@ -7526,7 +7526,7 @@ class CSSProperties(DaraBaseModel):
7526
7526
  default=None,
7527
7527
  description="The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.\n\n**Syntax**: `auto | from-font | [ under || [ left | right ] ]`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :----: | :---: |\n| **33** | **74** | **12.1** | **12** | **6** |\n| | | 9 _-x-_ | | |",
7528
7528
  )
7529
- top: Optional[Union[float_, str]] = Field(
7529
+ top: float_ | str | None = Field(
7530
7530
  default=None,
7531
7531
  description='The **`top`** CSS property participates in specifying the vertical position of a positioned element. It has no effect on non-positioned elements.\n\n**Syntax**: `<length> | <percentage> | auto`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **5** |',
7532
7532
  )
@@ -7558,15 +7558,15 @@ class CSSProperties(DaraBaseModel):
7558
7558
  default=None,
7559
7559
  description='The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.\n\n**Syntax**: `none | <transform-list>`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-------: | :----: | :-----: |\n| **36** | **16** | **9** | **12** | **10** |\n| 1 _-x-_ | | 3.1 _-x-_ | | 9 _-x-_ |',
7560
7560
  )
7561
- transformBox: Optional[Property.TransformBox] = Field(
7561
+ transformBox: Property.TransformBox | None = Field(
7562
7562
  default=None,
7563
7563
  description='The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate.\n\n**Syntax**: `content-box | border-box | fill-box | stroke-box | view-box`\n\n**Initial value**: `view-box`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-: |\n| **64** | **55** | **11** | **79** | No |',
7564
7564
  )
7565
- transformOrigin: Optional[Union[float_, str]] = Field(
7565
+ transformOrigin: float_ | str | None = Field(
7566
7566
  default=None,
7567
7567
  description="The **`transform-origin`** CSS property sets the origin for an element's transformations.\n\n**Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`\n\n**Initial value**: `50% 50% 0`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-------: | :-----: | :----: | :-----: |\n| **36** | **16** | **9** | **12** | **10** |\n| 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ | | 9 _-x-_ |",
7568
7568
  )
7569
- transformStyle: Optional[Property.TransformStyle] = Field(
7569
+ transformStyle: Property.TransformStyle | None = Field(
7570
7570
  default=None,
7571
7571
  description='The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element.\n\n**Syntax**: `flat | preserve-3d`\n\n**Initial value**: `flat`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :------: | :------: | :-----: | :----: | :-: |\n| **36** | **16** | **9** | **12** | No |\n| 12 _-x-_ | 10 _-x-_ | 4 _-x-_ | | |',
7572
7572
  )
@@ -7620,28 +7620,28 @@ class CSSProperties(DaraBaseModel):
7620
7620
  default=None,
7621
7621
  description='The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.\n\n**Syntax**: `<easing-function>#`\n\n**Initial value**: `ease`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-------: | :----: | :----: |\n| **26** | **16** | **9** | **12** | **10** |\n| 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | |',
7622
7622
  )
7623
- translate: Optional[Union[float_, str]] = Field(
7623
+ translate: float_ | str | None = Field(
7624
7624
  default=None,
7625
7625
  description='The **`translate`** CSS property allows you to specify translation transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` value.\n\n**Syntax**: `none | <length-percentage> [ <length-percentage> <length>? ]?`\n\n**Initial value**: `none`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :------: | :--: | :-: |\n| No | **72** | **14.1** | No | No |',
7626
7626
  )
7627
- unicodeBidi: Optional[Property.UnicodeBidi] = Field(
7627
+ unicodeBidi: Property.UnicodeBidi | None = Field(
7628
7628
  default=None,
7629
7629
  description='The **`unicode-bidi`** CSS property, together with the `direction` property, determines how bidirectional text in a document is handled. For example, if a block of content contains both left-to-right and right-to-left text, the user-agent uses a complex Unicode algorithm to decide how to display the text. The `unicode-bidi` property overrides this algorithm and allows the developer to control the text embedding.\n\n**Syntax**: `normal | embed | isolate | bidi-override | isolate-override | plaintext`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :-----: |\n| **2** | **1** | **1.3** | **12** | **5.5** |',
7630
7630
  )
7631
- userSelect: Optional[Property.UserSelect] = Field(
7631
+ userSelect: Property.UserSelect | None = Field(
7632
7632
  default=None,
7633
7633
  description="The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.\n\n**Syntax**: `auto | text | none | contain | all`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :---------: | :------: | :----------: |\n| **54** | **69** | **3** _-x-_ | **79** | **10** _-x-_ |\n| 1 _-x-_ | 1 _-x-_ | | 12 _-x-_ | |",
7634
7634
  )
7635
- vectorEffect: Optional[Property.VectorEffect] = None
7636
- verticalAlign: Optional[Union[float_, str]] = Field(
7635
+ vectorEffect: Property.VectorEffect | None = None
7636
+ verticalAlign: float_ | str | None = Field(
7637
7637
  default=None,
7638
7638
  description='The **`vertical-align`** CSS property sets vertical alignment of an inline, inline-block or table-cell box.\n\n**Syntax**: `baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>`\n\n**Initial value**: `baseline`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
7639
7639
  )
7640
- visibility: Optional[Property.Visibility] = Field(
7640
+ visibility: Property.Visibility | None = Field(
7641
7641
  default=None,
7642
7642
  description='The **`visibility`** CSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a `<table>`.\n\n**Syntax**: `visible | hidden | collapse`\n\n**Initial value**: `visible`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |',
7643
7643
  )
7644
- whiteSpace: Optional[Property.WhiteSpace] = Field(
7644
+ whiteSpace: Property.WhiteSpace | None = Field(
7645
7645
  default=None,
7646
7646
  description='The **`white-space`** CSS property sets how white space inside an element is handled.\n\n**Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **1** | **1** | **12** | **5.5** |',
7647
7647
  )
@@ -7649,7 +7649,7 @@ class CSSProperties(DaraBaseModel):
7649
7649
  default=None,
7650
7650
  description='The **`widows`** CSS property sets the minimum number of lines in a block container that must be shown at the _top_ of a page, region, or column.\n\n**Syntax**: `<integer>`\n\n**Initial value**: `2`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :---: |\n| **25** | No | **1.3** | **12** | **8** |',
7651
7651
  )
7652
- width: Optional[Union[float_, str]] = Field(
7652
+ width: float_ | str | None = Field(
7653
7653
  default=None,
7654
7654
  description="The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.\n\n**Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **4** |",
7655
7655
  )
@@ -7659,19 +7659,19 @@ class CSSProperties(DaraBaseModel):
7659
7659
  default=None,
7660
7660
  description='The **`will-change`** CSS property hints to browsers how an element is expected to change. Browsers may set up optimizations before an element is actually changed. These kinds of optimizations can increase the responsiveness of a page by doing potentially expensive work before they are actually required.\n\n**Syntax**: `auto | <animateable-feature>#`\n\n**Initial value**: `auto`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :-----: | :----: | :-: |\n| **36** | **36** | **9.1** | **79** | No |',
7661
7661
  )
7662
- wordBreak: Optional[Property.WordBreak] = Field(
7662
+ wordBreak: Property.WordBreak | None = Field(
7663
7663
  default=None,
7664
7664
  description='The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.\n\n**Syntax**: `normal | break-all | keep-all | break-word`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :-----: |\n| **1** | **15** | **3** | **12** | **5.5** |',
7665
7665
  )
7666
- wordSpacing: Optional[Union[float_, str]] = Field(
7666
+ wordSpacing: float_ | str | None = Field(
7667
7667
  default=None,
7668
7668
  description='The **`word-spacing`** CSS property sets the length of space between words and between tags.\n\n**Syntax**: `normal | <length>`\n\n**Initial value**: `normal`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :----: | :-----: | :----: | :----: | :---: |\n| **1** | **1** | **1** | **12** | **6** |',
7669
7669
  )
7670
- wordWrap: Optional[Property.WordWrap] = Field(
7670
+ wordWrap: Property.WordWrap | None = Field(
7671
7671
  default=None,
7672
7672
  description='The `**overflow-wrap**` CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box.\n\n**Syntax**: `normal | break-word`\n\n**Initial value**: `normal`',
7673
7673
  )
7674
- writingMode: Optional[Property.WritingMode] = Field(
7674
+ writingMode: Property.WritingMode | None = Field(
7675
7675
  default=None,
7676
7676
  description='The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents).\n\n**Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`\n\n**Initial value**: `horizontal-tb`\n\n| Chrome | Firefox | Safari | Edge | IE |\n| :-----: | :-----: | :-------: | :----: | :---: |\n| **48** | **41** | **10.1** | **12** | **9** |\n| 8 _-x-_ | | 5.1 _-x-_ | | |',
7677
7677
  )