forked from emumanu/OpenUI5Sharp
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathsap.ui.layout.xsd
More file actions
1244 lines (1214 loc) · 71 KB
/
Copy pathsap.ui.layout.xsd
File metadata and controls
1244 lines (1214 loc) · 71 KB
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
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:n8="sap.ui.layout" xmlns:n0="sap.ui.core" elementFormDefault="qualified" targetNamespace="sap.ui.layout" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="sap.ui.core" />
<xs:element name="BlockLayout" substitutionGroup="n0:Control" type="n8:_BlockLayoutType">
<xs:annotation>
<xs:documentation>The BlockLayout is used to display several objects in a section-based manner. <h3>Overview</h3> The BlockLayout uses horizontal and vertical subdivisions, and full-width banners to display a set of elements. By placing pictorial and textual elements side-by-side in different blocks, you can establish a visual connection between blocks and between similar elements. <h3>Structure</h3> The BlockLayout contains BlockLayout cells. Every cell consists of a title and content. The title can be text or a link.
The BlockLayout comes in five predefined types for background colors: <ul> <li>Layout only (default) - a layout scheme and no background colors</li> <li>Bright - a layout scheme with bright colors</li> <li>Accent - a layout scheme with four pre-defined color sets</li> <li>Dashboard - a layout scheme with additional borders and no background colors</li> <li>Mixed - a layout scheme with a mix of light and dark colors</li> </ul> Background colors are attached directly to the blocks of the layout.
Special full-width sections of the BlockLayout allow horizontal scrolling through a set of blocks.
<b>Note:</b> With version 1.48 colors can be set for each individual {@link sap.ui.layout.BlockLayoutCell cell}. There are 10 pre-defined color sets, each with 4 different shades. The main colors of the sets can be changed in Theme Designer. To change the background of a particular cell, set <code>backgroundColorSet</code> (main color) and <code>backgroundColorShade</code> (shade).
<b>Note:</b> Usage of disabled, emphasized or subtle links as titles is not recommended. Dark background designs, for example Accent, are not fully supported with regards to Аccessibility when used with links as titles.
<h3>Usage</h3> <h4>When to use</h4> <ul> <li>You want to create a catalogue-like page with sections of blocks.</li> <li>The BlockLayout is intended for developing administrative tools and applications.</li> </ul> <h4>When not to use</h4> <ul> <li>You want to display properties or features of one content item. Use a {@link sap.uxap.ObjectPageLayout object page} or {@link sap.f.DynamicPage dynamic page} instead.</li> </ul> <h3>Responsive Behavior</h3> <ul> <li>The breakpoints of the block layout react to the width of the control itself and not to the actual screen size.</li> <li> On small screens all blocks will wrap to a single scrollable column</li> </ul></xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_BlockLayoutType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n8:BlockLayoutRow" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="content">
<xs:annotation>
<xs:documentation>The Rows to be included in the content of the control</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n8:BlockLayoutRow" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="background" type="n8:_BlockBackgroundTypeType">
<xs:annotation>
<xs:documentation>Determines the background used for the Layout</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepFontSize" type="xs:boolean">
<xs:annotation>
<xs:documentation>Keeps the font-size of the contents as is, independent from the screen size.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="content" type="xs:string" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="BlockLayoutCell" substitutionGroup="n0:Control" type="n8:_BlockLayoutCellType">
<xs:annotation>
<xs:documentation>The BlockLayoutCell is used as an aggregation of the BlockLayoutRow. It contains Controls. The BlockLayoutCell should be used only as aggregation of the BlockLayoutRow.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_BlockLayoutCellType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="content">
<xs:annotation>
<xs:documentation>The content to be included inside the cell</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="titleLink">
<xs:annotation>
<xs:documentation>The link that will replace the title of the cell. <b>Note:</b> The only possible value is the <code>sap.m.Link</code> control.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="title" type="xs:string">
<xs:annotation>
<xs:documentation>Defines the title of the cell. <b>Note:</b> When the <code>titleLink</code> aggregation is provided, the title of the cell will be replaced with the text from the <code>titleLink</code>.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="titleAlignment" type="n0:_HorizontalAlignType">
<xs:annotation>
<xs:documentation>Defines the alignment of the cell title</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="titleLevel" type="n0:_TitleLevelType">
<xs:annotation>
<xs:documentation>Defines the aria level of the title This information is e.g. used by assistive technologies like screenreaders to create a hierarchical site map for faster navigation.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="width" type="xs:int">
<xs:annotation>
<xs:documentation>Defines the width of the cell. Depending on the context of the cell - whether it's in scrollable, or non scrollable row, this property is interpreted in two different ways. If the cell is placed inside a scrollable row - this property defines the width of the cell in percentages. If no value is provided - the default is 40%. If the cell is placed inside a non scrollable row - this property defines the grow factor of the cell compared to the whole row. <b>For example:</b> If you have 2 cells, each with width of 1, this means that they should be of equal size, and they need to fill the whole row. This results in 50% width for each cell. If you have 2 cells, one with width of 1, the other with width of 3, this means that the whole row width is 4, so the first cell will have a width of 25%, the second - 75%. According to the visual guidelines, it is suggested that you only use 25%, 50%, 75% or 100% cells in you applications. For example, 12,5% width is not desirable (1 cell with width 1, and another with width 7)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="backgroundColorSet" type="n8:_BlockLayoutCellColorSetType">
<xs:annotation>
<xs:documentation>The Background color set from which the background color will be selected. By using background colors from the predefined sets your colors could later be customized from the Theme Designer. <b>Note:</b> backgroundColorSet should be used only in combination with backgroundColorShade.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="backgroundColorShade" type="n8:_BlockLayoutCellColorShadeType">
<xs:annotation>
<xs:documentation>The index of the background color in the color set from which the color will be selected. By using background colors from the predefined sets your colors could later be customized from the Theme Designer. <b>Note:</b> backgroundColorShade should be used only in combination with backgroundColorSet.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="content" type="xs:string" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="BlockLayoutCellData" substitutionGroup="n0:LayoutData" type="n8:_BlockLayoutCellDataType">
<xs:annotation>
<xs:documentation>Holds layout data for the BlockLayoutCells contents.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_BlockLayoutCellDataType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_LayoutDataType">
<xs:attribute name="sSize" type="xs:int">
<xs:annotation>
<xs:documentation>Sets the width of the cell for S size of the BlockLayout.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="mSize" type="xs:int">
<xs:annotation>
<xs:documentation>Sets the width of the cell for M size of the BlockLayout.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="lSize" type="xs:int">
<xs:annotation>
<xs:documentation>Sets the width of the cell for L size of the BlockLayout.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="xlSize" type="xs:int">
<xs:annotation>
<xs:documentation>Sets the width of the cell for XL size of the BlockLayout.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="BlockLayoutRow" substitutionGroup="n0:Control" type="n8:_BlockLayoutRowType">
<xs:annotation>
<xs:documentation>The BlockLayoutRow is used as an aggregation to the BlockLayout. It aggregates Block Layout cells. The BlockLayoutRow has 2 rendering modes - scrollable and non scrollable.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_BlockLayoutRowType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n8:BlockLayoutCell" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="content">
<xs:annotation>
<xs:documentation>The content cells to be included in the row.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n8:BlockLayoutCell" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="scrollable" type="xs:boolean">
<xs:annotation>
<xs:documentation>Sets the rendering mode of the BlockLayoutRow to scrollable. In scrollable mode, the cells get aligned side by side, with horizontal scroll bar for the row.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="rowColorSet" type="n8:_BlockRowColorSetsType">
<xs:annotation>
<xs:documentation>Defines background type for that row. There might be several rows with the same type</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="content" type="xs:string" />
<xs:attribute name="accentCells" type="xs:string">
<xs:annotation>
<xs:documentation>Cells that would be accented. *Note:* This association has visual impact only for BlockLayouts with background types "Mixed" and "Accent".
Mixed: In this type, areas of 25% (on desktop) can have a dark background color. Per section one area can be dark. Accent: Every section can contain multiple gray blocks, which are used alternately, beginning with the bright one</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="DynamicSideContent" substitutionGroup="n0:Control" type="n8:_DynamicSideContentType">
<xs:annotation>
<xs:documentation>Layout control that allows additional (side) content to be displayed dynamically.
<h3>Overview</h3>
<code>DynamicSideContent</code> is a layout control that allows additional content to be displayed in a way that flexibly adapts to different screen sizes. The side content appears in a container next to or directly below the main content (it doesn't overlay). When the side content is triggered, the main content becomes narrower (if appearing side-by-side). The side content contains a separate scrollbar when appearing next to the main content.
<h3>Usage</h3>
<i>When to use?</i>
Use this control if you want to display relevant information that is not critical for users to complete a task. Users should have access to all the key functions and critical information in the app even if they do not see the side content. This is important because on smaller screen sizes it may be difficult to display the side content in a way that is easily accessible for the user.
<i>When not to use?</i>
Don't use it if you want to display navigation or critical information that prevents users from completing a task when they have no access to the side content.
<h3>Responsive Behavior</h3>
Screen width > 1440 px
<ul><li>Main vs. side content ratio is 75 vs. 25 percent (with a minimum of 320px each).</li> <li>If the application defines a trigger, the side content can be hidden.</li></ul>
Screen width <= 1440 px and > 720px
<ul><li>Main vs. side content ratio is 66.666 vs. 33.333 percent (with a minimum of 320px each). If the side content width falls below 320 px, it automatically slides under the main content, unless the app development team specifies that it should disappear.</li></ul>
Screen width <= 720 px (for example on a mobile device)
<ul><li>In this case, the side content automatically disappears from the screen (unless specified to stay under the content) and can be triggered from a pre-set trigger (specified within the app). When the side content is triggered, it replaces the main content. We recommend that you always place the trigger for the side content in the same location, such as in the app footer.</li></ul>
A special case, allows for comparison mode between the main and side content. In this case, the screen is split into 50:50 percent for main vs. side content. The responsive behavior of the equal split is the same as in the standard view - the side content disappears on screen widths of less than 720 px and can only be viewed by triggering it.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_DynamicSideContentType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="mainContent">
<xs:annotation>
<xs:documentation>Main content controls.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="sideContent">
<xs:annotation>
<xs:documentation>Side content controls.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="showSideContent" type="xs:boolean">
<xs:annotation>
<xs:documentation>Determines whether the side content is visible or hidden.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="showMainContent" type="xs:boolean">
<xs:annotation>
<xs:documentation>Determines whether the main content is visible or hidden.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="sideContentVisibility" type="n8:_SideContentVisibilityType">
<xs:annotation>
<xs:documentation>Determines on which breakpoints the side content is visible.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="sideContentFallDown" type="n8:_SideContentFallDownType">
<xs:annotation>
<xs:documentation>Determines on which breakpoints the side content falls down below the main content.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="equalSplit" type="xs:boolean">
<xs:annotation>
<xs:documentation>Defines whether the control is in equal split mode. In this mode, the side and the main content take 50:50 percent of the container on all screen sizes except for phone, where the main and side contents are switching visibility using the toggle method.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="containerQuery" type="xs:boolean">
<xs:annotation>
<xs:documentation>If set to TRUE, then not the media Query (device screen size) but the size of the container, surrounding the control, defines the current range.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="sideContentPosition" type="n8:_SideContentPositionType">
<xs:annotation>
<xs:documentation>Determines whether the side content is on the left or on the right side of the main content.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="mainContent" type="xs:string" />
<xs:attribute name="sideContent" type="xs:string" />
<xs:attribute name="breakpointChanged" type="xs:string">
<xs:annotation>
<xs:documentation>Fires when the current breakpoint has been changed.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="FixFlex" substitutionGroup="n0:Control" type="n8:_FixFlexType">
<xs:annotation>
<xs:documentation>A layout container with a fixed and a flexible part. <h3>Overview</h3> The FixFlex control builds the container for a layout with a fixed and a flexible part. The flexible container adapts its size to the fix container. <h4>Guidelines:</h4> <ul> <li>The fix container can hold any number of controls, while the flexible container can hold only one</li> <li>In order for the FixFlex to stretch properly, the parent element, in which the control is placed, needs to have a specified height or needs to have an absolute position.</li> <li>Avoid nesting FixFlex in other flexbox-based layout controls ({@link sap.ui.layout.FixFlex FixFlex}, {@link sap.m.FlexBox FlexBox}, Hbox, Vbox). Otherwise, contents may be not accessible or multiple scrollbars can appear.</li> </ul> <h3>Structure</h3> The behavior of the FixFlex is controlled by the following properties: <ul> <li><code>fixContentSize</code> - The width/height of the fix part of the control</li> <li><code>fixFirst</code> - The ordering of the fix and flex part</li> <li><code>minFlexSize</code> - Scrolling inside the flex part, if its contents are large</li> <li><code>vertical</code> - Alignment of the FixFlex control</li> </ul> <h3>Responsive Behavior</h3> <ul> <li>If the child control of the flex or the fix container has width/height bigger than the container itself, the child control will be cropped in the view.</li> <li>If minFlexSize is set, then a scrollbar is shown in the flexible part, depending on the <code>vertical</code> property.</li> </ul></xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_FixFlexType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:element minOccurs="0" name="fixContent">
<xs:annotation>
<xs:documentation>Controls in the fixed part of the layout.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="flexContent">
<xs:annotation>
<xs:documentation>Control in the stretching part of the layout.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="vertical" type="xs:boolean">
<xs:annotation>
<xs:documentation>Determines the direction of the layout of child elements. True for vertical and false for horizontal layout.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fixFirst" type="xs:boolean">
<xs:annotation>
<xs:documentation>Determines whether the fixed-size area should be on the beginning/top ( if the value is "true") or end/bottom ( if the value is "false").</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fixContentSize" type="n0:_CSSSizeType">
<xs:annotation>
<xs:documentation>Determines the height (if the vertical property is "true") or the width (if the vertical property is "false") of the fixed area. If left at the default value "auto", the fixed-size area will be as large as its content. In this case the content cannot use percentage sizes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="minFlexSize" type="xs:int">
<xs:annotation>
<xs:documentation>Enables scrolling inside the flexible part. The given size is calculated in "px". If the child control in the flexible part is larger than the available flexible size on the screen and if the available size for the flexible part is smaller or equal to the minFlexSize value, the scroll will be for the entire FixFlex control.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fixContent" type="xs:string" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Grid" substitutionGroup="n0:Control" type="n8:_GridType">
<xs:annotation>
<xs:documentation>The <code>Grid</code> control is a layout which positions its child controls in a 12 column flow layout. Its children can be specified to take on a variable amount of columns depending on available screen size. With this control it is possible to achieve flexible layouts and line-breaks for extra large-, large-, medium- and small-sized screens, such as large desktop, desktop, tablet, and mobile. The <code>Grid</code> control's width can be percentage- or pixel-based and the spacing between its columns can be set to various predefined values.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_GridType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="content">
<xs:annotation>
<xs:documentation>Controls that are placed into Grid layout.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="width" type="n0:_CSSSizeType">
<xs:annotation>
<xs:documentation>Optional. Width of the Grid. If not specified, then 100%.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="vSpacing" type="xs:float">
<xs:annotation>
<xs:documentation>Optional. Vertical spacing between the rows in the Grid. In rem, allowed values are 0, 0.5, 1 and 2.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="hSpacing" type="xs:float">
<xs:annotation>
<xs:documentation>Optional. Horizontal spacing between the content in the Grid. In rem, allowed values are 0, 0.5 , 1 or 2.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="position" type="n8:_GridPositionType">
<xs:annotation>
<xs:documentation>Optional. Position of the Grid in the window or surrounding container. Possible values are "Center", "Left" and "Right".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="defaultSpan" type="n8:_GridSpanType">
<xs:annotation>
<xs:documentation>Optional. A string type that represents Grid's default span values for large, medium and small screens for the whole Grid. Allowed values are separated by space Letters L, M or S followed by number of columns from 1 to 12 that the container has to take, for example: "L2 M4 S6", "M12", "s10" or "l4 m4". Note that the parameters has to be provided in the order large medium small.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="defaultIndent" type="n8:_GridIndentType">
<xs:annotation>
<xs:documentation>Optional. Defines default for the whole Grid numbers of empty columns before the current span begins. It can be defined for large, medium and small screens. Allowed values are separated by space Letters L, M or S followed by number of columns from 0 to 11 that the container has to take, for example: "L2 M4 S6", "M11", "s10" or "l4 m4". Note that the parameters has to be provided in the order large medium small.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="containerQuery" type="xs:boolean">
<xs:annotation>
<xs:documentation>If true then not the media Query ( device screen size), but the size of the container surrounding the grid defines the current range (large, medium or small).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="content" type="xs:string" />
<xs:attribute name="ariaLabelledBy" type="xs:string">
<xs:annotation>
<xs:documentation>Association to controls / IDs that label this control (see WAI-ARIA attribute <code>aria-labelledby</code>).</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="GridData" substitutionGroup="n0:LayoutData" type="n8:_GridDataType">
<xs:annotation>
<xs:documentation>Grid layout data
<b>Note:</b> When <code>GridData</code> is used for controls inside a form the property <code>linebreak</code> has to be set to <code>true</code> when the next form element has to be displayed on a new line. This is needed because otherwise the <code>GridData</code> overrides the layout provided by the <code>Form</code>.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_GridDataType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_LayoutDataType">
<xs:attribute name="span" type="n8:_GridSpanType">
<xs:annotation>
<xs:documentation>A string type that represents Grid's span values for large, medium and small screens. Allowed values are separated by space Letters L, M or S followed by number of columns from 1 to 12 that the container has to take, for example: "L2 M4 S6", "M12", "s10" or "l4 m4". Note that the parameters has to be provided in the order large medium small.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spanXL" type="xs:int">
<xs:annotation>
<xs:documentation>Optional. Defines a span value for extra large screens. This value overwrites the value for extra large screens defined in the parameter "span".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spanL" type="xs:int">
<xs:annotation>
<xs:documentation>Optional. Defines a span value for large screens. This value overwrites the value for large screens defined in the parameter "span".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spanM" type="xs:int">
<xs:annotation>
<xs:documentation>Optional. Defines a span value for medium size screens. This value overwrites the value for medium screens defined in the parameter "span".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spanS" type="xs:int">
<xs:annotation>
<xs:documentation>Optional. Defines a span value for small screens. This value overwrites the value for small screens defined in the parameter "span".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="indent" type="n8:_GridIndentType">
<xs:annotation>
<xs:documentation>A string type that represents Grid's span values for large, medium and small screens. Allowed values are separated by space Letters L, M or S followed by number of columns from 1 to 12 that the container has to take, for example: "L2 M4 S6", "M12", "s10" or "l4 m4". Note that the parameters has to be provided in the order large medium small.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="indentXL" type="xs:int">
<xs:annotation>
<xs:documentation>Optional. Defines a span value for extra large screens. This value overwrites the value for extra large screens defined in the parameter "indent".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="indentL" type="xs:int">
<xs:annotation>
<xs:documentation>Optional. Defines a span value for large screens. This value overwrites the value for large screens defined in the parameter "indent".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="indentM" type="xs:int">
<xs:annotation>
<xs:documentation>Optional. Defines a span value for medium size screens. This value overwrites the value for medium screens defined in the parameter "indent".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="indentS" type="xs:int">
<xs:annotation>
<xs:documentation>Optional. Defines a span value for small screens. This value overwrites the value for small screens defined in the parameter "indent".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="visibleXL" type="xs:boolean">
<xs:annotation>
<xs:documentation>Defines if this Control is visible on XL - extra Large screens.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="visibleL" type="xs:boolean">
<xs:annotation>
<xs:documentation>Defines if this Control is visible on Large screens.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="visibleM" type="xs:boolean">
<xs:annotation>
<xs:documentation>Defines if this Control is visible on Medium size screens.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="visibleS" type="xs:boolean">
<xs:annotation>
<xs:documentation>Defines if this Control is visible on small screens.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="moveBackwards" type="n8:_GridIndentType">
<xs:annotation>
<xs:documentation>Optional. Moves a cell backwards so many columns as specified.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="moveForward" type="n8:_GridIndentType">
<xs:annotation>
<xs:documentation>Optional. Moves a cell forwards so many columns as specified.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="linebreak" type="xs:boolean">
<xs:annotation>
<xs:documentation>Optional. If this property is set to true, the control on all-size screens causes a line break within the Grid and becomes the first within the next line.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="linebreakXL" type="xs:boolean">
<xs:annotation>
<xs:documentation>Optional. If this property is set to true, the control on extra large screens causes a line break within the Grid and becomes the first within the next line.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="linebreakL" type="xs:boolean">
<xs:annotation>
<xs:documentation>Optional. If this property is set to true, the control on large screens causes a line break within the Grid and becomes the first within the next line.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="linebreakM" type="xs:boolean">
<xs:annotation>
<xs:documentation>Optional. If this property is set to true, the control on medium sized screens causes a line break within the Grid and becomes the first within the next line.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="linebreakS" type="xs:boolean">
<xs:annotation>
<xs:documentation>Optional. If this property is set to true, the control on small screens causes a line break within the Grid and becomes the first within the next line.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spanLarge" type="xs:int">
<xs:annotation>
<xs:documentation>Deprecated. Defines a span value for large screens. This value overwrites the value for large screens defined in the parameter "span".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spanMedium" type="xs:int">
<xs:annotation>
<xs:documentation>Deprecated. Defines a span value for medium size screens. This value overwrites the value for medium screens defined in the parameter "span".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spanSmall" type="xs:int">
<xs:annotation>
<xs:documentation>Deprecated. Defines a span value for small screens. This value overwrites the value for small screens defined in the parameter "span".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="indentLarge" type="xs:int">
<xs:annotation>
<xs:documentation>Deprecated. Defines a span value for large screens. This value overwrites the value for large screens defined in the parameter "indent".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="indentMedium" type="xs:int">
<xs:annotation>
<xs:documentation>Deprecated. Defines a span value for medium size screens. This value overwrites the value for medium screens defined in the parameter "indent".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="indentSmall" type="xs:int">
<xs:annotation>
<xs:documentation>Deprecated. Defines a span value for small screens. This value overwrites the value for small screens defined in the parameter "indent".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="visibleOnLarge" type="xs:boolean">
<xs:annotation>
<xs:documentation>Deprecated. Defines if this Control is visible on Large screens.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="visibleOnMedium" type="xs:boolean">
<xs:annotation>
<xs:documentation>Deprecated. Defines if this Control is visible on Medium size screens.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="visibleOnSmall" type="xs:boolean">
<xs:annotation>
<xs:documentation>Deprecated. Defines if this Control is visible on small screens.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="HorizontalLayout" substitutionGroup="n0:Control" type="n8:_HorizontalLayoutType">
<xs:annotation>
<xs:documentation>A layout that provides support for horizontal alignment of controls</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_HorizontalLayoutType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="content">
<xs:annotation>
<xs:documentation>The controls inside this layout</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="allowWrapping" type="xs:boolean">
<xs:annotation>
<xs:documentation>Specifies whether the content inside the Layout shall be line-wrapped in the case that there is less horizontal space available than required.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="content" type="xs:string" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="PaneContainer" substitutionGroup="n0:Element" type="n8:_PaneContainerType">
<xs:annotation>
<xs:documentation>PaneContainer is an abstraction of Splitter.
Could be used as an aggregation of ResponsiveSplitter or other PaneContainers.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_PaneContainerType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ElementType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Element" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="panes">
<xs:annotation>
<xs:documentation>The Pane that will be shown when there is no suitable pane for ResponsiveSplitter's current width.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Element" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="orientation" type="n0:_OrientationType">
<xs:annotation>
<xs:documentation>The orientation of the Splitter</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="panes" type="xs:string" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ResponsiveFlowLayout" substitutionGroup="n0:Control" type="n8:_ResponsiveFlowLayoutType">
<xs:annotation>
<xs:documentation>This is a layout where several controls can be added. These controls are blown up to fit in an entire row. If the window resizes, the controls are moved between the rows and resized again.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_ResponsiveFlowLayoutType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="content">
<xs:annotation>
<xs:documentation>Added content that should be positioned. Every content item should have a ResponsiveFlowLayoutData attached, or otherwise, the default values are used.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="responsive" type="xs:boolean">
<xs:annotation>
<xs:documentation>If set to false, all added controls will keep their width, or otherwise, the controls will be stretched to the possible width of a row.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="content" type="xs:string" />
<xs:attribute name="ariaLabelledBy" type="xs:string">
<xs:annotation>
<xs:documentation>Association to controls / IDs that label this control (see WAI-ARIA attribute <code>aria-labelledby</code>).</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ResponsiveFlowLayoutData" substitutionGroup="n0:LayoutData" type="n8:_ResponsiveFlowLayoutDataType">
<xs:annotation>
<xs:documentation>This is a LayoutData element that can be added to a control if this control is used within a ResponsiveFlowLayout.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_ResponsiveFlowLayoutDataType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_LayoutDataType">
<xs:attribute name="minWidth" type="xs:int">
<xs:annotation>
<xs:documentation>Defines the minimal size in px of a ResponsiveFlowLayout element. The element will be shrunk down to this value.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="weight" type="xs:int">
<xs:annotation>
<xs:documentation>Defines the weight of the element, that influences the resulting width. If there are several elements within a row of the ResponsiveFlowLayout, each element could have another weight. The bigger the weight of a single element, the wider it will be stretched, i.e. a bigger weight results in a larger width.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="linebreak" type="xs:boolean">
<xs:annotation>
<xs:documentation>If this property is set, the control in which the LayoutData is added, will always cause a line break within the ResponsiveFlowLayout.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="margin" type="xs:boolean">
<xs:annotation>
<xs:documentation>Prevents any margin of the element if set to false.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="linebreakable" type="xs:boolean">
<xs:annotation>
<xs:documentation>Shows if an element can be wrapped into a new row. If this value is set to false, the min-width will be set to 0 and the wrapping is up to the previous element.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ResponsiveSplitter" substitutionGroup="n0:Control" type="n8:_ResponsiveSplitterType">
<xs:annotation>
<xs:documentation>A responsive splitter which divides the application into several areas. <h3>Overview</h3> The responsive splitter layout structures complex applications into defined areas. These areas may be resizable and are either distributed across one or multiple screen areas, some of which may also be off-canvas.
The control is intended for developing administrative tools and applications. <h3>Structure</h3> The responsive splitter holds the following hierarchy of containers and controls: <ul> <li>{@link sap.ui.layout.PaneContainer Pane Container} - holds one or more Split Panes and determines the pane orientation. The pane which is stored in <code>rootPaneContainer</code> holds all other pane containers and split panes.</li> <li>{@link sap.ui.layout.SplitPane Split Pane} - independent containers that may interact with one another. Each pane can hold only one control.</li> </ul> <h3>Usage</h3> <h4>When to use</h4> <ul> <li>The application has to display several areas side by side that must be resizable.</li> <li>The application must work on a range of different devices in a responsive manner.</li> </ul> <h3>Responsive Behavior</h3> <ul> <li>As soon as views are in the off-canvas mode, the pagination bar at the bottom of the application allows the user to switch between them.</li> <li>On touch-enabled devices, the splitters show explicit handles with larger touch areas.</li> <li>Double-clicking on a splitter will collapse or expand it back to its original position.</li> </ul>
<b>Note:</b> We don't recommend dynamically inserting/removing panes into/from the PaneContainer since this might lead to inconsistent layout. If it is necessary, you need to ensure the sum of all sizes of the SplitPanes doesn't exceed the width of the PaneContainer.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_ResponsiveSplitterType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n8:PaneContainer" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="rootPaneContainer">
<xs:annotation>
<xs:documentation>The root PaneContainer of the ResponsiveSplitter</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element ref="n8:PaneContainer" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="width" type="n0:_CSSSizeType">
<xs:annotation>
<xs:documentation>The width of the control</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="height" type="n0:_CSSSizeType">
<xs:annotation>
<xs:documentation>The height of the control</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="defaultPane" type="xs:string">
<xs:annotation>
<xs:documentation>The default pane that will remain always visible If no defaultPane is specified, the ResponsiveSplitter sets the first SplitPane that is added to a PaneContainer in it as a default.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="SplitPane" substitutionGroup="n0:Element" type="n8:_SplitPaneType">
<xs:annotation>
<xs:documentation>SplitPane is a container of a single control in a responsive splitter. Could be used as an aggregation of a {@link sap.ui.layout.PaneContainer PaneContainer}.
The behavior of the Split Panes is handled by the following properties: <ul> <li><code>requiredParentWidth</code> - determines the minimum width of the parent container (in pixels). When it is reached, the pane will be hidden from the screen.</li> <li><code>demandPane</code> - determines if the pane is reachable via the pagination bar after it has been hidden from the screen.</li> </ul</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_SplitPaneType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ElementType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="content">
<xs:annotation>
<xs:documentation>Content of the SplitPane</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="demandPane" type="xs:boolean">
<xs:annotation>
<xs:documentation>Determines whether the pane will be moved to the pagination</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="requiredParentWidth" type="xs:int">
<xs:annotation>
<xs:documentation>Determines the minimum width of the ResponsiveSplitter(in pixels). When it is reached the pane will be hidden from the screen.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Splitter" substitutionGroup="n0:Control" type="n8:_SplitterType">
<xs:annotation>
<xs:documentation>A layout that contains several content areas. The content that is added to the splitter should contain LayoutData of the type SplitterLayoutData that defines its size and size contraints.
By adding or changing SplitterLayoutData to the controls that make up the content areas, the size can be changed programatically. Additionally the contents can be made non-resizable individually and a minimal size (in px) can be set.
The orientation of the splitter can be set to horizontal (default) or vertical. All content areas of the splitter will be arranged in that way. In order to split vertically and horizontally at the same time, Splitters need to be nested.
The splitter bars can be focused to enable resizing of the content areas via keyboard. The contents size can be manipulated when the splitter bar is focused and Shift-Left/Down/Right/Up are pressed. When Shift-Home/End are pressed, the contents are set their minimum or maximum size (keep in mind though, that resizing an auto-size content-area next to another auto-size one might lead to the effect that the former does not take its maximum size but only the maximum size before recalculating auto sizes).
The splitter bars used for resizing the contents by the user can be set to different widths (or heights in vertical mode) and the splitter will automatically resize the other contents accordingly. In case the splitter bar is resized after the splitter has rendered, a manual resize has to be triggered by invoking triggerResize() on the Splitter.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_SplitterType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="contentAreas">
<xs:annotation>
<xs:documentation>The content areas to be split. The control will show n-1 splitter bars between n controls in this aggregation.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="orientation" type="n0:_OrientationType">
<xs:annotation>
<xs:documentation>Whether to split the contents horizontally (default) or vertically.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="width" type="n0:_CSSSizeType">
<xs:annotation>
<xs:documentation>The width of the control</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="height" type="n0:_CSSSizeType">
<xs:annotation>
<xs:documentation>The height of the control</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="contentAreas" type="xs:string" />
<xs:attribute name="resize" type="xs:string">
<xs:annotation>
<xs:documentation>Event is fired when contents are resized.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="SplitterLayoutData" substitutionGroup="n0:LayoutData" type="n8:_SplitterLayoutDataType">
<xs:annotation>
<xs:documentation>Holds layout data for the splitter contents. Allowed size values are numeric values ending in "px" and "%" and the special case "auto". (The CSS value "auto" is used internally to recalculate the size of the content dynamically and is not directly set as style property.)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_SplitterLayoutDataType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_LayoutDataType">
<xs:attribute name="resizable" type="xs:boolean">
<xs:annotation>
<xs:documentation>Determines whether the control in the splitter can be resized or not.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="size" type="n0:_CSSSizeType">
<xs:annotation>
<xs:documentation>Sets the size of the splitter content.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="minSize" type="xs:int">
<xs:annotation>
<xs:documentation>Sets the minimum size of the splitter content in px.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="VerticalLayout" substitutionGroup="n0:Control" type="n8:_VerticalLayoutType">
<xs:annotation>
<xs:documentation>In this layout the content controls are rendered one below the other.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="_VerticalLayoutType">
<xs:complexContent mixed="false">
<xs:extension base="n0:_ControlType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" />
</xs:choice>
<xs:element minOccurs="0" name="content">
<xs:annotation>
<xs:documentation>Content controls within the layout.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="n0:Control" />
<xs:element ref="n0:Fragment" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="width" type="n0:_CSSSizeType">
<xs:annotation>
<xs:documentation>Width of the <code>VerticalLayout</code>. If no width is set, the width of the content is used. If the content of the layout has a larger width than the layout, it is cut off. There is no scrolling inside the layout.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enabled" type="xs:boolean">
<xs:annotation>
<xs:documentation>If not enabled, all controls inside are not enabled automatically.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="content" type="xs:string" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="_GridIndentType">
<xs:restriction base="xs:string" />
</xs:simpleType>
<xs:simpleType name="_GridSpanType">