global_attributes.rs 32 KB

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