Skip to main content

css_ast/values/ui/
mod.rs

1// AUTO-GENERATED from w3c/csswg-drafts
2// Commit: https://github.com/w3c/csswg-drafts/commit/27fd597de31a8c43234f99f58983e4af3d1f9282
3// Do not edit this file directly.
4#![allow(warnings)]
5//! https://drafts.csswg.org/css-ui-4/
6
7mod impls;
8use super::prelude::*;
9use impls::*;
10/// Represents the style value for `accent-color` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#accent-color).
11///
12/// The accent-color CSS property sets a color for checkboxes, radio buttons, and other form controls.
13///
14/// The grammar is defined as:
15///
16/// ```text,ignore
17/// auto | <color>
18/// ```
19///
20/// https://drafts.csswg.org/css-ui-4/#accent-color
21#[syntax(" auto | <color> ")]
22#[derive(
23	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
24)]
25#[declaration_metadata(
26    initial = "auto",
27    inherits,
28    applies_to = Elements,
29    animation_type = ByComputedValue,
30    property_group = Ui,
31    computed_value_type = Unknown,
32    canonical_order = "per grammar",
33)]
34#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
35#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.accent-color"))]
36#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
37#[derive(csskit_derives::NodeWithMetadata)]
38pub struct AccentColorStyleValue<'a>;
39
40/// Represents the style value for `appearance` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#appearance).
41///
42/// The appearance CSS property controls the appearance of form controls. Using appearance: none disables any default native appearance and allows the elements to be styled with CSS.
43///
44/// The grammar is defined as:
45///
46/// ```text,ignore
47/// none | auto | base | base-select | <compat-auto> | <compat-special>
48/// ```
49///
50/// https://drafts.csswg.org/css-ui-4/#appearance
51#[syntax(" none | auto | base | base-select | <compat-auto> | <compat-special> ")]
52#[derive(
53	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
54)]
55#[declaration_metadata(
56    initial = "none",
57    applies_to = Elements,
58    animation_type = Discrete,
59    property_group = Ui,
60    computed_value_type = Unknown,
61    canonical_order = "per grammar",
62)]
63#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
64#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.appearance"))]
65#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
66#[derive(csskit_derives::NodeWithMetadata)]
67pub enum AppearanceStyleValue<'a> {}
68
69/// Represents the style value for `caret` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#caret).
70///
71/// The grammar is defined as:
72///
73/// ```text,ignore
74/// <'caret-color'> || <'caret-animation'> || <'caret-shape'>
75/// ```
76///
77/// https://drafts.csswg.org/css-ui-4/#caret
78#[syntax(" <'caret-color'> || <'caret-animation'> || <'caret-shape'> ")]
79#[derive(
80	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
81)]
82#[declaration_metadata(
83    initial = "auto",
84    inherits,
85    applies_to = Unknown,
86    animation_type = Unknown,
87    property_group = Ui,
88    computed_value_type = Unknown,
89    canonical_order = "per grammar",
90)]
91#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
92#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret"))]
93#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
94#[derive(csskit_derives::NodeWithMetadata)]
95pub struct CaretStyleValue<'a>;
96
97/// Represents the style value for `caret-animation` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#caret-animation).
98///
99/// The grammar is defined as:
100///
101/// ```text,ignore
102/// auto | manual
103/// ```
104///
105/// https://drafts.csswg.org/css-ui-4/#caret-animation
106#[syntax(" auto | manual ")]
107#[derive(
108	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
109)]
110#[declaration_metadata(
111    initial = "auto",
112    inherits,
113    applies_to = Unknown,
114    animation_type = Discrete,
115    property_group = Ui,
116    computed_value_type = Unknown,
117    canonical_order = "per grammar",
118)]
119#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
120#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-animation"))]
121#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
122#[derive(csskit_derives::NodeWithMetadata)]
123pub enum CaretAnimationStyleValue<'a> {}
124
125/// Represents the style value for `caret-color` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#caret-color).
126///
127/// The caret-color CSS property sets the color of the text insertion pointer in a text input.
128///
129/// The grammar is defined as:
130///
131/// ```text,ignore
132/// auto | <color> [auto | <color>]?
133/// ```
134///
135/// https://drafts.csswg.org/css-ui-4/#caret-color
136#[syntax(" auto | <color> [auto | <color>]? ")]
137#[derive(
138	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
139)]
140#[declaration_metadata(
141    initial = "auto",
142    inherits,
143    applies_to = Unknown,
144    animation_type = ByComputedValue,
145    property_group = Ui,
146    computed_value_type = Unknown,
147    canonical_order = "per grammar",
148)]
149#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
150#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-color"))]
151#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
152#[derive(csskit_derives::NodeWithMetadata)]
153pub struct CaretColorStyleValue<'a>;
154
155/// Represents the style value for `caret-shape` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#caret-shape).
156///
157/// The caret-shape CSS property sets the shape of the insertion caret, the symbol that shows where the next character is to be inserted or deleted.
158///
159/// The grammar is defined as:
160///
161/// ```text,ignore
162/// auto | bar | block | underscore
163/// ```
164///
165/// https://drafts.csswg.org/css-ui-4/#caret-shape
166#[syntax(" auto | bar | block | underscore ")]
167#[derive(
168	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
169)]
170#[declaration_metadata(
171    initial = "auto",
172    inherits,
173    applies_to = Unknown,
174    animation_type = ByComputedValue,
175    property_group = Ui,
176    computed_value_type = Unknown,
177    canonical_order = "per grammar",
178)]
179#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
180#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-shape"))]
181#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
182#[derive(csskit_derives::NodeWithMetadata)]
183pub enum CaretShapeStyleValue<'a> {}
184
185/// Represents the style value for `cursor` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#cursor).
186///
187/// The cursor CSS property styles the pointer, allowing you to provide hints to the user on how to interact with the hovered element.
188///
189/// The grammar is defined as:
190///
191/// ```text,ignore
192/// [<cursor-image>,]* <cursor-predefined>
193/// ```
194///
195/// https://drafts.csswg.org/css-ui-4/#cursor
196#[syntax(" [<cursor-image>,]* <cursor-predefined> ")]
197#[derive(
198	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
199)]
200#[declaration_metadata(
201    initial = "auto",
202    inherits,
203    applies_to = Elements,
204    animation_type = Discrete,
205    property_group = Ui,
206    computed_value_type = SpecifiedWithAbsoluteUrls,
207    canonical_order = "per grammar",
208)]
209#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
210#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.cursor"))]
211#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
212#[derive(csskit_derives::NodeWithMetadata)]
213pub struct CursorStyleValue<'a>;
214
215/// Represents the style value for `interactivity` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#interactivity).
216///
217/// The interactivity: inert CSS declaration makes an element and its descendants inert, like when using the inert HTML attribute. Inert elements can't be focused or clicked, their text can't be selected or found using the browser's find-in-page feature.
218///
219/// The grammar is defined as:
220///
221/// ```text,ignore
222/// auto | inert
223/// ```
224///
225/// https://drafts.csswg.org/css-ui-4/#interactivity
226#[syntax(" auto | inert ")]
227#[derive(
228	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
229)]
230#[declaration_metadata(
231    initial = "auto",
232    inherits,
233    applies_to = Elements,
234    animation_type = Discrete,
235    property_group = Ui,
236    computed_value_type = AsSpecified,
237    canonical_order = "per grammar",
238)]
239#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
240#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interactivity"))]
241#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
242#[derive(csskit_derives::NodeWithMetadata)]
243pub enum InteractivityStyleValue<'a> {}
244
245/// Represents the style value for `interest-delay` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#interest-delay).
246///
247/// The grammar is defined as:
248///
249/// ```text,ignore
250/// <'interest-delay-start'>{1,2}
251/// ```
252///
253/// https://drafts.csswg.org/css-ui-4/#interest-delay
254#[syntax(" <'interest-delay-start'>{1,2} ")]
255#[derive(
256	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
257)]
258#[declaration_metadata(
259    initial = "see individual properties",
260    inherits = Unknown,
261    applies_to = Unknown,
262    animation_type = Unknown,
263    percentages = Unknown,
264    property_group = Ui,
265    computed_value_type = Unknown,
266    canonical_order = "per grammar",
267)]
268#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
269#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay"))]
270#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
271#[derive(csskit_derives::NodeWithMetadata)]
272pub struct InterestDelayStyleValue<'a>;
273
274/// Represents the style value for `interest-delay-end` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#interest-delay-end).
275///
276/// The grammar is defined as:
277///
278/// ```text,ignore
279/// normal | <time>
280/// ```
281///
282/// https://drafts.csswg.org/css-ui-4/#interest-delay-end
283#[syntax(" normal | <time> ")]
284#[derive(
285	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
286)]
287#[declaration_metadata(
288    initial = "normal",
289    inherits,
290    applies_to = Elements,
291    animation_type = ByComputedValue,
292    property_group = Ui,
293    computed_value_type = Unknown,
294    canonical_order = "per grammar",
295)]
296#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
297#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay-end"))]
298#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
299#[derive(csskit_derives::NodeWithMetadata)]
300pub struct InterestDelayEndStyleValue<'a>;
301
302/// Represents the style value for `interest-delay-start` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#interest-delay-start).
303///
304/// The grammar is defined as:
305///
306/// ```text,ignore
307/// normal | <time>
308/// ```
309///
310/// https://drafts.csswg.org/css-ui-4/#interest-delay-start
311#[syntax(" normal | <time> ")]
312#[derive(
313	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
314)]
315#[declaration_metadata(
316    initial = "normal",
317    inherits,
318    applies_to = Elements,
319    animation_type = ByComputedValue,
320    property_group = Ui,
321    computed_value_type = Unknown,
322    canonical_order = "per grammar",
323)]
324#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
325#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay-start"))]
326#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
327#[derive(csskit_derives::NodeWithMetadata)]
328pub struct InterestDelayStartStyleValue<'a>;
329
330/// Represents the style value for `nav-down` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-down).
331///
332/// The grammar is defined as:
333///
334/// ```text,ignore
335/// auto | <id> [ current | root | <target-name> ]?
336/// ```
337///
338/// https://drafts.csswg.org/css-ui-4/#nav-down
339#[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
340#[derive(
341	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
342)]
343#[declaration_metadata(
344    initial = "auto",
345    applies_to = Elements,
346    animation_type = Discrete,
347    property_group = Ui,
348    computed_value_type = AsSpecified,
349    canonical_order = "per grammar",
350)]
351#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
352#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.nav-down"))]
353#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
354#[derive(csskit_derives::NodeWithMetadata)]
355pub enum NavDownStyleValue<'a> {}
356
357/// Represents the style value for `nav-left` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-left).
358///
359/// The grammar is defined as:
360///
361/// ```text,ignore
362/// auto | <id> [ current | root | <target-name> ]?
363/// ```
364///
365/// https://drafts.csswg.org/css-ui-4/#nav-left
366#[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
367#[derive(
368	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
369)]
370#[declaration_metadata(
371    initial = "auto",
372    applies_to = Elements,
373    animation_type = Discrete,
374    property_group = Ui,
375    computed_value_type = AsSpecified,
376    canonical_order = "per grammar",
377    box_side = Left,
378)]
379#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
380#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.nav-left"))]
381#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
382#[derive(csskit_derives::NodeWithMetadata)]
383pub enum NavLeftStyleValue<'a> {}
384
385/// Represents the style value for `nav-right` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-right).
386///
387/// The grammar is defined as:
388///
389/// ```text,ignore
390/// auto | <id> [ current | root | <target-name> ]?
391/// ```
392///
393/// https://drafts.csswg.org/css-ui-4/#nav-right
394#[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
395#[derive(
396	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
397)]
398#[declaration_metadata(
399    initial = "auto",
400    applies_to = Elements,
401    animation_type = Discrete,
402    property_group = Ui,
403    computed_value_type = AsSpecified,
404    canonical_order = "per grammar",
405    box_side = Right,
406)]
407#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
408#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.nav-right"))]
409#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
410#[derive(csskit_derives::NodeWithMetadata)]
411pub enum NavRightStyleValue<'a> {}
412
413/// Represents the style value for `nav-up` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-up).
414///
415/// The grammar is defined as:
416///
417/// ```text,ignore
418/// auto | <id> [ current | root | <target-name> ]?
419/// ```
420///
421/// https://drafts.csswg.org/css-ui-4/#nav-up
422#[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
423#[derive(
424	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
425)]
426#[declaration_metadata(
427    initial = "auto",
428    applies_to = Elements,
429    animation_type = Discrete,
430    property_group = Ui,
431    computed_value_type = AsSpecified,
432    canonical_order = "per grammar",
433)]
434#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
435#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.nav-up"))]
436#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
437#[derive(csskit_derives::NodeWithMetadata)]
438pub enum NavUpStyleValue<'a> {}
439
440/// Represents the style value for `outline` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline).
441///
442/// The outline CSS shorthand sets the color, style, and width of a line around an element, outside of the border.
443///
444/// The grammar is defined as:
445///
446/// ```text,ignore
447/// <'outline-width'> || <'outline-style'> || <'outline-color'>
448/// ```
449///
450/// https://drafts.csswg.org/css-ui-4/#outline
451#[syntax(" <'outline-width'> || <'outline-style'> || <'outline-color'> ")]
452#[derive(
453	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
454)]
455#[declaration_metadata(
456    initial = "see individual properties",
457    applies_to = Elements,
458    animation_type = Unknown,
459    longhands = OutlineColor|OutlineStyle|OutlineWidth,
460    property_group = Ui,
461    computed_value_type = Unknown,
462    canonical_order = "per grammar",
463)]
464#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
465#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline"))]
466#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
467#[derive(csskit_derives::NodeWithMetadata)]
468pub struct OutlineStyleValue<'a>;
469
470/// Represents the style value for `outline-color` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-color).
471///
472/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
473///
474/// The grammar is defined as:
475///
476/// ```text,ignore
477/// auto | <'border-top-color'>
478/// ```
479///
480/// https://drafts.csswg.org/css-ui-4/#outline-color
481#[syntax(" auto | <'border-top-color'> ")]
482#[derive(
483	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
484)]
485#[declaration_metadata(
486    initial = "auto",
487    applies_to = Elements,
488    animation_type = ByComputedValue,
489    shorthand_group = Outline,
490    property_group = Ui,
491    computed_value_type = Unknown,
492    canonical_order = "per grammar",
493)]
494#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
495#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-color"))]
496#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
497#[derive(csskit_derives::NodeWithMetadata)]
498pub struct OutlineColorStyleValue<'a>;
499
500/// Represents the style value for `outline-offset` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-offset).
501///
502/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
503///
504/// The grammar is defined as:
505///
506/// ```text,ignore
507/// <length>
508/// ```
509///
510/// https://drafts.csswg.org/css-ui-4/#outline-offset
511#[syntax(" <length> ")]
512#[derive(
513	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
514)]
515#[declaration_metadata(
516    initial = "0",
517    applies_to = Elements,
518    animation_type = ByComputedValue,
519    property_group = Ui,
520    computed_value_type = AbsoluteLength,
521    canonical_order = "per grammar",
522)]
523#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
524#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-offset"))]
525#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
526#[derive(csskit_derives::NodeWithMetadata)]
527pub struct OutlineOffsetStyleValue<'a>;
528
529/// Represents the style value for `outline-style` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-style).
530///
531/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
532///
533/// The grammar is defined as:
534///
535/// ```text,ignore
536/// auto | <outline-line-style>
537/// ```
538///
539/// https://drafts.csswg.org/css-ui-4/#outline-style
540#[syntax(" auto | <outline-line-style> ")]
541#[derive(
542	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
543)]
544#[declaration_metadata(
545    initial = "none",
546    applies_to = Elements,
547    animation_type = ByComputedValue,
548    shorthand_group = Outline,
549    property_group = Ui,
550    computed_value_type = Unknown,
551    canonical_order = "per grammar",
552)]
553#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
554#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-style"))]
555#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
556#[derive(csskit_derives::NodeWithMetadata)]
557pub struct OutlineStyleStyleValue<'a>;
558
559/// Represents the style value for `outline-width` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-width).
560///
561/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
562///
563/// The grammar is defined as:
564///
565/// ```text,ignore
566/// <line-width>
567/// ```
568///
569/// https://drafts.csswg.org/css-ui-4/#outline-width
570#[syntax(" <line-width> ")]
571#[derive(
572	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
573)]
574#[declaration_metadata(
575    initial = "medium",
576    applies_to = Elements,
577    animation_type = ByComputedValue,
578    shorthand_group = Outline,
579    property_group = Ui,
580    computed_value_type = AbsoluteLength,
581    canonical_order = "per grammar",
582)]
583#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
584#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-width"))]
585#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
586#[derive(csskit_derives::NodeWithMetadata)]
587pub struct OutlineWidthStyleValue<'a>;
588
589/// Represents the style value for `pointer-events` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#pointer-events).
590///
591/// The pointer-events CSS property sets whether a user can interact with an element using a mouse, touch, or other pointing input device.
592///
593/// The grammar is defined as:
594///
595/// ```text,ignore
596/// auto | none | all | fill | stroke | visible | painted | visiblePainted | visibleFill | visibleStroke | bounding-box
597/// ```
598///
599/// https://drafts.csswg.org/css-ui-4/#pointer-events
600#[syntax(
601	" auto | none | all | fill | stroke | visible | painted | visiblePainted | visibleFill | visibleStroke | bounding-box "
602)]
603#[derive(
604	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
605)]
606#[declaration_metadata(
607    initial = "auto",
608    inherits,
609    applies_to = Elements,
610    animation_type = ByComputedValue,
611    property_group = Ui,
612    computed_value_type = Unknown,
613    canonical_order = "per grammar",
614)]
615#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
616#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.pointer-events"))]
617#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
618#[derive(csskit_derives::NodeWithMetadata)]
619pub enum PointerEventsStyleValue<'a> {}
620
621/// Represents the style value for `resize` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#resize).
622///
623/// The resize CSS property sets whether an element can be resized by the user, and on which axes.
624///
625/// The grammar is defined as:
626///
627/// ```text,ignore
628/// none | both | horizontal | vertical | block | inline
629/// ```
630///
631/// https://drafts.csswg.org/css-ui-4/#resize
632#[syntax(" none | both | horizontal | vertical | block | inline ")]
633#[derive(
634	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
635)]
636#[declaration_metadata(
637    initial = "none",
638    applies_to = Unknown,
639    animation_type = Discrete,
640    property_group = Ui,
641    computed_value_type = Unknown,
642    canonical_order = "per grammar",
643)]
644#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
645#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.resize"))]
646#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
647#[derive(csskit_derives::NodeWithMetadata)]
648pub enum ResizeStyleValue<'a> {}
649
650/// Represents the style value for `user-select` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#user-select).
651///
652/// The user-select CSS property controls which elements can be selected by the user.
653///
654/// The grammar is defined as:
655///
656/// ```text,ignore
657/// auto | text | none | contain | all
658/// ```
659///
660/// https://drafts.csswg.org/css-ui-4/#user-select
661#[syntax(" auto | text | none | contain | all ")]
662#[derive(
663	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
664)]
665#[declaration_metadata(
666    initial = "auto",
667    applies_to = Unknown,
668    animation_type = Discrete,
669    property_group = Ui,
670    computed_value_type = Unknown,
671    canonical_order = "per grammar",
672)]
673#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
674#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.user-select"))]
675#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
676#[derive(csskit_derives::NodeWithMetadata)]
677pub enum UserSelectStyleValue<'a> {}
678
679/// Represents the style value for `window-drag` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#window-drag).
680///
681/// The grammar is defined as:
682///
683/// ```text,ignore
684/// none | move
685/// ```
686///
687/// https://drafts.csswg.org/css-ui-4/#window-drag
688#[syntax(" none | move ")]
689#[derive(
690	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
691)]
692#[declaration_metadata(
693    initial = "none",
694    inherits,
695    applies_to = Elements,
696    animation_type = Discrete,
697    property_group = Ui,
698    computed_value_type = AsSpecified,
699    canonical_order = "per grammar",
700)]
701#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
702#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.window-drag"))]
703#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
704#[derive(csskit_derives::NodeWithMetadata)]
705pub enum WindowDragStyleValue<'a> {}