← All changes
|
modules/atomic-widgets/styles/style-schema.php
+53
-177
4.2.1
→
3.32.0-dev2
View file →
| @@ -10,15 +10,13 @@ | ||
| 10 | 10 | use Elementor\Modules\AtomicWidgets\PropTypes\Border_Radius_Prop_Type; |
| 11 | 11 | use Elementor\Modules\AtomicWidgets\PropTypes\Border_Width_Prop_Type; |
| 12 | 12 | use Elementor\Modules\AtomicWidgets\PropTypes\Color_Prop_Type; |
| 13 | 13 | use Elementor\Modules\AtomicWidgets\PropTypes\Dimensions_Prop_Type; |
| 14 | -use Elementor\Modules\AtomicWidgets\PropTypes\Font_Family_Prop_Type; | |
| 15 | 14 | use Elementor\Modules\AtomicWidgets\PropTypes\Filters\Backdrop_Filter_Prop_Type; |
| 16 | 15 | use Elementor\Modules\AtomicWidgets\PropTypes\Filters\Filter_Prop_Type; |
| 17 | 16 | use Elementor\Modules\AtomicWidgets\PropTypes\Layout_Direction_Prop_Type; |
| 18 | 17 | use Elementor\Modules\AtomicWidgets\PropTypes\Position_Prop_Type; |
| 19 | 18 | use Elementor\Modules\AtomicWidgets\PropTypes\Primitives\Number_Prop_Type; |
| 20 | -use Elementor\Modules\AtomicWidgets\PropTypes\Grid_Track_Size_Prop_Type; | |
| 21 | 19 | use Elementor\Modules\AtomicWidgets\PropTypes\Size_Prop_Type; |
| 22 | 20 | use Elementor\Modules\AtomicWidgets\PropTypes\Primitives\String_Prop_Type; |
| 23 | 21 | use Elementor\Modules\AtomicWidgets\PropTypes\Stroke_Prop_Type; |
| 24 | 22 | use Elementor\Modules\AtomicWidgets\PropTypes\Transform\Transform_Prop_Type; |
| @@ -25,9 +23,8 @@ | ||
| 25 | 23 | use Elementor\Modules\AtomicWidgets\PropTypes\Transition_Prop_Type; |
| 26 | 24 | use Elementor\Modules\AtomicWidgets\PropTypes\Union_Prop_Type; |
| 27 | 25 | use Elementor\Modules\AtomicWidgets\PropTypes\Flex_Prop_Type; |
| 28 | 26 | use Elementor\Modules\AtomicWidgets\PropDependencies\Manager as Dependency_Manager; |
| 29 | -use Elementor\Modules\AtomicWidgets\PropTypes\Span_Prop_Type; | |
| 30 | 27 | |
| 31 | 28 | if ( ! defined( 'ABSPATH' ) ) { |
| 32 | 29 | exit; // Exit if accessed directly. |
| 33 | 30 | } |
| @@ -47,26 +44,25 @@ | ||
| 47 | 44 | self::get_background_props(), |
| 48 | 45 | self::get_effects_props(), |
| 49 | 46 | self::get_layout_props(), |
| 50 | 47 | self::get_alignment_props(), |
| 51 | - self::get_special_props(), | |
| 52 | 48 | ); |
| 53 | 49 | } |
| 54 | 50 | |
| 55 | 51 | private static function get_size_props() { |
| 56 | 52 | return [ |
| 57 | - 'width' => Size_Prop_Type::make()->description( 'The width of the element' ), | |
| 58 | - 'height' => Size_Prop_Type::make()->description( 'The height of the element' ), | |
| 59 | - 'min-width' => Size_Prop_Type::make()->description( 'The minimum width of the element' ), | |
| 60 | - 'min-height' => Size_Prop_Type::make()->description( 'The minimum height of the element' ), | |
| 61 | - 'max-width' => Size_Prop_Type::make()->description( 'The maximum width of the element' ), | |
| 62 | - 'max-height' => Size_Prop_Type::make()->description( 'The maximum height of the element' ), | |
| 53 | + 'width' => Size_Prop_Type::make(), | |
| 54 | + 'height' => Size_Prop_Type::make(), | |
| 55 | + 'min-width' => Size_Prop_Type::make(), | |
| 56 | + 'min-height' => Size_Prop_Type::make(), | |
| 57 | + 'max-width' => Size_Prop_Type::make(), | |
| 58 | + 'max-height' => Size_Prop_Type::make(), | |
| 63 | 59 | 'overflow' => String_Prop_Type::make()->enum( [ |
| 64 | 60 | 'visible', |
| 65 | 61 | 'hidden', |
| 66 | 62 | 'auto', |
| 67 | - ] )->description( 'The overflow CSS property. CSS values: visible, hidden, auto' ), | |
| 68 | - 'aspect-ratio' => String_Prop_Type::make()->description( 'Equivalent to CSS aspect-ration property' ), | |
| 63 | + ] ), | |
| 64 | + 'aspect-ratio' => String_Prop_Type::make(), | |
| 69 | 65 | 'object-fit' => String_Prop_Type::make()->enum( [ |
| 70 | 66 | 'fill', |
| 71 | 67 | 'cover', |
| 72 | 68 | 'contain', |
| @@ -71,9 +67,9 @@ | ||
| 71 | 67 | 'cover', |
| 72 | 68 | 'contain', |
| 73 | 69 | 'none', |
| 74 | 70 | 'scale-down', |
| 75 | - ] )->description( 'The object-fit CSS. CSS values: fill, cover, contain, none, scale-down' ), | |
| 71 | + ] ), | |
| 76 | 72 | 'object-position' => Union_Prop_Type::make() |
| 77 | 73 | ->add_prop_type( String_Prop_Type::make()->enum( Position_Prop_Type::get_position_enum_values() ) ) |
| 78 | 74 | ->add_prop_type( Position_Prop_Type::make() ) |
| 79 | 75 | ->set_dependencies( |
| @@ -92,20 +88,8 @@ | ||
| 92 | 88 | ]; |
| 93 | 89 | } |
| 94 | 90 | |
| 95 | 91 | private static function get_position_props() { |
| 96 | - $non_static_dependency = Dependency_Manager::make( Dependency_Manager::RELATION_AND ) | |
| 97 | - ->where( [ | |
| 98 | - 'operator' => 'exists', | |
| 99 | - 'path' => [ 'position' ], | |
| 100 | - ] ) | |
| 101 | - ->where( [ | |
| 102 | - 'operator' => 'ne', | |
| 103 | - 'path' => [ 'position' ], | |
| 104 | - 'value' => 'static', | |
| 105 | - ] ) | |
| 106 | - ->get(); | |
| 107 | - | |
| 108 | 92 | return [ |
| 109 | 93 | 'position' => String_Prop_Type::make()->enum( [ |
| 110 | 94 | 'static', |
| 111 | 95 | 'relative', |
| @@ -111,23 +95,14 @@ | ||
| 111 | 95 | 'relative', |
| 112 | 96 | 'absolute', |
| 113 | 97 | 'fixed', |
| 114 | 98 | 'sticky', |
| 115 | - ] )->description( 'The CSS position property specifies the type of positioning method used for an element (static, relative, absolute, fixed, or sticky).' ), | |
| 116 | - 'inset-block-start' => Size_Prop_Type::make() | |
| 117 | - ->description( 'Size PropType for the inset-block-start CSS property' ) | |
| 118 | - ->set_dependencies( $non_static_dependency ), | |
| 119 | - 'inset-inline-end' => Size_Prop_Type::make() | |
| 120 | - ->description( 'Size PropType for the inset-inline-end CSS property' ) | |
| 121 | - ->set_dependencies( $non_static_dependency ), | |
| 122 | - 'inset-block-end' => Size_Prop_Type::make() | |
| 123 | - ->description( 'Size PropType for the inset-block-end CSS property' ) | |
| 124 | - ->set_dependencies( $non_static_dependency ), | |
| 125 | - 'inset-inline-start' => Size_Prop_Type::make() | |
| 126 | - ->description( 'Size PropType for the inset-inline-start CSS property' ) | |
| 127 | - ->set_dependencies( $non_static_dependency ), | |
| 128 | - 'z-index' => Number_Prop_Type::make() | |
| 129 | - ->description( 'The z-index CSS property sets the z-order of a positioned element and its descendants or flex items. It specifies the stack order of elements.' ), | |
| 99 | + ] ), | |
| 100 | + 'inset-block-start' => Size_Prop_Type::make(), | |
| 101 | + 'inset-inline-end' => Size_Prop_Type::make(), | |
| 102 | + 'inset-block-end' => Size_Prop_Type::make(), | |
| 103 | + 'inset-inline-start' => Size_Prop_Type::make(), | |
| 104 | + 'z-index' => Number_Prop_Type::make(), | |
| 130 | 105 | 'scroll-margin-top' => Size_Prop_Type::make()->units( Size_Constants::anchor_offset() ), |
| 131 | 106 | ]; |
| 132 | 107 | } |
| 133 | 108 | |
| @@ -132,10 +107,9 @@ | ||
| 132 | 107 | } |
| 133 | 108 | |
| 134 | 109 | private static function get_typography_props() { |
| 135 | 110 | return [ |
| 136 | - 'font-family' => Font_Family_Prop_Type::make() | |
| 137 | - ->description( 'The font family of the text content.' ), | |
| 111 | + 'font-family' => String_Prop_Type::make(), | |
| 138 | 112 | 'font-weight' => String_Prop_Type::make()->enum( [ |
| 139 | 113 | '100', |
| 140 | 114 | '200', |
| 141 | 115 | '300', |
| @@ -148,16 +122,14 @@ | ||
| 148 | 122 | 'normal', |
| 149 | 123 | 'bold', |
| 150 | 124 | 'bolder', |
| 151 | 125 | 'lighter', |
| 152 | - ] ) | |
| 153 | - ->description( 'The weight (or boldness) of the font. Values should match css font-weight specifications.' ), | |
| 154 | - 'font-size' => Size_Prop_Type::make()->units( Size_Constants::typography() )->description( 'The font size in Size PropType Format' ), | |
| 155 | - 'color' => Color_Prop_Type::make() | |
| 156 | - ->description( 'The text color, specified as a hex code, rgb(a), hsl(a), or a standard css color name.' ), | |
| 157 | - 'letter-spacing' => Size_Prop_Type::make()->units( Size_Constants::typography() )->description( 'The spacing between letters in Size PropType format' ), | |
| 158 | - 'word-spacing' => Size_Prop_Type::make()->units( Size_Constants::typography() )->description( 'The spacing between words in Size PropType format' ), | |
| 159 | - 'column-count' => Number_Prop_Type::make()->description( 'The number of columns the text content should be divided into.' ), | |
| 126 | + ] ), | |
| 127 | + 'font-size' => Size_Prop_Type::make()->units( Size_Constants::typography() ), | |
| 128 | + 'color' => Color_Prop_Type::make(), | |
| 129 | + 'letter-spacing' => Size_Prop_Type::make()->units( Size_Constants::typography() ), | |
| 130 | + 'word-spacing' => Size_Prop_Type::make()->units( Size_Constants::typography() ), | |
| 131 | + 'column-count' => Number_Prop_Type::make(), | |
| 160 | 132 | 'column-gap' => Size_Prop_Type::make() |
| 161 | 133 | ->set_dependencies( |
| 162 | 134 | Dependency_Manager::make() |
| 163 | 135 | ->where( [ |
| @@ -166,36 +138,32 @@ | ||
| 166 | 138 | 'value' => 1, |
| 167 | 139 | ] ) |
| 168 | 140 | ->get() |
| 169 | 141 | ), |
| 170 | - 'line-height' => Size_Prop_Type::make()->units( Size_Constants::typography() )->description( 'The line height of the text content in Size PropType format' ), | |
| 142 | + 'line-height' => Size_Prop_Type::make()->units( Size_Constants::typography() ), | |
| 171 | 143 | 'text-align' => String_Prop_Type::make()->enum( [ |
| 172 | 144 | 'start', |
| 173 | 145 | 'center', |
| 174 | 146 | 'end', |
| 175 | 147 | 'justify', |
| 176 | - ] ) | |
| 177 | - ->description( 'The horizontal alignment of the text content. Allowed values: start, center, end, justify.' ), | |
| 148 | + ] ), | |
| 178 | 149 | 'font-style' => String_Prop_Type::make()->enum( [ |
| 179 | 150 | 'normal', |
| 180 | 151 | 'italic', |
| 181 | 152 | 'oblique', |
| 182 | - ] ) | |
| 183 | - ->description( 'The font style of the text content. CSS values: normal, italic, oblique' ), | |
| 153 | + ] ), | |
| 184 | 154 | // TODO: validate text-decoration in more specific way [EDS-524] |
| 185 | - 'text-decoration' => String_Prop_Type::make() | |
| 186 | - ->description( 'The text decoration style. CSS values like: none, underline, overline, line-through, blink, etc.' ), | |
| 155 | + 'text-decoration' => String_Prop_Type::make(), | |
| 187 | 156 | 'text-transform' => String_Prop_Type::make()->enum( [ |
| 188 | 157 | 'none', |
| 189 | 158 | 'capitalize', |
| 190 | 159 | 'uppercase', |
| 191 | 160 | 'lowercase', |
| 192 | - ] ) | |
| 193 | - ->description( 'Controls the capitalization of text. CSS values: none, capitalize, uppercase, lowercase' ), | |
| 161 | + ] ), | |
| 194 | 162 | 'direction' => String_Prop_Type::make()->enum( [ |
| 195 | 163 | 'ltr', |
| 196 | 164 | 'rtl', |
| 197 | - ] )->description( 'The text direction. CSS values: ltr (left to right), rtl (right to left)' ), | |
| 165 | + ] ), | |
| 198 | 166 | 'stroke' => Stroke_Prop_Type::make(), |
| 199 | 167 | 'all' => String_Prop_Type::make()->enum( [ |
| 200 | 168 | 'initial', |
| 201 | 169 | 'inherit', |
| @@ -201,13 +169,12 @@ | ||
| 201 | 169 | 'inherit', |
| 202 | 170 | 'unset', |
| 203 | 171 | 'revert', |
| 204 | 172 | 'revert-layer', |
| 205 | - ] )->description( 'The all CSS property. CSS values: initial, inherit, unset, revert, revert-layer' ), | |
| 173 | + ] ), | |
| 206 | 174 | 'cursor' => String_Prop_Type::make()->enum( [ |
| 207 | 175 | 'pointer', |
| 208 | - ] ) | |
| 209 | - ->description( 'The type of cursor to be displayed when pointing over the element. E.g., pointer.' ), | |
| 176 | + ] ), | |
| 210 | 177 | ]; |
| 211 | 178 | } |
| 212 | 179 | |
| 213 | 180 | private static function get_spacing_props() { |
| @@ -213,20 +180,12 @@ | ||
| 213 | 180 | private static function get_spacing_props() { |
| 214 | 181 | return [ |
| 215 | 182 | 'padding' => Union_Prop_Type::make() |
| 216 | 183 | ->add_prop_type( Dimensions_Prop_Type::make_with_units( Size_Constants::spacing() ) ) |
| 217 | - ->add_prop_type( | |
| 218 | - Size_Prop_Type::make() | |
| 219 | - ->units( Size_Constants::spacing() ) | |
| 220 | - ->description( 'Padding css in Size PropType format' ) | |
| 221 | - ), | |
| 184 | + ->add_prop_type( Size_Prop_Type::make()->units( Size_Constants::spacing() ) ), | |
| 222 | 185 | 'margin' => Union_Prop_Type::make() |
| 223 | - ->add_prop_type( Dimensions_Prop_Type::make_with_units( Size_Constants::spacing_margin() ) ) | |
| 224 | - ->add_prop_type( | |
| 225 | - Size_Prop_Type::make() | |
| 226 | - ->units( Size_Constants::spacing_margin() ) | |
| 227 | - ->description( 'Margin css in Size PropType format' ) | |
| 228 | - ), | |
| 186 | + ->add_prop_type( Dimensions_Prop_Type::make() ) | |
| 187 | + ->add_prop_type( Size_Prop_Type::make() ), | |
| 229 | 188 | ]; |
| 230 | 189 | } |
| 231 | 190 | |
| 232 | 191 | private static function get_border_props() { |
| @@ -231,14 +190,14 @@ | ||
| 231 | 190 | |
| 232 | 191 | private static function get_border_props() { |
| 233 | 192 | return [ |
| 234 | 193 | 'border-radius' => Union_Prop_Type::make() |
| 235 | - ->add_prop_type( Border_Radius_Prop_Type::make() ) | |
| 236 | - ->add_prop_type( Size_Prop_Type::make()->units( Size_Constants::border() ) ), | |
| 194 | + ->add_prop_type( Size_Prop_Type::make()->units( Size_Constants::border() ) ) | |
| 195 | + ->add_prop_type( Border_Radius_Prop_Type::make() ), | |
| 237 | 196 | 'border-width' => Union_Prop_Type::make() |
| 238 | - ->add_prop_type( Border_Width_Prop_Type::make() ) | |
| 239 | - ->add_prop_type( Size_Prop_Type::make()->units( Size_Constants::border() ) ), | |
| 240 | - 'border-color' => Color_Prop_Type::make()->description( 'The border color, specified as a hex code, rgb(a), hsl(a), or a standard css color name.' ), | |
| 197 | + ->add_prop_type( Size_Prop_Type::make()->units( Size_Constants::border() ) ) | |
| 198 | + ->add_prop_type( Border_Width_Prop_Type::make() ), | |
| 199 | + 'border-color' => Color_Prop_Type::make(), | |
| 241 | 200 | 'border-style' => String_Prop_Type::make()->enum( [ |
| 242 | 201 | 'none', |
| 243 | 202 | 'hidden', |
| 244 | 203 | 'dotted', |
| @@ -248,28 +207,9 @@ | ||
| 248 | 207 | 'groove', |
| 249 | 208 | 'ridge', |
| 250 | 209 | 'inset', |
| 251 | 210 | 'outset', |
| 252 | - ] ) | |
| 253 | - ->description( 'The border style in CSS values' ), | |
| 254 | - 'outline-width' => Size_Prop_Type::make() | |
| 255 | - ->units( Size_Constants::border() ) | |
| 256 | - ->description( 'The width of the outline in Size PropType format' ), | |
| 257 | - 'outline-color' => Color_Prop_Type::make()->description( 'The color of the outline, specified as a hex code, rgb(a), hsl(a), or a standard css color name.' ), | |
| 258 | - 'outline-style' => String_Prop_Type::make()->enum( [ | |
| 259 | - 'none', | |
| 260 | - 'hidden', | |
| 261 | - 'dotted', | |
| 262 | - 'dashed', | |
| 263 | - 'solid', | |
| 264 | - 'double', | |
| 265 | - 'groove', | |
| 266 | - 'ridge', | |
| 267 | - 'inset', | |
| 268 | - 'outset', | |
| 269 | - ] )->description( 'The outline style in CSS values' ), | |
| 270 | - 'outline-offset' => Size_Prop_Type::make()->units( Size_Constants::border() )->description( 'The offset of the outline, specified as a length in Size PropType format' ), | |
| 271 | - | |
| 211 | + ] ), | |
| 272 | 212 | ]; |
| 273 | 213 | } |
| 274 | 214 | |
| 275 | 215 | private static function get_background_props() { |
| @@ -276,9 +216,9 @@ | ||
| 276 | 216 | // Background image overlay as an exception |
| 277 | 217 | $background_prop_type = Background_Prop_Type::make(); |
| 278 | 218 | $bg_overlay_prop_type = $background_prop_type->get_shape_field( Background_Overlay_Prop_Type::get_key() ); |
| 279 | 219 | $bg_image_overlay_prop_type = $bg_overlay_prop_type->get_item_type()->get_prop_type( Background_Image_Overlay_Prop_Type::get_key() ); |
| 280 | - Dynamic_Prop_Types_Mapping::make()->get_extended_schema( $bg_image_overlay_prop_type->get_shape() ); | |
| 220 | + Dynamic_Prop_Types_Mapping::make()->get_modified_prop_types( $bg_image_overlay_prop_type->get_shape() ); | |
| 281 | 221 | return [ |
| 282 | 222 | 'background' => $background_prop_type, |
| 283 | 223 | ]; |
| 284 | 224 | } |
| @@ -284,29 +224,10 @@ | ||
| 284 | 224 | } |
| 285 | 225 | |
| 286 | 226 | private static function get_effects_props() { |
| 287 | 227 | return [ |
| 288 | - 'mix-blend-mode' => String_Prop_Type::make()->enum( [ | |
| 289 | - 'normal', | |
| 290 | - 'multiply', | |
| 291 | - 'screen', | |
| 292 | - 'overlay', | |
| 293 | - 'darken', | |
| 294 | - 'lighten', | |
| 295 | - 'color-dodge', | |
| 296 | - 'saturation', | |
| 297 | - 'color', | |
| 298 | - 'difference', | |
| 299 | - 'exclusion', | |
| 300 | - 'hue', | |
| 301 | - 'luminosity', | |
| 302 | - 'soft-light', | |
| 303 | - 'hard-light', | |
| 304 | - 'color-burn', | |
| 305 | - ] )->description( 'Applied as mix-blend mode css effect.' ), | |
| 306 | 228 | 'box-shadow' => Box_Shadow_Prop_Type::make(), |
| 307 | 229 | 'opacity' => Size_Prop_Type::make() |
| 308 | - ->description( 'The opacity of the element, specified as a percentage between 0 (fully transparent) and 100 (fully opaque).' ) | |
| 309 | 230 | ->units( Size_Constants::opacity() ) |
| 310 | 231 | ->default_unit( Size_Constants::UNIT_PERCENT ), |
| 311 | 232 | 'filter' => Filter_Prop_Type::make(), |
| 312 | 233 | 'backdrop-filter' => Backdrop_Filter_Prop_Type::make(), |
| @@ -327,17 +248,15 @@ | ||
| 327 | 248 | 'inline-grid', |
| 328 | 249 | 'flow-root', |
| 329 | 250 | 'none', |
| 330 | 251 | 'contents', |
| 331 | - ] )->description( 'The CSS display property defines the display behavior (the type of rendering box) of an element.' ), | |
| 332 | - 'flex-direction' => String_Prop_Type::make() | |
| 333 | - ->description( 'The direction of the contained items.' ) | |
| 334 | - ->enum( [ | |
| 335 | - 'row', | |
| 336 | - 'row-reverse', | |
| 337 | - 'column', | |
| 338 | - 'column-reverse', | |
| 339 | - ] ), | |
| 252 | + ] ), | |
| 253 | + 'flex-direction' => String_Prop_Type::make()->enum( [ | |
| 254 | + 'row', | |
| 255 | + 'row-reverse', | |
| 256 | + 'column', | |
| 257 | + 'column-reverse', | |
| 258 | + ] ), | |
| 340 | 259 | 'gap' => Union_Prop_Type::make() |
| 341 | 260 | ->add_prop_type( Layout_Direction_Prop_Type::make() ) |
| 342 | 261 | ->add_prop_type( Size_Prop_Type::make()->units( Size_Constants::layout() ) ), |
| 343 | 262 | 'flex-wrap' => String_Prop_Type::make()->enum( [ |
| @@ -343,31 +262,10 @@ | ||
| 343 | 262 | 'flex-wrap' => String_Prop_Type::make()->enum( [ |
| 344 | 263 | 'wrap', |
| 345 | 264 | 'nowrap', |
| 346 | 265 | 'wrap-reverse', |
| 347 | - ] )->description( 'Specifies whether the flex items should wrap or not. CSS values: wrap, nowrap, wrap-reverse' ), | |
| 266 | + ] ), | |
| 348 | 267 | 'flex' => Flex_Prop_Type::make(), |
| 349 | - 'grid-template-columns' => Union_Prop_Type::make() | |
| 350 | - ->add_prop_type( String_Prop_Type::make() ) | |
| 351 | - ->add_prop_type( Grid_Track_Size_Prop_Type::make()->units( Size_Constants::grid_track() ) ), | |
| 352 | - 'grid-template-rows' => Union_Prop_Type::make() | |
| 353 | - ->add_prop_type( String_Prop_Type::make() ) | |
| 354 | - ->add_prop_type( Grid_Track_Size_Prop_Type::make()->units( Size_Constants::grid_track() ) ), | |
| 355 | - 'grid-auto-flow' => String_Prop_Type::make() | |
| 356 | - ->enum( [ 'row', 'column', 'row dense', 'column dense' ] ) | |
| 357 | - ->description( 'Controls how auto-placed items flow in the grid. CSS values: row, column, row dense, column dense.' ), | |
| 358 | - 'grid-auto-rows' => Size_Prop_Type::make() | |
| 359 | - ->units( Size_Constants::grid_auto_track() ) | |
| 360 | - ->default_unit( Size_Constants::UNIT_FR ), | |
| 361 | - 'grid-auto-columns' => Size_Prop_Type::make() | |
| 362 | - ->units( Size_Constants::grid_auto_track() ) | |
| 363 | - ->default_unit( Size_Constants::UNIT_FR ), | |
| 364 | - 'grid-column' => Span_Prop_Type::make() | |
| 365 | - ->regex( '/^(?!.*https?:\/\/)(?!.*;).*$/' ) | |
| 366 | - ->description( 'Defines a grid item column placement. Accepts values like span N or any valid CSS grid-column value. Disallows URLs and semicolons.' ), | |
| 367 | - 'grid-row' => Span_Prop_Type::make() | |
| 368 | - ->regex( '/^(?!.*https?:\/\/)(?!.*;).*$/' ) | |
| 369 | - ->description( 'Defines a grid item row placement. Accepts values like span N or any valid CSS grid-row value. Disallows URLs and semicolons.' ), | |
| 370 | 268 | ]; |
| 371 | 269 | } |
| 372 | 270 | |
| 373 | 271 | private static function get_alignment_props() { |
| @@ -384,22 +282,9 @@ | ||
| 384 | 282 | 'space-between', |
| 385 | 283 | 'space-around', |
| 386 | 284 | 'space-evenly', |
| 387 | 285 | 'stretch', |
| 388 | - ] ) | |
| 389 | - ->description( 'Defines how the browser distributes space between and around content items along the main-axis of a flex container. CSS values: center, start, end, flex-start, flex-end, left, right, normal, space-between, space-around, space-evenly, stretch' ), | |
| 390 | - 'justify-items' => String_Prop_Type::make()->enum( [ | |
| 391 | - 'normal', | |
| 392 | - 'stretch', | |
| 393 | - 'center', | |
| 394 | - 'start', | |
| 395 | - 'end', | |
| 396 | - 'flex-start', | |
| 397 | - 'flex-end', | |
| 398 | - 'left', | |
| 399 | - 'right', | |
| 400 | - 'anchor-center', | |
| 401 | - ] )->description( 'Defines how the browser distributes space between and around content items along the inline axis of a grid container. CSS values: center, start, end, flex-start, flex-end, left, right' ), | |
| 286 | + ] ), | |
| 402 | 287 | 'align-content' => String_Prop_Type::make()->enum( [ |
| 403 | 288 | 'center', |
| 404 | 289 | 'start', |
| 405 | 290 | 'end', |
| @@ -405,10 +290,9 @@ | ||
| 405 | 290 | 'end', |
| 406 | 291 | 'space-between', |
| 407 | 292 | 'space-around', |
| 408 | 293 | 'space-evenly', |
| 409 | - ] ) | |
| 410 | - ->description( 'Aligns a flex container\'s lines within when there is extra space in the cross-axis. CSS values: center, start, end, space-between, space-around, space-evenly' ), | |
| 294 | + ] ), | |
| 411 | 295 | 'align-items' => String_Prop_Type::make()->enum( [ |
| 412 | 296 | 'normal', |
| 413 | 297 | 'stretch', |
| 414 | 298 | 'center', |
| @@ -418,9 +302,9 @@ | ||
| 418 | 302 | 'flex-end', |
| 419 | 303 | 'self-start', |
| 420 | 304 | 'self-end', |
| 421 | 305 | 'anchor-center', |
| 422 | - ] )->description( 'Defines the default behavior for how flex items are laid out along the cross axis on the current line. CSS values: normal, stretch, center, start, end, flex-start, flex-end, self-start, self-end, anchor-center' ), | |
| 306 | + ] ), | |
| 423 | 307 | 'align-self' => String_Prop_Type::make()->enum( [ |
| 424 | 308 | 'auto', |
| 425 | 309 | 'normal', |
| 426 | 310 | 'center', |
| @@ -434,17 +318,9 @@ | ||
| 434 | 318 | 'baseline', |
| 435 | 319 | 'first baseline', |
| 436 | 320 | 'last baseline', |
| 437 | 321 | 'stretch', |
| 438 | - ] )->description( 'Allows the default alignment (or the one specified by align-items) to be overridden for individual flex items. CSS values: auto, normal, center, start, end, self-start, self-end, flex-start, flex-end, anchor-center, baseline, first baseline, last baseline, stretch' ), | |
| 439 | - 'order' => Number_Prop_Type::make()->description( 'Specifies the order of the flex items. Items with lower order values are displayed first.' ), | |
| 440 | - ]; | |
| 441 | - } | |
| 442 | - | |
| 443 | - private static function get_special_props() { | |
| 444 | - return [ | |
| 445 | - 'content' => String_Prop_Type::make()->description( 'The string content for pseudo-element content property' ), | |
| 446 | - 'appearance' => String_Prop_Type::make()->enum( [ 'none', 'auto' ] )->description( 'The appearance of the element. CSS values: none, auto' ), | |
| 447 | - 'clip-path' => String_Prop_Type::make()->description( 'The clip-path CSS property defines a shape to be used as clipping region.' ), | |
| 322 | + ] ), | |
| 323 | + 'order' => Number_Prop_Type::make(), | |
| 448 | 324 | ]; |
| 449 | 325 | } |
| 450 | 326 | } |