Skip to content

Commit fb67b50

Browse files
committed
support dialog html element
1 parent 6063fae commit fb67b50

7 files changed

Lines changed: 376 additions & 96 deletions

File tree

packages/react-strict-dom/src/dom/html.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,14 @@ export const del: component(
110110
...StrictReactDOMProps
111111
) = createStrict('del', defaultStyles.del);
112112

113+
/**
114+
* "dialog" (block)
115+
*/
116+
export const dialog: component(
117+
ref?: React.RefSetter<HTMLDialogElement>,
118+
...StrictReactDOMProps
119+
) = createStrict('dialog', defaultStyles.dialog);
120+
113121
/**
114122
* "div" (block)
115123
*/

packages/react-strict-dom/src/dom/runtime.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ const br: StrictReactDOMPropsStyle = null;
9090
const button: StrictReactDOMPropsStyle = [styles.inlineblock, styles.button];
9191
const code: StrictReactDOMPropsStyle = [styles.inline, styles.codePre];
9292
const del: StrictReactDOMPropsStyle = null;
93+
const dialog: StrictReactDOMPropsStyle = styles.block;
9394
const div: StrictReactDOMPropsStyle = styles.block;
9495
const em: StrictReactDOMPropsStyle = styles.inline;
9596
const fieldset: StrictReactDOMPropsStyle = styles.block;
@@ -139,6 +140,7 @@ export const defaultStyles = {
139140
button: button as typeof button,
140141
code: code as typeof code,
141142
del: del as typeof del,
143+
dialog: dialog as typeof dialog,
142144
div: div as typeof div,
143145
em: em as typeof em,
144146
fieldset: fieldset as typeof fieldset,

packages/react-strict-dom/src/native/html.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,14 @@ export const del: component(
176176
...StrictReactDOMProps
177177
) = createStrictText('del', { style: styles.lineThrough });
178178

179+
/**
180+
* "dialog" (block)
181+
*/
182+
export const dialog: component(
183+
ref?: React.RefSetter<HTMLDialogElement>,
184+
...StrictReactDOMProps
185+
) = createStrict('dialog');
186+
179187
/**
180188
* "div" (block)
181189
*/

packages/react-strict-dom/src/types/flowtests/html-types-match.js.flow

Lines changed: 101 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -18,241 +18,246 @@ nativeHTML as DomHTML;
1818
// Adding all the individual keys as an extra layer of testing
1919

2020
declare var a_dom: DomHTML['a'];
21-
(a_dom as NativeHTML['a']);
21+
a_dom as NativeHTML['a'];
2222
declare var a_native: NativeHTML['a'];
23-
(a_native as DomHTML['a']);
23+
a_native as DomHTML['a'];
2424

2525
declare var article_dom: DomHTML['article'];
26-
(article_dom as NativeHTML['article']);
26+
article_dom as NativeHTML['article'];
2727
declare var article_native: NativeHTML['article'];
28-
(article_native as DomHTML['article']);
28+
article_native as DomHTML['article'];
2929

3030
declare var aside_dom: DomHTML['aside'];
31-
(aside_dom as NativeHTML['aside']);
31+
aside_dom as NativeHTML['aside'];
3232
declare var aside_native: NativeHTML['aside'];
33-
(aside_native as DomHTML['aside']);
33+
aside_native as DomHTML['aside'];
3434

3535
declare var b_dom: DomHTML['b'];
36-
(b_dom as NativeHTML['b']);
36+
b_dom as NativeHTML['b'];
3737
declare var b_native: NativeHTML['b'];
38-
(b_native as DomHTML['b']);
38+
b_native as DomHTML['b'];
3939

4040
declare var bdi_dom: DomHTML['bdi'];
41-
(bdi_dom as NativeHTML['bdi']);
41+
bdi_dom as NativeHTML['bdi'];
4242
declare var bdi_native: NativeHTML['bdi'];
43-
(bdi_native as DomHTML['bdi']);
43+
bdi_native as DomHTML['bdi'];
4444

4545
declare var bdo_dom: DomHTML['bdo'];
46-
(bdo_dom as NativeHTML['bdo']);
46+
bdo_dom as NativeHTML['bdo'];
4747
declare var bdo_native: NativeHTML['bdo'];
48-
(bdo_native as DomHTML['bdo']);
48+
bdo_native as DomHTML['bdo'];
4949

5050
declare var blockquote_dom: DomHTML['blockquote'];
51-
(blockquote_dom as NativeHTML['blockquote']);
51+
blockquote_dom as NativeHTML['blockquote'];
5252
declare var blockquote_native: NativeHTML['blockquote'];
53-
(blockquote_native as DomHTML['blockquote']);
53+
blockquote_native as DomHTML['blockquote'];
5454

5555
declare var br_dom: DomHTML['br'];
56-
(br_dom as NativeHTML['br']);
56+
br_dom as NativeHTML['br'];
5757
declare var br_native: NativeHTML['br'];
58-
(br_native as DomHTML['br']);
58+
br_native as DomHTML['br'];
5959

6060
declare var button_dom: DomHTML['button'];
61-
(button_dom as NativeHTML['button']);
61+
button_dom as NativeHTML['button'];
6262
declare var button_native: NativeHTML['button'];
63-
(button_native as DomHTML['button']);
63+
button_native as DomHTML['button'];
6464

6565
declare var code_dom: DomHTML['code'];
66-
(code_dom as NativeHTML['code']);
66+
code_dom as NativeHTML['code'];
6767
declare var code_native: NativeHTML['code'];
68-
(code_native as DomHTML['code']);
68+
code_native as DomHTML['code'];
6969

7070
declare var del_dom: DomHTML['del'];
71-
(del_dom as NativeHTML['del']);
71+
del_dom as NativeHTML['del'];
7272
declare var del_native: NativeHTML['del'];
73-
(del_native as DomHTML['del']);
73+
del_native as DomHTML['del'];
74+
75+
declare var dialog_dom: DomHTML['dialog'];
76+
dialog_dom as NativeHTML['dialog'];
77+
declare var dialog_native: NativeHTML['dialog'];
78+
dialog_native as DomHTML['dialog'];
7479

7580
declare var div_dom: DomHTML['div'];
76-
(div_dom as NativeHTML['div']);
81+
div_dom as NativeHTML['div'];
7782
declare var div_native: NativeHTML['div'];
78-
(div_native as DomHTML['div']);
83+
div_native as DomHTML['div'];
7984

8085
declare var em_dom: DomHTML['em'];
81-
(em_dom as NativeHTML['em']);
86+
em_dom as NativeHTML['em'];
8287
declare var em_native: NativeHTML['em'];
83-
(em_native as DomHTML['em']);
88+
em_native as DomHTML['em'];
8489

8590
declare var fieldset_dom: DomHTML['fieldset'];
86-
(fieldset_dom as NativeHTML['fieldset']);
91+
fieldset_dom as NativeHTML['fieldset'];
8792
declare var fieldset_native: NativeHTML['fieldset'];
88-
(fieldset_native as DomHTML['fieldset']);
93+
fieldset_native as DomHTML['fieldset'];
8994

9095
declare var footer_dom: DomHTML['footer'];
91-
(footer_dom as NativeHTML['footer']);
96+
footer_dom as NativeHTML['footer'];
9297
declare var footer_native: NativeHTML['footer'];
93-
(footer_native as DomHTML['footer']);
98+
footer_native as DomHTML['footer'];
9499

95100
declare var form_dom: DomHTML['form'];
96-
(form_dom as NativeHTML['form']);
101+
form_dom as NativeHTML['form'];
97102
declare var form_native: NativeHTML['form'];
98-
(form_native as DomHTML['form']);
103+
form_native as DomHTML['form'];
99104

100105
declare var h1_dom: DomHTML['h1'];
101-
(h1_dom as NativeHTML['h1']);
106+
h1_dom as NativeHTML['h1'];
102107
declare var h1_native: NativeHTML['h1'];
103-
(h1_native as DomHTML['h1']);
108+
h1_native as DomHTML['h1'];
104109

105110
declare var h2_dom: DomHTML['h2'];
106-
(h2_dom as NativeHTML['h2']);
111+
h2_dom as NativeHTML['h2'];
107112
declare var h2_native: NativeHTML['h2'];
108-
(h2_native as DomHTML['h2']);
113+
h2_native as DomHTML['h2'];
109114

110115
declare var h3_dom: DomHTML['h3'];
111-
(h3_dom as NativeHTML['h3']);
116+
h3_dom as NativeHTML['h3'];
112117
declare var h3_native: NativeHTML['h3'];
113-
(h3_native as DomHTML['h3']);
118+
h3_native as DomHTML['h3'];
114119

115120
declare var h4_dom: DomHTML['h4'];
116-
(h4_dom as NativeHTML['h4']);
121+
h4_dom as NativeHTML['h4'];
117122
declare var h4_native: NativeHTML['h4'];
118-
(h4_native as DomHTML['h4']);
123+
h4_native as DomHTML['h4'];
119124

120125
declare var h5_dom: DomHTML['h5'];
121-
(h5_dom as NativeHTML['h5']);
126+
h5_dom as NativeHTML['h5'];
122127
declare var h5_native: NativeHTML['h5'];
123-
(h5_native as DomHTML['h5']);
128+
h5_native as DomHTML['h5'];
124129

125130
declare var h6_dom: DomHTML['h6'];
126-
(h6_dom as NativeHTML['h6']);
131+
h6_dom as NativeHTML['h6'];
127132
declare var h6_native: NativeHTML['h6'];
128-
(h6_native as DomHTML['h6']);
133+
h6_native as DomHTML['h6'];
129134

130135
declare var header_dom: DomHTML['header'];
131-
(header_dom as NativeHTML['header']);
136+
header_dom as NativeHTML['header'];
132137
declare var header_native: NativeHTML['header'];
133-
(header_native as DomHTML['header']);
138+
header_native as DomHTML['header'];
134139

135140
declare var hr_dom: DomHTML['hr'];
136-
(hr_dom as NativeHTML['hr']);
141+
hr_dom as NativeHTML['hr'];
137142
declare var hr_native: NativeHTML['hr'];
138-
(hr_native as DomHTML['hr']);
143+
hr_native as DomHTML['hr'];
139144

140145
declare var i_dom: DomHTML['i'];
141-
(i_dom as NativeHTML['i']);
146+
i_dom as NativeHTML['i'];
142147
declare var i_native: NativeHTML['i'];
143-
(i_native as DomHTML['i']);
148+
i_native as DomHTML['i'];
144149

145150
declare var img_dom: DomHTML['img'];
146-
(img_dom as NativeHTML['img']);
151+
img_dom as NativeHTML['img'];
147152
declare var img_native: NativeHTML['img'];
148-
(img_native as DomHTML['img']);
153+
img_native as DomHTML['img'];
149154

150155
declare var input_dom: DomHTML['input'];
151-
(input_dom as NativeHTML['input']);
156+
input_dom as NativeHTML['input'];
152157
declare var input_native: NativeHTML['input'];
153-
(input_native as DomHTML['input']);
158+
input_native as DomHTML['input'];
154159

155160
declare var ins_dom: DomHTML['ins'];
156-
(ins_dom as NativeHTML['ins']);
161+
ins_dom as NativeHTML['ins'];
157162
declare var ins_native: NativeHTML['ins'];
158-
(ins_native as DomHTML['ins']);
163+
ins_native as DomHTML['ins'];
159164

160165
declare var kbd_dom: DomHTML['kbd'];
161-
(kbd_dom as NativeHTML['kbd']);
166+
kbd_dom as NativeHTML['kbd'];
162167
declare var kbd_native: NativeHTML['kbd'];
163-
(kbd_native as DomHTML['kbd']);
168+
kbd_native as DomHTML['kbd'];
164169

165170
declare var label_dom: DomHTML['label'];
166-
(label_dom as NativeHTML['label']);
171+
label_dom as NativeHTML['label'];
167172
declare var label_native: NativeHTML['label'];
168-
(label_native as DomHTML['label']);
173+
label_native as DomHTML['label'];
169174

170175
declare var li_dom: DomHTML['li'];
171-
(li_dom as NativeHTML['li']);
176+
li_dom as NativeHTML['li'];
172177
declare var li_native: NativeHTML['li'];
173-
(li_native as DomHTML['li']);
178+
li_native as DomHTML['li'];
174179

175180
declare var main_dom: DomHTML['main'];
176-
(main_dom as NativeHTML['main']);
181+
main_dom as NativeHTML['main'];
177182
declare var main_native: NativeHTML['main'];
178-
(main_native as DomHTML['main']);
183+
main_native as DomHTML['main'];
179184

180185
declare var nav_dom: DomHTML['nav'];
181-
(nav_dom as NativeHTML['nav']);
186+
nav_dom as NativeHTML['nav'];
182187
declare var nav_native: NativeHTML['nav'];
183-
(nav_native as DomHTML['nav']);
188+
nav_native as DomHTML['nav'];
184189

185190
declare var ol_dom: DomHTML['ol'];
186-
(ol_dom as NativeHTML['ol']);
191+
ol_dom as NativeHTML['ol'];
187192
declare var ol_native: NativeHTML['ol'];
188-
(ol_native as DomHTML['ol']);
193+
ol_native as DomHTML['ol'];
189194

190195
declare var p_dom: DomHTML['p'];
191-
(p_dom as NativeHTML['p']);
196+
p_dom as NativeHTML['p'];
192197
declare var p_native: NativeHTML['p'];
193-
(p_native as DomHTML['p']);
198+
p_native as DomHTML['p'];
194199

195200
declare var pre_dom: DomHTML['pre'];
196-
(pre_dom as NativeHTML['pre']);
201+
pre_dom as NativeHTML['pre'];
197202
declare var pre_native: NativeHTML['pre'];
198-
(pre_native as DomHTML['pre']);
203+
pre_native as DomHTML['pre'];
199204

200205
declare var option_dom: DomHTML['option'];
201-
(option_dom as NativeHTML['option']);
206+
option_dom as NativeHTML['option'];
202207
declare var option_native: NativeHTML['option'];
203-
(option_native as DomHTML['option']);
208+
option_native as DomHTML['option'];
204209

205210
declare var optgroup_dom: DomHTML['optgroup'];
206-
(optgroup_dom as NativeHTML['optgroup']);
211+
optgroup_dom as NativeHTML['optgroup'];
207212
declare var optgroup_native: NativeHTML['optgroup'];
208-
(optgroup_native as DomHTML['optgroup']);
213+
optgroup_native as DomHTML['optgroup'];
209214

210215
declare var s_dom: DomHTML['s'];
211-
(s_dom as NativeHTML['s']);
216+
s_dom as NativeHTML['s'];
212217
declare var s_native: NativeHTML['s'];
213-
(s_native as DomHTML['s']);
218+
s_native as DomHTML['s'];
214219

215220
declare var section_dom: DomHTML['section'];
216-
(section_dom as NativeHTML['section']);
221+
section_dom as NativeHTML['section'];
217222
declare var section_native: NativeHTML['section'];
218-
(section_native as DomHTML['section']);
223+
section_native as DomHTML['section'];
219224

220225
declare var select_dom: DomHTML['select'];
221-
(select_dom as NativeHTML['select']);
226+
select_dom as NativeHTML['select'];
222227
declare var select_native: NativeHTML['select'];
223-
(select_native as DomHTML['select']);
228+
select_native as DomHTML['select'];
224229

225230
declare var span_dom: DomHTML['span'];
226-
(span_dom as NativeHTML['span']);
231+
span_dom as NativeHTML['span'];
227232
declare var span_native: NativeHTML['span'];
228-
(span_native as DomHTML['span']);
233+
span_native as DomHTML['span'];
229234

230235
declare var strong_dom: DomHTML['strong'];
231-
(strong_dom as NativeHTML['strong']);
236+
strong_dom as NativeHTML['strong'];
232237
declare var strong_native: NativeHTML['strong'];
233-
(strong_native as DomHTML['strong']);
238+
strong_native as DomHTML['strong'];
234239

235240
declare var sub_dom: DomHTML['sub'];
236-
(sub_dom as NativeHTML['sub']);
241+
sub_dom as NativeHTML['sub'];
237242
declare var sub_native: NativeHTML['sub'];
238-
(sub_native as DomHTML['sub']);
243+
sub_native as DomHTML['sub'];
239244

240245
declare var sup_dom: DomHTML['sup'];
241-
(sup_dom as NativeHTML['sup']);
246+
sup_dom as NativeHTML['sup'];
242247
declare var sup_native: NativeHTML['sup'];
243-
(sup_native as DomHTML['sup']);
248+
sup_native as DomHTML['sup'];
244249

245250
declare var textarea_dom: DomHTML['textarea'];
246-
(textarea_dom as NativeHTML['textarea']);
251+
textarea_dom as NativeHTML['textarea'];
247252
declare var textarea_native: NativeHTML['textarea'];
248-
(textarea_native as DomHTML['textarea']);
253+
textarea_native as DomHTML['textarea'];
249254

250255
declare var u_dom: DomHTML['u'];
251-
(u_dom as NativeHTML['u']);
256+
u_dom as NativeHTML['u'];
252257
declare var u_native: NativeHTML['u'];
253-
(u_native as DomHTML['u']);
258+
u_native as DomHTML['u'];
254259

255260
declare var ul_dom: DomHTML['ul'];
256-
(ul_dom as NativeHTML['ul']);
261+
ul_dom as NativeHTML['ul'];
257262
declare var ul_native: NativeHTML['ul'];
258-
(ul_native as DomHTML['ul']);
263+
ul_native as DomHTML['ul'];

0 commit comments

Comments
 (0)