figma_api/models/
is_layer_trait_bound_variables.rs

1/*
2 * Figma API
3 *
4 * This is the OpenAPI specification for the [Figma REST API](https://www.figma.com/developers/api).  Note: we are releasing the OpenAPI specification as a beta given the large surface area and complexity of the REST API. If you notice any inaccuracies with the specification, please [file an issue](https://github.com/figma/rest-api-spec/issues).
5 *
6 * The version of the OpenAPI document: 0.31.0
7 * Contact: support@figma.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// IsLayerTraitBoundVariables : A mapping of field to the variables applied to this field. Most fields will only map to a single `VariableAlias`. However, for properties like `fills`, `strokes`, `size`, `componentProperties`, and `textRangeFills`, it is possible to have multiple variables bound to the field.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct IsLayerTraitBoundVariables {
17    #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
18    pub size: Option<Box<models::IsLayerTraitBoundVariablesSize>>,
19    #[serde(rename = "individualStrokeWeights", skip_serializing_if = "Option::is_none")]
20    pub individual_stroke_weights: Option<Box<models::IsLayerTraitBoundVariablesIndividualStrokeWeights>>,
21    #[serde(rename = "characters", skip_serializing_if = "Option::is_none")]
22    pub characters: Option<Box<models::VariableAlias>>,
23    #[serde(rename = "itemSpacing", skip_serializing_if = "Option::is_none")]
24    pub item_spacing: Option<Box<models::VariableAlias>>,
25    #[serde(rename = "paddingLeft", skip_serializing_if = "Option::is_none")]
26    pub padding_left: Option<Box<models::VariableAlias>>,
27    #[serde(rename = "paddingRight", skip_serializing_if = "Option::is_none")]
28    pub padding_right: Option<Box<models::VariableAlias>>,
29    #[serde(rename = "paddingTop", skip_serializing_if = "Option::is_none")]
30    pub padding_top: Option<Box<models::VariableAlias>>,
31    #[serde(rename = "paddingBottom", skip_serializing_if = "Option::is_none")]
32    pub padding_bottom: Option<Box<models::VariableAlias>>,
33    #[serde(rename = "visible", skip_serializing_if = "Option::is_none")]
34    pub visible: Option<Box<models::VariableAlias>>,
35    #[serde(rename = "topLeftRadius", skip_serializing_if = "Option::is_none")]
36    pub top_left_radius: Option<Box<models::VariableAlias>>,
37    #[serde(rename = "topRightRadius", skip_serializing_if = "Option::is_none")]
38    pub top_right_radius: Option<Box<models::VariableAlias>>,
39    #[serde(rename = "bottomLeftRadius", skip_serializing_if = "Option::is_none")]
40    pub bottom_left_radius: Option<Box<models::VariableAlias>>,
41    #[serde(rename = "bottomRightRadius", skip_serializing_if = "Option::is_none")]
42    pub bottom_right_radius: Option<Box<models::VariableAlias>>,
43    #[serde(rename = "minWidth", skip_serializing_if = "Option::is_none")]
44    pub min_width: Option<Box<models::VariableAlias>>,
45    #[serde(rename = "maxWidth", skip_serializing_if = "Option::is_none")]
46    pub max_width: Option<Box<models::VariableAlias>>,
47    #[serde(rename = "minHeight", skip_serializing_if = "Option::is_none")]
48    pub min_height: Option<Box<models::VariableAlias>>,
49    #[serde(rename = "maxHeight", skip_serializing_if = "Option::is_none")]
50    pub max_height: Option<Box<models::VariableAlias>>,
51    #[serde(rename = "counterAxisSpacing", skip_serializing_if = "Option::is_none")]
52    pub counter_axis_spacing: Option<Box<models::VariableAlias>>,
53    #[serde(rename = "opacity", skip_serializing_if = "Option::is_none")]
54    pub opacity: Option<Box<models::VariableAlias>>,
55    #[serde(rename = "fontFamily", skip_serializing_if = "Option::is_none")]
56    pub font_family: Option<Vec<models::VariableAlias>>,
57    #[serde(rename = "fontSize", skip_serializing_if = "Option::is_none")]
58    pub font_size: Option<Vec<models::VariableAlias>>,
59    #[serde(rename = "fontStyle", skip_serializing_if = "Option::is_none")]
60    pub font_style: Option<Vec<models::VariableAlias>>,
61    #[serde(rename = "fontWeight", skip_serializing_if = "Option::is_none")]
62    pub font_weight: Option<Vec<models::VariableAlias>>,
63    #[serde(rename = "letterSpacing", skip_serializing_if = "Option::is_none")]
64    pub letter_spacing: Option<Vec<models::VariableAlias>>,
65    #[serde(rename = "lineHeight", skip_serializing_if = "Option::is_none")]
66    pub line_height: Option<Vec<models::VariableAlias>>,
67    #[serde(rename = "paragraphSpacing", skip_serializing_if = "Option::is_none")]
68    pub paragraph_spacing: Option<Vec<models::VariableAlias>>,
69    #[serde(rename = "paragraphIndent", skip_serializing_if = "Option::is_none")]
70    pub paragraph_indent: Option<Vec<models::VariableAlias>>,
71    #[serde(rename = "fills", skip_serializing_if = "Option::is_none")]
72    pub fills: Option<Vec<models::VariableAlias>>,
73    #[serde(rename = "strokes", skip_serializing_if = "Option::is_none")]
74    pub strokes: Option<Vec<models::VariableAlias>>,
75    #[serde(rename = "componentProperties", skip_serializing_if = "Option::is_none")]
76    pub component_properties: Option<std::collections::HashMap<String, models::VariableAlias>>,
77    #[serde(rename = "textRangeFills", skip_serializing_if = "Option::is_none")]
78    pub text_range_fills: Option<Vec<models::VariableAlias>>,
79    #[serde(rename = "effects", skip_serializing_if = "Option::is_none")]
80    pub effects: Option<Vec<models::VariableAlias>>,
81    #[serde(rename = "layoutGrids", skip_serializing_if = "Option::is_none")]
82    pub layout_grids: Option<Vec<models::VariableAlias>>,
83    #[serde(rename = "rectangleCornerRadii", skip_serializing_if = "Option::is_none")]
84    pub rectangle_corner_radii: Option<Box<models::IsLayerTraitBoundVariablesRectangleCornerRadii>>,
85}
86
87impl IsLayerTraitBoundVariables {
88    /// A mapping of field to the variables applied to this field. Most fields will only map to a single `VariableAlias`. However, for properties like `fills`, `strokes`, `size`, `componentProperties`, and `textRangeFills`, it is possible to have multiple variables bound to the field.
89    pub fn new() -> IsLayerTraitBoundVariables {
90        IsLayerTraitBoundVariables {
91            size: None,
92            individual_stroke_weights: None,
93            characters: None,
94            item_spacing: None,
95            padding_left: None,
96            padding_right: None,
97            padding_top: None,
98            padding_bottom: None,
99            visible: None,
100            top_left_radius: None,
101            top_right_radius: None,
102            bottom_left_radius: None,
103            bottom_right_radius: None,
104            min_width: None,
105            max_width: None,
106            min_height: None,
107            max_height: None,
108            counter_axis_spacing: None,
109            opacity: None,
110            font_family: None,
111            font_size: None,
112            font_style: None,
113            font_weight: None,
114            letter_spacing: None,
115            line_height: None,
116            paragraph_spacing: None,
117            paragraph_indent: None,
118            fills: None,
119            strokes: None,
120            component_properties: None,
121            text_range_fills: None,
122            effects: None,
123            layout_grids: None,
124            rectangle_corner_radii: None,
125        }
126    }
127}
128