css_ast/values/ui/
mod.rs

1#![allow(warnings)]
2//! CSS Basic User Interface Module Level 4
3//! https://drafts.csswg.org/css-ui-4/
4
5mod impls;
6use impls::*;
7
8/// Represents the style value for `outline` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline).
9///
10/// The outline CSS shorthand sets the color, style, and width of a line around an element, outside of the border.
11///
12/// The grammar is defined as:
13///
14/// ```text,ignore
15/// <'outline-width'> || <'outline-style'> || <'outline-color'>
16/// ```
17///
18// https://drafts.csswg.org/css-ui-4/#outline
19#[syntax(" <'outline-width'> || <'outline-style'> || <'outline-color'> ")]
20#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21#[style_value(
22	initial = "see individual properties",
23	applies_to = "all elements",
24	inherited = "no",
25	percentages = "n/a",
26	canonical_order = "per grammar",
27	animation_type = "see individual properties"
28)]
29#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
30#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline"))]
31#[visit]
32pub struct OutlineStyleValue<'a>;
33
34/// Represents the style value for `outline-width` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-width).
35///
36/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
37///
38/// The grammar is defined as:
39///
40/// ```text,ignore
41/// <line-width>
42/// ```
43///
44// https://drafts.csswg.org/css-ui-4/#outline-width
45#[syntax(" <line-width> ")]
46#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
47#[style_value(
48	initial = "medium",
49	applies_to = "all elements",
50	inherited = "no",
51	percentages = "n/a",
52	canonical_order = "per grammar",
53	animation_type = "by computed value"
54)]
55#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
56#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-width"))]
57#[visit]
58pub struct OutlineWidthStyleValue;
59
60/// Represents the style value for `outline-style` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-style).
61///
62/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
63///
64/// The grammar is defined as:
65///
66/// ```text,ignore
67/// auto | <outline-line-style>
68/// ```
69///
70// https://drafts.csswg.org/css-ui-4/#outline-style
71#[syntax(" auto | <outline-line-style> ")]
72#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
73#[style_value(
74	initial = "none",
75	applies_to = "all elements",
76	inherited = "no",
77	percentages = "n/a",
78	canonical_order = "per grammar",
79	animation_type = "by computed value"
80)]
81#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
82#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-style"))]
83#[visit]
84pub struct OutlineStyleStyleValue;
85
86/// Represents the style value for `outline-color` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-color).
87///
88/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
89///
90/// The grammar is defined as:
91///
92/// ```text,ignore
93/// auto | <color> | <image-1D>
94/// ```
95///
96// https://drafts.csswg.org/css-ui-4/#outline-color
97#[syntax(" auto | <color> | <image-1D> ")]
98#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
99#[style_value(
100	initial = "auto",
101	applies_to = "all elements",
102	inherited = "no",
103	percentages = "n/a",
104	canonical_order = "per grammar",
105	animation_type = "by computed value"
106)]
107#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
108#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-color"))]
109#[visit]
110pub enum OutlineColorStyleValue<'a> {}
111
112/// Represents the style value for `outline-offset` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#outline-offset).
113///
114/// The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
115///
116/// The grammar is defined as:
117///
118/// ```text,ignore
119/// <length>
120/// ```
121///
122// https://drafts.csswg.org/css-ui-4/#outline-offset
123#[syntax(" <length> ")]
124#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
125#[style_value(
126	initial = "0",
127	applies_to = "all elements",
128	inherited = "no",
129	percentages = "n/a",
130	canonical_order = "per grammar",
131	animation_type = "by computed value"
132)]
133#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
134#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-offset"))]
135#[visit]
136pub struct OutlineOffsetStyleValue;
137
138/// Represents the style value for `resize` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#resize).
139///
140/// The resize CSS property sets whether an element can be resized by the user, and on which axes.
141///
142/// The grammar is defined as:
143///
144/// ```text,ignore
145/// none | both | horizontal | vertical | block | inline
146/// ```
147///
148// https://drafts.csswg.org/css-ui-4/#resize
149#[syntax(" none | both | horizontal | vertical | block | inline ")]
150#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
151#[style_value(
152	initial = "none",
153	applies_to = "elements that are scroll containers and optionally replaced elements such as images, videos, and iframes",
154	inherited = "no",
155	percentages = "n/a",
156	canonical_order = "per grammar",
157	animation_type = "discrete"
158)]
159#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
160#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.resize"))]
161#[visit]
162pub enum ResizeStyleValue {}
163
164/// Represents the style value for `cursor` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#cursor).
165///
166/// The cursor CSS property styles the pointer, allowing you to provide hints to the user on how to interact with the hovered element.
167///
168/// The grammar is defined as:
169///
170/// ```text,ignore
171/// <cursor-image>#? <cursor-predefined>
172/// ```
173///
174// https://drafts.csswg.org/css-ui-4/#cursor
175#[syntax(" <cursor-image>#? <cursor-predefined> ")]
176#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
177#[style_value(
178	initial = "auto",
179	applies_to = "all elements",
180	inherited = "yes",
181	percentages = "n/a",
182	canonical_order = "per grammar",
183	animation_type = "discrete"
184)]
185#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
186#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.cursor"))]
187#[visit]
188pub struct CursorStyleValue<'a>;
189
190/// Represents the style value for `caret-color` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#caret-color).
191///
192/// The caret-color CSS property sets the color of the text insertion pointer in a text input.
193///
194/// The grammar is defined as:
195///
196/// ```text,ignore
197/// auto | <color>
198/// ```
199///
200// https://drafts.csswg.org/css-ui-4/#caret-color
201#[syntax(" auto | <color> ")]
202#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
203#[style_value(
204	initial = "auto",
205	applies_to = "text or elements that accept text input",
206	inherited = "yes",
207	percentages = "n/a",
208	canonical_order = "per grammar",
209	animation_type = "by computed value"
210)]
211#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
212#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-color"))]
213#[visit]
214pub struct CaretColorStyleValue;
215
216/// Represents the style value for `caret-animation` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#caret-animation).
217///
218/// The grammar is defined as:
219///
220/// ```text,ignore
221/// auto | manual
222/// ```
223///
224// https://drafts.csswg.org/css-ui-4/#caret-animation
225#[syntax(" auto | manual ")]
226#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
227#[style_value(
228	initial = "auto",
229	applies_to = "text or elements that accept text input",
230	inherited = "yes",
231	percentages = "n/a",
232	canonical_order = "per grammar",
233	animation_type = "discrete"
234)]
235#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
236#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-animation"))]
237#[visit]
238pub enum CaretAnimationStyleValue {}
239
240/// Represents the style value for `caret-shape` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#caret-shape).
241///
242/// The grammar is defined as:
243///
244/// ```text,ignore
245/// auto | bar | block | underscore
246/// ```
247///
248// https://drafts.csswg.org/css-ui-4/#caret-shape
249#[syntax(" auto | bar | block | underscore ")]
250#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
251#[style_value(
252	initial = "auto",
253	applies_to = "text or elements that accept text input",
254	inherited = "yes",
255	percentages = "n/a",
256	canonical_order = "per grammar",
257	animation_type = "by computed value"
258)]
259#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
260#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-shape"))]
261#[visit]
262pub enum CaretShapeStyleValue {}
263
264/// Represents the style value for `caret` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#caret).
265///
266/// The grammar is defined as:
267///
268/// ```text,ignore
269/// <'caret-color'> || <'caret-animation'> || <'caret-shape'>
270/// ```
271///
272// https://drafts.csswg.org/css-ui-4/#caret
273#[syntax(" <'caret-color'> || <'caret-animation'> || <'caret-shape'> ")]
274#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
275#[style_value(
276	initial = "auto",
277	applies_to = "text or elements that accept text input",
278	inherited = "yes",
279	percentages = "n/a",
280	canonical_order = "per grammar",
281	animation_type = "see individual properties"
282)]
283#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
284#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret"))]
285#[visit]
286pub struct CaretStyleValue;
287
288// /// Represents the style value for `nav-up` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-up).
289// ///
290// /// The grammar is defined as:
291// ///
292// /// ```text,ignore
293// /// auto | <id> [ current | root | <target-name> ]?
294// /// ```
295// ///
296// // https://drafts.csswg.org/css-ui-4/#nav-up
297// #[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
298// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
299// #[style_value(
300// 	initial = "auto",
301//   applies_to = "all enabled elements",
302// 	inherited = "no",
303// 	percentages = "n/a",
304// 	canonical_order = "per grammar",
305// 	animation_type = "discrete",
306// )]
307// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
308// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.nav-up"))]
309// #[visit]
310// pub enum NavUpStyleValue {}
311
312// /// Represents the style value for `nav-right` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-right).
313// ///
314// /// The grammar is defined as:
315// ///
316// /// ```text,ignore
317// /// auto | <id> [ current | root | <target-name> ]?
318// /// ```
319// ///
320// // https://drafts.csswg.org/css-ui-4/#nav-right
321// #[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
322// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
323// #[style_value(
324// 	initial = "auto",
325//   applies_to = "all enabled elements",
326// 	inherited = "no",
327// 	percentages = "n/a",
328// 	canonical_order = "per grammar",
329// 	animation_type = "discrete",
330// )]
331// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
332// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.nav-right"))]
333// #[visit]
334// pub enum NavRightStyleValue {}
335
336// /// Represents the style value for `nav-down` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-down).
337// ///
338// /// The grammar is defined as:
339// ///
340// /// ```text,ignore
341// /// auto | <id> [ current | root | <target-name> ]?
342// /// ```
343// ///
344// // https://drafts.csswg.org/css-ui-4/#nav-down
345// #[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
346// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
347// #[style_value(
348// 	initial = "auto",
349//   applies_to = "all enabled elements",
350// 	inherited = "no",
351// 	percentages = "n/a",
352// 	canonical_order = "per grammar",
353// 	animation_type = "discrete",
354// )]
355// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
356// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.nav-down"))]
357// #[visit]
358// pub enum NavDownStyleValue {}
359
360// /// Represents the style value for `nav-left` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#nav-left).
361// ///
362// /// The grammar is defined as:
363// ///
364// /// ```text,ignore
365// /// auto | <id> [ current | root | <target-name> ]?
366// /// ```
367// ///
368// // https://drafts.csswg.org/css-ui-4/#nav-left
369// #[syntax(" auto | <id> [ current | root | <target-name> ]? ")]
370// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
371// #[style_value(
372// 	initial = "auto",
373//   applies_to = "all enabled elements",
374// 	inherited = "no",
375// 	percentages = "n/a",
376// 	canonical_order = "per grammar",
377// 	animation_type = "discrete",
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// #[visit]
382// pub enum NavLeftStyleValue {}
383
384/// Represents the style value for `user-select` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#user-select).
385///
386/// The user-select CSS property controls which elements can be selected by the user.
387///
388/// The grammar is defined as:
389///
390/// ```text,ignore
391/// auto | text | none | contain | all
392/// ```
393///
394// https://drafts.csswg.org/css-ui-4/#user-select
395#[syntax(" auto | text | none | contain | all ")]
396#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
397#[style_value(
398	initial = "auto",
399	applies_to = "all elements, and optionally to the ::before and ::after pseudo-elements",
400	inherited = "no",
401	percentages = "n/a",
402	canonical_order = "per grammar",
403	animation_type = "discrete"
404)]
405#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
406#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.user-select"))]
407#[visit]
408pub enum UserSelectStyleValue {}
409
410/// Represents the style value for `pointer-events` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#pointer-events).
411///
412/// The pointer-events CSS property sets whether a user can interact with an element using a mouse, touch, or other pointing input device.
413///
414/// The grammar is defined as:
415///
416/// ```text,ignore
417/// auto | none
418/// ```
419///
420// https://drafts.csswg.org/css-ui-4/#pointer-events
421#[syntax(" auto | none ")]
422#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
423#[style_value(
424	initial = "auto",
425	applies_to = "all elements",
426	inherited = "yes",
427	percentages = "n/a",
428	canonical_order = "per grammar",
429	animation_type = "by computed value type"
430)]
431#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
432#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.pointer-events"))]
433#[visit]
434pub enum PointerEventsStyleValue {}
435
436/// Represents the style value for `interactivity` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#interactivity).
437///
438/// 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.
439///
440/// The grammar is defined as:
441///
442/// ```text,ignore
443/// auto | inert
444/// ```
445///
446// https://drafts.csswg.org/css-ui-4/#interactivity
447#[syntax(" auto | inert ")]
448#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
449#[style_value(
450	initial = "auto",
451	applies_to = "all elements",
452	inherited = "yes",
453	percentages = "n/a",
454	canonical_order = "per grammar",
455	animation_type = "discrete"
456)]
457#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
458#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interactivity"))]
459#[visit]
460pub enum InteractivityStyleValue {}
461
462/// Represents the style value for `interest-delay-start` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#interest-delay-start).
463///
464/// The grammar is defined as:
465///
466/// ```text,ignore
467/// normal | <time>
468/// ```
469///
470// https://drafts.csswg.org/css-ui-4/#interest-delay-start
471#[syntax(" normal | <time> ")]
472#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
473#[style_value(
474	initial = "normal",
475	applies_to = "all elements",
476	inherited = "yes",
477	percentages = "n/a",
478	canonical_order = "per grammar",
479	animation_type = "by computed value type"
480)]
481#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
482#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay-start"))]
483#[visit]
484pub enum InterestDelayStartStyleValue {}
485
486/// Represents the style value for `interest-delay-end` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#interest-delay-end).
487///
488/// The grammar is defined as:
489///
490/// ```text,ignore
491/// normal | <time>
492/// ```
493///
494// https://drafts.csswg.org/css-ui-4/#interest-delay-end
495#[syntax(" normal | <time> ")]
496#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
497#[style_value(
498	initial = "normal",
499	applies_to = "all elements",
500	inherited = "yes",
501	percentages = "n/a",
502	canonical_order = "per grammar",
503	animation_type = "by computed value type"
504)]
505#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
506#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay-end"))]
507#[visit]
508pub enum InterestDelayEndStyleValue {}
509
510/// Represents the style value for `interest-delay` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#interest-delay).
511///
512/// The grammar is defined as:
513///
514/// ```text,ignore
515/// <'interest-delay-start'>{1,2}
516/// ```
517///
518// https://drafts.csswg.org/css-ui-4/#interest-delay
519#[syntax(" <'interest-delay-start'>{1,2} ")]
520#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
521#[style_value(
522	initial = "see individual properties",
523	applies_to = "see individual properties",
524	inherited = "see individual properties",
525	percentages = "see individual properties",
526	canonical_order = "per grammar",
527	animation_type = "see individual properties"
528)]
529#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
530#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay"))]
531#[visit]
532pub struct InterestDelayStyleValue;
533
534/// Represents the style value for `accent-color` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#accent-color).
535///
536/// The accent-color CSS property sets a color for checkboxes, radio buttons, and other form controls.
537///
538/// The grammar is defined as:
539///
540/// ```text,ignore
541/// auto | <color>
542/// ```
543///
544// https://drafts.csswg.org/css-ui-4/#accent-color
545#[syntax(" auto | <color> ")]
546#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
547#[style_value(
548	initial = "auto",
549	applies_to = "all elements",
550	inherited = "yes",
551	percentages = "n/a",
552	canonical_order = "per grammar",
553	animation_type = "by computed value type"
554)]
555#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
556#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.accent-color"))]
557#[visit]
558pub struct AccentColorStyleValue;
559
560/// Represents the style value for `appearance` as defined in [css-ui-4](https://drafts.csswg.org/css-ui-4/#appearance).
561///
562/// 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.
563///
564/// The grammar is defined as:
565///
566/// ```text,ignore
567/// none | auto | base | base-select | <compat-auto> | <compat-special>
568/// ```
569///
570// https://drafts.csswg.org/css-ui-4/#appearance
571#[syntax(" none | auto | base | base-select | <compat-auto> | <compat-special> ")]
572#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
573#[style_value(
574	initial = "none",
575	applies_to = "all elements",
576	inherited = "no",
577	percentages = "n/a",
578	canonical_order = "per grammar",
579	animation_type = "discrete"
580)]
581#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
582#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.appearance"))]
583#[visit]
584pub enum AppearanceStyleValue {}