-
Notifications
You must be signed in to change notification settings - Fork 102
/
mod.rs
897 lines (897 loc) · 32.5 KB
/
mod.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
#[allow(dead_code)]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
enum WritingMode {
Horizontal,
Vertical,
}
#[allow(dead_code)]
fn measure_standard_text(
known_dimensions: taffy::geometry::Size<Option<f32>>,
available_space: taffy::geometry::Size<taffy::style::AvailableSpace>,
text_content: &str,
writing_mode: WritingMode,
_aspect_ratio: Option<f32>,
) -> taffy::geometry::Size<f32> {
use taffy::axis::AbsoluteAxis;
use taffy::prelude::*;
const ZWS: char = '\u{200B}';
const H_WIDTH: f32 = 10.0;
const H_HEIGHT: f32 = 10.0;
if let Size { width: Some(width), height: Some(height) } = known_dimensions {
return Size { width, height };
}
let inline_axis = match writing_mode {
WritingMode::Horizontal => AbsoluteAxis::Horizontal,
WritingMode::Vertical => AbsoluteAxis::Vertical,
};
let block_axis = inline_axis.other_axis();
let lines: Vec<&str> = text_content.split(ZWS).collect();
if lines.is_empty() {
return Size::ZERO;
}
let min_line_length: usize = lines.iter().map(|line| line.len()).max().unwrap_or(0);
let max_line_length: usize = lines.iter().map(|line| line.len()).sum();
let inline_size =
known_dimensions.get_abs(inline_axis).unwrap_or_else(|| match available_space.get_abs(inline_axis) {
AvailableSpace::MinContent => min_line_length as f32 * H_WIDTH,
AvailableSpace::MaxContent => max_line_length as f32 * H_WIDTH,
AvailableSpace::Definite(inline_size) => {
inline_size.min(max_line_length as f32 * H_WIDTH).max(min_line_length as f32 * H_WIDTH)
}
});
let block_size = known_dimensions.get_abs(block_axis).unwrap_or_else(|| {
let inline_line_length = (inline_size / H_WIDTH).floor() as usize;
let mut line_count = 1;
let mut current_line_length = 0;
for line in &lines {
if current_line_length + line.len() > inline_line_length {
if current_line_length > 0 {
line_count += 1
};
current_line_length = line.len();
} else {
current_line_length += line.len();
};
}
(line_count as f32) * H_HEIGHT
});
match writing_mode {
WritingMode::Horizontal => Size { width: inline_size, height: block_size },
WritingMode::Vertical => Size { width: block_size, height: inline_size },
}
}
mod absolute_aspect_ratio_aspect_ratio_overrides_height_of_full_inset;
mod absolute_aspect_ratio_fill_height;
mod absolute_aspect_ratio_fill_height_from_inset;
mod absolute_aspect_ratio_fill_max_height;
mod absolute_aspect_ratio_fill_max_width;
mod absolute_aspect_ratio_fill_min_height;
mod absolute_aspect_ratio_fill_min_width;
mod absolute_aspect_ratio_fill_width;
mod absolute_aspect_ratio_fill_width_from_inset;
mod absolute_aspect_ratio_height_overrides_inset;
mod absolute_aspect_ratio_width_overrides_inset;
mod absolute_child_with_cross_margin;
mod absolute_child_with_main_margin;
mod absolute_child_with_max_height;
mod absolute_child_with_max_height_larger_shrinkable_grandchild;
mod absolute_layout_align_items_and_justify_content_center;
mod absolute_layout_align_items_and_justify_content_center_and_bottom_position;
mod absolute_layout_align_items_and_justify_content_center_and_left_position;
mod absolute_layout_align_items_and_justify_content_center_and_right_position;
mod absolute_layout_align_items_and_justify_content_center_and_top_position;
mod absolute_layout_align_items_and_justify_content_flex_end;
mod absolute_layout_align_items_center;
mod absolute_layout_align_items_center_on_child_only;
mod absolute_layout_child_order;
mod absolute_layout_in_wrap_reverse_column_container;
mod absolute_layout_in_wrap_reverse_column_container_flex_end;
mod absolute_layout_in_wrap_reverse_row_container;
mod absolute_layout_in_wrap_reverse_row_container_flex_end;
mod absolute_layout_justify_content_center;
mod absolute_layout_no_size;
mod absolute_layout_percentage_bottom_based_on_parent_height;
mod absolute_layout_percentage_height;
mod absolute_layout_row_width_height_end_bottom;
mod absolute_layout_start_top_end_bottom;
mod absolute_layout_width_height_end_bottom;
mod absolute_layout_width_height_start_top;
mod absolute_layout_width_height_start_top_end_bottom;
mod absolute_layout_within_border;
mod absolute_margin_bottom_left;
mod absolute_minmax_bottom_right_max;
mod absolute_minmax_bottom_right_min_max;
mod absolute_minmax_bottom_right_min_max_preferred;
mod absolute_minmax_top_left_bottom_right_max;
mod absolute_minmax_top_left_bottom_right_min_max;
mod align_baseline;
mod align_baseline_child;
mod align_baseline_child_margin;
mod align_baseline_child_margin_percent;
mod align_baseline_child_multiline;
mod align_baseline_child_multiline_no_override_on_secondline;
mod align_baseline_child_multiline_override;
mod align_baseline_child_padding;
mod align_baseline_child_top;
mod align_baseline_child_top2;
mod align_baseline_column;
mod align_baseline_double_nested_child;
mod align_baseline_multiline;
mod align_baseline_multiline_column;
mod align_baseline_multiline_column2;
mod align_baseline_multiline_row_and_column;
mod align_baseline_nested_child;
mod align_baseline_nested_column;
mod align_center_should_size_based_on_content;
mod align_content_flex_end;
mod align_content_flex_start;
mod align_content_flex_start_with_flex;
mod align_content_flex_start_without_height_on_children;
mod align_content_not_stretch_with_align_items_stretch;
mod align_content_space_around_single_line;
mod align_content_space_around_wrapped;
mod align_content_space_between_single_line;
mod align_content_space_between_wrapped;
mod align_content_space_evenly_single_line;
mod align_content_space_evenly_wrapped;
mod align_content_spacearound;
mod align_content_spacebetween;
mod align_content_stretch;
mod align_content_stretch_column;
mod align_content_stretch_is_not_overriding_align_items;
mod align_content_stretch_row;
mod align_content_stretch_row_with_children;
mod align_content_stretch_row_with_fixed_height;
mod align_content_stretch_row_with_flex;
mod align_content_stretch_row_with_flex_no_shrink;
mod align_content_stretch_row_with_margin;
mod align_content_stretch_row_with_max_height;
mod align_content_stretch_row_with_min_height;
mod align_content_stretch_row_with_padding;
mod align_content_stretch_row_with_single_row;
mod align_flex_start_with_shrinking_children;
mod align_flex_start_with_shrinking_children_with_stretch;
mod align_flex_start_with_stretching_children;
mod align_items_center;
mod align_items_center_child_with_margin_bigger_than_parent;
mod align_items_center_child_without_margin_bigger_than_parent;
mod align_items_center_justify_content_center;
mod align_items_center_min_max_with_padding;
mod align_items_center_with_child_margin;
mod align_items_center_with_child_top;
mod align_items_flex_end;
mod align_items_flex_end_child_with_margin_bigger_than_parent;
mod align_items_flex_end_child_without_margin_bigger_than_parent;
mod align_items_flex_start;
mod align_items_min_max;
mod align_items_stretch;
mod align_items_stretch_min_cross;
mod align_self_baseline;
mod align_self_center;
mod align_self_center_undefined_max_height;
mod align_self_flex_end;
mod align_self_flex_end_override_flex_start;
mod align_self_flex_start;
mod align_stretch_should_size_based_on_parent;
mod android_news_feed;
mod aspect_ratio_flex_column_fill_height;
mod aspect_ratio_flex_column_fill_max_height;
mod aspect_ratio_flex_column_fill_max_width;
mod aspect_ratio_flex_column_fill_min_height;
mod aspect_ratio_flex_column_fill_min_width;
mod aspect_ratio_flex_column_fill_width;
mod aspect_ratio_flex_column_fill_width_flex;
mod aspect_ratio_flex_column_stretch_fill_height;
mod aspect_ratio_flex_column_stretch_fill_max_height;
mod aspect_ratio_flex_column_stretch_fill_max_width;
mod aspect_ratio_flex_column_stretch_fill_width;
mod aspect_ratio_flex_row_fill_height;
mod aspect_ratio_flex_row_fill_max_height;
mod aspect_ratio_flex_row_fill_max_width;
mod aspect_ratio_flex_row_fill_min_height;
mod aspect_ratio_flex_row_fill_min_width;
mod aspect_ratio_flex_row_fill_width;
mod aspect_ratio_flex_row_fill_width_flex;
mod aspect_ratio_flex_row_stretch_fill_height;
mod aspect_ratio_flex_row_stretch_fill_max_height;
mod aspect_ratio_flex_row_stretch_fill_max_width;
mod aspect_ratio_flex_row_stretch_fill_width;
mod border_center_child;
mod border_container_match_child;
mod border_flex_child;
mod border_no_child;
mod border_no_size;
mod border_stretch_child;
mod child_min_max_width_flexing;
mod child_with_padding_align_end;
mod container_with_unsized_child;
mod display_none;
mod display_none_absolute_child;
mod display_none_fixed_size;
mod display_none_with_child;
mod display_none_with_margin;
mod display_none_with_position;
mod display_none_with_position_absolute;
mod flex_basis_and_main_dimen_set_when_flexing;
mod flex_basis_flex_grow_column;
mod flex_basis_flex_grow_row;
mod flex_basis_flex_shrink_column;
mod flex_basis_flex_shrink_row;
mod flex_basis_larger_than_content_column;
mod flex_basis_larger_than_content_row;
mod flex_basis_overrides_main_size;
mod flex_basis_slightly_smaller_then_content_with_flex_grow_large_size;
mod flex_basis_smaller_than_content_column;
mod flex_basis_smaller_than_content_row;
mod flex_basis_smaller_than_main_dimen_column;
mod flex_basis_smaller_than_main_dimen_row;
mod flex_basis_smaller_then_content_with_flex_grow_large_size;
mod flex_basis_smaller_then_content_with_flex_grow_small_size;
mod flex_basis_smaller_then_content_with_flex_grow_unconstraint_size;
mod flex_basis_smaller_then_content_with_flex_grow_very_large_size;
mod flex_basis_unconstraint_column;
mod flex_basis_unconstraint_row;
mod flex_basis_zero_undefined_main_size;
mod flex_column_relative_all_sides;
mod flex_direction_column;
mod flex_direction_column_no_height;
mod flex_direction_column_reverse;
mod flex_direction_column_reverse_no_height;
mod flex_direction_row;
mod flex_direction_row_no_width;
mod flex_direction_row_reverse;
mod flex_grow_child;
mod flex_grow_flex_basis_percent_min_max;
mod flex_grow_height_maximized;
mod flex_grow_in_at_most_container;
mod flex_grow_less_than_factor_one;
mod flex_grow_root_minimized;
mod flex_grow_shrink_at_most;
mod flex_grow_to_min;
mod flex_grow_within_constrained_max_column;
mod flex_grow_within_constrained_max_row;
mod flex_grow_within_constrained_max_width;
mod flex_grow_within_constrained_min_column;
mod flex_grow_within_constrained_min_max_column;
mod flex_grow_within_constrained_min_row;
mod flex_grow_within_max_width;
mod flex_root_ignored;
mod flex_row_relative_all_sides;
mod flex_shrink_by_outer_margin_with_max_size;
mod flex_shrink_flex_grow_child_flex_shrink_other_child;
mod flex_shrink_flex_grow_row;
mod flex_shrink_to_zero;
mod flex_wrap_align_stretch_fits_one_row;
mod flex_wrap_children_with_min_main_overriding_flex_basis;
mod flex_wrap_wrap_to_child_height;
mod gap_column_gap_child_margins;
mod gap_column_gap_determines_parent_width;
mod gap_column_gap_flexible;
mod gap_column_gap_flexible_undefined_parent;
mod gap_column_gap_inflexible;
mod gap_column_gap_inflexible_undefined_parent;
mod gap_column_gap_justify_center;
mod gap_column_gap_justify_flex_end;
mod gap_column_gap_justify_flex_start;
mod gap_column_gap_justify_space_around;
mod gap_column_gap_justify_space_between;
mod gap_column_gap_justify_space_evenly;
mod gap_column_gap_mixed_flexible;
mod gap_column_gap_percentage_cyclic_partially_shrinkable;
mod gap_column_gap_percentage_cyclic_shrinkable;
mod gap_column_gap_percentage_cyclic_unshrinkable;
mod gap_column_gap_percentage_flexible;
mod gap_column_gap_percentage_flexible_with_padding;
mod gap_column_gap_percentage_inflexible;
mod gap_column_gap_row_gap_wrapping;
mod gap_column_gap_wrap_align_center;
mod gap_column_gap_wrap_align_flex_end;
mod gap_column_gap_wrap_align_flex_start;
mod gap_column_gap_wrap_align_space_around;
mod gap_column_gap_wrap_align_space_between;
mod gap_column_gap_wrap_align_stretch;
mod gap_column_row_gap_wrapping;
mod gap_percentage_row_gap_wrapping;
mod gap_row_gap_align_items_end;
mod gap_row_gap_align_items_stretch;
mod gap_row_gap_column_child_margins;
mod gap_row_gap_determines_parent_height;
mod gap_row_gap_row_wrap_child_margins;
#[cfg(feature = "grid")]
mod grid_absolute_align_self_sized_all;
#[cfg(feature = "grid")]
mod grid_absolute_column_end;
#[cfg(feature = "grid")]
mod grid_absolute_column_start;
#[cfg(feature = "grid")]
mod grid_absolute_container_bottom_left;
#[cfg(feature = "grid")]
mod grid_absolute_container_bottom_left_margin;
#[cfg(feature = "grid")]
mod grid_absolute_container_left_overrides_right;
#[cfg(feature = "grid")]
mod grid_absolute_container_left_right;
#[cfg(feature = "grid")]
mod grid_absolute_container_left_right_margin;
#[cfg(feature = "grid")]
mod grid_absolute_container_negative_position;
#[cfg(feature = "grid")]
mod grid_absolute_container_negative_position_margin;
#[cfg(feature = "grid")]
mod grid_absolute_container_top_bottom;
#[cfg(feature = "grid")]
mod grid_absolute_container_top_bottom_margin;
#[cfg(feature = "grid")]
mod grid_absolute_container_top_right;
#[cfg(feature = "grid")]
mod grid_absolute_container_top_right_margin;
#[cfg(feature = "grid")]
mod grid_absolute_justify_self_sized_all;
#[cfg(feature = "grid")]
mod grid_absolute_layout_within_border;
#[cfg(feature = "grid")]
mod grid_absolute_layout_within_border_static;
#[cfg(feature = "grid")]
mod grid_absolute_row_end;
#[cfg(feature = "grid")]
mod grid_absolute_row_start;
#[cfg(feature = "grid")]
mod grid_absolute_top_overrides_bottom;
#[cfg(feature = "grid")]
mod grid_absolute_with_padding;
#[cfg(feature = "grid")]
mod grid_absolute_with_padding_and_margin;
#[cfg(feature = "grid")]
mod grid_align_content_center;
#[cfg(feature = "grid")]
mod grid_align_content_end;
#[cfg(feature = "grid")]
mod grid_align_content_end_with_padding_border;
#[cfg(feature = "grid")]
mod grid_align_content_space_around;
#[cfg(feature = "grid")]
mod grid_align_content_space_around_with_padding_border;
#[cfg(feature = "grid")]
mod grid_align_content_space_between;
#[cfg(feature = "grid")]
mod grid_align_content_space_between_with_padding_border;
#[cfg(feature = "grid")]
mod grid_align_content_space_evenly;
#[cfg(feature = "grid")]
mod grid_align_content_space_evenly_with_padding_border;
#[cfg(feature = "grid")]
mod grid_align_content_start;
#[cfg(feature = "grid")]
mod grid_align_content_start_with_padding_border;
#[cfg(feature = "grid")]
mod grid_align_items_baseline;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child_margin;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child_margin_percent;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child_multiline;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child_multiline_no_override_on_secondline;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child_multiline_override;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child_padding;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child_top;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_child_top2;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_complex;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_double_nested_child;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_multiline;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_multiline_column;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_multiline_row_and_column;
#[cfg(feature = "grid")]
mod grid_align_items_baseline_nested_column;
#[cfg(feature = "grid")]
mod grid_align_items_sized_center;
#[cfg(feature = "grid")]
mod grid_align_items_sized_end;
#[cfg(feature = "grid")]
mod grid_align_items_sized_start;
#[cfg(feature = "grid")]
mod grid_align_items_sized_stretch;
#[cfg(feature = "grid")]
mod grid_align_self_sized_all;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_absolute_aspect_ratio_overrides_height_of_full_inset;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_absolute_fill_height_from_inset;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_absolute_fill_width_from_inset;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_absolute_height_overrides_inset;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_absolute_width_overrides_inset;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_child_fill_content_height;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_child_fill_content_width;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_fill_child_height;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_fill_child_max_height;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_fill_child_max_width;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_fill_child_min_height;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_fill_child_min_width;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_fill_child_width;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_overriden_by_explicit_sizes;
#[cfg(feature = "grid")]
mod grid_aspect_ratio_overriden_by_explicit_sizes_flex;
#[cfg(feature = "grid")]
mod grid_auto_columns_fixed_width;
#[cfg(feature = "grid")]
mod grid_auto_fill_fixed_size;
#[cfg(feature = "grid")]
mod grid_auto_fill_with_empty_auto_track;
#[cfg(feature = "grid")]
mod grid_auto_fit_with_empty_auto_track;
#[cfg(feature = "grid")]
mod grid_auto_single_item;
#[cfg(feature = "grid")]
mod grid_auto_single_item_fixed_width;
#[cfg(feature = "grid")]
mod grid_auto_single_item_fixed_width_with_definite_width;
#[cfg(feature = "grid")]
mod grid_auto_takes_precedence_over_fr;
#[cfg(feature = "grid")]
mod grid_basic;
#[cfg(feature = "grid")]
mod grid_basic_implicit_tracks;
#[cfg(feature = "grid")]
mod grid_basic_with_overflow;
#[cfg(feature = "grid")]
mod grid_basic_with_padding;
#[cfg(feature = "grid")]
mod grid_fit_content_percent_definite_argument;
#[cfg(feature = "grid")]
mod grid_fit_content_percent_definite_max_content;
#[cfg(feature = "grid")]
mod grid_fit_content_percent_definite_min_content;
#[cfg(feature = "grid")]
mod grid_fit_content_percent_indefinite_argument;
#[cfg(feature = "grid")]
mod grid_fit_content_percent_indefinite_max_content;
#[cfg(feature = "grid")]
mod grid_fit_content_percent_indefinite_min_content;
#[cfg(feature = "grid")]
mod grid_fit_content_points_argument;
#[cfg(feature = "grid")]
mod grid_fit_content_points_max_content;
#[cfg(feature = "grid")]
mod grid_fit_content_points_min_content;
#[cfg(feature = "grid")]
mod grid_fr_fixed_size_no_content_proportions;
#[cfg(feature = "grid")]
mod grid_fr_fixed_size_no_content_proportions_sub_1_sum;
#[cfg(feature = "grid")]
mod grid_fr_fixed_size_single_item;
#[cfg(feature = "grid")]
mod grid_fr_no_sized_items_indefinite;
#[cfg(feature = "grid")]
mod grid_fr_single_item_indefinite;
#[cfg(feature = "grid")]
mod grid_fr_span_2_proportion;
#[cfg(feature = "grid")]
mod grid_fr_span_2_proportion_sub_1_sum;
#[cfg(feature = "grid")]
mod grid_fr_span_2_proportion_with_non_spanned_track;
#[cfg(feature = "grid")]
mod grid_fr_span_2_proportion_zero_sum;
#[cfg(feature = "grid")]
mod grid_fr_span_2_proportion_zero_sum_with_non_spanned_track;
#[cfg(feature = "grid")]
mod grid_gap;
#[cfg(feature = "grid")]
mod grid_hidden;
#[cfg(feature = "grid")]
mod grid_justify_content_center;
#[cfg(feature = "grid")]
mod grid_justify_content_center_with_padding_border;
#[cfg(feature = "grid")]
mod grid_justify_content_end;
#[cfg(feature = "grid")]
mod grid_justify_content_end_with_padding_border;
#[cfg(feature = "grid")]
mod grid_justify_content_space_around;
#[cfg(feature = "grid")]
mod grid_justify_content_space_around_with_padding_border;
#[cfg(feature = "grid")]
mod grid_justify_content_space_between;
#[cfg(feature = "grid")]
mod grid_justify_content_space_between_with_padding_border;
#[cfg(feature = "grid")]
mod grid_justify_content_space_evenly;
#[cfg(feature = "grid")]
mod grid_justify_content_space_evenly_with_padding_border;
#[cfg(feature = "grid")]
mod grid_justify_content_start;
#[cfg(feature = "grid")]
mod grid_justify_content_start_with_padding_border;
#[cfg(feature = "grid")]
mod grid_justify_items_sized_center;
#[cfg(feature = "grid")]
mod grid_justify_items_sized_end;
#[cfg(feature = "grid")]
mod grid_justify_items_sized_start;
#[cfg(feature = "grid")]
mod grid_justify_items_sized_stretch;
#[cfg(feature = "grid")]
mod grid_justify_self_sized_all;
#[cfg(feature = "grid")]
mod grid_margins_auto_margins;
#[cfg(feature = "grid")]
mod grid_margins_auto_margins_override_stretch;
#[cfg(feature = "grid")]
mod grid_margins_fixed_center;
#[cfg(feature = "grid")]
mod grid_margins_fixed_end;
#[cfg(feature = "grid")]
mod grid_margins_fixed_start;
#[cfg(feature = "grid")]
mod grid_margins_fixed_stretch;
#[cfg(feature = "grid")]
mod grid_margins_percent_center;
#[cfg(feature = "grid")]
mod grid_margins_percent_end;
#[cfg(feature = "grid")]
mod grid_margins_percent_start;
#[cfg(feature = "grid")]
mod grid_margins_percent_stretch;
#[cfg(feature = "grid")]
mod grid_max_content_maximum_single_item;
#[cfg(feature = "grid")]
mod grid_max_content_single_item;
#[cfg(feature = "grid")]
mod grid_max_content_single_item_margin_auto;
#[cfg(feature = "grid")]
mod grid_max_content_single_item_margin_fixed;
#[cfg(feature = "grid")]
mod grid_max_content_single_item_margin_percent;
#[cfg(feature = "grid")]
mod grid_max_content_single_item_span_2;
#[cfg(feature = "grid")]
mod grid_max_content_single_item_span_2_gap_fixed;
#[cfg(feature = "grid")]
mod grid_max_content_single_item_span_2_gap_percent_definite;
#[cfg(feature = "grid")]
mod grid_max_content_single_item_span_2_gap_percent_indefinite;
#[cfg(feature = "grid")]
mod grid_min_content_flex_column;
#[cfg(feature = "grid")]
mod grid_min_content_flex_row;
#[cfg(feature = "grid")]
mod grid_min_content_flex_single_item;
#[cfg(feature = "grid")]
mod grid_min_content_flex_single_item_margin_auto;
#[cfg(feature = "grid")]
mod grid_min_content_flex_single_item_margin_fixed;
#[cfg(feature = "grid")]
mod grid_min_content_flex_single_item_margin_percent;
#[cfg(feature = "grid")]
mod grid_min_content_maximum_single_item;
#[cfg(feature = "grid")]
mod grid_min_content_single_item;
#[cfg(feature = "grid")]
mod grid_minmax_auto_fixed_10px;
#[cfg(feature = "grid")]
mod grid_minmax_auto_max_content;
#[cfg(feature = "grid")]
mod grid_minmax_auto_min_content;
#[cfg(feature = "grid")]
mod grid_minmax_auto_percent_definite;
#[cfg(feature = "grid")]
mod grid_minmax_auto_percent_indefinite;
#[cfg(feature = "grid")]
mod grid_minmax_column_fixed_width_above_range;
#[cfg(feature = "grid")]
mod grid_minmax_column_fixed_width_below_range;
#[cfg(feature = "grid")]
mod grid_minmax_column_fixed_width_within_range;
#[cfg(feature = "grid")]
mod grid_minmax_column_indefinite;
#[cfg(feature = "grid")]
mod grid_minmax_column_with_auto_fixed;
#[cfg(feature = "grid")]
mod grid_minmax_column_with_fr_fixed;
#[cfg(feature = "grid")]
mod grid_minmax_max_content_1fr;
#[cfg(feature = "grid")]
mod grid_minmax_max_content_auto;
#[cfg(feature = "grid")]
mod grid_minmax_max_content_fixed_10px;
#[cfg(feature = "grid")]
mod grid_minmax_max_content_min_content;
#[cfg(feature = "grid")]
mod grid_minmax_max_content_percent_definite;
#[cfg(feature = "grid")]
mod grid_minmax_max_content_percent_indefinite;
#[cfg(feature = "grid")]
mod grid_minmax_min_content_1fr;
#[cfg(feature = "grid")]
mod grid_minmax_min_content_auto;
#[cfg(feature = "grid")]
mod grid_minmax_min_content_fixed_10px;
#[cfg(feature = "grid")]
mod grid_minmax_min_content_max_content;
#[cfg(feature = "grid")]
mod grid_minmax_min_content_percent_definite;
#[cfg(feature = "grid")]
mod grid_minmax_min_content_percent_indefinite;
#[cfg(feature = "grid")]
mod grid_out_of_order_items;
#[cfg(feature = "grid")]
mod grid_overflow_rows;
#[cfg(feature = "grid")]
mod grid_percent_item_inside_stretch_item;
#[cfg(feature = "grid")]
mod grid_percent_items_nested_inside_stretch_alignment;
#[cfg(feature = "grid")]
mod grid_percent_items_nested_moderate;
#[cfg(feature = "grid")]
mod grid_percent_items_nested_with_margin;
#[cfg(feature = "grid")]
mod grid_percent_items_nested_with_padding_margin;
#[cfg(feature = "grid")]
mod grid_percent_items_width_and_margin;
#[cfg(feature = "grid")]
mod grid_percent_items_width_and_padding;
#[cfg(feature = "grid")]
mod grid_percent_tracks_definite_overflow;
#[cfg(feature = "grid")]
mod grid_percent_tracks_definite_underflow;
#[cfg(feature = "grid")]
mod grid_percent_tracks_indefinite_only;
#[cfg(feature = "grid")]
mod grid_percent_tracks_indefinite_with_content_overflow;
#[cfg(feature = "grid")]
mod grid_percent_tracks_indefinite_with_content_underflow;
#[cfg(feature = "grid")]
mod grid_placement_auto_negative;
#[cfg(feature = "grid")]
mod grid_placement_definite_in_secondary_axis_with_fully_definite_negative;
#[cfg(feature = "grid")]
mod grid_relative_all_sides;
#[cfg(feature = "grid")]
mod grid_relayout_vertical_text;
#[cfg(feature = "grid")]
mod grid_repeat_integer;
#[cfg(feature = "grid")]
mod grid_repeat_mixed;
#[cfg(feature = "grid")]
mod grid_size_child_fixed_tracks;
#[cfg(feature = "grid")]
mod grid_span_13_most_non_flex_with_minmax_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_max_content_auto_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_max_content_fit_content_10px_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_max_content_fit_content_80px_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_max_content_max_content_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_min_content_auto_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_min_content_fit_content_10px_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_min_content_fit_content_30px_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_min_content_fit_content_80px_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_min_content_max_content_indefinite;
#[cfg(feature = "grid")]
mod grid_span_2_min_content_min_content_indefinite;
#[cfg(feature = "grid")]
mod grid_span_6_all_non_flex_indefinite;
#[cfg(feature = "grid")]
mod grid_span_8_all_track_types_indefinite;
#[cfg(feature = "grid")]
mod gridflex_column_integration;
#[cfg(feature = "grid")]
mod gridflex_kitchen_sink;
#[cfg(feature = "grid")]
mod gridflex_kitchen_sink_minimise;
#[cfg(feature = "grid")]
mod gridflex_kitchen_sink_minimise2;
#[cfg(feature = "grid")]
mod gridflex_kitchen_sink_minimise3;
#[cfg(feature = "grid")]
mod gridflex_row_integration;
mod intrinsic_sizing_cross_size_column;
mod intrinsic_sizing_main_size_column;
mod intrinsic_sizing_main_size_column_nested;
mod intrinsic_sizing_main_size_column_wrap;
mod intrinsic_sizing_main_size_row;
mod intrinsic_sizing_main_size_row_nested;
mod intrinsic_sizing_main_size_row_wrap;
mod justify_content_column_center;
mod justify_content_column_flex_end;
mod justify_content_column_flex_start;
mod justify_content_column_max_height_and_margin;
mod justify_content_column_min_height_and_margin;
mod justify_content_column_min_height_and_margin_bottom;
mod justify_content_column_min_height_and_margin_top;
mod justify_content_column_space_around;
mod justify_content_column_space_between;
mod justify_content_column_space_evenly;
mod justify_content_min_max;
mod justify_content_min_width_with_padding_child_width_greater_than_parent;
mod justify_content_min_width_with_padding_child_width_lower_than_parent;
mod justify_content_overflow_min_max;
mod justify_content_row_center;
mod justify_content_row_flex_end;
mod justify_content_row_flex_start;
mod justify_content_row_max_width_and_margin;
mod justify_content_row_min_width_and_margin;
mod justify_content_row_space_around;
mod justify_content_row_space_between;
mod justify_content_row_space_evenly;
mod margin_and_flex_column;
mod margin_and_flex_row;
mod margin_and_stretch_column;
mod margin_and_stretch_row;
mod margin_auto_bottom;
mod margin_auto_bottom_and_top;
mod margin_auto_bottom_and_top_justify_center;
mod margin_auto_left;
mod margin_auto_left_and_right;
mod margin_auto_left_and_right_column;
mod margin_auto_left_and_right_column_and_center;
mod margin_auto_left_and_right_stretch;
mod margin_auto_left_child_bigger_than_parent;
mod margin_auto_left_fix_right_child_bigger_than_parent;
mod margin_auto_left_right_child_bigger_than_parent;
mod margin_auto_left_stretching_child;
mod margin_auto_mutiple_children_column;
mod margin_auto_mutiple_children_row;
mod margin_auto_right;
mod margin_auto_top;
mod margin_auto_top_and_bottom_stretch;
mod margin_auto_top_stretching_child;
mod margin_bottom;
mod margin_fix_left_auto_right_child_bigger_than_parent;
mod margin_left;
mod margin_right;
mod margin_should_not_be_part_of_max_height;
mod margin_should_not_be_part_of_max_width;
mod margin_top;
mod margin_with_sibling_column;
mod margin_with_sibling_row;
mod max_height;
mod max_height_overrides_height;
mod max_height_overrides_height_on_root;
mod max_width;
mod max_width_overrides_width;
mod max_width_overrides_width_on_root;
mod measure_child;
mod measure_child_absolute;
mod measure_child_constraint;
mod measure_child_constraint_padding_parent;
mod measure_child_with_flex_grow;
mod measure_child_with_flex_shrink;
mod measure_flex_basis_overrides_measure;
mod measure_height_overrides_measure;
mod measure_remeasure_child_after_growing;
mod measure_remeasure_child_after_shrinking;
mod measure_remeasure_child_after_stretching;
mod measure_root;
mod measure_stretch_overrides_measure;
mod measure_width_overrides_measure;
mod min_height;
mod min_height_larger_than_height;
mod min_height_overrides_height;
mod min_height_overrides_height_on_root;
mod min_height_overrides_max_height;
mod min_height_with_nested_fixed_height;
mod min_max_percent_different_width_height;
mod min_max_percent_no_width_height;
mod min_width;
mod min_width_larger_than_width;
mod min_width_overrides_max_width;
mod min_width_overrides_width;
mod min_width_overrides_width_on_root;
mod nested_overflowing_child;
mod nested_overflowing_child_in_constraint_parent;
mod only_shrinkable_item_with_flex_basis_zero;
mod overflow_cross_axis;
mod overflow_main_axis;
mod padding_align_end_child;
mod padding_center_child;
mod padding_container_match_child;
mod padding_flex_child;
mod padding_no_child;
mod padding_no_size;
mod padding_stretch_child;
mod parent_wrap_child_size_overflowing_parent;
mod percent_absolute_position;
mod percent_within_flex_grow;
mod percentage_absolute_position;
mod percentage_container_in_wrapping_container;
mod percentage_different_width_height;
mod percentage_different_width_height_column;
mod percentage_flex_basis;
mod percentage_flex_basis_cross;
mod percentage_flex_basis_cross_max_height;
mod percentage_flex_basis_cross_max_width;
mod percentage_flex_basis_cross_min_height;
mod percentage_flex_basis_cross_min_width;
mod percentage_flex_basis_main_max_height;
mod percentage_flex_basis_main_max_width;
mod percentage_flex_basis_main_min_width;
mod percentage_main_max_height;
mod percentage_margin_should_calculate_based_only_on_width;
mod percentage_moderate_complexity;
mod percentage_moderate_complexity2;
mod percentage_multiple_nested_with_padding_margin_and_percentage_values;
mod percentage_padding_should_calculate_based_only_on_width;
mod percentage_position_bottom_right;
mod percentage_position_left_top;
mod percentage_size_based_on_parent_inner_size;
mod percentage_size_of_flex_basis;
mod percentage_width_height;
mod percentage_width_height_undefined_parent_size;
mod position_root_with_rtl_should_position_withoutdirection;
mod relative_position_should_not_nudge_siblings;
mod rounding_flex_basis_flex_grow_row_prime_number_width;
mod rounding_flex_basis_flex_grow_row_width_of_100;
mod rounding_flex_basis_flex_shrink_row;
mod rounding_flex_basis_overrides_main_size;
mod rounding_fractial_input_1;
mod rounding_fractial_input_2;
mod rounding_fractial_input_3;
mod rounding_fractial_input_4;
mod rounding_inner_node_controversy_vertical;
mod rounding_total_fractial;
mod rounding_total_fractial_nested;
mod simple_child;
mod single_flex_child_after_absolute_child;
mod size_defined_by_child;
mod size_defined_by_child_with_border;
mod size_defined_by_child_with_padding;
mod size_defined_by_grand_child;
mod undefined_height_with_min_max;
mod undefined_width_with_min_max;
mod undefined_width_with_min_max_row;
mod width_smaller_then_content_with_flex_grow_large_size;
mod width_smaller_then_content_with_flex_grow_small_size;
mod width_smaller_then_content_with_flex_grow_unconstraint_size;
mod width_smaller_then_content_with_flex_grow_very_large_size;
mod wrap_child;
mod wrap_column;
mod wrap_grandchild;
mod wrap_nodes_with_content_sizing_margin_cross;
mod wrap_nodes_with_content_sizing_overflowing_margin;
mod wrap_reverse_column;
mod wrap_reverse_column_fixed_size;
mod wrap_reverse_row;
mod wrap_reverse_row_align_content_center;
mod wrap_reverse_row_align_content_flex_start;
mod wrap_reverse_row_align_content_space_around;
mod wrap_reverse_row_align_content_stretch;
mod wrap_reverse_row_single_line_different_size;
mod wrap_row;
mod wrap_row_align_items_center;
mod wrap_row_align_items_flex_end;
mod wrapped_column_max_height;
mod wrapped_column_max_height_flex;
mod wrapped_row_within_align_items_center;
mod wrapped_row_within_align_items_flex_end;
mod wrapped_row_within_align_items_flex_start;