css_ast/values/ui/
mod.rs

1// AUTO-GENERATED from w3c/csswg-drafts
2// Commit: https://github.com/w3c/csswg-drafts/commit/7e27ad7484307dfdbe9d0e18ad19d02859389688
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;
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 {}
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;
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 {}
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>
133/// ```
134///
135/// https://drafts.csswg.org/css-ui-4/#caret-color
136#[syntax(" 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;
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 {}
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 {}
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;
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 enum InterestDelayEndStyleValue {}
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 enum InterestDelayStartStyleValue {}
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,
342//     Peek,
343//     ToSpan,
344//     ToCursors,
345//     DeclarationMetadata,
346//     SemanticEq,
347//     Debug,
348//     Clone,
349//     PartialEq,
350//     Eq,
351//     PartialOrd,
352//     Ord,
353//     Hash,
354// )]
355// #[declaration_metadata(
356//     initial = "auto",
357//     applies_to = Elements,
358//     animation_type = Discrete,
359//     property_group = Ui,
360//     computed_value_type = AsSpecified,
361//     canonical_order = "per grammar",
362// )]
363// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
364// #[cfg_attr(
365//     feature = "css_feature_data",
366//     derive(ToCSSFeature),
367//     css_feature("css.properties.nav-down")
368// )]
369// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
370// #[derive(csskit_derives::NodeWithMetadata)]
371// pub struct NavDownStyleValue;
372
373// /// Represents the style value for `nav-left` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-left).
374// ///
375// /// The grammar is defined as:
376// ///
377// /// ```text,ignore
378// /// auto | <id> [ current | root | <target-name> ]?
379// /// ```
380// ///
381// /// https://drafts.csswg.org/css-ui-4/#nav-left
382// #[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
383// #[derive(
384//     Parse,
385//     Peek,
386//     ToSpan,
387//     ToCursors,
388//     DeclarationMetadata,
389//     SemanticEq,
390//     Debug,
391//     Clone,
392//     PartialEq,
393//     Eq,
394//     PartialOrd,
395//     Ord,
396//     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 = Left,
406// )]
407// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
408// #[cfg_attr(
409//     feature = "css_feature_data",
410//     derive(ToCSSFeature),
411//     css_feature("css.properties.nav-left")
412// )]
413// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
414// #[derive(csskit_derives::NodeWithMetadata)]
415// pub struct NavLeftStyleValue;
416
417// /// Represents the style value for `nav-right` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-right).
418// ///
419// /// The grammar is defined as:
420// ///
421// /// ```text,ignore
422// /// auto | <id> [ current | root | <target-name> ]?
423// /// ```
424// ///
425// /// https://drafts.csswg.org/css-ui-4/#nav-right
426// #[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
427// #[derive(
428//     Parse,
429//     Peek,
430//     ToSpan,
431//     ToCursors,
432//     DeclarationMetadata,
433//     SemanticEq,
434//     Debug,
435//     Clone,
436//     PartialEq,
437//     Eq,
438//     PartialOrd,
439//     Ord,
440//     Hash,
441// )]
442// #[declaration_metadata(
443//     initial = "auto",
444//     applies_to = Elements,
445//     animation_type = Discrete,
446//     property_group = Ui,
447//     computed_value_type = AsSpecified,
448//     canonical_order = "per grammar",
449//     box_side = Right,
450// )]
451// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
452// #[cfg_attr(
453//     feature = "css_feature_data",
454//     derive(ToCSSFeature),
455//     css_feature("css.properties.nav-right")
456// )]
457// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
458// #[derive(csskit_derives::NodeWithMetadata)]
459// pub struct NavRightStyleValue;
460
461// /// Represents the style value for `nav-up` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-up).
462// ///
463// /// The grammar is defined as:
464// ///
465// /// ```text,ignore
466// /// auto | <id> [ current | root | <target-name> ]?
467// /// ```
468// ///
469// /// https://drafts.csswg.org/css-ui-4/#nav-up
470// #[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
471// #[derive(
472//     Parse,
473//     Peek,
474//     ToSpan,
475//     ToCursors,
476//     DeclarationMetadata,
477//     SemanticEq,
478//     Debug,
479//     Clone,
480//     PartialEq,
481//     Eq,
482//     PartialOrd,
483//     Ord,
484//     Hash,
485// )]
486// #[declaration_metadata(
487//     initial = "auto",
488//     applies_to = Elements,
489//     animation_type = Discrete,
490//     property_group = Ui,
491//     computed_value_type = AsSpecified,
492//     canonical_order = "per grammar",
493// )]
494// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
495// #[cfg_attr(
496//     feature = "css_feature_data",
497//     derive(ToCSSFeature),
498//     css_feature("css.properties.nav-up")
499// )]
500// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
501// #[derive(csskit_derives::NodeWithMetadata)]
502// pub struct NavUpStyleValue;
503
504/// Represents the style value for `outline` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline).
505///
506/// The outline CSS shorthand sets the color, style, and width of a line around an element, outside of the border.
507///
508/// The grammar is defined as:
509///
510/// ```text,ignore
511/// <'outline-width'> || <'outline-style'> || <'outline-color'>
512/// ```
513///
514/// https://drafts.csswg.org/css-ui-4/#outline
515#[syntax(" <'outline-width'> || <'outline-style'> || <'outline-color'> ")]
516#[derive(
517	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
518)]
519#[declaration_metadata(
520    initial = "see individual properties",
521    applies_to = Elements,
522    animation_type = Unknown,
523    longhands = OutlineColor|OutlineStyle|OutlineWidth,
524    property_group = Ui,
525    computed_value_type = Unknown,
526    canonical_order = "per grammar",
527)]
528#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
529#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline"))]
530#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
531#[derive(csskit_derives::NodeWithMetadata)]
532pub struct OutlineStyleValue<'a>;
533
534/// Represents the style value for `outline-color` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-color).
535///
536/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
537///
538/// The grammar is defined as:
539///
540/// ```text,ignore
541/// auto | <'border-top-color'>
542/// ```
543///
544/// https://drafts.csswg.org/css-ui-4/#outline-color
545#[syntax(" auto | <'border-top-color'> ")]
546#[derive(
547	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
548)]
549#[declaration_metadata(
550    initial = "auto",
551    applies_to = Elements,
552    animation_type = ByComputedValue,
553    shorthand_group = Outline,
554    property_group = Ui,
555    computed_value_type = Unknown,
556    canonical_order = "per grammar",
557)]
558#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
559#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-color"))]
560#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
561#[derive(csskit_derives::NodeWithMetadata)]
562pub struct OutlineColorStyleValue<'a>;
563
564/// Represents the style value for `outline-offset` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-offset).
565///
566/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
567///
568/// The grammar is defined as:
569///
570/// ```text,ignore
571/// <length>
572/// ```
573///
574/// https://drafts.csswg.org/css-ui-4/#outline-offset
575#[syntax(" <length> ")]
576#[derive(
577	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
578)]
579#[declaration_metadata(
580    initial = "0",
581    applies_to = Elements,
582    animation_type = ByComputedValue,
583    property_group = Ui,
584    computed_value_type = AbsoluteLength,
585    canonical_order = "per grammar",
586)]
587#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
588#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-offset"))]
589#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
590#[derive(csskit_derives::NodeWithMetadata)]
591pub struct OutlineOffsetStyleValue;
592
593/// Represents the style value for `outline-style` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-style).
594///
595/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
596///
597/// The grammar is defined as:
598///
599/// ```text,ignore
600/// auto | <outline-line-style>
601/// ```
602///
603/// https://drafts.csswg.org/css-ui-4/#outline-style
604#[syntax(" auto | <outline-line-style> ")]
605#[derive(
606	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
607)]
608#[declaration_metadata(
609    initial = "none",
610    applies_to = Elements,
611    animation_type = ByComputedValue,
612    shorthand_group = Outline,
613    property_group = Ui,
614    computed_value_type = Unknown,
615    canonical_order = "per grammar",
616)]
617#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
618#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-style"))]
619#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
620#[derive(csskit_derives::NodeWithMetadata)]
621pub struct OutlineStyleStyleValue;
622
623/// Represents the style value for `outline-width` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-width).
624///
625/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
626///
627/// The grammar is defined as:
628///
629/// ```text,ignore
630/// <line-width>
631/// ```
632///
633/// https://drafts.csswg.org/css-ui-4/#outline-width
634#[syntax(" <line-width> ")]
635#[derive(
636	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
637)]
638#[declaration_metadata(
639    initial = "medium",
640    applies_to = Elements,
641    animation_type = ByComputedValue,
642    shorthand_group = Outline,
643    property_group = Ui,
644    computed_value_type = AbsoluteLength,
645    canonical_order = "per grammar",
646)]
647#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
648#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-width"))]
649#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
650#[derive(csskit_derives::NodeWithMetadata)]
651pub struct OutlineWidthStyleValue;
652
653/// Represents the style value for `pointer-events` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#pointer-events).
654///
655/// The pointer-events CSS property sets whether a user can interact with an element using a mouse, touch, or other pointing input device.
656///
657/// The grammar is defined as:
658///
659/// ```text,ignore
660/// auto | none
661/// ```
662///
663/// https://drafts.csswg.org/css-ui-4/#pointer-events
664#[syntax(" auto | none ")]
665#[derive(
666	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
667)]
668#[declaration_metadata(
669    initial = "auto",
670    inherits,
671    applies_to = Elements,
672    animation_type = ByComputedValue,
673    property_group = Ui,
674    computed_value_type = Unknown,
675    canonical_order = "per grammar",
676)]
677#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
678#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.pointer-events"))]
679#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
680#[derive(csskit_derives::NodeWithMetadata)]
681pub enum PointerEventsStyleValue {}
682
683/// Represents the style value for `resize` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#resize).
684///
685/// The resize CSS property sets whether an element can be resized by the user, and on which axes.
686///
687/// The grammar is defined as:
688///
689/// ```text,ignore
690/// none | both | horizontal | vertical | block | inline
691/// ```
692///
693/// https://drafts.csswg.org/css-ui-4/#resize
694#[syntax(" none | both | horizontal | vertical | block | inline ")]
695#[derive(
696	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
697)]
698#[declaration_metadata(
699    initial = "none",
700    applies_to = Unknown,
701    animation_type = Discrete,
702    property_group = Ui,
703    computed_value_type = Unknown,
704    canonical_order = "per grammar",
705)]
706#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
707#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.resize"))]
708#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
709#[derive(csskit_derives::NodeWithMetadata)]
710pub enum ResizeStyleValue {}
711
712/// Represents the style value for `user-select` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#user-select).
713///
714/// The user-select CSS property controls which elements can be selected by the user.
715///
716/// The grammar is defined as:
717///
718/// ```text,ignore
719/// auto | text | none | contain | all
720/// ```
721///
722/// https://drafts.csswg.org/css-ui-4/#user-select
723#[syntax(" auto | text | none | contain | all ")]
724#[derive(
725	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
726)]
727#[declaration_metadata(
728    initial = "auto",
729    applies_to = Unknown,
730    animation_type = Discrete,
731    property_group = Ui,
732    computed_value_type = Unknown,
733    canonical_order = "per grammar",
734)]
735#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
736#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.user-select"))]
737#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
738#[derive(csskit_derives::NodeWithMetadata)]
739pub enum UserSelectStyleValue {}