Skip to content

File tree

4 files changed

+38
-1
lines changed

4 files changed

+38
-1
lines changed

CHANGES.md

+4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
* Add support for the clip-path presentation attribute
44
(#333 by Martin @MBodin Bodin)
55

6+
* Add support for the `popover` API and for the `name` attribute on
7+
`<details>` elements
8+
(#341 by @SylvainBoilard)
9+
610
# 4.6.0
711

812
* Update for OCaml 5.0 and drop support for OCaml 4.2.0

lib/html_f.ml

+14
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ struct
112112
let a_onabort = Xml.event_handler_attrib "onabort"
113113
let a_onafterprint = Xml.event_handler_attrib "onafterprint"
114114
let a_onbeforeprint = Xml.event_handler_attrib "onbeforeprint"
115+
let a_onbeforetoggle = Xml.event_handler_attrib "onbeforetoggle"
115116
let a_onbeforeunload = Xml.event_handler_attrib "onbeforeunload"
116117
let a_onblur = Xml.event_handler_attrib "onblur"
117118
let a_oncanplay = Xml.event_handler_attrib "oncanplay"
@@ -151,6 +152,7 @@ struct
151152
let a_onsubmit = Xml.event_handler_attrib "onsubmit"
152153
let a_onsuspend = Xml.event_handler_attrib "onsuspend"
153154
let a_ontimeupdate = Xml.event_handler_attrib "ontimeupdate"
155+
let a_ontoggle = Xml.event_handler_attrib "ontoggle"
154156
let a_onundo = Xml.event_handler_attrib "onundo"
155157
let a_onunload = Xml.event_handler_attrib "onunload"
156158
let a_onvolumechange = Xml.event_handler_attrib "onvolumechange"
@@ -374,6 +376,14 @@ struct
374376

375377
let a_placeholder = string_attrib "placeholder"
376378

379+
let a_popover x =
380+
user_attrib C.string_of_big_variant "popover" x
381+
382+
let a_popovertarget = string_attrib "popovertarget"
383+
384+
let a_popovertargetaction x =
385+
user_attrib C.string_of_big_variant "popovertargetaction" x
386+
377387
let a_poster = uri_attrib "poster"
378388

379389
let a_preload x =
@@ -1002,6 +1012,7 @@ struct
10021012
| `Yes -> "yes"
10031013
| `No -> "no"
10041014
| `Auto -> "auto"
1015+
| `Manual -> "manual"
10051016
| `Circle -> "circle"
10061017
| `Poly -> "poly"
10071018
| `Alternate -> "alternate"
@@ -1039,6 +1050,9 @@ struct
10391050
| `Url -> "url"
10401051
| `Text -> "text"
10411052
| `Decimal -> "decimal"
1053+
| `Hide -> "hide"
1054+
| `Show -> "show"
1055+
| `Toggle -> "toggle"
10421056
| `Other s -> s
10431057

10441058
let string_of_input_type = function

lib/html_sigs.mli

+8
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ module type T = sig
175175
val a_onabort : Xml.event_handler -> [> | `OnAbort] attrib
176176
val a_onafterprint : Xml.event_handler -> [> | `OnAfterPrint] attrib
177177
val a_onbeforeprint : Xml.event_handler -> [> | `OnBeforePrint] attrib
178+
val a_onbeforetoggle : Xml.event_handler -> [> | `OnBeforeToggle] attrib
178179
val a_onbeforeunload : Xml.event_handler -> [> | `OnBeforeUnload] attrib
179180
val a_onblur : Xml.event_handler -> [> | `OnBlur] attrib
180181
val a_oncanplay : Xml.event_handler -> [> | `OnCanPlay] attrib
@@ -215,6 +216,7 @@ module type T = sig
215216
val a_onsubmit : Xml.event_handler -> [> | `OnSubmit] attrib
216217
val a_onsuspend : Xml.event_handler -> [> | `OnSuspend] attrib
217218
val a_ontimeupdate : Xml.event_handler -> [> | `OnTimeUpdate] attrib
219+
val a_ontoggle : Xml.event_handler -> [> | `OnToggle] attrib
218220
val a_onundo : Xml.event_handler -> [> | `OnUndo] attrib
219221
val a_onunload : Xml.event_handler -> [> | `OnUnload] attrib
220222
val a_onvolumechange : Xml.event_handler -> [> | `OnVolumeChange] attrib
@@ -343,6 +345,12 @@ module type T = sig
343345

344346
val a_placeholder : text wrap -> [> | `Placeholder] attrib
345347

348+
val a_popover : [< | `Auto | `Manual] wrap -> [> | `Popover] attrib
349+
350+
val a_popovertarget : text wrap -> [> | `Popovertarget] attrib
351+
352+
val a_popovertargetaction : [< | `Hide | `Show | `Toggle] wrap -> [> | `Popovertargetaction] attrib
353+
346354
val a_poster : Xml.uri wrap -> [> | `Poster] attrib
347355

348356
val a_preload : [< | `None | `Metadata | `Audio] wrap -> [> | `Preload] attrib

lib/html_types.mli

+12-1
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ type core =
297297
| `Hidden
298298
| `Id
299299
| i18n
300+
| `Popover
300301
| `Spellcheck
301302
| `Style_Attr
302303
| `Tabindex
@@ -312,6 +313,7 @@ type core =
312313
type events =
313314
[
314315
| `OnAbort
316+
| `OnBeforeToggle
315317
| `OnBlur
316318
| `OnCanPlay
317319
| `OnCanPlayThrough
@@ -357,6 +359,7 @@ type events =
357359
| `OnSubmit
358360
| `OnSuspend
359361
| `OnTimeUpdate
362+
| `OnToggle
360363
| `OnTouchStart
361364
| `OnTouchEnd
362365
| `OnTouchMove
@@ -2090,6 +2093,8 @@ type input_attrib =
20902093
| `Name
20912094
| `Pattern
20922095
| `Placeholder
2096+
| `Popovertarget
2097+
| `Popovertargetaction
20932098
| `ReadOnly
20942099
| `Required
20952100
| `Size
@@ -2144,6 +2149,8 @@ type button_attrib =
21442149
| `Formnovalidate
21452150
| `Formtarget
21462151
| `Name
2152+
| `Popovertarget
2153+
| `Popovertargetaction
21472154
| `Text_Value
21482155
| `Button_Type
21492156
]
@@ -2233,7 +2240,7 @@ type details_content = [ | flow5 ]
22332240

22342241
type details_content_fun = [ | flow5 ]
22352242

2236-
type details_attrib = [ | common | `Open ]
2243+
type details_attrib = [ | common | `Open | `Name ]
22372244

22382245
(* NAME: summary, KIND: star, TYPE: [= common ],[= phrasing ], [=`Summary], ARG: [= phrasing ], ATTRIB: OUT: [=`Summary] *)
22392246
type summary = [ | `Summary ]
@@ -2401,6 +2408,7 @@ type big_variant =
24012408
| `One
24022409
| `Zero
24032410
| `Auto
2411+
| `Manual
24042412
| `No
24052413
| `Yes
24062414
| `Defer
@@ -2418,6 +2426,9 @@ type big_variant =
24182426
| `Text
24192427
| `Decimal
24202428
| `Search
2429+
| `Hide
2430+
| `Show
2431+
| `Toggle
24212432
]
24222433

24232434
type sandbox_token =

0 commit comments

Comments
 (0)