1
0

global_attributes.rs 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928
  1. use dioxus_core::*;
  2. use std::fmt::Arguments;
  3. macro_rules! no_namespace_trait_methods {
  4. (
  5. $(
  6. $(#[$attr:meta])*
  7. $name:ident;
  8. )*
  9. ) => {
  10. $(
  11. $(#[$attr])*
  12. fn $name<'a>(&self, cx: NodeFactory<'a>, val: Arguments) -> Attribute<'a> {
  13. cx.attr(stringify!($name), val, None, false)
  14. }
  15. )*
  16. };
  17. }
  18. macro_rules! style_trait_methods {
  19. (
  20. $(
  21. $(#[$attr:meta])*
  22. $name:ident: $lit:literal,
  23. )*
  24. ) => {
  25. $(
  26. #[inline]
  27. $(#[$attr])*
  28. fn $name<'a>(&self, cx: NodeFactory<'a>, val: Arguments) -> Attribute<'a> {
  29. cx.attr($lit, val, Some("style"), false)
  30. }
  31. )*
  32. };
  33. }
  34. macro_rules! aria_trait_methods {
  35. (
  36. $(
  37. $(#[$attr:meta])*
  38. $name:ident: $lit:literal,
  39. )*
  40. ) => {
  41. $(
  42. $(#[$attr])*
  43. fn $name<'a>(&self, cx: NodeFactory<'a>, val: Arguments) -> Attribute<'a> {
  44. cx.attr($lit, val, None, false)
  45. }
  46. )*
  47. };
  48. }
  49. pub trait GlobalAttributes {
  50. no_namespace_trait_methods! {
  51. accesskey;
  52. /// The HTML class attribute is used to specify a class for an HTML element.
  53. ///
  54. /// ## Details
  55. /// Multiple HTML elements can share the same class.
  56. ///
  57. /// The class global attribute is a space-separated list of the case-sensitive classes of the element.
  58. /// Classes allow CSS and Javascript to select and access specific elements via the class selectors or
  59. /// functions like the DOM method document.getElementsByClassName.
  60. ///
  61. /// ## Example
  62. ///
  63. /// ### HTML:
  64. /// ```html
  65. /// <p class="note editorial">Above point sounds a bit obvious. Remove/rewrite?</p>
  66. /// ```
  67. ///
  68. /// ### CSS:
  69. /// ```css
  70. /// .note {
  71. /// font-style: italic;
  72. /// font-weight: bold;
  73. /// }
  74. ///
  75. /// .editorial {
  76. /// background: rgb(255, 0, 0, .25);
  77. /// padding: 10px;
  78. /// }
  79. /// ```
  80. class;
  81. contenteditable;
  82. data;
  83. dir;
  84. draggable;
  85. hidden;
  86. id;
  87. lang;
  88. spellcheck;
  89. style;
  90. tabindex;
  91. title;
  92. translate;
  93. role;
  94. /// dangerous_inner_html is Dioxus's replacement for using innerHTML in the browser DOM. In general, setting
  95. /// HTML from code is risky because it’s easy to inadvertently expose your users to a cross-site scripting (XSS)
  96. /// attack. So, you can set HTML directly from Dioxus, but you have to type out dangerous_inner_html to remind
  97. /// yourself that it’s dangerous
  98. dangerous_inner_html;
  99. }
  100. // This macro creates an explicit method call for each of the style attributes.
  101. //
  102. // The left token specifies the name of the attribute in the rsx! macro, and the right string literal specifies the
  103. // actual name of the attribute generated.
  104. //
  105. // This roughly follows the html spec
  106. style_trait_methods! {
  107. /// Specifies the alignment of flexible container's items within the flex container.
  108. align_content: "align-content",
  109. /// Specifies the default alignment for items within the flex container.
  110. align_items: "align-items",
  111. /// Specifies the alignment for selected items within the flex container.
  112. align_self: "align-self",
  113. /// Specifies the keyframe_based animations.
  114. animation: "animation",
  115. /// Specifies when the animation will start.
  116. animation_delay: "animation-delay",
  117. /// Specifies whether the animation should play in reverse on alternate cycles or not.
  118. animation_direction: "animation-direction",
  119. /// Specifies the number of seconds or milliseconds an animation should take to complete one cycle
  120. animation_duration: "animation-duration",
  121. /// Specifies how a CSS animation should apply styles to its target before and after it is executing
  122. animation_fill_mode: "animation-fill-mode",
  123. /// Specifies the number of times an animation cycle should be played before stopping.
  124. animation_iteration_count: "animation-iteration-count",
  125. /// Specifies the name of @keyframes defined animations that should be applied to the selected element
  126. animation_name: "animation-name",
  127. /// Specifies whether the animation is running or paused.
  128. animation_play_state: "animation-play-state",
  129. /// Specifies how a CSS animation should progress over the duration of each cycle.
  130. animation_timing_function: "animation-timing-function",
  131. /// Specifies whether or not the "back" side of a transformed element is visible when facing the user.
  132. backface_visibility: "backface-visibility",
  133. /// Defines a variety of background properties within one declaration.
  134. background: "background",
  135. /// Specify whether the background image is fixed in the viewport or scrolls.
  136. background_attachment: "background-attachment",
  137. /// Specifies the painting area of the background.
  138. background_clip: "background-clip",
  139. /// Defines an element's background color.
  140. background_color: "background-color",
  141. /// Defines an element's background image.
  142. background_image: "background-image",
  143. /// Specifies the positioning area of the background images.
  144. background_origin: "background-origin",
  145. /// Defines the origin of a background image.
  146. background_position: "background-position",
  147. /// Specify whether/how the background image is tiled.
  148. background_repeat: "background-repeat",
  149. /// Specifies the size of the background images.
  150. background_size: "background-size",
  151. /// Sets the width, style, and color for all four sides of an element's border.
  152. border: "border",
  153. /// Sets the width, style, and color of the bottom border of an element.
  154. border_bottom: "border-bottom",
  155. /// Sets the color of the bottom border of an element.
  156. border_bottom_color: "border-bottom-color",
  157. /// Defines the shape of the bottom_left border corner of an element.
  158. border_bottom_left_radius: "border-bottom-left-radius",
  159. /// Defines the shape of the bottom_right border corner of an element.
  160. border_bottom_right_radius: "border-bottom-right-radius",
  161. /// Sets the style of the bottom border of an element.
  162. border_bottom_style: "border-bottom-style",
  163. /// Sets the width of the bottom border of an element.
  164. border_bottom_width: "border-bottom-width",
  165. /// Specifies whether table cell borders are connected or separated.
  166. border_collapse: "border-collapse",
  167. /// Sets the color of the border on all the four sides of an element.
  168. border_color: "border-color",
  169. /// Specifies how an image is to be used in place of the border styles.
  170. border_image: "border-image",
  171. /// Specifies the amount by which the border image area extends beyond the border box.
  172. border_image_outset: "border-image-outset",
  173. /// Specifies whether the image_border should be repeated, rounded or stretched.
  174. border_image_repeat: "border-image-repeat",
  175. /// Specifies the inward offsets of the image_border.
  176. border_image_slice: "border-image-slice",
  177. /// Specifies the location of the image to be used as a border.
  178. border_image_source: "border-image-source",
  179. /// Specifies the width of the image_border.
  180. border_image_width: "border-image-width",
  181. /// Sets the width, style, and color of the left border of an element.
  182. border_left: "border-left",
  183. /// Sets the color of the left border of an element.
  184. border_left_color: "border-left-color",
  185. /// Sets the style of the left border of an element.
  186. border_left_style: "border-left-style",
  187. /// Sets the width of the left border of an element.
  188. border_left_width: "border-left-width",
  189. /// Defines the shape of the border corners of an element.
  190. border_radius: "border-radius",
  191. /// Sets the width, style, and color of the right border of an element.
  192. border_right: "border-right",
  193. /// Sets the color of the right border of an element.
  194. border_right_color: "border-right-color",
  195. /// Sets the style of the right border of an element.
  196. border_right_style: "border-right-style",
  197. /// Sets the width of the right border of an element.
  198. border_right_width: "border-right-width",
  199. /// Sets the spacing between the borders of adjacent table cells.
  200. border_spacing: "border-spacing",
  201. /// Sets the style of the border on all the four sides of an element.
  202. border_style: "border-style",
  203. /// Sets the width, style, and color of the top border of an element.
  204. border_top: "border-top",
  205. /// Sets the color of the top border of an element.
  206. border_top_color: "border-top-color",
  207. /// Defines the shape of the top_left border corner of an element.
  208. border_top_left_radius: "border-top-left-radius",
  209. /// Defines the shape of the top_right border corner of an element.
  210. border_top_right_radius: "border-top-right-radius",
  211. /// Sets the style of the top border of an element.
  212. border_top_style: "border-top-style",
  213. /// Sets the width of the top border of an element.
  214. border_top_width: "border-top-width",
  215. /// Sets the width of the border on all the four sides of an element.
  216. border_width: "border-width",
  217. /// Specify the location of the bottom edge of the positioned element.
  218. bottom: "bottom",
  219. /// Applies one or more drop_shadows to the element's box.
  220. box_shadow: "box-shadow",
  221. /// Alter the default CSS box model.
  222. box_sizing: "box-sizing",
  223. /// Specify the position of table's caption.
  224. caption_side: "caption-side",
  225. /// Specifies the placement of an element in relation to floating elements.
  226. clear: "clear",
  227. /// Defines the clipping region.
  228. clip: "clip",
  229. /// Specify the color of the text of an element.
  230. color: "color",
  231. /// Specifies the number of columns in a multi_column element.
  232. column_count: "column-count",
  233. /// Specifies how columns will be filled.
  234. column_fill: "column-fill",
  235. /// Specifies the gap between the columns in a multi_column element.
  236. column_gap: "column-gap",
  237. /// Specifies a straight line, or "rule", to be drawn between each column in a multi_column element.
  238. column_rule: "column-rule",
  239. /// Specifies the color of the rules drawn between columns in a multi_column layout.
  240. column_rule_color: "column-rule-color",
  241. /// Specifies the style of the rule drawn between the columns in a multi_column layout.
  242. column_rule_style: "column-rule-style",
  243. /// Specifies the width of the rule drawn between the columns in a multi_column layout.
  244. column_rule_width: "column-rule-width",
  245. /// Specifies how many columns an element spans across in a multi_column layout.
  246. column_span: "column-span",
  247. /// Specifies the optimal width of the columns in a multi_column element.
  248. column_width: "column-width",
  249. /// A shorthand property for setting column_width and column_count properties.
  250. columns: "columns",
  251. /// Inserts generated content.
  252. content: "content",
  253. /// Increments one or more counter values.
  254. counter_increment: "counter-increment",
  255. /// Creates or resets one or more counters.
  256. counter_reset: "counter-reset",
  257. /// Specify the type of cursor.
  258. cursor: "cursor",
  259. /// Define the text direction/writing direction.
  260. direction: "direction",
  261. /// Specifies how an element is displayed onscreen.
  262. display: "display",
  263. /// Show or hide borders and backgrounds of empty table cells.
  264. empty_cells: "empty-cells",
  265. /// Specifies the components of a flexible length.
  266. flex: "flex",
  267. /// Specifies the initial main size of the flex item.
  268. flex_basis: "flex-basis",
  269. /// Specifies the direction of the flexible items.
  270. flex_direction: "flex-direction",
  271. /// A shorthand property for the flex_direction and the flex_wrap properties.
  272. flex_flow: "flex-flow",
  273. /// Specifies how the flex item will grow relative to the other items inside the flex container.
  274. flex_grow: "flex-grow",
  275. /// Specifies how the flex item will shrink relative to the other items inside the flex container
  276. flex_shrink: "flex-shrink",
  277. /// Specifies whether the flexible items should wrap or not.
  278. flex_wrap: "flex-wrap",
  279. /// Specifies whether or not a box should float.
  280. float: "float",
  281. /// Defines a variety of font properties within one declaration.
  282. font: "font",
  283. /// Defines a list of fonts for element.
  284. font_family: "font-family",
  285. /// Defines the font size for the text.
  286. font_size: "font-size",
  287. /// Preserves the readability of text when font fallback occurs.
  288. font_size_adjust: "font-size-adjust",
  289. /// Selects a normal, condensed, or expanded face from a font.
  290. font_stretch: "font-stretch",
  291. /// Defines the font style for the text.
  292. font_style: "font-style",
  293. /// Specify the font variant.
  294. font_variant: "font-variant",
  295. /// Specify the font weight of the text.
  296. font_weight: "font-weight",
  297. /// Specify the height of an element.
  298. height: "height",
  299. /// Specifies how flex items are aligned along the main axis of the flex container after any flexible lengths and auto margins have been resolved.
  300. justify_content: "auto margins have been resolved.",
  301. /// Specify the location of the left edge of the positioned element.
  302. left: "left",
  303. /// Sets the extra spacing between letters.
  304. letter_spacing: "letter-spacing",
  305. /// Sets the height between lines of text.
  306. line_height: "line-height",
  307. /// Defines the display style for a list and list elements.
  308. list_style: "list-style",
  309. /// Specifies the image to be used as a list_item marker.
  310. list_style_image: "list-style-image",
  311. /// Specifies the position of the list_item marker.
  312. list_style_position: "list-style-position",
  313. /// Specifies the marker style for a list_item.
  314. list_styler_type: "list-style-type",
  315. /// Sets the margin on all four sides of the element.
  316. margin: "margin",
  317. /// Sets the bottom margin of the element.
  318. margin_bottom: "margin-bottom",
  319. /// Sets the left margin of the element.
  320. margin_left: "margin-left",
  321. /// Sets the right margin of the element.
  322. margin_right: "margin-right",
  323. /// Sets the top margin of the element.
  324. margin_top: "margin-top",
  325. /// Specify the maximum height of an element.
  326. max_height: "max-height",
  327. /// Specify the maximum width of an element.
  328. max_width: "max-width",
  329. /// Specify the minimum height of an element.
  330. min_height: "min-height",
  331. /// Specify the minimum width of an element.
  332. min_width: "min-width",
  333. /// Specifies the transparency of an element.
  334. opacity: "opacity",
  335. /// Specifies the order in which a flex items are displayed and laid out within a flex container.
  336. order: "order",
  337. /// Sets the width, style, and color for all four sides of an element's outline.
  338. outline: "outline",
  339. /// Sets the color of the outline.
  340. outline_color: "outline-color",
  341. /// Set the space between an outline and the border edge of an element.
  342. outline_offset: "outline-offset",
  343. /// Sets a style for an outline.
  344. outline_style: "outline-style",
  345. /// Sets the width of the outline.
  346. outline_width: "outline-width",
  347. /// Specifies the treatment of content that overflows the element's box.
  348. overflow: "overflow",
  349. /// Specifies the treatment of content that overflows the element's box horizontally.
  350. overflow_x: "overflow-x",
  351. /// Specifies the treatment of content that overflows the element's box vertically.
  352. overflow_y: "overflow-y",
  353. /// Sets the padding on all four sides of the element.
  354. padding: "padding",
  355. /// Sets the padding to the bottom side of an element.
  356. padding_bottom: "padding-bottom",
  357. /// Sets the padding to the left side of an element.
  358. padding_left: "padding-left",
  359. /// Sets the padding to the right side of an element.
  360. padding_right: "padding-right",
  361. /// Sets the padding to the top side of an element.
  362. padding_top: "padding-top",
  363. /// Insert a page breaks after an element.
  364. page_break_after: "page-break-after",
  365. /// Insert a page breaks before an element.
  366. page_break_before: "page-break-before",
  367. /// Insert a page breaks inside an element.
  368. page_break_inside: "page-break-inside",
  369. /// Defines the perspective from which all child elements of the object are viewed.
  370. perspective: "perspective",
  371. /// Defines the origin (the vanishing point for the 3D space) for the perspective property.
  372. perspective_origin: "perspective-origin",
  373. /// Specifies how an element is positioned.
  374. position: "position",
  375. /// The pointer-events CSS property sets under what circumstances (if any) a particular graphic element can
  376. /// become the target of pointer events.
  377. ///
  378. /// MDN: [`pointer_events`](https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events)
  379. pointer_events: "pointer-events",
  380. /// Specifies quotation marks for embedded quotations.
  381. quotes: "quotes",
  382. /// Specifies whether or not an element is resizable by the user.
  383. resize: "resize",
  384. /// Specify the location of the right edge of the positioned element.
  385. right: "right",
  386. /// Specifies the length of the tab character.
  387. tab_size: "tab-size",
  388. /// Specifies a table layout algorithm.
  389. table_layout: "table-layout",
  390. /// Sets the horizontal alignment of inline content.
  391. text_align: "text-align",
  392. /// Specifies how the last line of a block or a line right before a forced line break is aligned when is justify.",
  393. text_align_last: "text-align-last",
  394. /// Specifies the decoration added to text.
  395. text_decoration: "text-decoration",
  396. /// Specifies the color of the text_decoration_line.
  397. text_decoration_color: "text-decoration-color",
  398. /// Specifies what kind of line decorations are added to the element.
  399. text_decoration_line: "text-decoration-line",
  400. /// Specifies the style of the lines specified by the text_decoration_line property
  401. text_decoration_style: "text-decoration-style",
  402. /// Indent the first line of text.
  403. text_indent: "text-indent",
  404. /// Specifies the justification method to use when the text_align property is set to justify.
  405. text_justify: "text-justify",
  406. /// Specifies how the text content will be displayed, when it overflows the block containers.
  407. text_overflow: "text-overflow",
  408. /// Applies one or more shadows to the text content of an element.
  409. text_shadow: "text-shadow",
  410. /// Transforms the case of the text.
  411. text_transform: "text-transform",
  412. /// Specify the location of the top edge of the positioned element.
  413. top: "top",
  414. /// Applies a 2D or 3D transformation to an element.
  415. transform: "transform",
  416. /// Defines the origin of transformation for an element.
  417. transform_origin: "transform-origin",
  418. /// Specifies how nested elements are rendered in 3D space.
  419. transform_style: "transform-style",
  420. /// Defines the transition between two states of an element.
  421. transition: "transition",
  422. /// Specifies when the transition effect will start.
  423. transition_delay: "transition-delay",
  424. /// Specifies the number of seconds or milliseconds a transition effect should take to complete.
  425. transition_duration: "transition-duration",
  426. /// Specifies the names of the CSS properties to which a transition effect should be applied.
  427. transition_property: "transition-property",
  428. /// Specifies the speed curve of the transition effect.
  429. transition_timing_function: "transition-timing-function",
  430. /// Sets the vertical positioning of an element relative to the current text baseline.
  431. vertical_align: "vertical-align",
  432. /// Specifies whether or not an element is visible.
  433. visibility: "visibility",
  434. /// Specifies how white space inside the element is handled.
  435. white_space: "white-space",
  436. /// Specify the width of an element.
  437. width: "width",
  438. /// Specifies how to break lines within words.
  439. word_break: "word-break",
  440. /// Sets the spacing between words.
  441. word_spacing: "word-spacing",
  442. /// Specifies whether to break words when the content overflows the boundaries of its container.
  443. word_wrap: "word-wrap",
  444. /// Specifies a layering or stacking order for positioned elements.
  445. z_index : "z-index ",
  446. }
  447. aria_trait_methods! {
  448. aria_current: "aria-current",
  449. aria_details: "aria-details",
  450. aria_disabled: "aria-disabled",
  451. aria_hidden: "aria-hidden",
  452. aria_invalid: "aria-invalid",
  453. aria_keyshortcuts: "aria-keyshortcuts",
  454. aria_label: "aria-label",
  455. aria_roledescription: "aria-roledescription",
  456. // Widget Attributes
  457. aria_autocomplete: "aria-autocomplete",
  458. aria_checked: "aria-checked",
  459. aria_expanded: "aria-expanded",
  460. aria_haspopup: "aria-haspopup",
  461. aria_level: "aria-level",
  462. aria_modal: "aria-modal",
  463. aria_multiline: "aria-multiline",
  464. aria_multiselectable: "aria-multiselectable",
  465. aria_orientation: "aria-orientation",
  466. aria_placeholder: "aria-placeholder",
  467. aria_pressed: "aria-pressed",
  468. aria_readonly: "aria-readonly",
  469. aria_required: "aria-required",
  470. aria_selected: "aria-selected",
  471. aria_sort: "aria-sort",
  472. aria_valuemax: "aria-valuemax",
  473. aria_valuemin: "aria-valuemin",
  474. aria_valuenow: "aria-valuenow",
  475. aria_valuetext: "aria-valuetext",
  476. // Live Region Attributes
  477. aria_atomic: "aria-atomic",
  478. aria_busy: "aria-busy",
  479. aria_live: "aria-live",
  480. aria_relevant: "aria-relevant",
  481. aria_dropeffect: "aria-dropeffect",
  482. aria_grabbed: "aria-grabbed",
  483. // Relationship Attributes
  484. aria_activedescendant: "aria-activedescendant",
  485. aria_colcount: "aria-colcount",
  486. aria_colindex: "aria-colindex",
  487. aria_colspan: "aria-colspan",
  488. aria_controls: "aria-controls",
  489. aria_describedby: "aria-describedby",
  490. aria_errormessage: "aria-errormessage",
  491. aria_flowto: "aria-flowto",
  492. aria_labelledby: "aria-labelledby",
  493. aria_owns: "aria-owns",
  494. aria_posinset: "aria-posinset",
  495. aria_rowcount: "aria-rowcount",
  496. aria_rowindex: "aria-rowindex",
  497. aria_rowspan: "aria-rowspan",
  498. aria_setsize: "aria-setsize",
  499. }
  500. }
  501. pub trait SvgAttributes {
  502. aria_trait_methods! {
  503. accent_height: "accent-height",
  504. accumulate: "accumulate",
  505. additive: "additive",
  506. alignment_baseline: "alignment-baseline",
  507. alphabetic: "alphabetic",
  508. amplitude: "amplitude",
  509. arabic_form: "arabic-form",
  510. ascent: "ascent",
  511. attributeName: "attributeName",
  512. attributeType: "attributeType",
  513. azimuth: "azimuth",
  514. baseFrequency: "baseFrequency",
  515. baseline_shift: "baseline-shift",
  516. baseProfile: "baseProfile",
  517. bbox: "bbox",
  518. begin: "begin",
  519. bias: "bias",
  520. by: "by",
  521. calcMode: "calcMode",
  522. cap_height: "cap-height",
  523. class: "class",
  524. clip: "clip",
  525. clipPathUnits: "clipPathUnits",
  526. clip_path: "clip-path",
  527. clip_rule: "clip-rule",
  528. color: "color",
  529. color_interpolation: "color-interpolation",
  530. color_interpolation_filters: "color-interpolation-filters",
  531. color_profile: "color-profile",
  532. color_rendering: "color-rendering",
  533. contentScriptType: "contentScriptType",
  534. contentStyleType: "contentStyleType",
  535. crossorigin: "crossorigin",
  536. cursor: "cursor",
  537. cx: "cx",
  538. cy: "cy",
  539. d: "d",
  540. decelerate: "decelerate",
  541. descent: "descent",
  542. diffuseConstant: "diffuseConstant",
  543. direction: "direction",
  544. display: "display",
  545. divisor: "divisor",
  546. dominant_baseline: "dominant-baseline",
  547. dur: "dur",
  548. dx: "dx",
  549. dy: "dy",
  550. edgeMode: "edgeMode",
  551. elevation: "elevation",
  552. enable_background: "enable-background",
  553. end: "end",
  554. exponent: "exponent",
  555. fill: "fill",
  556. fill_opacity: "fill-opacity",
  557. fill_rule: "fill-rule",
  558. filter: "filter",
  559. filterRes: "filterRes",
  560. filterUnits: "filterUnits",
  561. flood_color: "flood-color",
  562. flood_opacity: "flood-opacity",
  563. font_family: "font-family",
  564. font_size: "font-size",
  565. font_size_adjust: "font-size-adjust",
  566. font_stretch: "font-stretch",
  567. font_style: "font-style",
  568. font_variant: "font-variant",
  569. font_weight: "font-weight",
  570. format: "format",
  571. from: "from",
  572. fr: "fr",
  573. fx: "fx",
  574. fy: "fy",
  575. g1: "g1",
  576. g2: "g2",
  577. glyph_name: "glyph-name",
  578. glyph_orientation_horizontal: "glyph-orientation-horizontal",
  579. glyph_orientation_vertical: "glyph-orientation-vertical",
  580. glyphRef: "glyphRef",
  581. gradientTransform: "gradientTransform",
  582. gradientUnits: "gradientUnits",
  583. hanging: "hanging",
  584. height: "height",
  585. href: "href",
  586. hreflang: "hreflang",
  587. horiz_adv_x: "horiz-adv-x",
  588. horiz_origin_x: "horiz-origin-x",
  589. id: "id",
  590. ideographic: "ideographic",
  591. image_rendering: "image-rendering",
  592. _in: "_in",
  593. in2: "in2",
  594. intercept: "intercept",
  595. k: "k",
  596. k1: "k1",
  597. k2: "k2",
  598. k3: "k3",
  599. k4: "k4",
  600. kernelMatrix: "kernelMatrix",
  601. kernelUnitLength: "kernelUnitLength",
  602. kerning: "kerning",
  603. keyPoints: "keyPoints",
  604. keySplines: "keySplines",
  605. keyTimes: "keyTimes",
  606. lang: "lang",
  607. lengthAdjust: "lengthAdjust",
  608. letter_spacing: "letter-spacing",
  609. lighting_color: "lighting-color",
  610. limitingConeAngle: "limitingConeAngle",
  611. local: "local",
  612. marker_end: "marker-end",
  613. marker_mid: "marker-mid",
  614. marker_start: "marker_start",
  615. markerHeight: "markerHeight",
  616. markerUnits: "markerUnits",
  617. markerWidth: "markerWidth",
  618. mask: "mask",
  619. maskContentUnits: "maskContentUnits",
  620. maskUnits: "maskUnits",
  621. mathematical: "mathematical",
  622. max: "max",
  623. media: "media",
  624. method: "method",
  625. min: "min",
  626. mode: "mode",
  627. name: "name",
  628. numOctaves: "numOctaves",
  629. offset: "offset",
  630. opacity: "opacity",
  631. operator: "operator",
  632. order: "order",
  633. orient: "orient",
  634. orientation: "orientation",
  635. origin: "origin",
  636. overflow: "overflow",
  637. overline_position: "overline-position",
  638. overline_thickness: "overline-thickness",
  639. panose_1: "panose-1",
  640. paint_order: "paint-order",
  641. path: "path",
  642. pathLength: "pathLength",
  643. patternContentUnits: "patternContentUnits",
  644. patternTransform: "patternTransform",
  645. patternUnits: "patternUnits",
  646. ping: "ping",
  647. pointer_events: "pointer-events",
  648. points: "points",
  649. pointsAtX: "pointsAtX",
  650. pointsAtY: "pointsAtY",
  651. pointsAtZ: "pointsAtZ",
  652. preserveAlpha: "preserveAlpha",
  653. preserveAspectRatio: "preserveAspectRatio",
  654. primitiveUnits: "primitiveUnits",
  655. r: "r",
  656. radius: "radius",
  657. referrerPolicy: "referrerPolicy",
  658. refX: "refX",
  659. refY: "refY",
  660. rel: "rel",
  661. rendering_intent: "rendering-intent",
  662. repeatCount: "repeatCount",
  663. repeatDur: "repeatDur",
  664. requiredExtensions: "requiredExtensions",
  665. requiredFeatures: "requiredFeatures",
  666. restart: "restart",
  667. result: "result",
  668. role: "role",
  669. rotate: "rotate",
  670. rx: "rx",
  671. ry: "ry",
  672. scale: "scale",
  673. seed: "seed",
  674. shape_rendering: "shape-rendering",
  675. slope: "slope",
  676. spacing: "spacing",
  677. specularConstant: "specularConstant",
  678. specularExponent: "specularExponent",
  679. speed: "speed",
  680. spreadMethod: "spreadMethod",
  681. startOffset: "startOffset",
  682. stdDeviation: "stdDeviation",
  683. stemh: "stemh",
  684. stemv: "stemv",
  685. stitchTiles: "stitchTiles",
  686. stop_color: "stop_color",
  687. stop_opacity: "stop_opacity",
  688. strikethrough_position: "strikethrough-position",
  689. strikethrough_thickness: "strikethrough-thickness",
  690. string: "string",
  691. stroke: "stroke",
  692. stroke_dasharray: "stroke-dasharray",
  693. stroke_dashoffset: "stroke-dashoffset",
  694. stroke_linecap: "stroke-linecap",
  695. stroke_linejoin: "stroke-linejoin",
  696. stroke_miterlimit: "stroke-miterlimit",
  697. stroke_opacity: "stroke-opacity",
  698. stroke_width: "stroke-width",
  699. style: "style",
  700. surfaceScale: "surfaceScale",
  701. systemLanguage: "systemLanguage",
  702. tabindex: "tabindex",
  703. tableValues: "tableValues",
  704. target: "target",
  705. targetX: "targetX",
  706. targetY: "targetY",
  707. text_anchor: "text-anchor",
  708. text_decoration: "text-decoration",
  709. text_rendering: "text-rendering",
  710. textLength: "textLength",
  711. to: "to",
  712. transform: "transform",
  713. transform_origin: "transform-origin",
  714. r#type: "_type",
  715. u1: "u1",
  716. u2: "u2",
  717. underline_position: "underline-position",
  718. underline_thickness: "underline-thickness",
  719. unicode: "unicode",
  720. unicode_bidi: "unicode-bidi",
  721. unicode_range: "unicode-range",
  722. units_per_em: "units-per-em",
  723. v_alphabetic: "v-alphabetic",
  724. v_hanging: "v-hanging",
  725. v_ideographic: "v-ideographic",
  726. v_mathematical: "v-mathematical",
  727. values: "values",
  728. vector_effect: "vector-effect",
  729. version: "version",
  730. vert_adv_y: "vert-adv-y",
  731. vert_origin_x: "vert-origin-x",
  732. vert_origin_y: "vert-origin-y",
  733. view_box: "viewBox",
  734. view_target: "viewTarget",
  735. visibility: "visibility",
  736. width: "width",
  737. widths: "widths",
  738. word_spacing: "word-spacing",
  739. writing_mode: "writing-mode",
  740. x: "x",
  741. x_height: "x-height",
  742. x1: "x1",
  743. x2: "x2",
  744. xmlns: "xmlns",
  745. x_channel_selector: "xChannelSelector",
  746. y: "y",
  747. y1: "y1",
  748. y2: "y2",
  749. y_channel_selector: "yChannelSelector",
  750. z: "z",
  751. zoomAndPan: "zoomAndPan",
  752. }
  753. }