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/40527902c4d0840cdb7a808c8cd42302be1c3bc8
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 = OutlineWidth|OutlineStyle|OutlineColor,
460    property_group = Ui,
461    computed_value_type = Unknown,
462    canonical_order = "per grammar",
463)]
464#[declaration_writes(OutlineWidth?, OutlineStyle?, OutlineColor?)]
465#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
466#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline"))]
467#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
468#[derive(csskit_derives::NodeWithMetadata)]
469pub struct OutlineStyleValue<'a>;
470
471/// Represents the style value for `outline-color` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-color).
472///
473/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
474///
475/// The grammar is defined as:
476///
477/// ```text,ignore
478/// auto | <'border-top-color'>
479/// ```
480///
481/// https://drafts.csswg.org/css-ui-4/#outline-color
482#[syntax(" auto | <'border-top-color'> ")]
483#[derive(
484	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
485)]
486#[declaration_metadata(
487    initial = "auto",
488    applies_to = Elements,
489    animation_type = ByComputedValue,
490    shorthands = Outline,
491    property_group = Ui,
492    computed_value_type = Unknown,
493    canonical_order = "per grammar",
494)]
495#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
496#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-color"))]
497#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
498#[derive(csskit_derives::NodeWithMetadata)]
499pub struct OutlineColorStyleValue<'a>;
500
501/// Represents the style value for `outline-offset` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-offset).
502///
503/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
504///
505/// The grammar is defined as:
506///
507/// ```text,ignore
508/// <length>
509/// ```
510///
511/// https://drafts.csswg.org/css-ui-4/#outline-offset
512#[syntax(" <length> ")]
513#[derive(
514	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
515)]
516#[declaration_metadata(
517    initial = "0",
518    applies_to = Elements,
519    animation_type = ByComputedValue,
520    property_group = Ui,
521    computed_value_type = AbsoluteLength,
522    canonical_order = "per grammar",
523)]
524#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
525#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-offset"))]
526#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
527#[derive(csskit_derives::NodeWithMetadata)]
528pub struct OutlineOffsetStyleValue<'a>;
529
530/// Represents the style value for `outline-style` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-style).
531///
532/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
533///
534/// The grammar is defined as:
535///
536/// ```text,ignore
537/// auto | <outline-line-style>
538/// ```
539///
540/// https://drafts.csswg.org/css-ui-4/#outline-style
541#[syntax(" auto | <outline-line-style> ")]
542#[derive(
543	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
544)]
545#[declaration_metadata(
546    initial = "none",
547    applies_to = Elements,
548    animation_type = ByComputedValue,
549    shorthands = Outline,
550    property_group = Ui,
551    computed_value_type = Unknown,
552    canonical_order = "per grammar",
553)]
554#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
555#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-style"))]
556#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
557#[derive(csskit_derives::NodeWithMetadata)]
558pub struct OutlineStyleStyleValue<'a>;
559
560/// Represents the style value for `outline-width` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-width).
561///
562/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
563///
564/// The grammar is defined as:
565///
566/// ```text,ignore
567/// <line-width>
568/// ```
569///
570/// https://drafts.csswg.org/css-ui-4/#outline-width
571#[syntax(" <line-width> ")]
572#[derive(
573	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
574)]
575#[declaration_metadata(
576    initial = "medium",
577    applies_to = Elements,
578    animation_type = ByComputedValue,
579    shorthands = Outline,
580    property_group = Ui,
581    computed_value_type = AbsoluteLength,
582    canonical_order = "per grammar",
583)]
584#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
585#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-width"))]
586#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
587#[derive(csskit_derives::NodeWithMetadata)]
588pub struct OutlineWidthStyleValue<'a>;
589
590/// Represents the style value for `pointer-events` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#pointer-events).
591///
592/// The pointer-events CSS property sets whether a user can interact with an element using a mouse, touch, or other pointing input device.
593///
594/// The grammar is defined as:
595///
596/// ```text,ignore
597/// auto | none | all | fill | stroke | visible | painted | visiblePainted | visibleFill | visibleStroke | bounding-box
598/// ```
599///
600/// https://drafts.csswg.org/css-ui-4/#pointer-events
601#[syntax(
602	" auto | none | all | fill | stroke | visible | painted | visiblePainted | visibleFill | visibleStroke | bounding-box "
603)]
604#[derive(
605	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
606)]
607#[declaration_metadata(
608    initial = "auto",
609    inherits,
610    applies_to = Elements,
611    animation_type = ByComputedValue,
612    property_group = Ui,
613    computed_value_type = Unknown,
614    canonical_order = "per grammar",
615)]
616#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
617#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.pointer-events"))]
618#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
619#[derive(csskit_derives::NodeWithMetadata)]
620pub enum PointerEventsStyleValue<'a> {}
621
622/// Represents the style value for `resize` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#resize).
623///
624/// The resize CSS property sets whether an element can be resized by the user, and on which axes.
625///
626/// The grammar is defined as:
627///
628/// ```text,ignore
629/// none | both | horizontal | vertical | block | inline
630/// ```
631///
632/// https://drafts.csswg.org/css-ui-4/#resize
633#[syntax(" none | both | horizontal | vertical | block | inline ")]
634#[derive(
635	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
636)]
637#[declaration_metadata(
638    initial = "none",
639    applies_to = Unknown,
640    animation_type = Discrete,
641    property_group = Ui,
642    computed_value_type = Unknown,
643    canonical_order = "per grammar",
644)]
645#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
646#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.resize"))]
647#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
648#[derive(csskit_derives::NodeWithMetadata)]
649pub enum ResizeStyleValue<'a> {}
650
651/// Represents the style value for `user-select` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#user-select).
652///
653/// The user-select CSS property controls which elements can be selected by the user.
654///
655/// The grammar is defined as:
656///
657/// ```text,ignore
658/// auto | text | none | contain | all
659/// ```
660///
661/// https://drafts.csswg.org/css-ui-4/#user-select
662#[syntax(" auto | text | none | contain | all ")]
663#[derive(
664	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
665)]
666#[declaration_metadata(
667    initial = "auto",
668    applies_to = Unknown,
669    animation_type = Discrete,
670    property_group = Ui,
671    computed_value_type = Unknown,
672    canonical_order = "per grammar",
673)]
674#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
675#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.user-select"))]
676#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
677#[derive(csskit_derives::NodeWithMetadata)]
678pub enum UserSelectStyleValue<'a> {}
679
680/// Represents the style value for `window-drag` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#window-drag).
681///
682/// The window-drag: move CSS declaration sets an element as a window drag handle, like a device's app title bar. You can use this to add click-and-drag areas to an installed progressive web app, often alongside window controls overlay.
683///
684/// The grammar is defined as:
685///
686/// ```text,ignore
687/// none | move
688/// ```
689///
690/// https://drafts.csswg.org/css-ui-4/#window-drag
691#[syntax(" none | move ")]
692#[derive(
693	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
694)]
695#[declaration_metadata(
696    initial = "none",
697    inherits,
698    applies_to = Elements,
699    animation_type = Discrete,
700    property_group = Ui,
701    computed_value_type = AsSpecified,
702    canonical_order = "per grammar",
703)]
704#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
705#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.window-drag"))]
706#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
707#[derive(csskit_derives::NodeWithMetadata)]
708pub enum WindowDragStyleValue<'a> {}