001package react4j.dom.proptypes.html;
002
003import javax.annotation.Nonnull;
004import jsinterop.annotations.JsOverlay;
005import jsinterop.annotations.JsPackage;
006import jsinterop.annotations.JsProperty;
007import jsinterop.annotations.JsType;
008import react4j.dom.proptypes.cssPropertyTypes.AnimationFillMode;
009import react4j.dom.proptypes.cssPropertyTypes.Visibility;
010
011/**
012 * This class represents properties of the CSS style object.
013 *
014 * NOTE: this is very much a work in progress. Further refinements will include
015 * defining enumerations for many of the properties
016 */
017@SuppressWarnings( "unused" )
018@JsType( isNative = true, namespace = JsPackage.GLOBAL, name = "Object" )
019public class CssProps
020{
021  @JsProperty
022  public native String getAnimationFillMode();
023
024  @JsProperty
025  public native void setAnimationFillMode( String mode );
026
027  @JsOverlay
028  @Nonnull
029  public final CssProps animationFillMode( @Nonnull @AnimationFillMode final String mode )
030  {
031    setAnimationFillMode( mode );
032    return this;
033  }
034
035  @JsProperty
036  public native String getBackgroundColor();
037
038  @JsProperty
039  public native void setBackgroundColor( String color );
040
041  @JsOverlay
042  @Nonnull
043  public final CssProps backgroundColor( String color )
044  {
045    setBackgroundColor( color );
046    return this;
047  }
048
049  @JsProperty
050  public native int getBoxFlex();
051
052  @JsProperty
053  public native void setBoxFlex( int boxFlex );
054
055  @JsOverlay
056  @Nonnull
057  public final CssProps boxFlex( int boxFlex )
058  {
059    setBoxFlex( boxFlex );
060    return this;
061  }
062
063  @JsProperty
064  public native int getBoxFlexGroup();
065
066  @JsProperty
067  public native void setBoxFlexGroup( int boxFlexGroup );
068
069  @JsOverlay
070  @Nonnull
071  public final CssProps boxFlexGroup( int boxFlexGroup )
072  {
073    setBoxFlexGroup( boxFlexGroup );
074    return this;
075  }
076
077  @JsProperty
078  public native String getBottom();
079
080  @JsProperty
081  public native void setBottom( String bottom );
082
083  @JsOverlay
084  @Nonnull
085  public final CssProps bottom( String bottom )
086  {
087    setBottom( bottom );
088    return this;
089  }
090
091  @JsProperty
092  public native int getColumnCount();
093
094  @JsProperty
095  public native void setColumnCount( int columnCount );
096
097  @JsOverlay
098  @Nonnull
099  public final CssProps columnCount( int columnCount )
100  {
101    setColumnCount( columnCount );
102    return this;
103  }
104
105  @JsProperty
106  public native int getFlex();
107
108  @JsProperty
109  public native void setFlex( int flex );
110
111  @JsOverlay
112  @Nonnull
113  public final CssProps flex( int flex )
114  {
115    setFlex( flex );
116    return this;
117  }
118
119  @JsProperty
120  public native int getFlexGrow();
121
122  @JsProperty
123  public native void setFlexGrow( int flexGrow );
124
125  @JsOverlay
126  @Nonnull
127  public final CssProps flexGrow( int flexGrow )
128  {
129    setFlexGrow( flexGrow );
130    return this;
131  }
132
133  @JsProperty
134  public native int getFlexShrink();
135
136  @JsProperty
137  public native void setFlexShrink( int flexShrink );
138
139  @JsOverlay
140  @Nonnull
141  public final CssProps flexShrink( int flexShrink )
142  {
143    setFlexShrink( flexShrink );
144    return this;
145  }
146
147  @JsProperty
148  public native void setFontWeight( double fontWeight );
149
150  @JsOverlay
151  @Nonnull
152  public final CssProps fontWeight( double fontWeight )
153  {
154    setFontWeight( fontWeight );
155    return this;
156  }
157
158  @JsProperty
159  public native void setFontWeight( String fontWeight );
160
161  @JsOverlay
162  @Nonnull
163  public final CssProps fontWeight( String fontWeight )
164  {
165    setFontWeight( fontWeight );
166    return this;
167  }
168
169  @JsProperty
170  public native double getLineClamp();
171
172  @JsProperty
173  public native void setLineClamp( double lineClamp );
174
175  @JsOverlay
176  @Nonnull
177  public final CssProps lineClamp( double lineClamp )
178  {
179    setLineClamp( lineClamp );
180    return this;
181  }
182
183  @JsProperty
184  public native String getLineHeight();
185
186  @JsProperty
187  public native void setLineHeight( String lineHeight );
188
189  @JsOverlay
190  @Nonnull
191  public final CssProps lineHeight( String lineHeight )
192  {
193    setLineHeight( lineHeight );
194    return this;
195  }
196
197  @JsProperty
198  public native double getOpacity();
199
200  @JsProperty
201  public native void setOpacity( double opacity );
202
203  @JsOverlay
204  @Nonnull
205  public final CssProps opacity( double opacity )
206  {
207    setOpacity( opacity );
208    return this;
209  }
210
211  @JsProperty
212  public native int getOrder();
213
214  @JsProperty
215  public native void setOrder( int order );
216
217  @JsOverlay
218  @Nonnull
219  public final CssProps order( int order )
220  {
221    setOrder( order );
222    return this;
223  }
224
225  @JsProperty
226  public native int getOrphans();
227
228  @JsProperty
229  public native void setOrphans( int orphans );
230
231  @JsOverlay
232  @Nonnull
233  public final CssProps orphans( int orphans )
234  {
235    setOrphans( orphans );
236    return this;
237  }
238
239  @JsProperty
240  public native int getWidows();
241
242  @JsProperty
243  public native void setWidows( int widows );
244
245  @JsOverlay
246  @Nonnull
247  public final CssProps widows( int widows )
248  {
249    setWidows( widows );
250    return this;
251  }
252
253  @JsProperty( name = "zIndex" )
254  public native double getZIndex();
255
256  @JsProperty( name = "zIndex" )
257  public native void setZIndex( double zIndex );
258
259  @JsOverlay
260  @Nonnull
261  public final CssProps zIndex( double zIndex )
262  {
263    setZIndex( zIndex );
264    return this;
265  }
266
267  @JsProperty
268  public native double getZoom();
269
270  @JsProperty
271  public native void setZoom( double zoom );
272
273  @JsOverlay
274  @Nonnull
275  public final CssProps zoom( double zoom )
276  {
277    setZoom( zoom );
278    return this;
279  }
280
281  @JsProperty
282  public native String getFontSize();
283
284  @JsProperty
285  public native void setFontSize( String fontSize );
286
287  @JsOverlay
288  @Nonnull
289  public final CssProps fontSize( String fontSize )
290  {
291    setFontSize( fontSize );
292    return this;
293  }
294
295  // SVG-related properties
296
297  @JsProperty
298  public native double getFillOpacity();
299
300  @JsProperty
301  public native void setFillOpacity( double fillOpacity );
302
303  @JsOverlay
304  @Nonnull
305  public final CssProps fillOpacity( double fillOpacity )
306  {
307    setFillOpacity( fillOpacity );
308    return this;
309  }
310
311  @JsProperty
312  public native double getStrokeOpacity();
313
314  @JsProperty
315  public native void setStrokeOpacity( double strokeOpacity );
316
317  @JsOverlay
318  @Nonnull
319  public final CssProps strokeOpacity( double strokeOpacity )
320  {
321    setStrokeOpacity( strokeOpacity );
322    return this;
323  }
324
325  @JsProperty
326  public native double getStrokeWidth();
327
328  @JsProperty
329  public native void setStrokeWidth( double strokeWidth );
330
331  @JsOverlay
332  @Nonnull
333  public final CssProps strokeWidth( double strokeWidth )
334  {
335    setStrokeWidth( strokeWidth );
336    return this;
337  }
338
339  @JsProperty
340  public native String getAlignContent();
341
342  @JsProperty
343  public native void setAlignContent( String alignContent );
344
345  /**
346   * Aligns a flex container's lines within the flex container when there is extra space in the
347   * cross-axis, similar to how justify-content aligns individual items within the main-axis.
348   */
349  @JsOverlay
350  @Nonnull
351  public final CssProps alignContent( String alignContent )
352  {
353    setAlignContent( alignContent );
354    return this;
355  }
356
357  @JsProperty
358  public native String getAlignItems();
359
360  @JsProperty
361  public native void setAlignItems( String alignItems );
362
363  /**
364   * Sets the default alignment in the cross axis for all of the flex container's items,
365   * including anonymous flex items, similarly to how justify-content aligns items along
366   * the main axis.
367   */
368  @JsOverlay
369  @Nonnull
370  public final CssProps alignItems( String alignItems )
371  {
372    setAlignItems( alignItems );
373    return this;
374  }
375
376  @JsProperty
377  public native String getAlignSelf();
378
379  @JsProperty
380  public native void setAlignSelf( String alignSelf );
381
382  /**
383   * Allows the default alignment to be overridden for individual flex items.
384   */
385  @JsOverlay
386  @Nonnull
387  public final CssProps alignSelf( String alignSelf )
388  {
389    setAlignSelf( alignSelf );
390    return this;
391  }
392
393  @JsProperty
394  public native String getAlignmentAdjust();
395
396  @JsProperty
397  public native void setAlignmentAdjust( String alignmentAdjust );
398
399  /**
400   * This property allows precise alignment of elements, such as graphics, that do not have a
401   * baseline-table or lack the desired baseline in their baseline-table. With the
402   * alignment-adjust property, the position of the baseline identified by the
403   * alignment-baseline can be explicitly determined. It also determines precisely the
404   * alignment point for each glyph within a textual element.
405   */
406  @JsOverlay
407  @Nonnull
408  public final CssProps alignmentAdjust( String alignmentAdjust )
409  {
410    setAlignmentAdjust( alignmentAdjust );
411    return this;
412  }
413
414  @JsProperty
415  public native String getAlignmentBaseline();
416
417  @JsProperty
418  public native void setAlignmentBaseline( String alignmentBaseline );
419
420  @JsOverlay
421  @Nonnull
422  public final CssProps alignmentBaseline( String alignmentBaseline )
423  {
424    setAlignmentBaseline( alignmentBaseline );
425    return this;
426  }
427
428  @JsProperty
429  public native String getAnimationDelay();
430
431  @JsProperty
432  public native void setAnimationDelay( String animationDelay );
433
434  /**
435   * Defines a length of time to elapse before an animation starts, allowing an animation to
436   * begin execution some time after it is applied.
437   */
438  @JsOverlay
439  @Nonnull
440  public final CssProps animationDelay( String animationDelay )
441  {
442    setAnimationDelay( animationDelay );
443    return this;
444  }
445
446  @JsProperty
447  public native String getAnimationDirection();
448
449  @JsProperty
450  public native void setAnimationDirection( String animationDirection );
451
452  /*
453   * Defines whether an animation should run in reverse on some or all cycles.
454   */
455  @JsOverlay
456  @Nonnull
457  public final CssProps animationDirection( String animationDirection )
458  {
459    setAnimationDirection( animationDirection );
460    return this;
461  }
462
463  @JsProperty
464  public native String getAnimationIterationCount();
465
466  @JsProperty
467  public native void setAnimationIterationCount( String animationIterationCount );
468
469  /**
470   * Specifies how many times an animation cycle should play.
471   */
472  @JsOverlay
473  @Nonnull
474  public final CssProps animationIterationCount( String animationIterationCount )
475  {
476    setAnimationIterationCount( animationIterationCount );
477    return this;
478  }
479
480  @JsProperty
481  public native String getAnimationTimingFunction();
482
483  @JsProperty
484  public native void setAnimationTimingFunction( @Nonnull String animationTimingFunction );
485
486  @JsOverlay
487  @Nonnull
488  public final CssProps animationTimingFunction( @Nonnull final String animationTimingFunction )
489  {
490    setAnimationTimingFunction( animationTimingFunction );
491    return this;
492  }
493
494  @JsProperty
495  public native String getAnimationDuration();
496
497  @JsProperty
498  public native void setAnimationDuration( @Nonnull String animationDuration );
499
500  @JsOverlay
501  @Nonnull
502  public final CssProps animationDuration( @Nonnull final String animationDuration )
503  {
504    setAnimationDuration( animationDuration );
505    return this;
506  }
507
508  @JsProperty
509  public native String getAnimationName();
510
511  @JsProperty
512  public native void setAnimationName( String animationName );
513
514  /**
515   * Defines the list of animations that apply to the element.
516   */
517  @JsOverlay
518  @Nonnull
519  public final CssProps animationName( String animationName )
520  {
521    setAnimationName( animationName );
522    return this;
523  }
524
525  @JsProperty
526  public native String getAnimationPlayState();
527
528  @JsProperty
529  public native void setAnimationPlayState( String animationPlayState );
530
531  /**
532   * Defines whether an animation is running or paused.
533   */
534  @JsOverlay
535  @Nonnull
536  public final CssProps animationPlayState( String animationPlayState )
537  {
538    setAnimationPlayState( animationPlayState );
539    return this;
540  }
541
542  @JsProperty
543  public native String getAppearance();
544
545  @JsProperty
546  public native void setAppearance( String appearance );
547
548  /**
549   * Allows changing the style of any element to platform-based interface elements or vice versa.
550   */
551  @JsOverlay
552  @Nonnull
553  public final CssProps appearance( String appearance )
554  {
555    setAppearance( appearance );
556    return this;
557  }
558
559  @JsProperty
560  public native String getBackfaceVisibility();
561
562  @JsProperty
563  public native void setBackfaceVisibility( String backfaceVisibility );
564
565  /**
566   * Determines whether or not the "back" side of a transformed element is visible when facing
567   * the viewer.
568   */
569  @JsOverlay
570  @Nonnull
571  public final CssProps backfaceVisibility( String backfaceVisibility )
572  {
573    setBackfaceVisibility( backfaceVisibility );
574    return this;
575  }
576
577  @JsProperty
578  public native String getBackgroundBlendMode();
579
580  @JsProperty
581  public native void setBackgroundBlendMode( String backgroundBlendMode );
582
583  /**
584   * This property describes how the element's background images should blend with each other
585   * and the element's background color. The value is a list of blend modes that corresponds
586   * to each background image. Each element in the list will apply to the corresponding
587   * element of background-image. If a property doesn't have enough comma-separated values to
588   * match the number of layers, the UA must calculate its used value by repeating the list of
589   * values until there are enough.
590   */
591  @JsOverlay
592  @Nonnull
593  public final CssProps backgroundBlendMode( String backgroundBlendMode )
594  {
595    setBackgroundBlendMode( backgroundBlendMode );
596    return this;
597  }
598
599  @JsProperty
600  public native String getBackgroundComposite();
601
602  @JsProperty
603  public native void setBackgroundComposite( String backgroundComposite );
604
605  @JsOverlay
606  @Nonnull
607  public final CssProps backgroundComposite( String backgroundComposite )
608  {
609    setBackgroundComposite( backgroundComposite );
610    return this;
611  }
612
613  @JsProperty
614  public native String getBackgroundImage();
615
616  @JsProperty
617  public native void setBackgroundImage( String backgroundImage );
618
619  /**
620   * Applies one or more background images to an element. These can be any valid CSS image,
621   * including url() paths to image files or CSS gradients.
622   */
623  @JsOverlay
624  @Nonnull
625  public final CssProps backgroundImage( String backgroundImage )
626  {
627    setBackgroundImage( backgroundImage );
628    return this;
629  }
630
631  @JsProperty
632  public native String getBackgroundOrigin();
633
634  @JsProperty
635  public native void setBackgroundOrigin( String backgroundOrigin );
636
637  /**
638   * Specifies what the background-position property is relative to.
639   */
640  @JsOverlay
641  @Nonnull
642  public final CssProps backgroundOrigin( String backgroundOrigin )
643  {
644    setBackgroundOrigin( backgroundOrigin );
645    return this;
646  }
647
648  @JsProperty
649  public native String getBackgroundPositionX();
650
651  @JsProperty
652  public native void setBackgroundPositionX( String backgroundPositionX );
653
654  /**
655   * Sets the horizontal position of a background image.
656   */
657  @JsOverlay
658  @Nonnull
659  public final CssProps backgroundPositionX( String backgroundPositionX )
660  {
661    setBackgroundPositionX( backgroundPositionX );
662    return this;
663  }
664
665  @JsProperty
666  public native String getBackgroundRepeat();
667
668  @JsProperty
669  public native void setBackgroundRepeat( String backgroundRepeat );
670
671  /**
672   * Background-repeat defines if and how background images will be repeated after they have
673   * been sized and positioned
674   */
675  @JsOverlay
676  @Nonnull
677  public final CssProps backgroundRepeat( String backgroundRepeat )
678  {
679    setBackgroundRepeat( backgroundRepeat );
680    return this;
681  }
682
683  @JsProperty
684  public native String getBorder();
685
686  @JsProperty
687  public native void setBorder( String border );
688
689  /**
690   * Shorthand property that defines the different properties of all four sides of an element's
691   * border in a single declaration. It can be used to set border-width, border-style and
692   * border-color, or a subset of these.
693   */
694  @JsOverlay
695  @Nonnull
696  public final CssProps border( String border )
697  {
698    setBorder( border );
699    return this;
700  }
701
702  @JsProperty
703  public native String getBorderRadius();
704
705  @JsProperty
706  public native void setBorderRadius( String borderRadius );
707
708  @JsOverlay
709  @Nonnull
710  public final CssProps borderRadius( String borderRadius )
711  {
712    setBorderRadius( borderRadius );
713    return this;
714  }
715
716  @JsProperty
717  public native String getBorderBottomLeftRadius();
718
719  @JsProperty
720  public native void setBorderBottomLeftRadius( String borderBottomLeftRadius );
721
722  /**
723   * Defines the shape of the border of the bottom-left corner.
724   */
725  @JsOverlay
726  @Nonnull
727  public final CssProps borderBottomLeftRadius( String borderBottomLeftRadius )
728  {
729    setBorderBottomLeftRadius( borderBottomLeftRadius );
730    return this;
731  }
732
733  @JsProperty
734  public native String getBorderBottomRightRadius();
735
736  @JsProperty
737  public native void setBorderBottomRightRadius( String borderBottomRightRadius );
738
739  /**
740   * Defines the shape of the border of the bottom-right corner.
741   */
742  @JsOverlay
743  @Nonnull
744  public final CssProps borderBottomRightRadius( String borderBottomRightRadius )
745  {
746    setBorderBottomRightRadius( borderBottomRightRadius );
747    return this;
748  }
749
750  @JsProperty
751  public native String getBorderBottomWidth();
752
753  @JsProperty
754  public native void setBorderBottomWidth( String borderBottomWidth );
755
756  /**
757   * Sets the width of an element's bottom border. To set all four borders, use the border-width
758   * shorthand property which sets the values simultaneously for border-top-width,
759   * border-right-width, border-bottom-width, and border-left-width.
760   */
761  @JsOverlay
762  @Nonnull
763  public final CssProps borderBottomWidth( String borderBottomWidth )
764  {
765    setBorderBottomWidth( borderBottomWidth );
766    return this;
767  }
768
769  @JsProperty
770  public native String getBorderCollapse();
771
772  @JsProperty
773  public native void setBorderCollapse( String borderCollapse );
774
775  /**
776   * Border-collapse can be used for collapsing the borders between table cells
777   */
778  @JsOverlay
779  @Nonnull
780  public final CssProps borderCollapse( String borderCollapse )
781  {
782    setBorderCollapse( borderCollapse );
783    return this;
784  }
785
786  @JsProperty
787  public native String getBorderColor();
788
789  @JsProperty
790  public native void setBorderColor( String borderColor );
791
792  /**
793   * The CSS border-color property sets the color of an element's four borders. This property can
794   * have from one to four values, made up of the elementary properties:
795   * - border-top-color
796   * - border-right-color
797   * - border-bottom-color
798   * - border-left-color The default color is the currentColor of each of these values.
799   * If you provide one value, it sets the color for the element. Two values set the horizontal
800   * and vertical values, respectively. Providing three values sets the top, vertical, and bottom
801   * values, in that order. Four values set all for sides: top, right, bottom, and left, in that
802   * order.
803   */
804  @JsOverlay
805  @Nonnull
806  public final CssProps borderColor( String borderColor )
807  {
808    setBorderColor( borderColor );
809    return this;
810  }
811
812  @JsProperty
813  public native String getBorderCornerShape();
814
815  @JsProperty
816  public native void setBorderCornerShape( String borderCornerShape );
817
818  /**
819   * Specifies different corner clipping effects, such as scoop (inner curves), bevel (straight
820   * cuts) or notch (cut-off rectangles). Works along with border-radius to specify the size of each
821   * corner effect.
822   */
823  @JsOverlay
824  @Nonnull
825  public final CssProps borderCornerShape( String borderCornerShape )
826  {
827    setBorderCornerShape( borderCornerShape );
828    return this;
829  }
830
831  @JsProperty
832  public native String getBorderImageSource();
833
834  @JsProperty
835  public native void setBorderImageSource( String borderImageSource );
836
837  /**
838   * The property border-image-source is used to set the image to be used instead of the border
839   * style. If this is set to none the border-style is used instead.
840   */
841  @JsOverlay
842  @Nonnull
843  public final CssProps borderImageSource( String borderImageSource )
844  {
845    setBorderImageSource( borderImageSource );
846    return this;
847  }
848
849  @JsProperty
850  public native String getBorderImageWidth();
851
852  @JsProperty
853  public native void setBorderImageWidth( String borderImageWidth );
854
855  /**
856   * The border-image-width CSS property defines the offset to use for dividing the border image
857   * in nine parts, the top-left corner, central top edge, top-right-corner, central right edge,
858   * bottom-right corner, central bottom edge, bottom-left corner, and central right edge. They
859   * represent inward distance from the top, right, bottom, and left edges.
860   */
861  @JsOverlay
862  @Nonnull
863  public final CssProps borderImageWidth( String borderImageWidth )
864  {
865    setBorderImageWidth( borderImageWidth );
866    return this;
867  }
868
869  @JsProperty
870  public native String getBorderLeft();
871
872  @JsProperty
873  public native void setBorderLeft( String borderLeft );
874
875  /**
876   * Shorthand property that defines the border-width, border-style and border-color of an
877   * element's left border in a single declaration. Note that you can use the corresponding
878   * longhand properties to set specific individual properties of the left
879   * border: border-left-width, border-left-style and border-left-color.
880   */
881  @JsOverlay
882  @Nonnull
883  public final CssProps borderLeft( String borderLeft )
884  {
885    setBorderLeft( borderLeft );
886    return this;
887  }
888
889  @JsProperty
890  public native String getBorderLeftColor();
891
892  @JsProperty
893  public native void setBorderLeftColor( String borderLeftColor );
894
895  /**
896   * The CSS border-left-color property sets the color of an element's left border. This page
897   * explains the border-left-color value, but often you will find it more convenient to fix
898   * the border's left color as part of a shorthand set, either border-left or border-color.
899   * Colors can be defined several ways. For more information, see Usage.
900   */
901  @JsOverlay
902  @Nonnull
903  public final CssProps borderLeftColor( String borderLeftColor )
904  {
905    setBorderLeftColor( borderLeftColor );
906    return this;
907  }
908
909  @JsProperty
910  public native String getBorderLeftStyle();
911
912  @JsProperty
913  public native void setBorderLeftStyle( String borderLeftStyle );
914
915  /**
916   * Sets the style of an element's left border. To set all four borders, use the shorthand
917   * property, border-style. Otherwise, you can set the borders individually with
918   * border-top-style, border-right-style, border-bottom-style, border-left-style.
919   */
920  @JsOverlay
921  @Nonnull
922  public final CssProps borderLeftStyle( String borderLeftStyle )
923  {
924    setBorderLeftStyle( borderLeftStyle );
925    return this;
926  }
927
928  @JsProperty
929  public native String getBorderLeftWidth();
930
931  @JsProperty
932  public native void setBorderLeftWidth( String borderLeftWidth );
933
934  /**
935   * Sets the width of an element's left border. To set all four borders, use the border-width
936   * shorthand property which sets the values simultaneously for border-top-width,
937   * border-right-width, border-bottom-width, and border-left-width.
938   */
939  @JsOverlay
940  @Nonnull
941  public final CssProps borderLeftWidth( String borderLeftWidth )
942  {
943    setBorderLeftWidth( borderLeftWidth );
944    return this;
945  }
946
947  @JsProperty
948  public native String getBorderRight();
949
950  @JsProperty
951  public native void setBorderRight( String borderRight );
952
953  /**
954   * Shorthand property that defines the border-width, border-style and border-color of an
955   * element's right border in a single declaration. Note that you can use the corresponding
956   * longhand properties to set specific individual properties of the right border:
957   * border-right-width, border-right-style and border-right-color.
958   */
959  @JsOverlay
960  @Nonnull
961  public final CssProps borderRight( String borderRight )
962  {
963    setBorderRight( borderRight );
964    return this;
965  }
966
967  @JsProperty
968  public native String getBorderRightColor();
969
970  @JsProperty
971  public native void setBorderRightColor( String borderRightColor );
972
973  /**
974   * Sets the color of an element's right border. This page explains the border-right-color
975   * value, but often you will find it more convenient to fix the border's right color as
976   * part of a shorthand set, either border-right or border-color.
977   * Colors can be defined several ways. For more information, see Usage.
978   */
979  @JsOverlay
980  @Nonnull
981  public final CssProps borderRightColor( String borderRightColor )
982  {
983    setBorderRightColor( borderRightColor );
984    return this;
985  }
986
987  @JsProperty
988  public native String getBorderRightStyle();
989
990  @JsProperty
991  public native void setBorderRightStyle( String borderRightStyle );
992
993  /**
994   * Sets the style of an element's right border. To set all four borders, use the shorthand
995   * property, border-style. Otherwise, you can set the borders individually with
996   * border-top-style, border-right-style, border-bottom-style, border-left-style.
997   */
998  @JsOverlay
999  @Nonnull
1000  public final CssProps borderRightStyle( String borderRightStyle )
1001  {
1002    setBorderRightStyle( borderRightStyle );
1003    return this;
1004  }
1005
1006  @JsProperty
1007  public native String getBorderRightWidth();
1008
1009  @JsProperty
1010  public native void setBorderRightWidth( String borderRightWidth );
1011
1012  /**
1013   * Sets the width of an element's right border. To set all four borders, use the
1014   * border-width shorthand property which sets the values simultaneously for
1015   * border-top-width, border-right-width, border-bottom-width, and border-left-width.
1016   */
1017  @JsOverlay
1018  @Nonnull
1019  public final CssProps borderRightWidth( String borderRightWidth )
1020  {
1021    setBorderRightWidth( borderRightWidth );
1022    return this;
1023  }
1024
1025  @JsProperty
1026  public native String getBorderSpacing();
1027
1028  @JsProperty
1029  public native void setBorderSpacing( String borderSpacing );
1030
1031  /**
1032   * Specifies the distance between the borders of adjacent cells.
1033   */
1034  @JsOverlay
1035  @Nonnull
1036  public final CssProps borderSpacing( String borderSpacing )
1037  {
1038    setBorderSpacing( borderSpacing );
1039    return this;
1040  }
1041
1042  @JsProperty
1043  public native String getBorderStyle();
1044
1045  @JsProperty
1046  public native void setBorderStyle( String borderStyle );
1047
1048  /**
1049   * Sets the style of an element's four borders. This property can have from one to four values.
1050   * With only one value, the value will be applied to all four borders; otherwise, this works
1051   * as a shorthand property for each of border-top-style, border-right-style,
1052   * border-bottom-style, border-left-style, where each border style may be assigned a separate value.
1053   */
1054  @JsOverlay
1055  @Nonnull
1056  public final CssProps borderStyle( String borderStyle )
1057  {
1058    setBorderStyle( borderStyle );
1059    return this;
1060  }
1061
1062  @JsProperty
1063  public native String getBorderTop();
1064
1065  @JsProperty
1066  public native void setBorderTop( String borderTop );
1067
1068  /**
1069   * Shorthand property that defines the border-width, border-style and border-color of an
1070   * element's top border in a single declaration. Note that you can use the corresponding
1071   * longhand properties to set specific individual properties of the top border:
1072   * border-top-width, border-top-style and border-top-color.
1073   */
1074  @JsOverlay
1075  @Nonnull
1076  public final CssProps borderTop( String borderTop )
1077  {
1078    setBorderTop( borderTop );
1079    return this;
1080  }
1081
1082  @JsProperty
1083  public native String getBorderTopColor();
1084
1085  @JsProperty
1086  public native void setBorderTopColor( String borderTopColor );
1087
1088  /**
1089   * Sets the color of an element's top border. This page explains the border-top-color value,
1090   * but often you will find it more convenient to fix the border's top color as part of a
1091   * shorthand set, either border-top or border-color.
1092   * Colors can be defined several ways. For more information, see Usage.
1093   */
1094  @JsOverlay
1095  @Nonnull
1096  public final CssProps borderTopColor( String borderTopColor )
1097  {
1098    setBorderTopColor( borderTopColor );
1099    return this;
1100  }
1101
1102  @JsProperty
1103  public native String getBorderTopLeftRadius();
1104
1105  @JsProperty
1106  public native void setBorderTopLeftRadius( String borderTopLeftRadius );
1107
1108  /**
1109   * Sets the rounding of the top-left corner of the element.
1110   */
1111  @JsOverlay
1112  @Nonnull
1113  public final CssProps borderTopLeftRadius( String borderTopLeftRadius )
1114  {
1115    setBorderTopLeftRadius( borderTopLeftRadius );
1116    return this;
1117  }
1118
1119  @JsProperty
1120  public native String getBorderTopRightRadius();
1121
1122  @JsProperty
1123  public native void setBorderTopRightRadius( String borderTopRightRadius );
1124
1125  /**
1126   * Sets the rounding of the top-right corner of the element.
1127   */
1128  @JsOverlay
1129  @Nonnull
1130  public final CssProps borderTopRightRadius( String borderTopRightRadius )
1131  {
1132    setBorderTopRightRadius( borderTopRightRadius );
1133    return this;
1134  }
1135
1136  @JsProperty
1137  public native String getBorderTopStyle();
1138
1139  @JsProperty
1140  public native void setBorderTopStyle( String borderTopStyle );
1141
1142  /**
1143   * Sets the style of an element's top border. To set all four borders, use the shorthand
1144   * property, border-style. Otherwise, you can set the borders individually with
1145   * border-top-style, border-right-style, border-bottom-style, border-left-style.
1146   */
1147  @JsOverlay
1148  @Nonnull
1149  public final CssProps borderTopStyle( String borderTopStyle )
1150  {
1151    setBorderTopStyle( borderTopStyle );
1152    return this;
1153  }
1154
1155  @JsProperty
1156  public native String getBorderTopWidth();
1157
1158  @JsProperty
1159  public native void setBorderTopWidth( String borderTopWidth );
1160
1161  /**
1162   * Sets the width of an element's top border. To set all four borders, use the shorthand
1163   * property, border-style. Otherwise, you can set the borders individually with
1164   * border-top-style, border-right-style, border-bottom-style, border-left-style.
1165   */
1166  @JsOverlay
1167  @Nonnull
1168  public final CssProps borderTopWidth( String borderTopWidth )
1169  {
1170    setBorderTopWidth( borderTopWidth );
1171    return this;
1172  }
1173
1174  @JsProperty
1175  public native String getBorderWidth();
1176
1177  @JsProperty
1178  public native void setBorderWidth( String borderWidth );
1179
1180  /**
1181   * Sets the width of an element's four borders. This property can have from one to four values.
1182   * This is a shorthand property for setting values simultaneously for border-top-width,
1183   * border-right-width, border-bottom-width, and border-left-width.
1184   */
1185  @JsOverlay
1186  @Nonnull
1187  public final CssProps borderWidth( String borderWidth )
1188  {
1189    setBorderWidth( borderWidth );
1190    return this;
1191  }
1192
1193  @JsProperty
1194  public native String getBoxDecorationBreak();
1195
1196  @JsProperty
1197  public native void setBoxDecorationBreak( String boxDecorationBreak );
1198
1199  /**
1200   * Breaks a box into fragments creating new borders, padding and repeating backgrounds or lets
1201   * it stay as a continuous box on a page break, column break, or, for inline elements, at a
1202   * line break.
1203   */
1204  @JsOverlay
1205  @Nonnull
1206  public final CssProps boxDecorationBreak( String boxDecorationBreak )
1207  {
1208    setBoxDecorationBreak( boxDecorationBreak );
1209    return this;
1210  }
1211
1212  @JsProperty
1213  public native String getBoxLineProgression();
1214
1215  @JsProperty
1216  public native void setBoxLineProgression( String boxLineProgression );
1217
1218  /**
1219   * Do not use. This property has been replaced by the flex-wrap property.
1220   * Gets or sets a value that specifies the direction to add successive rows or columns when
1221   * the value of box-lines is set to multiple.
1222   */
1223  @JsOverlay
1224  @Nonnull
1225  public final CssProps boxLineProgression( String boxLineProgression )
1226  {
1227    setBoxLineProgression( boxLineProgression );
1228    return this;
1229  }
1230
1231  @JsProperty
1232  public native String getBoxLines();
1233
1234  @JsProperty
1235  public native void setBoxLines( String boxLines );
1236
1237  /**
1238   * Do not use. This property has been replaced by the flex-wrap property.
1239   * Gets or sets a value that specifies whether child elements wrap onto multiple lines or
1240   * columns based on the space available in the object.
1241   */
1242  @JsOverlay
1243  @Nonnull
1244  public final CssProps boxLines( String boxLines )
1245  {
1246    setBoxLines( boxLines );
1247    return this;
1248  }
1249
1250  @JsProperty
1251  public native String getBoxOrdinalGroup();
1252
1253  @JsProperty
1254  public native void setBoxOrdinalGroup( String boxOrdinalGroup );
1255
1256  /**
1257   * Do not use. This property has been replaced by flex-order.
1258   * Specifies the ordinal group that a child element of the object belongs to. This ordinal
1259   * value identifies the display order (along the axis defined by the box-orient property)
1260   * for the group.
1261   */
1262  @JsOverlay
1263  @Nonnull
1264  public final CssProps boxOrdinalGroup( String boxOrdinalGroup )
1265  {
1266    setBoxOrdinalGroup( boxOrdinalGroup );
1267    return this;
1268  }
1269
1270  @JsProperty
1271  public native String getBreakAfter();
1272
1273  @JsProperty
1274  public native void setBreakAfter( String breakAfter );
1275
1276  /**
1277   * The CSS break-after property allows you to force a break on multi-column layouts. More
1278   * specifically, it allows you to force a break after an element. It allows you to determine
1279   * if a break should occur, and what type of break it should be. The break-after CSS
1280   * property describes how the page, column or region break behaves after the generated box.
1281   * If there is no generated box, the property is ignored.
1282   */
1283  @JsOverlay
1284  @Nonnull
1285  public final CssProps breakAfter( String breakAfter )
1286  {
1287    setBreakAfter( breakAfter );
1288    return this;
1289  }
1290
1291  @JsProperty
1292  public native String getBreakBefore();
1293
1294  @JsProperty
1295  public native void setBreakBefore( String breakBefore );
1296
1297  /**
1298   * Control page/column/region breaks that fall above a block of content
1299   */
1300  @JsOverlay
1301  @Nonnull
1302  public final CssProps breakBefore( String breakBefore )
1303  {
1304    setBreakBefore( breakBefore );
1305    return this;
1306  }
1307
1308  @JsProperty
1309  public native String getBreakInside();
1310
1311  @JsProperty
1312  public native void setBreakInside( String breakInside );
1313
1314  /**
1315   * Control page/column/region breaks that fall within a block of content
1316   */
1317  @JsOverlay
1318  @Nonnull
1319  public final CssProps breakInside( String breakInside )
1320  {
1321    setBreakInside( breakInside );
1322    return this;
1323  }
1324
1325  @JsProperty
1326  public native String getClear();
1327
1328  @JsProperty
1329  public native void setClear( String clear );
1330
1331  /**
1332   * The clear CSS property specifies if an element can be positioned next to or must be
1333   * positioned below the floating elements that precede it in the markup.
1334   */
1335  @JsOverlay
1336  @Nonnull
1337  public final CssProps clear( String clear )
1338  {
1339    setClear( clear );
1340    return this;
1341  }
1342
1343  @JsProperty
1344  public native String getClipRule();
1345
1346  @JsProperty
1347  public native void setClipRule( String clipRule );
1348
1349  /**
1350   * Clipping crops an graphic, so that only a portion of the graphic is rendered, or filled.
1351   * This clip-rule property, when used with the clip-path property, defines which clip rule,
1352   * or algorithm, to use when filling the different parts of a graphics.
1353   */
1354  @JsOverlay
1355  @Nonnull
1356  public final CssProps clipRule( String clipRule )
1357  {
1358    setClipRule( clipRule );
1359    return this;
1360  }
1361
1362  @JsProperty
1363  public native String getColor();
1364
1365  @JsProperty
1366  public native void setColor( String color );
1367
1368  /**
1369   * The color property sets the color of an element's foreground content (usually text),
1370   * accepting any standard CSS color from keywords and hex values to RGB(a) and HSL(a).
1371   */
1372  @JsOverlay
1373  @Nonnull
1374  public final CssProps color( String color )
1375  {
1376    this.setColor( color );
1377    return this;
1378  }
1379
1380  @JsProperty
1381  public native String getColumnFill();
1382
1383  @JsProperty
1384  public native void setColumnFill( String columnFill );
1385
1386  /**
1387   * Specifies how to fill columns (balanced or sequential).
1388   */
1389  @JsOverlay
1390  @Nonnull
1391  public final CssProps columnFill( String columnFill )
1392  {
1393    setColumnFill( columnFill );
1394    return this;
1395  }
1396
1397  @JsProperty
1398  public native String getColumnGap();
1399
1400  @JsProperty
1401  public native void setColumnGap( String columnGap );
1402
1403  /**
1404   * The column-gap property controls the width of the gap between columns in multi-column
1405   * elements.
1406   */
1407  @JsOverlay
1408  @Nonnull
1409  public final CssProps columnGap( String columnGap )
1410  {
1411    setColumnGap( columnGap );
1412    return this;
1413  }
1414
1415  @JsProperty
1416  public native String getColumnRule();
1417
1418  @JsProperty
1419  public native void setColumnRule( String columnRule );
1420
1421  /**
1422   * Sets the width, style, and color of the rule between columns.
1423   */
1424  @JsOverlay
1425  @Nonnull
1426  public final CssProps columnRule( String columnRule )
1427  {
1428    setColumnRule( columnRule );
1429    return this;
1430  }
1431
1432  @JsProperty
1433  public native String getColumnRuleColor();
1434
1435  @JsProperty
1436  public native void setColumnRuleColor( String columnRuleColor );
1437
1438  /**
1439   * Specifies the color of the rule between columns.
1440   */
1441  @JsOverlay
1442  @Nonnull
1443  public final CssProps columnRuleColor( String columnRuleColor )
1444  {
1445    setColumnRuleColor( columnRuleColor );
1446    return this;
1447  }
1448
1449  @JsProperty
1450  public native String getColumnRuleWidth();
1451
1452  @JsProperty
1453  public native void setColumnRuleWidth( String columnRuleWidth );
1454
1455  /**
1456   * Specifies the width of the rule between columns.
1457   */
1458  @JsOverlay
1459  @Nonnull
1460  public final CssProps columnRuleWidth( String columnRuleWidth )
1461  {
1462    setColumnRuleWidth( columnRuleWidth );
1463    return this;
1464  }
1465
1466  @JsProperty
1467  public native String getColumnSpan();
1468
1469  @JsProperty
1470  public native void setColumnSpan( String columnSpan );
1471
1472  /**
1473   * The column-span CSS property makes it possible for an element to span across all columns
1474   * when its value is set to all. An element that spans more than one column is called a
1475   * spanning element.
1476   */
1477  @JsOverlay
1478  @Nonnull
1479  public final CssProps columnSpan( String columnSpan )
1480  {
1481    setColumnSpan( columnSpan );
1482    return this;
1483  }
1484
1485  @JsProperty
1486  public native String getColumnWidth();
1487
1488  @JsProperty
1489  public native void setColumnWidth( String columnWidth );
1490
1491  /**
1492   * Specifies the width of columns in multi-column elements.
1493   */
1494  @JsOverlay
1495  @Nonnull
1496  public final CssProps columnWidth( String columnWidth )
1497  {
1498    setColumnWidth( columnWidth );
1499    return this;
1500  }
1501
1502  @JsProperty
1503  public native String getColumns();
1504
1505  @JsProperty
1506  public native void setColumns( String columns );
1507
1508  /**
1509   * This property is a shorthand property for setting column-width and/or column-count.
1510   */
1511  @JsOverlay
1512  @Nonnull
1513  public final CssProps columns( String columns )
1514  {
1515    setColumns( columns );
1516    return this;
1517  }
1518
1519  @JsProperty
1520  public native String getCounterIncrement();
1521
1522  @JsProperty
1523  public native void setCounterIncrement( String counterIncrement );
1524
1525  /**
1526   * The counter-increment property accepts one or more names of counters (identifiers), each
1527   * one optionally followed by an integer which specifies the value by which the counter
1528   * should be incremented (e.g. if the value is 2, the counter increases by 2 each time it is
1529   * invoked).
1530   */
1531  @JsOverlay
1532  @Nonnull
1533  public final CssProps counterIncrement( String counterIncrement )
1534  {
1535    setCounterIncrement( counterIncrement );
1536    return this;
1537  }
1538
1539  @JsProperty
1540  public native String getCounterReset();
1541
1542  @JsProperty
1543  public native void setCounterReset( String counterReset );
1544
1545  /**
1546   * The counter-reset property contains a list of one or more names of counters, each one
1547   * optionally followed by an integer (otherwise, the integer defaults to 0.) Each time the
1548   * given element is invoked, the counters specified by the property are set to the given
1549   * integer.
1550   */
1551  @JsOverlay
1552  @Nonnull
1553  public final CssProps counterReset( String counterReset )
1554  {
1555    setCounterReset( counterReset );
1556    return this;
1557  }
1558
1559  @JsProperty
1560  public native String getCue();
1561
1562  @JsProperty
1563  public native void setCue( String cue );
1564
1565  /**
1566   * The cue property specifies sound files (known as an "auditory icon") to be played by
1567   * speech media agents before and after presenting an element's content; if only one file
1568   * is specified, it is played both before and after. The volume at which the file(s)
1569   * should be played, relative to the volume of the main element, may also be specified.
1570   * The icon files may also be set separately with the cue-before and cue-after properties.
1571   */
1572  @JsOverlay
1573  @Nonnull
1574  public final CssProps cue( String cue )
1575  {
1576    setCue( cue );
1577    return this;
1578  }
1579
1580  @JsProperty
1581  public native String getCueAfter();
1582
1583  @JsProperty
1584  public native void setCueAfter( String cueAfter );
1585
1586  /**
1587   * The cue-after property specifies a sound file (known as an "auditory icon") to be played
1588   * by speech media agents after presenting an element's content; the volume at which the
1589   * file should be played may also be specified. The shorthand property cue sets cue sounds
1590   * for both before and after the element is presented.
1591   */
1592  @JsOverlay
1593  @Nonnull
1594  public final CssProps cueAfter( String cueAfter )
1595  {
1596    setCueAfter( cueAfter );
1597    return this;
1598  }
1599
1600  @JsProperty
1601  public native String getDirection();
1602
1603  @JsProperty
1604  public native void setDirection( String direction );
1605
1606  /**
1607   * The direction CSS property specifies the text direction/writing direction. The rtl is
1608   * used for Hebrew or Arabic text, the ltr is for other languages.
1609   */
1610  @JsOverlay
1611  @Nonnull
1612  public final CssProps direction( String direction )
1613  {
1614    setDirection( direction );
1615    return this;
1616  }
1617
1618  @JsProperty
1619  public native String getDisplay();
1620
1621  @JsProperty
1622  public native void setDisplay( String display );
1623
1624  /**
1625   * This property specifies the type of rendering box used for an element. It is a shorthand
1626   * property for many other display properties.
1627   */
1628  @JsOverlay
1629  @Nonnull
1630  public final CssProps display( String display )
1631  {
1632    setDisplay( display );
1633    return this;
1634  }
1635
1636  @JsProperty
1637  public native String getFill();
1638
1639  @JsProperty
1640  public native void setFill( String fill );
1641
1642  /**
1643   * The "fill" property paints the interior of the given graphical element. The area to be
1644   * painted consists of any areas inside the outline of the shape. To determine the inside of
1645   * the shape, all subpaths are considered, and the interior is determined according to the
1646   * rules associated with the current value of the "fill-rule" property. The zero-width
1647   * geometric outline of a shape is included in the area to be painted.
1648   */
1649  @JsOverlay
1650  @Nonnull
1651  public final CssProps fill( String fill )
1652  {
1653    setFill( fill );
1654    return this;
1655  }
1656
1657  @JsProperty
1658  public native String getFillRule();
1659
1660  @JsProperty
1661  public native void setFillRule( String fillRule );
1662
1663  /**
1664   * The "fill-rule" property indicates the algorithm which is to be used to determine what
1665   * parts of the canvas are included inside the shape. For a simple, non-intersecting path, it
1666   * is intuitively clear what region lies "inside"; however, for a more complex path, such as
1667   * a path that intersects itself or where one subpath encloses another, the interpretation of
1668   * "inside" is not so obvious.
1669   * The "fill-rule" property provides two options for how the inside of a shape is determined:
1670   */
1671  @JsOverlay
1672  @Nonnull
1673  public final CssProps fillRule( String fillRule )
1674  {
1675    setFillRule( fillRule );
1676    return this;
1677  }
1678
1679  @JsProperty
1680  public native String getFilter();
1681
1682  @JsProperty
1683  public native void setFilter( String filter );
1684
1685  /**
1686   * Applies various image processing effects. This property is largely unsupported. See
1687   * Compatibility section for more information.
1688   */
1689  @JsOverlay
1690  @Nonnull
1691  public final CssProps filter( String filter )
1692  {
1693    setFilter( filter );
1694    return this;
1695  }
1696
1697  @JsProperty
1698  public native String getFlexBasis();
1699
1700  @JsProperty
1701  public native void setFlexBasis( String flexBasis );
1702
1703  /**
1704   * The flex-basis CSS property describes the initial main size of the flex item before any free
1705   * space is distributed according to the flex factors described in the flex property
1706   * (flex-grow and flex-shrink).
1707   */
1708  @JsOverlay
1709  @Nonnull
1710  public final CssProps flexBasis( String flexBasis )
1711  {
1712    setFlexBasis( flexBasis );
1713    return this;
1714  }
1715
1716  @JsProperty
1717  public native String getFlexDirection();
1718
1719  @JsProperty
1720  public native void setFlexDirection( String flexDirection );
1721
1722  /**
1723   * The flex-direction CSS property describes how flex items are placed in the flex container,
1724   * by setting the direction of the flex container's main axis.
1725   */
1726  @JsOverlay
1727  @Nonnull
1728  public final CssProps flexDirection( String flexDirection )
1729  {
1730    setFlexDirection( flexDirection );
1731    return this;
1732  }
1733
1734  @JsProperty
1735  public native String getFlexFlow();
1736
1737  @JsProperty
1738  public native void setFlexFlow( String flexFlow );
1739
1740  /**
1741   * The flex-flow CSS property defines the flex container's main and cross axis. It is a
1742   * shorthand property for the flex-direction and flex-wrap properties.
1743   */
1744  @JsOverlay
1745  @Nonnull
1746  public final CssProps flexFlow( String flexFlow )
1747  {
1748    setFlexFlow( flexFlow );
1749    return this;
1750  }
1751
1752  @JsProperty
1753  public native String getFlexItemAlign();
1754
1755  @JsProperty
1756  public native void setFlexItemAlign( String flexItemAlign );
1757
1758  /**
1759   * Do not use. This property has been renamed to align-self
1760   * Specifies the alignment (perpendicular to the layout axis defined by flex-direction)
1761   * of child elements of the object.
1762   */
1763  @JsOverlay
1764  @Nonnull
1765  public final CssProps flexItemAlign( String flexItemAlign )
1766  {
1767    setFlexItemAlign( flexItemAlign );
1768    return this;
1769  }
1770
1771  @JsProperty
1772  public native String getFlexOrder();
1773
1774  @JsProperty
1775  public native void setFlexOrder( String flexOrder );
1776
1777  /**
1778   * Gets or sets a value that specifies the ordinal group that a flexbox element belongs to.
1779   * This ordinal value identifies the display order for the group.
1780   */
1781  @JsOverlay
1782  @Nonnull
1783  public final CssProps flexOrder( String flexOrder )
1784  {
1785    setFlexOrder( flexOrder );
1786    return this;
1787  }
1788
1789  @JsProperty( name = "float" )
1790  public native String getCssFloat();
1791
1792  @JsProperty( name = "float" )
1793  public native void setCssFloat( String cssFloat );
1794
1795  /**
1796   * Elements which have the style float are floated horizontally. These elements can move as
1797   * far to the left or right of the containing element. All elements after the floating
1798   * element will flow around it, but elements before the floating element are not impacted. If
1799   * several floating elements are placed after each other, they will float next to each other
1800   * as long as there is room.
1801   */
1802  @JsOverlay
1803  @Nonnull
1804  public final CssProps cssFloat( String cssFloat )
1805  {
1806    setCssFloat( cssFloat );
1807    return this;
1808  }
1809
1810  @JsProperty
1811  public native String getFlowFrom();
1812
1813  @JsProperty
1814  public native void setFlowFrom( String flowFrom );
1815
1816  /**
1817   * Flows content from a named flow (specified by a corresponding flow-into) through selected
1818   * elements to form a dynamic chain of layout regions.
1819   */
1820  @JsOverlay
1821  @Nonnull
1822  public final CssProps flowFrom( String flowFrom )
1823  {
1824    setFlowFrom( flowFrom );
1825    return this;
1826  }
1827
1828  @JsProperty
1829  public native String getFont();
1830
1831  @JsProperty
1832  public native void setFont( String font );
1833
1834  /**
1835   * The font property is shorthand that allows you to do one of two things: you can either set
1836   * up six of the most mature font properties in one line, or you can set one of a choice of
1837   * keywords to adopt a system font setting.
1838   */
1839  @JsOverlay
1840  @Nonnull
1841  public final CssProps font( String font )
1842  {
1843    setFont( font );
1844    return this;
1845  }
1846
1847  @JsProperty
1848  public native String getFontFamily();
1849
1850  @JsProperty
1851  public native void setFontFamily( String fontFamily );
1852
1853  /**
1854   * The font-family property allows one or more font family names and/or generic family names
1855   * to be specified for usage on the selected element(s)' text. The browser then goes through
1856   * the list; for each character in the selection it applies the first font family that has an
1857   * available glyph for that character.
1858   */
1859  @JsOverlay
1860  @Nonnull
1861  public final CssProps fontFamily( String fontFamily )
1862  {
1863    setFontFamily( fontFamily );
1864    return this;
1865  }
1866
1867  @JsProperty
1868  public native String getFontKerning();
1869
1870  @JsProperty
1871  public native void setFontKerning( String fontKerning );
1872
1873  /**
1874   * The font-kerning property allows contextual adjustment of inter-glyph spacing, i.e. the
1875   * spaces between the characters in text. This property controls metric kerning
1876   * - that utilizes adjustment data contained in the font. Optical Kerning is not supported as
1877   * yet.
1878   */
1879  @JsOverlay
1880  @Nonnull
1881  public final CssProps fontKerning( String fontKerning )
1882  {
1883    setFontKerning( fontKerning );
1884    return this;
1885  }
1886
1887  @JsProperty
1888  public native String getFontSizeAdjust();
1889
1890  @JsProperty
1891  public native void setFontSizeAdjust( String fontSizeAdjust );
1892
1893  /**
1894   * The font-size-adjust property adjusts the font-size of the fallback fonts defined with
1895   * font-family, so that the x-height is the same no matter what font is used. This preserves
1896   * the readability of the text when fallback happens.
1897   */
1898  @JsOverlay
1899  @Nonnull
1900  public final CssProps fontSizeAdjust( String fontSizeAdjust )
1901  {
1902    setFontSizeAdjust( fontSizeAdjust );
1903    return this;
1904  }
1905
1906  @JsProperty
1907  public native String getFontStretch();
1908
1909  @JsProperty
1910  public native void setFontStretch( String fontStretch );
1911
1912  /**
1913   * Allows you to expand or condense the widths for a normal, condensed, or expanded font face.
1914   */
1915  @JsOverlay
1916  @Nonnull
1917  public final CssProps fontStretch( String fontStretch )
1918  {
1919    setFontStretch( fontStretch );
1920    return this;
1921  }
1922
1923  @JsProperty
1924  public native String getFontStyle();
1925
1926  @JsProperty
1927  public native void setFontStyle( String fontStyle );
1928
1929  /**
1930   * The font-style property allows normal, italic, or oblique faces to be selected. Italic
1931   * forms are generally cursive in nature while oblique faces are typically sloped versions
1932   * of the regular face. Oblique faces can be simulated by artificially sloping the glyphs
1933   * of the regular face.
1934   */
1935  @JsOverlay
1936  @Nonnull
1937  public final CssProps fontStyle( String fontStyle )
1938  {
1939    setFontStyle( fontStyle );
1940    return this;
1941  }
1942
1943  @JsProperty
1944  public native String getFontSynthesis();
1945
1946  @JsProperty
1947  public native void setFontSynthesis( String fontSynthesis );
1948
1949  /**
1950   * This value specifies whether the user agent is allowed to synthesize bold or oblique font
1951   * faces when a font family lacks bold or italic faces.
1952   */
1953  @JsOverlay
1954  @Nonnull
1955  public final CssProps fontSynthesis( String fontSynthesis )
1956  {
1957    setFontSynthesis( fontSynthesis );
1958    return this;
1959  }
1960
1961  @JsProperty
1962  public native String getFontVariant();
1963
1964  @JsProperty
1965  public native void setFontVariant( String fontVariant );
1966
1967  /**
1968   * The font-variant property enables you to select the small-caps font within a font family.
1969   */
1970  @JsOverlay
1971  @Nonnull
1972  public final CssProps fontVariant( String fontVariant )
1973  {
1974    setFontVariant( fontVariant );
1975    return this;
1976  }
1977
1978  @JsProperty
1979  public native String getFontVariantAlternates();
1980
1981  @JsProperty
1982  public native void setFontVariantAlternates( String fontVariantAlternates );
1983
1984  /**
1985   * Fonts can provide alternate glyphs in addition to default glyph for a character. This
1986   * property provides control over the selection of these alternate glyphs.
1987   */
1988  @JsOverlay
1989  @Nonnull
1990  public final CssProps fontVariantAlternates( String fontVariantAlternates )
1991  {
1992    setFontVariantAlternates( fontVariantAlternates );
1993    return this;
1994  }
1995
1996  @JsProperty
1997  public native String getGridArea();
1998
1999  @JsProperty
2000  public native void setGridArea( String gridArea );
2001
2002  /**
2003   * Lays out one or more grid items bound by 4 grid lines. Shorthand for setting
2004   * grid-column-start, grid-column-end, grid-row-start, and grid-row-end in a single
2005   * declaration.
2006   */
2007  @JsOverlay
2008  @Nonnull
2009  public final CssProps gridArea( String gridArea )
2010  {
2011    setGridArea( gridArea );
2012    return this;
2013  }
2014
2015  @JsProperty
2016  public native String getGridColumn();
2017
2018  @JsProperty
2019  public native void setGridColumn( String gridColumn );
2020
2021  /**
2022   * Controls a grid item's placement in a grid area, particularly grid position and a grid span.
2023   * Shorthand for setting grid-column-start and grid-column-end in a single declaration.
2024   */
2025  @JsOverlay
2026  @Nonnull
2027  public final CssProps gridColumn( String gridColumn )
2028  {
2029    setGridColumn( gridColumn );
2030    return this;
2031  }
2032
2033  @JsProperty
2034  public native String getGridColumnEnd();
2035
2036  @JsProperty
2037  public native void setGridColumnEnd( String gridColumnEnd );
2038
2039  /**
2040   * Controls a grid item's placement in a grid area as well as grid position and a grid span.
2041   * The grid-column-end property (with grid-row-start, grid-row-end, and grid-column-start)
2042   * determines a grid item's placement by specifying the grid lines of a grid item's grid area.
2043   */
2044  @JsOverlay
2045  @Nonnull
2046  public final CssProps gridColumnEnd( String gridColumnEnd )
2047  {
2048    setGridColumnEnd( gridColumnEnd );
2049    return this;
2050  }
2051
2052  @JsProperty
2053  public native String getGridColumnStart();
2054
2055  @JsProperty
2056  public native void setGridColumnStart( String gridColumnStart );
2057
2058  /**
2059   * Determines a grid item's placement by specifying the starting grid lines of a grid item's
2060   * grid area . A grid item's placement in a grid area consists of a grid position and a grid
2061   * span. See also ( grid-row-start, grid-row-end, and grid-column-end)
2062   */
2063  @JsOverlay
2064  @Nonnull
2065  public final CssProps gridColumnStart( String gridColumnStart )
2066  {
2067    setGridColumnStart( gridColumnStart );
2068    return this;
2069  }
2070
2071  @JsProperty
2072  public native String getGridRow();
2073
2074  @JsProperty
2075  public native void setGridRow( String gridRow );
2076
2077  /**
2078   * Gets or sets a value that indicates which row an element within a Grid should appear in.
2079   * Shorthand for setting grid-row-start and grid-row-end in a single declaration.
2080   */
2081  @JsOverlay
2082  @Nonnull
2083  public final CssProps gridRow( String gridRow )
2084  {
2085    setGridRow( gridRow );
2086    return this;
2087  }
2088
2089  @JsProperty
2090  public native String getGridRowEnd();
2091
2092  @JsProperty
2093  public native void setGridRowEnd( String gridRowEnd );
2094
2095  /**
2096   * Determines a grid item's placement by specifying the block-end. A grid item's placement in
2097   * a grid area consists of a grid position and a grid span. The grid-row-end property
2098   * (with grid-row-start, grid-column-start, and grid-column-end) determines a grid item's
2099   * placement by specifying the grid lines of a grid item's grid area.
2100   */
2101  @JsOverlay
2102  @Nonnull
2103  public final CssProps gridRowEnd( String gridRowEnd )
2104  {
2105    setGridRowEnd( gridRowEnd );
2106    return this;
2107  }
2108
2109  @JsProperty
2110  public native String getGridRowPosition();
2111
2112  @JsProperty
2113  public native void setGridRowPosition( String gridRowPosition );
2114
2115  /**
2116   * Specifies a row position based upon an integer location, string value, or desired row size.
2117   * css/properties/grid-row is used as short-hand for grid-row-position and grid-row-position
2118   */
2119  @JsOverlay
2120  @Nonnull
2121  public final CssProps gridRowPosition( String gridRowPosition )
2122  {
2123    setGridRowPosition( gridRowPosition );
2124    return this;
2125  }
2126
2127  @JsProperty
2128  public native String getGridRowSpan();
2129
2130  @JsProperty
2131  public native void setGridRowSpan( String gridRowSpan );
2132
2133  @JsOverlay
2134  @Nonnull
2135  public final CssProps gridRowSpan( String gridRowSpan )
2136  {
2137    setGridRowSpan( gridRowSpan );
2138    return this;
2139  }
2140
2141  @JsProperty
2142  public native String getGridTemplateAreas();
2143
2144  @JsProperty
2145  public native void setGridTemplateAreas( String gridTemplateAreas );
2146
2147  /**
2148   * Specifies named grid areas which are not associated with any particular grid item, but can
2149   * be referenced from the grid-placement properties. The syntax of the grid-template-areas
2150   * property also provides a visualization of the structure of the grid, making the overall
2151   * layout of the grid container easier to understand.
2152   */
2153  @JsOverlay
2154  @Nonnull
2155  public final CssProps gridTemplateAreas( String gridTemplateAreas )
2156  {
2157    setGridTemplateAreas( gridTemplateAreas );
2158    return this;
2159  }
2160
2161  @JsProperty
2162  public native String getGridTemplateColumns();
2163
2164  @JsProperty
2165  public native void setGridTemplateColumns( String gridTemplateColumns );
2166
2167  /**
2168   * Specifies (with grid-template-rows) the line names and track sizing functions of the grid.
2169   * Each sizing function can be specified as a length, a percentage of the grid container's
2170   * size, a measurement of the contents occupying the column or row, or a fraction of the free
2171   * space in the grid.
2172   */
2173  @JsOverlay
2174  @Nonnull
2175  public final CssProps gridTemplateColumns( String gridTemplateColumns )
2176  {
2177    setGridTemplateColumns( gridTemplateColumns );
2178    return this;
2179  }
2180
2181  @JsProperty
2182  public native String getGridTemplateRows();
2183
2184  @JsProperty
2185  public native void setGridTemplateRows( String gridTemplateRows );
2186
2187  /**
2188   * Specifies (with grid-template-columns) the line names and track sizing functions of the
2189   * grid. Each sizing function can be specified as a length, a percentage of the grid
2190   * container's size, a measurement of the contents occupying the column or row, or a
2191   * fraction of the free space in the grid.
2192   */
2193  @JsOverlay
2194  @Nonnull
2195  public final CssProps gridTemplateRows( String gridTemplateRows )
2196  {
2197    setGridTemplateRows( gridTemplateRows );
2198    return this;
2199  }
2200
2201  @JsProperty
2202  public native String getHeight();
2203
2204  @JsProperty
2205  public native void setHeight( String height );
2206
2207  /**
2208   * Sets the height of an element. The content area of the element height does not include
2209   * the padding, border, and margin of the element.
2210   */
2211  @JsOverlay
2212  @Nonnull
2213  public final CssProps height( String height )
2214  {
2215    setHeight( height );
2216    return this;
2217  }
2218
2219  @JsProperty
2220  public native String getHyphenateLimitChars();
2221
2222  @JsProperty
2223  public native void setHyphenateLimitChars( String hyphenateLimitChars );
2224
2225  /**
2226   * Specifies the minimum number of characters in a hyphenated word
2227   */
2228  @JsOverlay
2229  @Nonnull
2230  public final CssProps hyphenateLimitChars( String hyphenateLimitChars )
2231  {
2232    setHyphenateLimitChars( hyphenateLimitChars );
2233    return this;
2234  }
2235
2236  @JsProperty
2237  public native String getHyphenateLimitLines();
2238
2239  @JsProperty
2240  public native void setHyphenateLimitLines( String hyphenateLimitLines );
2241
2242  /**
2243   * Indicates the maximum number of successive hyphenated lines in an element. The "no-limit"
2244   * value means that there is no limit.
2245   */
2246  @JsOverlay
2247  @Nonnull
2248  public final CssProps hyphenateLimitLines( String hyphenateLimitLines )
2249  {
2250    setHyphenateLimitLines( hyphenateLimitLines );
2251    return this;
2252  }
2253
2254  @JsProperty
2255  public native String getHyphenateLimitZone();
2256
2257  @JsProperty
2258  public native void setHyphenateLimitZone( String hyphenateLimitZone );
2259
2260  /**
2261   * Specifies the maximum amount of trailing whitespace (before justification) that may be
2262   * left in a line before hyphenation is triggered to pull part of a word from the next
2263   * line back up into the current one.
2264   */
2265  @JsOverlay
2266  @Nonnull
2267  public final CssProps hyphenateLimitZone( String hyphenateLimitZone )
2268  {
2269    setHyphenateLimitZone( hyphenateLimitZone );
2270    return this;
2271  }
2272
2273  @JsProperty
2274  public native String getHyphens();
2275
2276  @JsProperty
2277  public native void setHyphens( String hyphens );
2278
2279  /**
2280   * Specifies whether or not words in a sentence can be split by the use of a manual or
2281   * automatic hyphenation mechanism.
2282   */
2283  @JsOverlay
2284  @Nonnull
2285  public final CssProps hyphens( String hyphens )
2286  {
2287    setHyphens( hyphens );
2288    return this;
2289  }
2290
2291  @JsProperty
2292  public native String getImeMode();
2293
2294  @JsProperty
2295  public native void setImeMode( String imeMode );
2296
2297  @JsOverlay
2298  @Nonnull
2299  public final CssProps imeMode( String imeMode )
2300  {
2301    setImeMode( imeMode );
2302    return this;
2303  }
2304
2305  @JsProperty
2306  public native String getLayoutGrid();
2307
2308  @JsProperty
2309  public native void setLayoutGrid( String layoutGrid );
2310
2311  @JsOverlay
2312  @Nonnull
2313  public final CssProps layoutGrid( String layoutGrid )
2314  {
2315    setLayoutGrid( layoutGrid );
2316    return this;
2317  }
2318
2319  @JsProperty
2320  public native String getLayoutGridChar();
2321
2322  @JsProperty
2323  public native void setLayoutGridChar( String layoutGridChar );
2324
2325  @JsOverlay
2326  @Nonnull
2327  public final CssProps layoutGridChar( String layoutGridChar )
2328  {
2329    setLayoutGridChar( layoutGridChar );
2330    return this;
2331  }
2332
2333  @JsProperty
2334  public native String getLayoutGridLine();
2335
2336  @JsProperty
2337  public native void setLayoutGridLine( String layoutGridLine );
2338
2339  @JsOverlay
2340  @Nonnull
2341  public final CssProps layoutGridLine( String layoutGridLine )
2342  {
2343    setLayoutGridLine( layoutGridLine );
2344    return this;
2345  }
2346
2347  @JsProperty
2348  public native String getLayoutGridMode();
2349
2350  @JsProperty
2351  public native void setLayoutGridMode( String layoutGridMode );
2352
2353  @JsOverlay
2354  @Nonnull
2355  public final CssProps layoutGridMode( String layoutGridMode )
2356  {
2357    setLayoutGridMode( layoutGridMode );
2358    return this;
2359  }
2360
2361  @JsProperty
2362  public native String getLayoutGridType();
2363
2364  @JsProperty
2365  public native void setLayoutGridType( String layoutGridType );
2366
2367  @JsOverlay
2368  @Nonnull
2369  public final CssProps layoutGridType( String layoutGridType )
2370  {
2371    setLayoutGridType( layoutGridType );
2372    return this;
2373  }
2374
2375  @JsProperty
2376  public native String getLeft();
2377
2378  @JsProperty
2379  public native void setLeft( String left );
2380
2381  /**
2382   * Sets the left edge of an element
2383   */
2384  @JsOverlay
2385  @Nonnull
2386  public final CssProps left( String left )
2387  {
2388    setLeft( left );
2389    return this;
2390  }
2391
2392  @JsProperty
2393  public native String getLetterSpacing();
2394
2395  @JsProperty
2396  public native void setLetterSpacing( String letterSpacing );
2397
2398  /**
2399   * The letter-spacing CSS property specifies the spacing behavior between text characters.
2400   */
2401  @JsOverlay
2402  @Nonnull
2403  public final CssProps letterSpacing( String letterSpacing )
2404  {
2405    setLetterSpacing( letterSpacing );
2406    return this;
2407  }
2408
2409  @JsProperty
2410  public native String getListStyle();
2411
2412  @JsProperty
2413  public native void setListStyle( String listStyle );
2414
2415  /**
2416   * Shorthand property that sets the list-style-type, list-style-position and list-style-image
2417   * properties in one declaration.
2418   */
2419  @JsOverlay
2420  @Nonnull
2421  public final CssProps listStyle( String listStyle )
2422  {
2423    setListStyle( listStyle );
2424    return this;
2425  }
2426
2427  @JsProperty
2428  public native String getListStyleImage();
2429
2430  @JsProperty
2431  public native void setListStyleImage( String listStyleImage );
2432
2433  /**
2434   * This property sets the image that will be used as the list item marker. When the image is
2435   * available, it will replace the marker set with the 'list-style-type' marker. That also
2436   * means that if the image is not available, it will show the style specified by
2437   * list-style-property
2438   */
2439  @JsOverlay
2440  @Nonnull
2441  public final CssProps listStyleImage( String listStyleImage )
2442  {
2443    setListStyleImage( listStyleImage );
2444    return this;
2445  }
2446
2447  @JsProperty
2448  public native String getListStylePosition();
2449
2450  @JsProperty
2451  public native void setListStylePosition( String listStylePosition );
2452
2453  /**
2454   * Specifies if the list-item markers should appear inside or outside the content flow.
2455   */
2456  @JsOverlay
2457  @Nonnull
2458  public final CssProps listStylePosition( String listStylePosition )
2459  {
2460    setListStylePosition( listStylePosition );
2461    return this;
2462  }
2463
2464  @JsProperty
2465  public native String getListStyleType();
2466
2467  @JsProperty
2468  public native void setListStyleType( String listStyleType );
2469
2470  /**
2471   * Specifies the type of list-item marker in a list.
2472   */
2473  @JsOverlay
2474  @Nonnull
2475  public final CssProps listStyleType( String listStyleType )
2476  {
2477    setListStyleType( listStyleType );
2478    return this;
2479  }
2480
2481  @JsProperty
2482  public native String getMargin();
2483
2484  @JsProperty
2485  public native void setMargin( String margin );
2486
2487  /**
2488   * The margin property is shorthand to allow you to set all four margins of an element at once.
2489   * Its equivalent longhand properties are margin-top, margin-right, margin-bottom and
2490   * margin-left. Negative values are also allowed.
2491   */
2492  @JsOverlay
2493  @Nonnull
2494  public final CssProps margin( String margin )
2495  {
2496    setMargin( margin );
2497    return this;
2498  }
2499
2500  @JsProperty
2501  public native String getMarginBottom();
2502
2503  @JsProperty
2504  public native void setMarginBottom( String marginBottom );
2505
2506  /**
2507   * margin-bottom sets the bottom margin of an element.
2508   */
2509  @JsOverlay
2510  @Nonnull
2511  public final CssProps marginBottom( String marginBottom )
2512  {
2513    setMarginBottom( marginBottom );
2514    return this;
2515  }
2516
2517  @JsProperty
2518  public native String getMarginLeft();
2519
2520  @JsProperty
2521  public native void setMarginLeft( String marginLeft );
2522
2523  /**
2524   * margin-left sets the left margin of an element.
2525   */
2526  @JsOverlay
2527  @Nonnull
2528  public final CssProps marginLeft( String marginLeft )
2529  {
2530    setMarginLeft( marginLeft );
2531    return this;
2532  }
2533
2534  @JsProperty
2535  public native String getMarginRight();
2536
2537  @JsProperty
2538  public native void setMarginRight( String marginRight );
2539
2540  /**
2541   * margin-right sets the right margin of an element.
2542   */
2543  @JsOverlay
2544  @Nonnull
2545  public final CssProps marginRight( String marginRight )
2546  {
2547    setMarginRight( marginRight );
2548    return this;
2549  }
2550
2551  @JsProperty
2552  public native String getMarginTop();
2553
2554  @JsProperty
2555  public native void setMarginTop( String marginTop );
2556
2557  /**
2558   * margin-top sets the top margin of an element.
2559   */
2560  @JsOverlay
2561  @Nonnull
2562  public final CssProps marginTop( String marginTop )
2563  {
2564    setMarginTop( marginTop );
2565    return this;
2566  }
2567
2568  @JsProperty
2569  public native String getMask();
2570
2571  @JsProperty
2572  public native void setMask( String mask );
2573
2574  /**
2575   * This property is shorthand for setting mask-image, mask-mode, mask-repeat, mask-position,
2576   * mask-clip, mask-origin, mask-composite and mask-size. Omitted values are set to their
2577   * original properties' initial values.
2578   */
2579  @JsOverlay
2580  @Nonnull
2581  public final CssProps mask( String mask )
2582  {
2583    setMask( mask );
2584    return this;
2585  }
2586
2587  @JsProperty
2588  public native String getMaskBorder();
2589
2590  @JsProperty
2591  public native void setMaskBorder( String maskBorder );
2592
2593  /**
2594   * This property is shorthand for setting mask-border-source, mask-border-slice,
2595   * mask-border-width, mask-border-outset, and mask-border-repeat. Omitted values are set to
2596   * their original properties' initial values.
2597   */
2598  @JsOverlay
2599  @Nonnull
2600  public final CssProps maskBorder( String maskBorder )
2601  {
2602    setMaskBorder( maskBorder );
2603    return this;
2604  }
2605
2606  @JsProperty
2607  public native String getMaskBorderRepeat();
2608
2609  @JsProperty
2610  public native void setMaskBorderRepeat( String maskBorderRepeat );
2611
2612  /**
2613   * This property specifies how the images for the sides and the middle part of the mask image
2614   * are scaled and tiled. The first keyword applies to the horizontal sides, the second one
2615   * applies to the vertical ones. If the second keyword is absent, it is assumed to be the
2616   * same as the first, similar to the CSS border-image-repeat property.
2617   */
2618  @JsOverlay
2619  @Nonnull
2620  public final CssProps maskBorderRepeat( String maskBorderRepeat )
2621  {
2622    setMaskBorderRepeat( maskBorderRepeat );
2623    return this;
2624  }
2625
2626  @JsProperty
2627  public native String getMaskBorderSlice();
2628
2629  @JsProperty
2630  public native void setMaskBorderSlice( String maskBorderSlice );
2631
2632  /**
2633   * This property specifies inward offsets from the top, right, bottom, and left edges of the
2634   * mask image, dividing it into nine regions: four corners, four edges, and a middle. The
2635   * middle image part is discarded and treated as fully transparent black unless the fill
2636   * keyword is present. The four values set the top, right, bottom and left offsets in that
2637   * order, similar to the CSS border-image-slice property.
2638   */
2639  @JsOverlay
2640  @Nonnull
2641  public final CssProps maskBorderSlice( String maskBorderSlice )
2642  {
2643    setMaskBorderSlice( maskBorderSlice );
2644    return this;
2645  }
2646
2647  @JsProperty
2648  public native String getMaskBorderSource();
2649
2650  @JsProperty
2651  public native void setMaskBorderSource( String maskBorderSource );
2652
2653  /**
2654   * Specifies an image to be used as a mask. An image that is empty, fails to download, is
2655   * non-existent, or cannot be displayed is ignored and does not mask the element.
2656   */
2657  @JsOverlay
2658  @Nonnull
2659  public final CssProps maskBorderSource( String maskBorderSource )
2660  {
2661    setMaskBorderSource( maskBorderSource );
2662    return this;
2663  }
2664
2665  @JsProperty
2666  public native String getMaskBorderWidth();
2667
2668  @JsProperty
2669  public native void setMaskBorderWidth( String maskBorderWidth );
2670
2671  /**
2672   * This property sets the width of the mask box image, similar to the CSS border-image-width
2673   * property.
2674   */
2675  @JsOverlay
2676  @Nonnull
2677  public final CssProps maskBorderWidth( String maskBorderWidth )
2678  {
2679    setMaskBorderWidth( maskBorderWidth );
2680    return this;
2681  }
2682
2683  @JsProperty
2684  public native String getMaskClip();
2685
2686  @JsProperty
2687  public native void setMaskClip( String maskClip );
2688
2689  /**
2690   * Determines the mask painting area, which defines the area that is affected by the mask.
2691   * The painted content of an element may be restricted to this area.
2692   */
2693  @JsOverlay
2694  @Nonnull
2695  public final CssProps maskClip( String maskClip )
2696  {
2697    setMaskClip( maskClip );
2698    return this;
2699  }
2700
2701  @JsProperty
2702  public native String getMaskOrigin();
2703
2704  @JsProperty
2705  public native void setMaskOrigin( String maskOrigin );
2706
2707  /**
2708   * For elements rendered as a single box, specifies the mask positioning area. For elements
2709   * rendered as multiple boxes (e.g., inline boxes on several lines, boxes on several pages)
2710   * specifies which boxes box-decoration-break operates on to determine the mask positioning
2711   * area(s).
2712   */
2713  @JsOverlay
2714  @Nonnull
2715  public final CssProps maskOrigin( String maskOrigin )
2716  {
2717    setMaskOrigin( maskOrigin );
2718    return this;
2719  }
2720
2721  @JsProperty
2722  public native String getMaxFontSize();
2723
2724  @JsProperty
2725  public native void setMaxFontSize( String maxFontSize );
2726
2727  /**
2728   * This property must not be used. It is no longer included in any standard or standard track
2729   * specification, nor is it implemented in any browser. It is only used when the
2730   * text-align-last property is set to size. It controls allowed adjustments of font-size to
2731   * fit line content.
2732   */
2733  @JsOverlay
2734  @Nonnull
2735  public final CssProps maxFontSize( String maxFontSize )
2736  {
2737    setMaxFontSize( maxFontSize );
2738    return this;
2739  }
2740
2741  @JsProperty
2742  public native String getMaxHeight();
2743
2744  @JsProperty
2745  public native void setMaxHeight( String maxHeight );
2746
2747  /**
2748   * Sets the maximum height for an element. It prevents the height of the element to exceed
2749   * the specified value. If min-height is specified and is greater than max-height, max-height
2750   * is overridden.
2751   */
2752  @JsOverlay
2753  @Nonnull
2754  public final CssProps maxHeight( String maxHeight )
2755  {
2756    setMaxHeight( maxHeight );
2757    return this;
2758  }
2759
2760  @JsProperty
2761  public native String getMaxWidth();
2762
2763  @JsProperty
2764  public native void setMaxWidth( String maxWidth );
2765
2766  /**
2767   * Sets the maximum width for an element. It limits the width property to be larger than the
2768   * value specified in max-width.
2769   */
2770  @JsOverlay
2771  @Nonnull
2772  public final CssProps maxWidth( String maxWidth )
2773  {
2774    setMaxWidth( maxWidth );
2775    return this;
2776  }
2777
2778  @JsProperty
2779  public native String getMinHeight();
2780
2781  @JsProperty
2782  public native void setMinHeight( String minHeight );
2783
2784  /**
2785   * Sets the minimum height for an element. It prevents the height of the element to be
2786   * smaller than the specified value. The value of min-height overrides both max-height and
2787   * height.
2788   */
2789  @JsOverlay
2790  @Nonnull
2791  public final CssProps minHeight( String minHeight )
2792  {
2793    setMinHeight( minHeight );
2794    return this;
2795  }
2796
2797  @JsProperty
2798  public native String getMinWidth();
2799
2800  @JsProperty
2801  public native void setMinWidth( String minWidth );
2802
2803  /**
2804   * Sets the minimum width of an element. It limits the width property to be not smaller
2805   * than the value specified in min-width.
2806   */
2807  @JsOverlay
2808  @Nonnull
2809  public final CssProps minWidth( String minWidth )
2810  {
2811    setMinWidth( minWidth );
2812    return this;
2813  }
2814
2815  @JsProperty
2816  public native String getOutline();
2817
2818  @JsProperty
2819  public native void setOutline( String outline );
2820
2821  /**
2822   * The CSS outline property is a shorthand property for setting one or more of the
2823   * individual outline properties outline-style, outline-width and outline-color in a single
2824   * rule. In most cases the use of this shortcut is preferable and more convenient.
2825   * Outlines differ from borders in the following ways:
2826   * - Outlines do not take up space, they are drawn above the content.
2827   * - Outlines may be non-rectangular. They are rectangular in Gecko/Firefox.
2828   * Internet Explorer attempts to place the smallest contiguous outline around
2829   * all elements or shapes that are indicated to have an outline. Opera draws a
2830   * non-rectangular shape around a construct.
2831   */
2832  @JsOverlay
2833  @Nonnull
2834  public final CssProps outline( String outline )
2835  {
2836    setOutline( outline );
2837    return this;
2838  }
2839
2840  @JsProperty
2841  public native String getOutlineColor();
2842
2843  @JsProperty
2844  public native void setOutlineColor( String outlineColor );
2845
2846  /**
2847   * The outline-color property sets the color of the outline of an element. An outline is a
2848   * line that is drawn around elements, outside the border edge, to make the element stand out.
2849   */
2850  @JsOverlay
2851  @Nonnull
2852  public final CssProps outlineColor( String outlineColor )
2853  {
2854    setOutlineColor( outlineColor );
2855    return this;
2856  }
2857
2858  @JsProperty
2859  public native String getOutlineOffset();
2860
2861  @JsProperty
2862  public native void setOutlineOffset( String outlineOffset );
2863
2864  /**
2865   * The outline-offset property offsets the outline and draw it beyond the border edge.
2866   */
2867  @JsOverlay
2868  @Nonnull
2869  public final CssProps outlineOffset( String outlineOffset )
2870  {
2871    setOutlineOffset( outlineOffset );
2872    return this;
2873  }
2874
2875  @JsProperty
2876  public native String getOverflow();
2877
2878  @JsProperty
2879  public native void setOverflow( String overflow );
2880
2881  /**
2882   * The overflow property controls how extra content exceeding the bounding box of an element
2883   * is rendered. It can be used in conjunction with an element that has a fixed width and
2884   * height, to eliminate text-induced page distortion.
2885   */
2886  @JsOverlay
2887  @Nonnull
2888  public final CssProps overflow( String overflow )
2889  {
2890    setOverflow( overflow );
2891    return this;
2892  }
2893
2894  @JsProperty
2895  public native String getOverflowStyle();
2896
2897  @JsProperty
2898  public native void setOverflowStyle( String overflowStyle );
2899
2900  /**
2901   * Specifies the preferred scrolling methods for elements that overflow.
2902   */
2903  @JsOverlay
2904  @Nonnull
2905  public final CssProps overflowStyle( String overflowStyle )
2906  {
2907    setOverflowStyle( overflowStyle );
2908    return this;
2909  }
2910
2911  @JsProperty
2912  public native String getOverflowX();
2913
2914  @JsProperty
2915  public native void setOverflowX( String overflowX );
2916
2917  /**
2918   * The overflow-x property is a specific case of the generic overflow property. It controls
2919   * how extra content exceeding the x-axis of the bounding box of an element is rendered.
2920   */
2921  @JsOverlay
2922  @Nonnull
2923  public final CssProps overflowX( String overflowX )
2924  {
2925    setOverflowX( overflowX );
2926    return this;
2927  }
2928
2929  @JsProperty
2930  public native String getPadding();
2931
2932  @JsProperty
2933  public native void setPadding( String padding );
2934
2935  /**
2936   * The padding optional CSS property sets the required padding space on one to four sides of
2937   * an element. The padding area is the space between an element and its border. Negative
2938   * values are not allowed but decimal values are permitted. The element size is treated as
2939   * fixed, and the content of the element shifts toward the center as padding is increased.
2940   * The padding property is a shorthand to avoid setting each side separately (padding-top,
2941   * padding-right, padding-bottom, padding-left).
2942   */
2943  @JsOverlay
2944  @Nonnull
2945  public final CssProps padding( String padding )
2946  {
2947    setPadding( padding );
2948    return this;
2949  }
2950
2951  @JsProperty
2952  public native String getPaddingBottom();
2953
2954  @JsProperty
2955  public native void setPaddingBottom( String paddingBottom );
2956
2957  /**
2958   * The padding-bottom CSS property of an element sets the padding space required on the
2959   * bottom of an element. The padding area is the space between the content of the element and
2960   * its border. Contrary to margin-bottom values, negative values of padding-bottom are
2961   * invalid.
2962   */
2963  @JsOverlay
2964  @Nonnull
2965  public final CssProps paddingBottom( String paddingBottom )
2966  {
2967    setPaddingBottom( paddingBottom );
2968    return this;
2969  }
2970
2971  @JsProperty
2972  public native String getPaddingLeft();
2973
2974  @JsProperty
2975  public native void setPaddingLeft( String paddingLeft );
2976
2977  /**
2978   * The padding-left CSS property of an element sets the padding space required on the left
2979   * side of an element. The padding area is the space between the content of the element and
2980   * its border. Contrary to margin-left values, negative values of padding-left are invalid.
2981   */
2982  @JsOverlay
2983  @Nonnull
2984  public final CssProps paddingLeft( String paddingLeft )
2985  {
2986    setPaddingLeft( paddingLeft );
2987    return this;
2988  }
2989
2990  @JsProperty
2991  public native String getPaddingRight();
2992
2993  @JsProperty
2994  public native void setPaddingRight( String paddingRight );
2995
2996  /**
2997   * The padding-right CSS property of an element sets the padding space required on the right
2998   * side of an element. The padding area is the space between the content of the element and
2999   * its border. Contrary to margin-right values, negative values of padding-right are invalid.
3000   */
3001  @JsOverlay
3002  @Nonnull
3003  public final CssProps paddingRight( String paddingRight )
3004  {
3005    setPaddingRight( paddingRight );
3006    return this;
3007  }
3008
3009  @JsProperty
3010  public native String getPaddingTop();
3011
3012  @JsProperty
3013  public native void setPaddingTop( String paddingTop );
3014
3015  /**
3016   * The padding-top CSS property of an element sets the padding space required on the top of
3017   * an element. The padding area is the space between the content of the element and its
3018   * border. Contrary to margin-top values, negative values of padding-top are invalid.
3019   */
3020  @JsOverlay
3021  @Nonnull
3022  public final CssProps paddingTop( String paddingTop )
3023  {
3024    setPaddingTop( paddingTop );
3025    return this;
3026  }
3027
3028  @JsProperty
3029  public native String getPageBreakAfter();
3030
3031  @JsProperty
3032  public native void setPageBreakAfter( String pageBreakAfter );
3033
3034  /**
3035   * The page-break-after property is supported in all major browsers. With CSS3, page-break-*
3036   * properties are only aliases of the break-* properties. The CSS3 Fragmentation spec defines
3037   * breaks for all CSS box fragmentation.
3038   */
3039  @JsOverlay
3040  @Nonnull
3041  public final CssProps pageBreakAfter( String pageBreakAfter )
3042  {
3043    setPageBreakAfter( pageBreakAfter );
3044    return this;
3045  }
3046
3047  @JsProperty
3048  public native String getPageBreakBefore();
3049
3050  @JsProperty
3051  public native void setPageBreakBefore( String pageBreakBefore );
3052
3053  /**
3054   * The page-break-after property is supported in all major browsers. With CSS3, page-break-*
3055   * properties are only aliases of the break-* properties. The CSS3 Fragmentation spec defines
3056   * breaks for all CSS box fragmentation.
3057   */
3058  @JsOverlay
3059  @Nonnull
3060  public final CssProps pageBreakBefore( String pageBreakBefore )
3061  {
3062    setPageBreakBefore( pageBreakBefore );
3063    return this;
3064  }
3065
3066  @JsProperty
3067  public native String getPageBreakInside();
3068
3069  @JsProperty
3070  public native void setPageBreakInside( String pageBreakInside );
3071
3072  /**
3073   * Sets the page-breaking behavior inside an element. With CSS3, page-break-* properties
3074   * are only aliases of the break-* properties. The CSS3 Fragmentation spec defines breaks
3075   * for all CSS box fragmentation.
3076   */
3077  @JsOverlay
3078  @Nonnull
3079  public final CssProps pageBreakInside( String pageBreakInside )
3080  {
3081    setPageBreakInside( pageBreakInside );
3082    return this;
3083  }
3084
3085  @JsProperty
3086  public native String getPause();
3087
3088  @JsProperty
3089  public native void setPause( String pause );
3090
3091  /**
3092   * The pause property determines how long a speech media agent should pause before and after
3093   * presenting an element. It is a shorthand for the pause-before and pause-after properties.
3094   */
3095  @JsOverlay
3096  @Nonnull
3097  public final CssProps pause( String pause )
3098  {
3099    setPause( pause );
3100    return this;
3101  }
3102
3103  @JsProperty
3104  public native String getPauseAfter();
3105
3106  @JsProperty
3107  public native void setPauseAfter( String pauseAfter );
3108
3109  /**
3110   * The pause-after property determines how long a speech media agent should pause after
3111   * presenting an element. It may be replaced by the shorthand property pause, which sets
3112   * pause time before and after.
3113   */
3114  @JsOverlay
3115  @Nonnull
3116  public final CssProps pauseAfter( String pauseAfter )
3117  {
3118    setPauseAfter( pauseAfter );
3119    return this;
3120  }
3121
3122  @JsProperty
3123  public native String getPauseBefore();
3124
3125  @JsProperty
3126  public native void setPauseBefore( String pauseBefore );
3127
3128  /**
3129   * The pause-before property determines how long a speech media agent should pause before
3130   * presenting an element. It may be replaced by the shorthand property pause, which sets
3131   * pause time before and after.
3132   */
3133  @JsOverlay
3134  @Nonnull
3135  public final CssProps pauseBefore( String pauseBefore )
3136  {
3137    setPauseBefore( pauseBefore );
3138    return this;
3139  }
3140
3141  @JsProperty
3142  public native String getPerspective();
3143
3144  @JsProperty
3145  public native void setPerspective( String perspective );
3146
3147  /**
3148   * The perspective property defines how far an element is placed from the view on the
3149   * z-axis, from the screen to the viewer.
3150   *
3151   * Perspective defines how an object is viewed. In graphic arts, perspective is the
3152   * representation on a flat surface of what the viewer's eye would see in a 3D space.
3153   * (See Wikipedia for more information about graphical perspective and for related
3154   * illustrations.)
3155   *
3156   * The illusion of perspective on a flat surface, such as a computer screen, is created
3157   * by projecting points on the flat surface as they would appear if the flat surface
3158   * were a window through which the viewer was looking at the object. In discussion of
3159   * virtual environments, this flat surface is called a projection plane.
3160   */
3161  @JsOverlay
3162  @Nonnull
3163  public final CssProps perspective( String perspective )
3164  {
3165    setPerspective( perspective );
3166    return this;
3167  }
3168
3169  @JsProperty
3170  public native String getPerspectiveOrigin();
3171
3172  @JsProperty
3173  public native void setPerspectiveOrigin( String perspectiveOrigin );
3174
3175  /**
3176   * The perspective-origin property establishes the origin for the perspective property. It
3177   * effectively sets the X and Y position at which the viewer appears to be looking at the
3178   * children of the element.
3179   *
3180   * When used with perspective, perspective-origin changes the appearance of an object, as
3181   * if a viewer were looking at it from a different origin. An object appears differently
3182   * if a viewer is looking directly at it versus looking at it from below, above, or from
3183   * the side. Thus, the perspective-origin is like a vanishing point.
3184   *
3185   * The default value of perspective-origin is 50% 50%. This displays an object as if the
3186   * viewer's eye were positioned directly at the center of the screen, both top-to-bottom
3187   * and left-to-right. A value of 0% 0% changes the object as if the viewer was looking
3188   * toward the top left angle. A value of 100% 100% changes the appearance as if viewed
3189   * toward the bottom right angle.
3190   */
3191  @JsOverlay
3192  @Nonnull
3193  public final CssProps perspectiveOrigin( String perspectiveOrigin )
3194  {
3195    setPerspectiveOrigin( perspectiveOrigin );
3196    return this;
3197  }
3198
3199  @JsProperty
3200  public native String getPointerEvents();
3201
3202  @JsProperty
3203  public native void setPointerEvents( String pointerEvents );
3204
3205  /**
3206   * The pointer-events property allows you to control whether an element can be the target
3207   * for the pointing device (e.g, mouse, pen) events.
3208   */
3209  @JsOverlay
3210  @Nonnull
3211  public final CssProps pointerEvents( String pointerEvents )
3212  {
3213    setPointerEvents( pointerEvents );
3214    return this;
3215  }
3216
3217  @JsProperty
3218  public native String getPosition();
3219
3220  @JsProperty
3221  public native void setPosition( String position );
3222
3223  /**
3224   * The position property controls the type of positioning used by an element within its
3225   * parent elements. The effect of the position property depends on a lot of factors, for
3226   * example the position property of parent elements.
3227   */
3228  @JsOverlay
3229  @Nonnull
3230  public final CssProps position( String position )
3231  {
3232    setPosition( position );
3233    return this;
3234  }
3235
3236  @JsProperty
3237  public native String getQuotes();
3238
3239  @JsProperty
3240  public native void setQuotes( String quotes );
3241
3242  /**
3243   * Sets the type of quotation marks for embedded quotations.
3244   */
3245  @JsOverlay
3246  @Nonnull
3247  public final CssProps quotes( String quotes )
3248  {
3249    setQuotes( quotes );
3250    return this;
3251  }
3252
3253  @JsProperty
3254  public native String getRegionFragment();
3255
3256  @JsProperty
3257  public native void setRegionFragment( String regionFragment );
3258
3259  /**
3260   * Controls whether the last region in a chain displays additional 'overset' content
3261   * according its default overflow property, or if it displays a fragment of content as
3262   * if it were flowing into a subsequent region.
3263   */
3264  @JsOverlay
3265  @Nonnull
3266  public final CssProps regionFragment( String regionFragment )
3267  {
3268    setRegionFragment( regionFragment );
3269    return this;
3270  }
3271
3272  @JsProperty
3273  public native String getRestAfter();
3274
3275  @JsProperty
3276  public native void setRestAfter( String restAfter );
3277
3278  /**
3279   * The rest-after property determines how long a speech media agent should pause after
3280   * presenting an element's main content, before presenting that element's exit cue sound.
3281   * It may be replaced by the shorthand property rest, which sets rest time before and after.
3282   */
3283  @JsOverlay
3284  @Nonnull
3285  public final CssProps restAfter( String restAfter )
3286  {
3287    setRestAfter( restAfter );
3288    return this;
3289  }
3290
3291  @JsProperty
3292  public native String getRestBefore();
3293
3294  @JsProperty
3295  public native void setRestBefore( String restBefore );
3296
3297  /**
3298   * The rest-before property determines how long a speech media agent should pause after
3299   * presenting an intro cue sound for an element, before presenting that element's main
3300   * content. It may be replaced by the shorthand property rest, which sets rest time before
3301   * and after.
3302   */
3303  @JsOverlay
3304  @Nonnull
3305  public final CssProps restBefore( String restBefore )
3306  {
3307    setRestBefore( restBefore );
3308    return this;
3309  }
3310
3311  @JsProperty
3312  public native String getRight();
3313
3314  @JsProperty
3315  public native void setRight( String right );
3316
3317  /**
3318   * Specifies the position an element in relation to the right side of the containing element.
3319   */
3320  @JsOverlay
3321  @Nonnull
3322  public final CssProps right( String right )
3323  {
3324    setRight( right );
3325    return this;
3326  }
3327
3328  @JsProperty
3329  public native String getRubyAlign();
3330
3331  @JsProperty
3332  public native void setRubyAlign( String rubyAlign );
3333
3334  @JsOverlay
3335  @Nonnull
3336  public final CssProps rubyAlign( String rubyAlign )
3337  {
3338    setRubyAlign( rubyAlign );
3339    return this;
3340  }
3341
3342  @JsProperty
3343  public native String getRubyPosition();
3344
3345  @JsProperty
3346  public native void setRubyPosition( String rubyPosition );
3347
3348  @JsOverlay
3349  @Nonnull
3350  public final CssProps rubyPosition( String rubyPosition )
3351  {
3352    setRubyPosition( rubyPosition );
3353    return this;
3354  }
3355
3356  @JsProperty
3357  public native String getShapeImageThreshold();
3358
3359  @JsProperty
3360  public native void setShapeImageThreshold( String shapeImageThreshold );
3361
3362  /**
3363   * Defines the alpha channel threshold used to extract a shape from an image. Can be thought
3364   * of as a "minimum opacity" threshold; that is, a value of 0.5 means that the shape will
3365   * enclose all the pixels that are more than 50% opaque.
3366   */
3367  @JsOverlay
3368  @Nonnull
3369  public final CssProps shapeImageThreshold( String shapeImageThreshold )
3370  {
3371    setShapeImageThreshold( shapeImageThreshold );
3372    return this;
3373  }
3374
3375  @JsProperty
3376  public native String getShapeInside();
3377
3378  @JsProperty
3379  public native void setShapeInside( String shapeInside );
3380
3381  /**
3382   * A future level of CSS Shapes will define a shape-inside property, which will define a
3383   * shape to wrap content within the element. See Editor's Draft
3384   */
3385  @JsOverlay
3386  @Nonnull
3387  public final CssProps shapeInside( String shapeInside )
3388  {
3389    setShapeInside( shapeInside );
3390    return this;
3391  }
3392
3393  @JsProperty
3394  public native String getShapeMargin();
3395
3396  @JsProperty
3397  public native void setShapeMargin( String shapeMargin );
3398
3399  /**
3400   * Adds a margin to a shape-outside. In effect, defines a new shape that is the smallest
3401   * contour around all the points that are the shape-margin distance outward perpendicular
3402   * to each point on the underlying shape. For points where a perpendicular direction is
3403   * not defined (e.g., a triangle corner), takes all points on a circle centered at the
3404   * point and with a radius of the shape-margin distance. This property accepts only
3405   * non-negative values.
3406   */
3407  @JsOverlay
3408  @Nonnull
3409  public final CssProps shapeMargin( String shapeMargin )
3410  {
3411    setShapeMargin( shapeMargin );
3412    return this;
3413  }
3414
3415  @JsProperty
3416  public native String getShapeOutside();
3417
3418  @JsProperty
3419  public native void setShapeOutside( String shapeOutside );
3420
3421  /**
3422   * Declares a shape around which text should be wrapped, with possible modifications
3423   * from the shape-margin property. The shape defined by shape-outside and shape-margin
3424   * changes the geometry of a float element's float area.
3425   */
3426  @JsOverlay
3427  @Nonnull
3428  public final CssProps shapeOutside( String shapeOutside )
3429  {
3430    setShapeOutside( shapeOutside );
3431    return this;
3432  }
3433
3434  @JsProperty
3435  public native String getSpeak();
3436
3437  @JsProperty
3438  public native void setSpeak( String speak );
3439
3440  /**
3441   * The speak property determines whether or not a speech synthesizer will read aloud
3442   * the contents of an element.
3443   */
3444  @JsOverlay
3445  @Nonnull
3446  public final CssProps speak( String speak )
3447  {
3448    setSpeak( speak );
3449    return this;
3450  }
3451
3452  @JsProperty
3453  public native String getSpeakAs();
3454
3455  @JsProperty
3456  public native void setSpeakAs( String speakAs );
3457
3458  /**
3459   * The speak-as property determines how the speech synthesizer interprets the content:
3460   * words as whole words or as a sequence of letters, numbers as a numerical value or a
3461   * sequence of digits, punctuation as pauses in speech or named punctuation characters.
3462   */
3463  @JsOverlay
3464  @Nonnull
3465  public final CssProps speakAs( String speakAs )
3466  {
3467    setSpeakAs( speakAs );
3468    return this;
3469  }
3470
3471  @JsProperty
3472  public native String getTabSize();
3473
3474  @JsProperty
3475  public native void setTabSize( String tabSize );
3476
3477  /**
3478   * The tab-size CSS property is used to customise the width of a tab (U+0009) character.
3479   */
3480  @JsOverlay
3481  @Nonnull
3482  public final CssProps tabSize( String tabSize )
3483  {
3484    setTabSize( tabSize );
3485    return this;
3486  }
3487
3488  @JsProperty
3489  public native String getTableLayout();
3490
3491  @JsProperty
3492  public native void setTableLayout( String tableLayout );
3493
3494  /**
3495   * The 'table-layout' property controls the algorithm used to lay out the table cells,
3496   * rows, and columns.
3497   */
3498  @JsOverlay
3499  @Nonnull
3500  public final CssProps tableLayout( String tableLayout )
3501  {
3502    setTableLayout( tableLayout );
3503    return this;
3504  }
3505
3506  @JsProperty
3507  public native String getTextAlign();
3508
3509  @JsProperty
3510  public native void setTextAlign( String textAlign );
3511
3512  /**
3513   * The text-align CSS property describes how inline content like text is aligned in
3514   * its parent block element. text-align does not control the alignment of block
3515   * elements itself, only their inline content.
3516   */
3517  @JsOverlay
3518  @Nonnull
3519  public final CssProps textAlign( String textAlign )
3520  {
3521    setTextAlign( textAlign );
3522    return this;
3523  }
3524
3525  @JsProperty
3526  public native String getTextAlignLast();
3527
3528  @JsProperty
3529  public native void setTextAlignLast( String textAlignLast );
3530
3531  /**
3532   * The text-align-last CSS property describes how the last line of a block element or
3533   * a line before line break is aligned in its parent block element.
3534   */
3535  @JsOverlay
3536  @Nonnull
3537  public final CssProps textAlignLast( String textAlignLast )
3538  {
3539    setTextAlignLast( textAlignLast );
3540    return this;
3541  }
3542
3543  @JsProperty
3544  public native String getTextDecoration();
3545
3546  @JsProperty
3547  public native void setTextDecoration( String textDecoration );
3548
3549  /**
3550   * The text-decoration CSS property is used to set the text formatting to underline,
3551   * overline, line-through or blink.
3552   *
3553   * underline and overline decorations are positioned under the text, line-through over it.
3554   */
3555  @JsOverlay
3556  @Nonnull
3557  public final CssProps textDecoration( String textDecoration )
3558  {
3559    setTextDecoration( textDecoration );
3560    return this;
3561  }
3562
3563  @JsProperty
3564  public native String getTextDecorationColor();
3565
3566  @JsProperty
3567  public native void setTextDecorationColor( String textDecorationColor );
3568
3569  /**
3570   * Sets the color of any text decoration, such as underlines, overlines, and strike throughs.
3571   */
3572  @JsOverlay
3573  @Nonnull
3574  public final CssProps textDecorationColor( String textDecorationColor )
3575  {
3576    setTextDecorationColor( textDecorationColor );
3577    return this;
3578  }
3579
3580  @JsProperty
3581  public native String getTextDecorationLine();
3582
3583  @JsProperty
3584  public native void setTextDecorationLine( String textDecorationLine );
3585
3586  /**
3587   * Sets what kind of line decorations are added to an element, such as underlines, overlines, etc.
3588   */
3589  @JsOverlay
3590  @Nonnull
3591  public final CssProps textDecorationLine( String textDecorationLine )
3592  {
3593    setTextDecorationLine( textDecorationLine );
3594    return this;
3595  }
3596
3597  @JsProperty
3598  public native String getTextDecorationLineThrough();
3599
3600  @JsProperty
3601  public native void setTextDecorationLineThrough( String textDecorationLineThrough );
3602
3603  @JsOverlay
3604  @Nonnull
3605  public final CssProps textDecorationLineThrough( String textDecorationLineThrough )
3606  {
3607    setTextDecorationLineThrough( textDecorationLineThrough );
3608    return this;
3609  }
3610
3611  @JsProperty
3612  public native String getTextDecorationNone();
3613
3614  @JsProperty
3615  public native void setTextDecorationNone( String textDecorationNone );
3616
3617  @JsOverlay
3618  @Nonnull
3619  public final CssProps textDecorationNone( String textDecorationNone )
3620  {
3621    setTextDecorationNone( textDecorationNone );
3622    return this;
3623  }
3624
3625  @JsProperty
3626  public native String getTextDecorationOverline();
3627
3628  @JsProperty
3629  public native void setTextDecorationOverline( String textDecorationOverline );
3630
3631  @JsOverlay
3632  @Nonnull
3633  public final CssProps textDecorationOverline( String textDecorationOverline )
3634  {
3635    setTextDecorationOverline( textDecorationOverline );
3636    return this;
3637  }
3638
3639  @JsProperty
3640  public native String getTextDecorationSkip();
3641
3642  @JsProperty
3643  public native void setTextDecorationSkip( String textDecorationSkip );
3644
3645  /**
3646   * Specifies what parts of an element's content are skipped over when applying any text decoration.
3647   */
3648  @JsOverlay
3649  @Nonnull
3650  public final CssProps textDecorationSkip( String textDecorationSkip )
3651  {
3652    setTextDecorationSkip( textDecorationSkip );
3653    return this;
3654  }
3655
3656  @JsProperty
3657  public native String getTextDecorationStyle();
3658
3659  @JsProperty
3660  public native void setTextDecorationStyle( String textDecorationStyle );
3661
3662  /**
3663   * This property specifies the style of the text decoration line drawn on the specified element.
3664   * The intended meaning for the values are the same as those of the border-style-properties.
3665   */
3666  @JsOverlay
3667  @Nonnull
3668  public final CssProps textDecorationStyle( String textDecorationStyle )
3669  {
3670    setTextDecorationStyle( textDecorationStyle );
3671    return this;
3672  }
3673
3674  @JsProperty
3675  public native String getTextDecorationUnderline();
3676
3677  @JsProperty
3678  public native void setTextDecorationUnderline( String textDecorationUnderline );
3679
3680  @JsOverlay
3681  @Nonnull
3682  public final CssProps textDecorationUnderline( String textDecorationUnderline )
3683  {
3684    setTextDecorationUnderline( textDecorationUnderline );
3685    return this;
3686  }
3687
3688  @JsProperty
3689  public native String getTextEmphasis();
3690
3691  @JsProperty
3692  public native void setTextEmphasis( String textEmphasis );
3693
3694  /**
3695   * The text-emphasis property will apply special emphasis marks to the elements text. Slightly
3696   * similar to the text-decoration property only that this property can have affect on the
3697   * line-height. It also is noted that this is shorthand for text-emphasis-style and for
3698   * text-emphasis-color.
3699   */
3700  @JsOverlay
3701  @Nonnull
3702  public final CssProps textEmphasis( String textEmphasis )
3703  {
3704    setTextEmphasis( textEmphasis );
3705    return this;
3706  }
3707
3708  @JsProperty
3709  public native String getTextEmphasisColor();
3710
3711  @JsProperty
3712  public native void setTextEmphasisColor( String textEmphasisColor );
3713
3714  /**
3715   * The text-emphasis-color property specifies the foreground color of the emphasis marks.
3716   */
3717  @JsOverlay
3718  @Nonnull
3719  public final CssProps textEmphasisColor( String textEmphasisColor )
3720  {
3721    setTextEmphasisColor( textEmphasisColor );
3722    return this;
3723  }
3724
3725  @JsProperty
3726  public native String getTextEmphasisStyle();
3727
3728  @JsProperty
3729  public native void setTextEmphasisStyle( String textEmphasisStyle );
3730
3731  /**
3732   * The text-emphasis-style property applies special emphasis marks to an element's text.
3733   */
3734  @JsOverlay
3735  @Nonnull
3736  public final CssProps textEmphasisStyle( String textEmphasisStyle )
3737  {
3738    setTextEmphasisStyle( textEmphasisStyle );
3739    return this;
3740  }
3741
3742  @JsProperty
3743  public native String getTextHeight();
3744
3745  @JsProperty
3746  public native void setTextHeight( String textHeight );
3747
3748  /**
3749   * This property helps determine an inline box's block-progression dimension, derived from
3750   * the text-height and font-size properties for non-replaced elements, the height or the
3751   * width for replaced elements, and the stacked block-progression dimension for
3752   * inline-block elements. The block-progression dimension determines the position of the
3753   * padding, border and margin for the element.
3754   */
3755  @JsOverlay
3756  @Nonnull
3757  public final CssProps textHeight( String textHeight )
3758  {
3759    setTextHeight( textHeight );
3760    return this;
3761  }
3762
3763  @JsProperty
3764  public native String getTextIndent();
3765
3766  @JsProperty
3767  public native void setTextIndent( String textIndent );
3768
3769  /**
3770   * Specifies the amount of space horizontally that should be left on the first line of the
3771   * text of an element. This horizontal spacing is at the beginning of the first line and
3772   * is in respect to the left edge of the containing block box.
3773   */
3774  @JsOverlay
3775  @Nonnull
3776  public final CssProps textIndent( String textIndent )
3777  {
3778    setTextIndent( textIndent );
3779    return this;
3780  }
3781
3782  @JsProperty
3783  public native String getTextJustifyTrim();
3784
3785  @JsProperty
3786  public native void setTextJustifyTrim( String textJustifyTrim );
3787
3788  @JsOverlay
3789  @Nonnull
3790  public final CssProps textJustifyTrim( String textJustifyTrim )
3791  {
3792    setTextJustifyTrim( textJustifyTrim );
3793    return this;
3794  }
3795
3796  @JsProperty
3797  public native String getTextKashidaSpace();
3798
3799  @JsProperty
3800  public native void setTextKashidaSpace( String textKashidaSpace );
3801
3802  @JsOverlay
3803  @Nonnull
3804  public final CssProps textKashidaSpace( String textKashidaSpace )
3805  {
3806    setTextKashidaSpace( textKashidaSpace );
3807    return this;
3808  }
3809
3810  @JsProperty
3811  public native String getTextLineThroughWidth();
3812
3813  @JsProperty
3814  public native void setTextLineThroughWidth( String textLineThroughWidth );
3815
3816  /**
3817   * Specifies the line width for the line-through text decoration.
3818   */
3819  @JsOverlay
3820  @Nonnull
3821  public final CssProps textLineThroughWidth( String textLineThroughWidth )
3822  {
3823    setTextLineThroughWidth( textLineThroughWidth );
3824    return this;
3825  }
3826
3827  @JsProperty
3828  public native String getTextOverflow();
3829
3830  @JsProperty
3831  public native void setTextOverflow( String textOverflow );
3832
3833  /**
3834   * The text-overflow shorthand CSS property determines how overflowed content that is not
3835   * displayed is signaled to the users. It can be clipped, display an ellipsis (HORIZONTAL ELLIPSIS)
3836   * or a Web author-defined string. It covers the two long-hand
3837   * properties text-overflow-mode and text-overflow-ellipsis
3838   */
3839  @JsOverlay
3840  @Nonnull
3841  public final CssProps textOverflow( String textOverflow )
3842  {
3843    setTextOverflow( textOverflow );
3844    return this;
3845  }
3846
3847  @JsProperty
3848  public native String getTextOverline();
3849
3850  @JsProperty
3851  public native void setTextOverline( String textOverline );
3852
3853  /**
3854   * The text-overline property is the shorthand for the text-overline-style,
3855   * text-overline-width, text-overline-color, and text-overline-mode properties.
3856   */
3857  @JsOverlay
3858  @Nonnull
3859  public final CssProps textOverline( String textOverline )
3860  {
3861    setTextOverline( textOverline );
3862    return this;
3863  }
3864
3865  @JsProperty
3866  public native String getTextOverlineColor();
3867
3868  @JsProperty
3869  public native void setTextOverlineColor( String textOverlineColor );
3870
3871  /**
3872   * Specifies the line color for the overline text decoration.
3873   */
3874  @JsOverlay
3875  @Nonnull
3876  public final CssProps textOverlineColor( String textOverlineColor )
3877  {
3878    setTextOverlineColor( textOverlineColor );
3879    return this;
3880  }
3881
3882  @JsProperty
3883  public native String getTextOverlineMode();
3884
3885  @JsProperty
3886  public native void setTextOverlineMode( String textOverlineMode );
3887
3888  /**
3889   * Sets the mode for the overline text decoration, determining whether the text decoration
3890   * affects the space characters or not.
3891   */
3892  @JsOverlay
3893  @Nonnull
3894  public final CssProps textOverlineMode( String textOverlineMode )
3895  {
3896    setTextOverlineMode( textOverlineMode );
3897    return this;
3898  }
3899
3900  @JsProperty
3901  public native String getTextOverlineStyle();
3902
3903  @JsProperty
3904  public native void setTextOverlineStyle( String textOverlineStyle );
3905
3906  /**
3907   * Specifies the line style for overline text decoration.
3908   */
3909  @JsOverlay
3910  @Nonnull
3911  public final CssProps textOverlineStyle( String textOverlineStyle )
3912  {
3913    setTextOverlineStyle( textOverlineStyle );
3914    return this;
3915  }
3916
3917  @JsProperty
3918  public native String getTextOverlineWidth();
3919
3920  @JsProperty
3921  public native void setTextOverlineWidth( String textOverlineWidth );
3922
3923  /**
3924   * Specifies the line width for the overline text decoration.
3925   */
3926  @JsOverlay
3927  @Nonnull
3928  public final CssProps textOverlineWidth( String textOverlineWidth )
3929  {
3930    setTextOverlineWidth( textOverlineWidth );
3931    return this;
3932  }
3933
3934  @JsProperty
3935  public native String getTextRendering();
3936
3937  @JsProperty
3938  public native void setTextRendering( String textRendering );
3939
3940  /**
3941   * The text-rendering CSS property provides information to the browser about how to optimize
3942   * when rendering text. Options are: legibility, speed or geometric precision.
3943   */
3944  @JsOverlay
3945  @Nonnull
3946  public final CssProps textRendering( String textRendering )
3947  {
3948    setTextRendering( textRendering );
3949    return this;
3950  }
3951
3952  @JsProperty
3953  public native String getTextShadow();
3954
3955  @JsProperty
3956  public native void setTextShadow( String textShadow );
3957
3958  /**
3959   * The CSS text-shadow property applies one or more drop shadows to the text and
3960   * text-decorations of an element. Each shadow is specified as an offset from the text,
3961   * along with optional color and blur radius values.
3962   */
3963  @JsOverlay
3964  @Nonnull
3965  public final CssProps textShadow( String textShadow )
3966  {
3967    setTextShadow( textShadow );
3968    return this;
3969  }
3970
3971  @JsProperty
3972  public native String getTextTransform();
3973
3974  @JsProperty
3975  public native void setTextTransform( String textTransform );
3976
3977  /**
3978   * This property transforms text for styling purposes. (It has no effect on the underlying
3979   * content.)
3980   */
3981  @JsOverlay
3982  @Nonnull
3983  public final CssProps textTransform( String textTransform )
3984  {
3985    setTextTransform( textTransform );
3986    return this;
3987  }
3988
3989  @JsProperty
3990  public native String getTop();
3991
3992  @JsProperty
3993  public native void setTop( String top );
3994
3995  /**
3996   * This property specifies how far an absolutely positioned box's top margin edge is offset
3997   * below the top edge of the box's containing block. For relatively positioned boxes, the
3998   * offset is with respect to the top edges of the box itself (i.e., the box is given a
3999   * position in the normal flow, then offset from that position according to these properties).
4000   */
4001  @JsOverlay
4002  @Nonnull
4003  public final CssProps top( String top )
4004  {
4005    setTop( top );
4006    return this;
4007  }
4008
4009  @JsProperty
4010  public native String getTouchAction();
4011
4012  @JsProperty
4013  public native void setTouchAction( String touchAction );
4014
4015  /**
4016   * Determines whether touch input may trigger default behavior supplied by the user agent,
4017   * such as panning or zooming.
4018   */
4019  @JsOverlay
4020  @Nonnull
4021  public final CssProps touchAction( String touchAction )
4022  {
4023    setTouchAction( touchAction );
4024    return this;
4025  }
4026
4027  @JsProperty
4028  public native String getTransform();
4029
4030  @JsProperty
4031  public native void setTransform( String transform );
4032
4033  /**
4034   * CSS transforms allow elements styled with CSS to be transformed in two-dimensional or
4035   * three-dimensional space. Using this property, elements can be translated, rotated, scaled,
4036   * and skewed. The value list may consist of 2D and/or 3D transform values.
4037   */
4038  @JsOverlay
4039  @Nonnull
4040  public final CssProps transform( String transform )
4041  {
4042    setTransform( transform );
4043    return this;
4044  }
4045
4046  @JsProperty
4047  public native String getTransformOrigin();
4048
4049  @JsProperty
4050  public native void setTransformOrigin( String transformOrigin );
4051
4052  /**
4053   * This property defines the origin of the transformation axes relative to the element to
4054   * which the transformation is applied.
4055   */
4056  @JsOverlay
4057  @Nonnull
4058  public final CssProps transformOrigin( String transformOrigin )
4059  {
4060    setTransformOrigin( transformOrigin );
4061    return this;
4062  }
4063
4064  @JsProperty
4065  public native String getTransformOriginZ();
4066
4067  @JsProperty
4068  public native void setTransformOriginZ( String transformOriginZ );
4069
4070  /**
4071   * This property allows you to define the relative position of the origin of the transformation
4072   * grid along the z-axis.
4073   */
4074  @JsOverlay
4075  @Nonnull
4076  public final CssProps transformOriginZ( String transformOriginZ )
4077  {
4078    setTransformOriginZ( transformOriginZ );
4079    return this;
4080  }
4081
4082  @JsProperty
4083  public native String getTransformStyle();
4084
4085  @JsProperty
4086  public native void setTransformStyle( String transformStyle );
4087
4088  /**
4089   * This property specifies how nested elements are rendered in 3D space relative to their parent.
4090   */
4091  @JsOverlay
4092  @Nonnull
4093  public final CssProps transformStyle( String transformStyle )
4094  {
4095    setTransformStyle( transformStyle );
4096    return this;
4097  }
4098
4099  @JsProperty
4100  public native String getTransition();
4101
4102  @JsProperty
4103  public native void setTransition( String transition );
4104
4105  /**
4106   * The transition CSS property is a shorthand property for transition-property,
4107   * transition-duration, transition-timing-function, and transition-delay. It allows to define
4108   * the transition between two states of an element.
4109   */
4110  @JsOverlay
4111  @Nonnull
4112  public final CssProps transition( String transition )
4113  {
4114    setTransition( transition );
4115    return this;
4116  }
4117
4118  @JsProperty
4119  public native String getTransitionDelay();
4120
4121  @JsProperty
4122  public native void setTransitionDelay( String transitionDelay );
4123
4124  /**
4125   * Defines when the transition will start. A value of "0s" means the transition will execute
4126   * as soon as the property is changed. Otherwise, the value specifies an offset from the
4127   * moment the property is changed, and the transition will delay execution by that offset.
4128   */
4129  @JsOverlay
4130  @Nonnull
4131  public final CssProps transitionDelay( String transitionDelay )
4132  {
4133    setTransitionDelay( transitionDelay );
4134    return this;
4135  }
4136
4137  @JsProperty
4138  public native String getTransitionDuration();
4139
4140  @JsProperty
4141  public native void setTransitionDuration( String transitionDuration );
4142
4143  /**
4144   * The 'transition-duration' property specifies the length of time a transition animation
4145   * takes to complete.
4146   */
4147  @JsOverlay
4148  @Nonnull
4149  public final CssProps transitionDuration( String transitionDuration )
4150  {
4151    setTransitionDuration( transitionDuration );
4152    return this;
4153  }
4154
4155  @JsProperty
4156  public native String getTransitionProperty();
4157
4158  @JsProperty
4159  public native void setTransitionProperty( String transitionProperty );
4160
4161  /**
4162   * The 'transition-property' property specifies the name of the CSS property to which the
4163   * transition is applied.
4164   */
4165  @JsOverlay
4166  @Nonnull
4167  public final CssProps transitionProperty( String transitionProperty )
4168  {
4169    setTransitionProperty( transitionProperty );
4170    return this;
4171  }
4172
4173  @JsProperty
4174  public native String getTransitionTimingFunction();
4175
4176  @JsProperty
4177  public native void setTransitionTimingFunction( String transitionTimingFunction );
4178
4179  /**
4180   * Sets the pace of action within a transition
4181   */
4182  @JsOverlay
4183  @Nonnull
4184  public final CssProps transitionTimingFunction( String transitionTimingFunction )
4185  {
4186    setTransitionTimingFunction( transitionTimingFunction );
4187    return this;
4188  }
4189
4190  /**
4191   * The unicode-bidi CSS property specifies the level of embedding with respect to the
4192   * bidirectional algorithm.
4193   */
4194  @JsProperty
4195  public native String getUnicodeBidi();
4196
4197  @JsProperty
4198  public native void setUnicodeBidi( String unicodeBidi );
4199
4200  @JsOverlay
4201  @Nonnull
4202  public final CssProps unicodeBidi( String unicodeBidi )
4203  {
4204    setUnicodeBidi( unicodeBidi );
4205    return this;
4206  }
4207
4208  @JsProperty
4209  public native String getUnicodeRange();
4210
4211  @JsProperty
4212  public native void setUnicodeRange( String unicodeRange );
4213
4214  /**
4215   * unicode-range allows you to set a specific range of characters to be downloaded from a
4216   * font (embedded using @font-face) and made available for use on the current page.
4217   */
4218  @JsOverlay
4219  @Nonnull
4220  public final CssProps unicodeRange( String unicodeRange )
4221  {
4222    setUnicodeRange( unicodeRange );
4223    return this;
4224  }
4225
4226  @JsProperty
4227  public native String getUserFocus();
4228
4229  @JsProperty
4230  public native void setUserFocus( String userFocus );
4231
4232  /**
4233   * This is for all the high level UX stuff.
4234   */
4235  @JsOverlay
4236  @Nonnull
4237  public final CssProps userFocus( String userFocus )
4238  {
4239    setUserFocus( userFocus );
4240    return this;
4241  }
4242
4243  @JsProperty
4244  public native String getUserInput();
4245
4246  @JsProperty
4247  public native void setUserInput( String userInput );
4248
4249  /**
4250   * For inputing user content
4251   */
4252  @JsOverlay
4253  @Nonnull
4254  public final CssProps userInput( String userInput )
4255  {
4256    setUserInput( userInput );
4257    return this;
4258  }
4259
4260  @JsProperty
4261  public native String getVerticalAlign();
4262
4263  @JsProperty
4264  public native void setVerticalAlign( String verticalAlign );
4265
4266  /**
4267   * The vertical-align property controls how inline elements or text are vertically aligned
4268   * compared to the baseline. If this property is used on table-cells it controls the vertical
4269   * alignment of content of the table cell.
4270   */
4271  @JsOverlay
4272  @Nonnull
4273  public final CssProps verticalAlign( String verticalAlign )
4274  {
4275    setVerticalAlign( verticalAlign );
4276    return this;
4277  }
4278
4279  @JsProperty
4280  public native String getVisibility();
4281
4282  @JsProperty
4283  public native void setVisibility( String visibility );
4284
4285  /**
4286   * The visibility property specifies whether the boxes generated by an element are rendered.
4287   */
4288  @JsOverlay
4289  @Nonnull
4290  public final CssProps visibility( @Nonnull @Visibility final String visibility )
4291  {
4292    setVisibility( visibility );
4293    return this;
4294  }
4295
4296  @JsProperty
4297  public native String getVoiceBalance();
4298
4299  @JsProperty
4300  public native void setVoiceBalance( String voiceBalance );
4301
4302  /**
4303   * The voice-balance property sets the apparent position (in stereo sound) of the synthesized
4304   * voice for spoken media.
4305   */
4306  @JsOverlay
4307  @Nonnull
4308  public final CssProps voiceBalance( String voiceBalance )
4309  {
4310    setVoiceBalance( voiceBalance );
4311    return this;
4312  }
4313
4314  @JsProperty
4315  public native String getVoiceDuration();
4316
4317  @JsProperty
4318  public native void setVoiceDuration( String voiceDuration );
4319
4320  /**
4321   * The voice-duration property allows the author to explicitly set the amount of time it should
4322   * take a speech synthesizer to read an element's content, for example to allow the speech to
4323   * be synchronized with other media. With a value of auto (the default) the length of time it
4324   * takes to read the content is determined by the content itself and the voice-rate property.
4325   */
4326  @JsOverlay
4327  @Nonnull
4328  public final CssProps voiceDuration( String voiceDuration )
4329  {
4330    setVoiceDuration( voiceDuration );
4331    return this;
4332  }
4333
4334  @JsProperty
4335  public native String getVoiceFamily();
4336
4337  @JsProperty
4338  public native void setVoiceFamily( String voiceFamily );
4339
4340  /**
4341   * The voice-family property sets the speaker's voice used by a speech media agent to read an
4342   * element. The speaker may be specified as a named character (to match a voice option in the
4343   * speech reading software) or as a generic description of the age and gender of the voice.
4344   * Similar to the font-family property for visual media, a comma-separated list of fallback
4345   * options may be given in case the speech reader does not recognize the character name or
4346   * cannot synthesize the requested combination of generic properties.
4347   */
4348  @JsOverlay
4349  @Nonnull
4350  public final CssProps voiceFamily( String voiceFamily )
4351  {
4352    setVoiceFamily( voiceFamily );
4353    return this;
4354  }
4355
4356  @JsProperty
4357  public native String getVoicePitch();
4358
4359  @JsProperty
4360  public native void setVoicePitch( String voicePitch );
4361
4362  /**
4363   * The voice-pitch property sets pitch or tone (high or low) for the synthesized speech when
4364   * reading an element; the pitch may be specified absolutely or relative to the normal pitch
4365   * for the voice-family used to read the text.
4366   */
4367  @JsOverlay
4368  @Nonnull
4369  public final CssProps voicePitch( String voicePitch )
4370  {
4371    setVoicePitch( voicePitch );
4372    return this;
4373  }
4374
4375  @JsProperty
4376  public native String getVoiceRange();
4377
4378  @JsProperty
4379  public native void setVoiceRange( String voiceRange );
4380
4381  /**
4382   * The voice-range property determines how much variation in pitch or tone will be created by
4383   * the speech synthesize when reading an element. Emphasized text, grammatical structures and
4384   * punctuation may all be rendered as changes in pitch, this property determines how strong
4385   * or obvious those changes are; large ranges are associated with enthusiastic or emotional
4386   * speech, while small ranges are associated with flat or mechanical speech.
4387   */
4388  @JsOverlay
4389  @Nonnull
4390  public final CssProps voiceRange( String voiceRange )
4391  {
4392    setVoiceRange( voiceRange );
4393    return this;
4394  }
4395
4396  @JsProperty
4397  public native String getVoiceRate();
4398
4399  @JsProperty
4400  public native void setVoiceRate( String voiceRate );
4401
4402  /**
4403   * The voice-rate property sets the speed at which the voice synthesized by a speech media
4404   * agent will read content.
4405   */
4406  @JsOverlay
4407  @Nonnull
4408  public final CssProps voiceRate( String voiceRate )
4409  {
4410    setVoiceRate( voiceRate );
4411    return this;
4412  }
4413
4414  @JsProperty
4415  public native String getVoiceStress();
4416
4417  @JsProperty
4418  public native void setVoiceStress( String voiceStress );
4419
4420  /**
4421   * The voice-stress property sets the level of vocal emphasis to be used for synthesized
4422   * speech reading the element.
4423   */
4424  @JsOverlay
4425  @Nonnull
4426  public final CssProps voiceStress( String voiceStress )
4427  {
4428    setVoiceStress( voiceStress );
4429    return this;
4430  }
4431
4432  @JsProperty
4433  public native String getVoiceVolume();
4434
4435  @JsProperty
4436  public native void setVoiceVolume( String voiceVolume );
4437
4438  /**
4439   * The voice-volume property sets the volume for spoken content in speech media. It replaces
4440   * the deprecated volume property.
4441   */
4442  @JsOverlay
4443  @Nonnull
4444  public final CssProps voiceVolume( String voiceVolume )
4445  {
4446    setVoiceVolume( voiceVolume );
4447    return this;
4448  }
4449
4450  @JsProperty
4451  public native String getWhiteSpace();
4452
4453  @JsProperty
4454  public native void setWhiteSpace( String whiteSpace );
4455
4456  /**
4457   * The white-space property controls whether and how white space inside the element is
4458   * collapsed, and whether lines may wrap at unforced "soft wrap" opportunities.
4459   */
4460  @JsOverlay
4461  @Nonnull
4462  public final CssProps whiteSpace( String whiteSpace )
4463  {
4464    setWhiteSpace( whiteSpace );
4465    return this;
4466  }
4467
4468  @JsProperty
4469  public native String getWidth();
4470
4471  @JsProperty
4472  public native void setWidth( String width );
4473
4474  /**
4475   * Specifies the width of the content area of an element. The content area of the element
4476   * width does not include the padding, border, and margin of the element.
4477   */
4478  @JsOverlay
4479  @Nonnull
4480  public final CssProps width( String width )
4481  {
4482    setWidth( width );
4483    return this;
4484  }
4485
4486  @JsProperty
4487  public native String getWordBreak();
4488
4489  @JsProperty
4490  public native void setWordBreak( String wordBreak );
4491
4492  /**
4493   * The word-break property is often used when there is long generated content that is
4494   * strung together without and spaces or hyphens to beak apart. A common case of this is when
4495   * there is a long URL that does not have any hyphens. This case could potentially cause the
4496   * breaking of the layout as it could extend past the parent element.
4497   */
4498  @JsOverlay
4499  @Nonnull
4500  public final CssProps wordBreak( String wordBreak )
4501  {
4502    setWordBreak( wordBreak );
4503    return this;
4504  }
4505
4506  @JsProperty
4507  public native String getWordSpacing();
4508
4509  @JsProperty
4510  public native void setWordSpacing( String wordSpacing );
4511
4512  /**
4513   * The word-spacing CSS property specifies the spacing behavior between "words".
4514   */
4515  @JsOverlay
4516  @Nonnull
4517  public final CssProps wordSpacing( String wordSpacing )
4518  {
4519    setWordSpacing( wordSpacing );
4520    return this;
4521  }
4522
4523  @JsProperty
4524  public native String getWordWrap();
4525
4526  @JsProperty
4527  public native void setWordWrap( String wordWrap );
4528
4529  /**
4530   * An alias of css/properties/overflow-wrap, word-wrap defines whether to break words when
4531   * the content exceeds the boundaries of its container.
4532   */
4533  @JsOverlay
4534  @Nonnull
4535  public final CssProps wordWrap( String wordWrap )
4536  {
4537    setWordWrap( wordWrap );
4538    return this;
4539  }
4540
4541  @JsProperty
4542  public native String getWrapFlow();
4543
4544  @JsProperty
4545  public native void setWrapFlow( String wrapFlow );
4546
4547  /**
4548   * Specifies how exclusions affect inline content within block-level elements. Elements lay
4549   * out their inline content in their content area but wrap around exclusion areas.
4550   */
4551  @JsOverlay
4552  @Nonnull
4553  public final CssProps wrapFlow( String wrapFlow )
4554  {
4555    setWrapFlow( wrapFlow );
4556    return this;
4557  }
4558
4559  @JsProperty
4560  public native String getWrapMargin();
4561
4562  @JsProperty
4563  public native void setWrapMargin( String wrapMargin );
4564
4565  /**
4566   * Set the value that is used to offset the inner wrap shape from other shapes. Inline
4567   * content that intersects a shape with this property will be pushed by this shape's margin.
4568   */
4569  @JsOverlay
4570  @Nonnull
4571  public final CssProps wrapMargin( String wrapMargin )
4572  {
4573    setWrapMargin( wrapMargin );
4574    return this;
4575  }
4576
4577  @JsProperty
4578  public native String getWritingMode();
4579
4580  @JsProperty
4581  public native void setWritingMode( String writingMode );
4582
4583  /**
4584   * writing-mode specifies if lines of text are laid out horizontally or vertically, and the
4585   * direction which lines of text and blocks progress.
4586   */
4587  @JsOverlay
4588  @Nonnull
4589  public final CssProps writingMode( String writingMode )
4590  {
4591    setWritingMode( writingMode );
4592    return this;
4593  }
4594
4595  // WebKit specific styles
4596
4597  @JsProperty( name = "WebkitMask" )
4598  public native String getWebKitMask();
4599
4600  @JsProperty( name = "WebkitMask" )
4601  public native void setWebKitMask( String mask );
4602
4603  @JsOverlay
4604  @Nonnull
4605  public final CssProps webkitMask( String mask )
4606  {
4607    setWebKitMask( mask );
4608    return this;
4609  }
4610
4611  @JsProperty( name = "WebkitMaskSize" )
4612  public native String getWebKitMaskSize();
4613
4614  @JsProperty( name = "WebkitMaskSize" )
4615  public native void setWebKitMaskSize( String mask );
4616
4617  @JsOverlay
4618  @Nonnull
4619  public final CssProps webkitMaskSize( String mask )
4620  {
4621    setWebKitMaskSize( mask );
4622    return this;
4623  }
4624}