package jsoo-react

  1. Overview
  2. Docs

Source file dom.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
[@@@js.dummy "!! This code has been generated by gen_js_api !!"]
[@@@ocaml.warning "-7-32-39"]
type dom_element = Js_of_ocaml.Dom_html.element Js_of_ocaml.Js.t
external dom_element_to_js : dom_element -> Ojs.t = "%identity"
external dom_element_of_js : Ojs.t -> dom_element = "%identity"
let (unmount_component_at_node_internal :
  Imports.react_dom -> dom_element -> bool) =
  fun (x2 : Imports.react_dom) ->
    fun (x1 : dom_element) ->
      Ojs.bool_of_js
        (Ojs.call (Imports.react_dom_to_js x2) "unmountComponentAtNode"
           [|(dom_element_to_js x1)|])
let unmount_component_at_node dom_element =
  unmount_component_at_node_internal Imports.react_dom dom_element
let (render_internal :
  Imports.react_dom -> Core.element -> dom_element -> unit) =
  fun (x5 : Imports.react_dom) ->
    fun (x3 : Core.element) ->
      fun (x4 : dom_element) ->
        ignore
          (Ojs.call (Imports.react_dom_to_js x5) "render"
             [|(Core.element_to_js x3);(dom_element_to_js x4)|])
let render element dom_element =
  render_internal Imports.react_dom element dom_element
let (get_element_by_id : string -> dom_element option) =
  fun (x6 : string) ->
    Ojs.option_of_js dom_element_of_js
      (Ojs.call (Ojs.get_prop_ascii Ojs.global "document") "getElementById"
         [|(Ojs.string_to_js x6)|])
let render_to_element ~id  react_element =
  match get_element_by_id id with
  | None ->
      raise
        (Invalid_argument
           ("ReactDOM.render_to_element : no element of id " ^
              (id ^ " found in the HTML.")))
  | Some element -> render react_element element
let (create_portal_internal :
  Imports.react_dom -> Core.element -> dom_element -> Core.element) =
  fun (x10 : Imports.react_dom) ->
    fun (x8 : Core.element) ->
      fun (x9 : dom_element) ->
        Core.element_of_js
          (Ojs.call (Imports.react_dom_to_js x10) "createPortal"
             [|(Core.element_to_js x8);(dom_element_to_js x9)|])
let create_portal element dom_element =
  create_portal_internal Imports.react_dom element dom_element
type dom_ref = Ojs.t
let rec dom_ref_of_js : Ojs.t -> dom_ref = fun (x12 : Ojs.t) -> x12
and dom_ref_to_js : dom_ref -> Ojs.t = fun (x11 : Ojs.t) -> x11
module Ref =
  struct
    type t = dom_ref
    let rec t_of_js : Ojs.t -> t = fun (x14 : Ojs.t) -> dom_ref_of_js x14
    and t_to_js : t -> Ojs.t = fun (x13 : dom_ref) -> dom_ref_to_js x13
    type current_dom_ref = dom_element Core.js_nullable Core.Ref.t
    let rec current_dom_ref_of_js : Ojs.t -> current_dom_ref =
      fun (x18 : Ojs.t) ->
        Core.Ref.t_of_js
          (fun (x19 : Ojs.t) -> Core.js_nullable_of_js dom_element_of_js x19)
          x18
    and current_dom_ref_to_js : current_dom_ref -> Ojs.t =
      fun (x15 : dom_element Core.js_nullable Core.Ref.t) ->
        Core.Ref.t_to_js
          (fun (x16 : dom_element Core.js_nullable) ->
             Core.js_nullable_to_js dom_element_to_js x16) x15
    type callback_dom_ref = dom_element Core.js_nullable -> unit
    let rec callback_dom_ref_of_js : Ojs.t -> callback_dom_ref =
      fun (x24 : Ojs.t) ->
        fun (x25 : dom_element Core.js_nullable) ->
          ignore
            (Ojs.apply x24 [|(Core.js_nullable_to_js dom_element_to_js x25)|])
    and callback_dom_ref_to_js : callback_dom_ref -> Ojs.t =
      fun (x21 : dom_element Core.js_nullable -> unit) ->
        Ojs.fun_to_js 1
          (fun (x22 : Ojs.t) ->
             x21 (Core.js_nullable_of_js dom_element_of_js x22))
    external dom_ref : current_dom_ref -> dom_ref = "%identity"
    external callback_dom_ref : callback_dom_ref -> dom_ref = "%identity"
  end
type domProps = Ojs.t
let rec domProps_of_js : Ojs.t -> domProps = fun (x28 : Ojs.t) -> x28
and domProps_to_js : domProps -> Ojs.t = fun (x27 : Ojs.t) -> x27
let (create_element_internal :
  Imports.react ->
    string -> props:domProps -> Core.element list -> Core.element)
  =
  fun (x34 : Imports.react) ->
    fun (x29 : string) ->
      fun ~props:(x30 : domProps) ->
        fun (x31 : Core.element list) ->
          Core.element_of_js
            (let x35 = Imports.react_to_js x34 in
             Ojs.call (Ojs.get_prop_ascii x35 "createElement") "apply"
               [|x35;((let x32 =
                         Ojs.new_obj (Ojs.get_prop_ascii Ojs.global "Array")
                           [||] in
                       ignore
                         (Ojs.call x32 "push" [|(Ojs.string_to_js x29)|]);
                       ignore (Ojs.call x32 "push" [|(domProps_to_js x30)|]);
                       List.iter
                         (fun (x33 : Core.element) ->
                            ignore
                              (Ojs.call x32 "push"
                                 [|(Core.element_to_js x33)|])) x31;
                       x32))|])
let create_element typ ~props  elts =
  create_element_internal Imports.react typ ~props elts
let (forward_ref_internal :
  Imports.react ->
    ('props -> dom_ref -> Core.element) -> 'props Core.component)
  =
  fun (x39 : Imports.react) ->
    fun (x36 : 'props -> dom_ref -> Core.element) ->
      Core.component_of_js Obj.magic
        (Ojs.call (Imports.react_to_js x39) "forwardRef"
           [|(Ojs.fun_to_js 2
                (fun (x37 : Ojs.t) ->
                   fun (x38 : Ojs.t) ->
                     Core.element_to_js
                       (x36 (Obj.magic x37) (dom_ref_of_js x38))))|])
let forward_ref renderFunc = forward_ref_internal Imports.react renderFunc
type block = Ojs.t
let rec block_of_js : Ojs.t -> block = fun (x42 : Ojs.t) -> x42
and block_to_js : block -> Ojs.t = fun (x41 : Ojs.t) -> x41
module Style =
  struct
    type decl = (string * Js_of_ocaml.Js.Unsafe.any)
    type t = block
    let string_style_prop property value =
      (property,
        (Js_of_ocaml.Js.Unsafe.inject (Js_of_ocaml.Js.string value)))
    let make = Js_of_ocaml.Js.Unsafe.obj
    let azimuth = string_style_prop "azimuth"
    let background = string_style_prop "background"
    let background_attachment = string_style_prop "backgroundAttachment"
    let background_color = string_style_prop "backgroundColor"
    let background_image = string_style_prop "backgroundImage"
    let background_position = string_style_prop "backgroundPosition"
    let background_repeat = string_style_prop "backgroundRepeat"
    let border = string_style_prop "border"
    let border_collapse = string_style_prop "borderCollapse"
    let border_color = string_style_prop "borderColor"
    let border_spacing = string_style_prop "borderSpacing"
    let border_style = string_style_prop "borderStyle"
    let border_top = string_style_prop "borderTop"
    let border_right = string_style_prop "borderRight"
    let border_bottom = string_style_prop "borderBottom"
    let border_left = string_style_prop "borderLeft"
    let border_top_color = string_style_prop "borderTopColor"
    let border_right_color = string_style_prop "borderRightColor"
    let border_bottom_color = string_style_prop "borderBottomColor"
    let border_left_color = string_style_prop "borderLeftColor"
    let border_top_style = string_style_prop "borderTopStyle"
    let border_right_style = string_style_prop "borderRightStyle"
    let border_bottom_style = string_style_prop "borderBottomStyle"
    let border_left_style = string_style_prop "borderLeftStyle"
    let border_top_width = string_style_prop "borderTopWidth"
    let border_right_width = string_style_prop "borderRightWidth"
    let border_bottom_width = string_style_prop "borderBottomWidth"
    let border_left_width = string_style_prop "borderLeftWidth"
    let border_width = string_style_prop "borderWidth"
    let bottom = string_style_prop "bottom"
    let caption_side = string_style_prop "captionSide"
    let clear = string_style_prop "clear"
    let clip = string_style_prop "clip"
    let color = string_style_prop "color"
    let content = string_style_prop "content"
    let counter_increment = string_style_prop "counterIncrement"
    let counter_reset = string_style_prop "counterReset"
    let cue = string_style_prop "cue"
    let cue_after = string_style_prop "cueAfter"
    let cue_before = string_style_prop "cueBefore"
    let cursor = string_style_prop "cursor"
    let direction = string_style_prop "direction"
    let display = string_style_prop "display"
    let elevation = string_style_prop "elevation"
    let empty_cells = string_style_prop "emptyCells"
    let float = string_style_prop "float"
    let font = string_style_prop "font"
    let font_family = string_style_prop "fontFamily"
    let font_size = string_style_prop "fontSize"
    let font_size_adjust = string_style_prop "fontSizeAdjust"
    let font_stretch = string_style_prop "fontStretch"
    let font_style = string_style_prop "fontStyle"
    let font_variant = string_style_prop "fontVariant"
    let font_weight = string_style_prop "fontWeight"
    let height = string_style_prop "height"
    let left = string_style_prop "left"
    let letter_spacing = string_style_prop "letterSpacing"
    let line_height = string_style_prop "lineHeight"
    let list_style = string_style_prop "listStyle"
    let list_style_image = string_style_prop "listStyleImage"
    let list_style_position = string_style_prop "listStylePosition"
    let list_style_type = string_style_prop "listStyleType"
    let margin = string_style_prop "margin"
    let margin_top = string_style_prop "marginTop"
    let margin_right = string_style_prop "marginRight"
    let margin_bottom = string_style_prop "marginBottom"
    let margin_left = string_style_prop "marginLeft"
    let marker_offset = string_style_prop "markerOffset"
    let marks = string_style_prop "marks"
    let max_height = string_style_prop "maxHeight"
    let max_width = string_style_prop "maxWidth"
    let min_height = string_style_prop "minHeight"
    let min_width = string_style_prop "minWidth"
    let orphans = string_style_prop "orphans"
    let outline = string_style_prop "outline"
    let outline_color = string_style_prop "outlineColor"
    let outline_style = string_style_prop "outlineStyle"
    let outline_width = string_style_prop "outlineWidth"
    let overflow = string_style_prop "overflow"
    let overflow_x = string_style_prop "overflowX"
    let overflow_y = string_style_prop "overflowY"
    let padding = string_style_prop "padding"
    let padding_top = string_style_prop "paddingTop"
    let padding_right = string_style_prop "paddingRight"
    let padding_bottom = string_style_prop "paddingBottom"
    let padding_left = string_style_prop "paddingLeft"
    let page = string_style_prop "page"
    let page_break_after = string_style_prop "pageBreakAfter"
    let page_break_before = string_style_prop "pageBreakBefore"
    let page_break_inside = string_style_prop "pageBreakInside"
    let pause = string_style_prop "pause"
    let pause_after = string_style_prop "pauseAfter"
    let pause_before = string_style_prop "pauseBefore"
    let pitch = string_style_prop "pitch"
    let pitch_range = string_style_prop "pitchRange"
    let play_during = string_style_prop "playDuring"
    let position = string_style_prop "position"
    let quotes = string_style_prop "quotes"
    let richness = string_style_prop "richness"
    let right = string_style_prop "right"
    let size = string_style_prop "size"
    let speak = string_style_prop "speak"
    let speak_header = string_style_prop "speakHeader"
    let speak_numeral = string_style_prop "speakNumeral"
    let speak_punctuation = string_style_prop "speakPunctuation"
    let speech_rate = string_style_prop "speechRate"
    let stress = string_style_prop "stress"
    let table_layout = string_style_prop "tableLayout"
    let text_align = string_style_prop "textAlign"
    let text_decoration = string_style_prop "textDecoration"
    let text_indent = string_style_prop "textIndent"
    let text_shadow = string_style_prop "textShadow"
    let text_transform = string_style_prop "textTransform"
    let top = string_style_prop "top"
    let unicode_bidi = string_style_prop "unicodeBidi"
    let vertical_align = string_style_prop "verticalAlign"
    let visibility = string_style_prop "visibility"
    let voice_family = string_style_prop "voiceFamily"
    let volume = string_style_prop "volume"
    let white_space = string_style_prop "whiteSpace"
    let widows = string_style_prop "widows"
    let width = string_style_prop "width"
    let word_spacing = string_style_prop "wordSpacing"
    let z_index = string_style_prop "zIndex"
    let opacity = string_style_prop "opacity"
    let background_origin = string_style_prop "backgroundOrigin"
    let background_size = string_style_prop "backgroundSize"
    let background_clip = string_style_prop "backgroundClip"
    let border_radius = string_style_prop "borderRadius"
    let border_top_left_radius = string_style_prop "borderTopLeftRadius"
    let border_top_right_radius = string_style_prop "borderTopRightRadius"
    let border_bottom_left_radius =
      string_style_prop "borderBottomLeftRadius"
    let border_bottom_right_radius =
      string_style_prop "borderBottomRightRadius"
    let border_image = string_style_prop "borderImage"
    let border_image_source = string_style_prop "borderImageSource"
    let border_image_slice = string_style_prop "borderImageSlice"
    let border_image_width = string_style_prop "borderImageWidth"
    let border_image_outset = string_style_prop "borderImageOutset"
    let border_image_repeat = string_style_prop "borderImageRepeat"
    let box_shadow = string_style_prop "boxShadow"
    let columns = string_style_prop "columns"
    let column_count = string_style_prop "columnCount"
    let column_fill = string_style_prop "columnFill"
    let column_gap = string_style_prop "columnGap"
    let column_rule = string_style_prop "columnRule"
    let column_rule_color = string_style_prop "columnRuleColor"
    let column_rule_style = string_style_prop "columnRuleStyle"
    let column_rule_width = string_style_prop "columnRuleWidth"
    let column_span = string_style_prop "columnSpan"
    let column_width = string_style_prop "columnWidth"
    let break_after = string_style_prop "breakAfter"
    let break_before = string_style_prop "breakBefore"
    let break_inside = string_style_prop "breakInside"
    let rest = string_style_prop "rest"
    let rest_after = string_style_prop "restAfter"
    let rest_before = string_style_prop "restBefore"
    let speak_as = string_style_prop "speakAs"
    let voice_balance = string_style_prop "voiceBalance"
    let voice_duration = string_style_prop "voiceDuration"
    let voice_pitch = string_style_prop "voicePitch"
    let voice_range = string_style_prop "voiceRange"
    let voice_rate = string_style_prop "voiceRate"
    let voice_stress = string_style_prop "voiceStress"
    let voice_volume = string_style_prop "voiceVolume"
    let object_fit = string_style_prop "objectFit"
    let object_position = string_style_prop "objectPosition"
    let image_resolution = string_style_prop "imageResolution"
    let image_orientation = string_style_prop "imageOrientation"
    let align_content = string_style_prop "alignContent"
    let align_items = string_style_prop "alignItems"
    let align_self = string_style_prop "alignSelf"
    let flex = string_style_prop "flex"
    let flex_basis = string_style_prop "flexBasis"
    let flex_direction = string_style_prop "flexDirection"
    let flex_flow = string_style_prop "flexFlow"
    let flex_grow = string_style_prop "flexGrow"
    let flex_shrink = string_style_prop "flexShrink"
    let flex_wrap = string_style_prop "flexWrap"
    let justify_content = string_style_prop "justifyContent"
    let order = string_style_prop "order"
    let text_decoration_color = string_style_prop "textDecorationColor"
    let text_decoration_line = string_style_prop "textDecorationLine"
    let text_decoration_skip = string_style_prop "textDecorationSkip"
    let text_decoration_style = string_style_prop "textDecorationStyle"
    let text_emphasis = string_style_prop "textEmphasis"
    let text_emphasis_color = string_style_prop "textEmphasisColor"
    let text_emphasis_position = string_style_prop "textEmphasisPosition"
    let text_emphasis_style = string_style_prop "textEmphasisStyle"
    let text_underline_position = string_style_prop "textUnderlinePosition"
    let font_feature_settings = string_style_prop "fontFeatureSettings"
    let font_kerning = string_style_prop "fontKerning"
    let font_language_override = string_style_prop "fontLanguageOverride"
    let font_synthesis = string_style_prop "fontSynthesis"
    let fornt_variant_alternates = string_style_prop "forntVariantAlternates"
    let font_variant_caps = string_style_prop "fontVariantCaps"
    let font_variant_east_asian = string_style_prop "fontVariantEastAsian"
    let font_variant_ligatures = string_style_prop "fontVariantLigatures"
    let font_variant_numeric = string_style_prop "fontVariantNumeric"
    let font_variant_position = string_style_prop "fontVariantPosition"
    let all = string_style_prop "all"
    let glyph_orientation_vertical =
      string_style_prop "glyphOrientationVertical"
    let text_combine_upright = string_style_prop "textCombineUpright"
    let text_orientation = string_style_prop "textOrientation"
    let writing_mode = string_style_prop "writingMode"
    let shape_image_threshold = string_style_prop "shapeImageThreshold"
    let shape_margin = string_style_prop "shapeMargin"
    let shape_outside = string_style_prop "shapeOutside"
    let clip_path = string_style_prop "clipPath"
    let clip_rule = string_style_prop "clipRule"
    let mask = string_style_prop "mask"
    let mask_border = string_style_prop "maskBorder"
    let mask_border_mode = string_style_prop "maskBorderMode"
    let mask_border_outset = string_style_prop "maskBorderOutset"
    let mask_border_repeat = string_style_prop "maskBorderRepeat"
    let mask_border_slice = string_style_prop "maskBorderSlice"
    let mask_border_source = string_style_prop "maskBorderSource"
    let mask_border_width = string_style_prop "maskBorderWidth"
    let mask_clip = string_style_prop "maskClip"
    let mask_composite = string_style_prop "maskComposite"
    let mask_image = string_style_prop "maskImage"
    let mask_mode = string_style_prop "maskMode"
    let mask_origin = string_style_prop "maskOrigin"
    let mask_position = string_style_prop "maskPosition"
    let mask_repeat = string_style_prop "maskRepeat"
    let mask_size = string_style_prop "maskSize"
    let mask_type = string_style_prop "maskType"
    let background_blend_mode = string_style_prop "backgroundBlendMode"
    let isolation = string_style_prop "isolation"
    let mix_blend_mode = string_style_prop "mixBlendMode"
    let box_decoration_break = string_style_prop "boxDecorationBreak"
    let box_sizing = string_style_prop "boxSizing"
    let caret_color = string_style_prop "caretColor"
    let nav_down = string_style_prop "navDown"
    let nav_left = string_style_prop "navLeft"
    let nav_right = string_style_prop "navRight"
    let nav_up = string_style_prop "navUp"
    let outline_offset = string_style_prop "outlineOffset"
    let resize = string_style_prop "resize"
    let text_overflow = string_style_prop "textOverflow"
    let grid = string_style_prop "grid"
    let grid_area = string_style_prop "gridArea"
    let grid_auto_columns = string_style_prop "gridAutoColumns"
    let grid_auto_flow = string_style_prop "gridAutoFlow"
    let grid_auto_rows = string_style_prop "gridAutoRows"
    let grid_column = string_style_prop "gridColumn"
    let grid_column_end = string_style_prop "gridColumnEnd"
    let grid_column_gap = string_style_prop "gridColumnGap"
    let grid_column_start = string_style_prop "gridColumnStart"
    let grid_gap = string_style_prop "gridGap"
    let grid_row = string_style_prop "gridRow"
    let grid_row_end = string_style_prop "gridRowEnd"
    let grid_row_gap = string_style_prop "gridRowGap"
    let grid_row_start = string_style_prop "gridRowStart"
    let grid_template = string_style_prop "gridTemplate"
    let grid_template_areas = string_style_prop "gridTemplateAreas"
    let grid_template_columns = string_style_prop "gridTemplateColumns"
    let grid_template_rows = string_style_prop "gridTemplateRows"
    let will_change = string_style_prop "willChange"
    let hanging_punctuation = string_style_prop "hangingPunctuation"
    let hyphens = string_style_prop "hyphens"
    let line_break = string_style_prop "lineBreak"
    let overflow_wrap = string_style_prop "overflowWrap"
    let tab_size = string_style_prop "tabSize"
    let text_align_last = string_style_prop "textAlignLast"
    let text_justify = string_style_prop "textJustify"
    let word_break = string_style_prop "wordBreak"
    let word_wrap = string_style_prop "wordWrap"
    let animation = string_style_prop "animation"
    let animation_delay = string_style_prop "animationDelay"
    let animation_direction = string_style_prop "animationDirection"
    let animation_duration = string_style_prop "animationDuration"
    let animation_fill_mode = string_style_prop "animationFillMode"
    let animation_iteration_count =
      string_style_prop "animationIterationCount"
    let animation_name = string_style_prop "animationName"
    let animation_play_state = string_style_prop "animationPlayState"
    let animation_timing_function =
      string_style_prop "animationTimingFunction"
    let transition = string_style_prop "transition"
    let transition_delay = string_style_prop "transitionDelay"
    let transition_duration = string_style_prop "transitionDuration"
    let transition_property = string_style_prop "transitionProperty"
    let transition_timing_function =
      string_style_prop "transitionTimingFunction"
    let backface_visibility = string_style_prop "backfaceVisibility"
    let perspective = string_style_prop "perspective"
    let perspective_origin = string_style_prop "perspectiveOrigin"
    let transform = string_style_prop "transform"
    let transform_origin = string_style_prop "transformOrigin"
    let transform_style = string_style_prop "transformStyle"
    let justify_items = string_style_prop "justifyItems"
    let justify_self = string_style_prop "justifySelf"
    let place_content = string_style_prop "placeContent"
    let place_items = string_style_prop "placeItems"
    let place_self = string_style_prop "placeSelf"
    let appearance = string_style_prop "appearance"
    let caret = string_style_prop "caret"
    let caret_animation = string_style_prop "caretAnimation"
    let caret_shape = string_style_prop "caretShape"
    let user_select = string_style_prop "userSelect"
    let max_lines = string_style_prop "maxLines"
    let marquee_direction = string_style_prop "marqueeDirection"
    let marquee_loop = string_style_prop "marqueeLoop"
    let marquee_speed = string_style_prop "marqueeSpeed"
    let marquee_style = string_style_prop "marqueeStyle"
    let overflow_style = string_style_prop "overflowStyle"
    let rotation = string_style_prop "rotation"
    let rotation_point = string_style_prop "rotationPoint"
    let alignment_baseline = string_style_prop "alignmentBaseline"
    let baseline_shift = string_style_prop "baselineShift"
    let clip = string_style_prop "clip"
    let clip_path = string_style_prop "clipPath"
    let clip_rule = string_style_prop "clipRule"
    let color_interpolation = string_style_prop "colorInterpolation"
    let color_interpolation_filters =
      string_style_prop "colorInterpolationFilters"
    let color_profile = string_style_prop "colorProfile"
    let color_rendering = string_style_prop "colorRendering"
    let cursor = string_style_prop "cursor"
    let dominant_baseline = string_style_prop "dominantBaseline"
    let fill = string_style_prop "fill"
    let fill_opacity = string_style_prop "fillOpacity"
    let fill_rule = string_style_prop "fillRule"
    let filter = string_style_prop "filter"
    let flood_color = string_style_prop "floodColor"
    let flood_opacity = string_style_prop "floodOpacity"
    let glyph_orientation_horizontal =
      string_style_prop "glyphOrientationHorizontal"
    let glyph_orientation_vertical =
      string_style_prop "glyphOrientationVertical"
    let image_rendering = string_style_prop "imageRendering"
    let kerning = string_style_prop "kerning"
    let lighting_color = string_style_prop "lightingColor"
    let marker_end = string_style_prop "markerEnd"
    let marker_mid = string_style_prop "markerMid"
    let marker_start = string_style_prop "markerStart"
    let pointer_events = string_style_prop "pointerEvents"
    let shape_rendering = string_style_prop "shapeRendering"
    let stop_color = string_style_prop "stopColor"
    let stop_opacity = string_style_prop "stopOpacity"
    let stroke = string_style_prop "stroke"
    let stroke_dasharray = string_style_prop "strokeDasharray"
    let stroke_dashoffset = string_style_prop "strokeDashoffset"
    let stroke_linecap = string_style_prop "strokeLinecap"
    let stroke_linejoin = string_style_prop "strokeLinejoin"
    let stroke_miterlimit = string_style_prop "strokeMiterlimit"
    let stroke_opacity = string_style_prop "strokeOpacity"
    let stroke_width = string_style_prop "strokeWidth"
    let text_anchor = string_style_prop "textAnchor"
    let text_rendering = string_style_prop "textRendering"
    let ruby_align = string_style_prop "rubyAlign"
    let ruby_merge = string_style_prop "rubyMerge"
    let ruby_position = string_style_prop "rubyPosition"
  end
module SafeString =
  struct
    type t = string
    let rec t_of_js : Ojs.t -> t = fun (x44 : Ojs.t) -> Ojs.string_of_js x44
    and t_to_js : t -> Ojs.t = fun (x43 : string) -> Ojs.string_to_js x43
    let make_unchecked str = str
    let to_string str = str
  end
OCaml

Innovation. Community. Security.