@@ -80,33 +80,34 @@ declare module '@primer/components' {
8080 Item : React . FunctionComponent < FlexItemProps >
8181 }
8282
83- export interface BoxProps extends BaseProps , CommonProps , LayoutProps { }
83+ export interface BoxProps extends BaseProps , CommonProps , LayoutProps , React . HTMLAttributes < HTMLDivElement > { }
8484
8585 export const Box : React . FunctionComponent < BoxProps >
8686
87- export interface TextProps extends BaseProps , CommonProps , TypographyProps { }
87+ export interface TextProps extends BaseProps , CommonProps , TypographyProps , React . HTMLAttributes < HTMLSpanElement > { }
8888
8989 export const Text : React . FunctionComponent < TextProps >
9090
91- export interface HeadingProps extends BaseProps , CommonProps , TypographyProps { }
91+ export interface HeadingProps
92+ extends BaseProps ,
93+ CommonProps ,
94+ TypographyProps ,
95+ React . HTMLAttributes < HTMLHeadingElement > { }
9296
9397 export const Heading : React . FunctionComponent < HeadingProps >
9498
9599 type DetailsRenderFunction = ( args : { open : boolean ; toggle : ( ) => void } ) => React . ReactElement
96100
97- export interface DetailsProps extends CommonProps {
98- open ?: boolean
101+ export interface DetailsProps extends CommonProps , React . HTMLAttributes < HTMLDetailsElement > {
99102 render ?: DetailsRenderFunction
100103 children ?: DetailsRenderFunction | React . ReactNode
101104 overlay ?: boolean
102105 }
103106
104107 export const Details : React . FunctionComponent < DetailsProps >
105108
106- export interface ButtonProps extends BaseProps , CommonProps {
107- disabled ?: boolean
109+ export interface ButtonProps extends BaseProps , CommonProps , React . HTMLAttributes < HTMLDetailsElement > {
108110 grouped ?: boolean
109- onClick ?: Function
110111 size ?: 'sm' | 'large'
111112 }
112113
@@ -115,9 +116,7 @@ declare module '@primer/components' {
115116 export const ButtonDanger : React . FunctionComponent < ButtonProps >
116117 export const Button : React . FunctionComponent < ButtonProps >
117118
118- export interface AvatarProps extends CommonProps {
119- alt : string
120- src : string
119+ export interface AvatarProps extends CommonProps , React . HTMLAttributes < HTMLImageElement > {
121120 isChild ?: boolean
122121 size ?: number
123122 }
@@ -128,7 +127,7 @@ declare module '@primer/components' {
128127
129128 export const BaseStyles : React . FunctionComponent < BaseStylesProps >
130129
131- export interface BorderBoxProps extends CommonProps , LayoutProps {
130+ export interface BorderBoxProps extends CommonProps , LayoutProps , BoxProps {
132131 border ?: string
133132 borderColor ?: string
134133 borderRadius ?: string | number
@@ -137,19 +136,17 @@ declare module '@primer/components' {
137136
138137 export const BorderBox : React . FunctionComponent < BorderBoxProps >
139138
140- export interface BranchNameProps extends CommonProps {
141- href ?: string
142- }
139+ export interface BranchNameProps extends CommonProps , React . HTMLAttributes < HTMLAnchorElement > { }
143140
144141 export const BranchName : React . FunctionComponent < BranchNameProps >
145142
146- export interface CircleBadgeProps extends CommonProps {
143+ export interface CircleBadgeProps extends CommonProps , React . HTMLAttributes < HTMLDivElement > {
147144 size ?: string | number
148145 }
149146
150147 export const CircleBadge : React . FunctionComponent < CircleBadgeProps >
151148
152- export interface CircleOcticonProps extends CommonProps {
149+ export interface CircleOcticonProps extends CommonProps , FlexProps {
153150 size ?: number
154151 icon : React . ReactNode
155152 }
@@ -163,9 +160,9 @@ declare module '@primer/components' {
163160
164161 export const StyledOcticon : React . FunctionComponent < StyledOcticonProps >
165162
166- export interface DropdownProps extends CommonProps { }
163+ export interface DropdownProps extends CommonProps , ButtonProps { }
167164
168- export interface DropdownMenuProps extends CommonProps {
165+ export interface DropdownMenuProps extends CommonProps , React . HTMLAttributes < HTMLUListElement > {
169166 direction ?: string
170167 title : string
171168 }
@@ -175,11 +172,11 @@ declare module '@primer/components' {
175172 Item : React . FunctionComponent < DropdownProps >
176173 }
177174
178- export interface FilterListProps extends CommonProps {
175+ export interface FilterListProps extends CommonProps , React . HTMLAttributes < HTMLUListElement > {
179176 small ?: boolean
180177 }
181178
182- export interface FilterListItemProps extends CommonProps {
179+ export interface FilterListItemProps extends CommonProps , React . HTMLAttributes < HTMLAnchorElement > {
183180 count ?: number
184181 selected ?: boolean
185182 }
@@ -188,41 +185,44 @@ declare module '@primer/components' {
188185 Item : React . FunctionComponent < FilterListItemProps >
189186 }
190187
191- export interface FlashProps extends CommonProps {
188+ export interface FlashProps extends CommonProps , React . HTMLAttributes < HTMLDivElement > {
192189 full ?: boolean
193190 scheme ?: string
194191 }
195192
196193 export const Flash : React . FunctionComponent < FlashProps >
197194
198- export interface CounterLabelProps extends CommonProps {
195+ export interface CounterLabelProps extends CommonProps , React . HTMLAttributes < HTMLSpanElement > {
199196 scheme ?: string
200197 }
201198
202199 export const CounterLabel : React . FunctionComponent < CounterLabelProps >
203200
204- export interface LabelProps extends CommonProps {
201+ export interface LabelProps extends CommonProps , React . HTMLAttributes < HTMLSpanElement > {
205202 outline ?: boolean
206203 size ?: 'small' | 'medium' | 'large' | 'xl'
207204 dropshadow ?: boolean
208205 }
209206
210207 export const Label : React . FunctionComponent < LabelProps >
211208
212- export interface LinkProps extends CommonProps , TypographyProps {
213- href ?: string
209+ export interface LinkProps extends CommonProps , TypographyProps , React . HTMLAttributes < HTMLAnchorElement > {
214210 underline ?: boolean
215211 }
216212
217213 export const Link : React . FunctionComponent < LinkProps >
218214
219- export interface PointerBoxProps extends CommonProps , LayoutProps {
215+ export interface PointerBoxProps extends CommonProps , LayoutProps , BorderBoxProps {
220216 caret ?: string
221217 }
222218
223219 export const PointerBox : React . FunctionComponent < PointerBoxProps >
224220
225- export interface PositionComponentProps extends PositionProps , CommonProps , LayoutProps { }
221+ export interface PositionComponentProps
222+ extends PositionProps ,
223+ CommonProps ,
224+ LayoutProps ,
225+ React . HTMLAttributes < HTMLDivElement > { }
226226
227227 export const Relative : React . FunctionComponent < PositionComponentProps >
228228 export const Absolute : React . FunctionComponent < PositionComponentProps >
@@ -236,38 +236,26 @@ declare module '@primer/components' {
236236
237237 export const StateLabel : React . FunctionComponent < StateLabelProps >
238238
239- export interface TabNavProps extends CommonProps {
240- 'aria-label' ?: string
241- }
239+ export interface TabNavProps extends CommonProps , React . HTMLAttributes < HTMLDivElement > { }
242240
243- export interface TabNavLinkProps extends CommonProps {
244- href ?: string
241+ export interface TabNavLinkProps extends CommonProps , React . HTMLAttributes < HTMLAnchorElement > {
245242 selected ?: boolean
246243 }
247244
248245 export const TabNav : React . FunctionComponent < TabNavProps > & {
249246 Link : React . FunctionComponent < TabNavLinkProps >
250247 }
251248
252- export interface TextInputProps extends CommonProps {
249+ export interface TextInputProps extends CommonProps , React . HTMLAttributes < HTMLInputElement > {
253250 autocomplete ?: string
254- 'aria-label' ?: string
255251 block ?: boolean
256- disabled ?: boolean
257- id ?: string
258- name ?: string
259- onChange ?: ( evt : React . ChangeEvent < HTMLInputElement > ) => void
260- placeholder ?: string
261- required ?: boolean
262252 size ?: 'small' | 'large'
263- value ?: string
264253 }
265254
266255 export const TextInput : React . FunctionComponent < TextInputProps >
267256
268- export interface TooltipProps extends CommonProps {
257+ export interface TooltipProps extends CommonProps , React . HTMLAttributes < HTMLSpanElement > {
269258 align ?: 'left' | 'right'
270- 'aria-label' ?: string
271259 direction ?: 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'nw'
272260 noDelay ?: boolean
273261 text ?: string
@@ -276,16 +264,14 @@ declare module '@primer/components' {
276264
277265 export const Tooltip : React . FunctionComponent < TooltipProps >
278266
279- export interface UnderlineNavProps extends CommonProps {
267+ export interface UnderlineNavProps extends CommonProps , React . HTMLAttributes < HTMLDivElement > {
280268 actions ?: React . ReactNode
281269 align ?: 'right'
282- 'aria-label' ?: string
283270 full ?: boolean
284271 label ?: string
285272 }
286273
287- export interface UnderlineNavLinkProps extends CommonProps {
288- href ?: string
274+ export interface UnderlineNavLinkProps extends CommonProps , React . HTMLAttributes < HTMLAnchorElement > {
289275 selected ?: boolean
290276 }
291277
0 commit comments