/proto · css_value.proto

css_value.proto

Messages
4
Enums
4
Fields
17
Source
3.3 KB
Imports
1
Unit enum · 18 values
# name notes
0 UNIT_UNSPECIFIED
1 UNIT_PX
2 UNIT_EM
3 UNIT_REM
4 UNIT_PERCENT
5 UNIT_VW
6 UNIT_VH
7 UNIT_VMIN
8 UNIT_VMAX
10 UNIT_DEG
11 UNIT_RAD
12 UNIT_TURN
20 UNIT_MS
21 UNIT_S
30 UNIT_PT
31 UNIT_CM
32 UNIT_MM
33 UNIT_IN
Length message · 2 fields
# label type name notes
1 single int32 value_milli
2 single Unit unit
CssFunction message · 3 fields
# label type name notes
1 single FunctionType type
2 repeated CssValue args
3 optional string raw
CssFunction. FunctionType enum · 47 values
# name notes
0 FUNC_UNSPECIFIED
1 FUNC_VAR
2 FUNC_CALC
3 FUNC_ATTR
10 FUNC_RGB
11 FUNC_RGBA
12 FUNC_HSL
13 FUNC_HSLA
20 FUNC_LINEAR_GRADIENT
21 FUNC_RADIAL_GRADIENT
22 FUNC_CONIC_GRADIENT
23 FUNC_REPEATING_LINEAR_GRADIENT
24 FUNC_REPEATING_RADIAL_GRADIENT
30 FUNC_URL
40 FUNC_BLUR
41 FUNC_BRIGHTNESS
42 FUNC_CONTRAST
43 FUNC_DROP_SHADOW
44 FUNC_GRAYSCALE
45 FUNC_HUE_ROTATE
46 FUNC_INVERT
47 FUNC_OPACITY
48 FUNC_SATURATE
49 FUNC_SEPIA
60 FUNC_TRANSLATE
61 FUNC_TRANSLATE_X
62 FUNC_TRANSLATE_Y
63 FUNC_TRANSLATE_Z
64 FUNC_TRANSLATE_3D
65 FUNC_SCALE
66 FUNC_SCALE_X
67 FUNC_SCALE_Y
68 FUNC_SCALE_Z
69 FUNC_SCALE_3D
70 FUNC_ROTATE
71 FUNC_ROTATE_X
72 FUNC_ROTATE_Y
73 FUNC_ROTATE_Z
74 FUNC_ROTATE_3D
75 FUNC_SKEW
76 FUNC_SKEW_X
77 FUNC_SKEW_Y
78 FUNC_MATRIX
79 FUNC_MATRIX_3D
80 FUNC_PERSPECTIVE
90 FUNC_CUBIC_BEZIER
91 FUNC_STEPS
CssKeyword enum · 51 values
# name notes
0 KW_UNSPECIFIED
1 KW_INHERIT
2 KW_INITIAL
3 KW_UNSET
4 KW_REVERT
10 KW_NONE
11 KW_AUTO
12 KW_NORMAL
20 KW_TRANSPARENT
21 KW_CURRENTCOLOR
30 KW_BLOCK
31 KW_INLINE
32 KW_INLINE_BLOCK
33 KW_FLEX
34 KW_GRID
35 KW_INLINE_FLEX
36 KW_INLINE_GRID
40 KW_HIDDEN
41 KW_VISIBLE
42 KW_SCROLL
43 KW_CLIP
50 KW_CONTAIN
51 KW_COVER
52 KW_FILL
60 KW_REPEAT
61 KW_NO_REPEAT
62 KW_REPEAT_X
63 KW_REPEAT_Y
64 KW_SPACE
65 KW_ROUND
70 KW_BORDER_BOX
71 KW_PADDING_BOX
72 KW_CONTENT_BOX
73 KW_TEXT
80 KW_INFINITE
81 KW_FORWARDS
82 KW_BACKWARDS
83 KW_BOTH
84 KW_RUNNING
85 KW_PAUSED
90 KW_LINEAR
91 KW_EASE
92 KW_EASE_IN
93 KW_EASE_OUT
94 KW_EASE_IN_OUT
100 KW_ALTERNATE
101 KW_ALTERNATE_REVERSE
102 KW_REVERSE
110 KW_BOLD
111 KW_BOLDER
112 KW_LIGHTER
CssValue message · 10 fields
# label type name notes
1 single Length length oneof value
2 single uint32 color_ref_id oneof value
3 single ColorValue color_value oneof value
5 single CssKeyword keyword oneof value
6 single int32 integer oneof value
7 single float number oneof value
8 single bool boolean oneof value
9 single CssFunction function oneof value
10 single CssList list oneof value
11 single string string_value oneof value
ListSeparator enum · 3 values
# name notes
0 SEP_SPACE
1 SEP_COMMA
2 SEP_SLASH
CssList message · 2 fields
# label type name notes
1 repeated CssValue values
2 single ListSeparator separator

§Raw schema

syntax = "proto3";

package eddocu.css.v3;

import "reftable.proto";

enum Unit {
  UNIT_UNSPECIFIED = 0;
  
  UNIT_PX = 1;
  UNIT_EM = 2;
  UNIT_REM = 3;
  UNIT_PERCENT = 4;
  UNIT_VW = 5;
  UNIT_VH = 6;
  UNIT_VMIN = 7;
  UNIT_VMAX = 8;
  
  UNIT_DEG = 10;
  UNIT_RAD = 11;
  UNIT_TURN = 12;
  
  UNIT_MS = 20;
  UNIT_S = 21;
  
  UNIT_PT = 30;
  UNIT_CM = 31;
  UNIT_MM = 32;
  UNIT_IN = 33;
}

message Length {
  int32 value_milli = 1;
  Unit unit = 2;
}

message CssFunction {
  enum FunctionType {
    FUNC_UNSPECIFIED = 0;
    
    FUNC_VAR = 1;
    FUNC_CALC = 2;
    FUNC_ATTR = 3;
    
    FUNC_RGB = 10;
    FUNC_RGBA = 11;
    FUNC_HSL = 12;
    FUNC_HSLA = 13;
    
    FUNC_LINEAR_GRADIENT = 20;
    FUNC_RADIAL_GRADIENT = 21;
    FUNC_CONIC_GRADIENT = 22;
    FUNC_REPEATING_LINEAR_GRADIENT = 23;
    FUNC_REPEATING_RADIAL_GRADIENT = 24;
    
    FUNC_URL = 30;
    
    FUNC_BLUR = 40;
    FUNC_BRIGHTNESS = 41;
    FUNC_CONTRAST = 42;
    FUNC_DROP_SHADOW = 43;
    FUNC_GRAYSCALE = 44;
    FUNC_HUE_ROTATE = 45;
    FUNC_INVERT = 46;
    FUNC_OPACITY = 47;
    FUNC_SATURATE = 48;
    FUNC_SEPIA = 49;
    
    FUNC_TRANSLATE = 60;
    FUNC_TRANSLATE_X = 61;
    FUNC_TRANSLATE_Y = 62;
    FUNC_TRANSLATE_Z = 63;
    FUNC_TRANSLATE_3D = 64;
    FUNC_SCALE = 65;
    FUNC_SCALE_X = 66;
    FUNC_SCALE_Y = 67;
    FUNC_SCALE_Z = 68;
    FUNC_SCALE_3D = 69;
    FUNC_ROTATE = 70;
    FUNC_ROTATE_X = 71;
    FUNC_ROTATE_Y = 72;
    FUNC_ROTATE_Z = 73;
    FUNC_ROTATE_3D = 74;
    FUNC_SKEW = 75;
    FUNC_SKEW_X = 76;
    FUNC_SKEW_Y = 77;
    FUNC_MATRIX = 78;
    FUNC_MATRIX_3D = 79;
    FUNC_PERSPECTIVE = 80;
    
    FUNC_CUBIC_BEZIER = 90;
    FUNC_STEPS = 91;
  }
  
  FunctionType type = 1;
  repeated CssValue args = 2;
  optional string raw = 3;
}

enum CssKeyword {
  KW_UNSPECIFIED = 0;
  
  KW_INHERIT = 1;
  KW_INITIAL = 2;
  KW_UNSET = 3;
  KW_REVERT = 4;
  
  KW_NONE = 10;
  KW_AUTO = 11;
  KW_NORMAL = 12;
  
  KW_TRANSPARENT = 20;
  KW_CURRENTCOLOR = 21;
  
  KW_BLOCK = 30;
  KW_INLINE = 31;
  KW_INLINE_BLOCK = 32;
  KW_FLEX = 33;
  KW_GRID = 34;
  KW_INLINE_FLEX = 35;
  KW_INLINE_GRID = 36;
  
  KW_HIDDEN = 40;
  KW_VISIBLE = 41;
  KW_SCROLL = 42;
  KW_CLIP = 43;
  
  KW_CONTAIN = 50;
  KW_COVER = 51;
  KW_FILL = 52;
  
  KW_REPEAT = 60;
  KW_NO_REPEAT = 61;
  KW_REPEAT_X = 62;
  KW_REPEAT_Y = 63;
  KW_SPACE = 64;
  KW_ROUND = 65;
  
  KW_BORDER_BOX = 70;
  KW_PADDING_BOX = 71;
  KW_CONTENT_BOX = 72;
  KW_TEXT = 73;
  
  KW_INFINITE = 80;
  KW_FORWARDS = 81;
  KW_BACKWARDS = 82;
  KW_BOTH = 83;
  KW_RUNNING = 84;
  KW_PAUSED = 85;
  
  KW_LINEAR = 90;
  KW_EASE = 91;
  KW_EASE_IN = 92;
  KW_EASE_OUT = 93;
  KW_EASE_IN_OUT = 94;
  
  KW_ALTERNATE = 100;
  KW_ALTERNATE_REVERSE = 101;
  KW_REVERSE = 102;
  
  KW_BOLD = 110;
  KW_BOLDER = 111;
  KW_LIGHTER = 112;
}

message CssValue {
  reserved 4, 12;
  reserved "asset_ref_id", "string_ref_id";
  oneof value {
    Length length = 1;
    uint32 color_ref_id = 2;
    eddocu.reftable.v3.ColorValue color_value = 3;
    CssKeyword keyword = 5;
    int32 integer = 6;
    float number = 7;
    bool boolean = 8;
    CssFunction function = 9;
    CssList list = 10;
    string string_value = 11;
  }
}

enum ListSeparator {
  SEP_SPACE = 0;
  SEP_COMMA = 1;
  SEP_SLASH = 2;
}

message CssList {
  repeated CssValue values = 1;
  ListSeparator separator = 2;
}