Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2020-07-07 15:32:20 +01:00
parent 8c2286a044
commit eb05c86e50
6 changed files with 11 additions and 18 deletions

View file

@ -20,7 +20,6 @@ import React from "react";
interface IProps extends React.HTMLAttributes<HTMLDivElement> { interface IProps extends React.HTMLAttributes<HTMLDivElement> {
label: string; label: string;
className?: string;
} }
// Semantic component for representing a role=group for grouping menu radios/checkboxes // Semantic component for representing a role=group for grouping menu radios/checkboxes

View file

@ -18,12 +18,10 @@ limitations under the License.
import React from "react"; import React from "react";
import AccessibleButton, {ButtonEvent, IProps as IAccessibleButtonProps} from "../../components/views/elements/AccessibleButton"; import AccessibleButton from "../../components/views/elements/AccessibleButton";
interface IProps extends IAccessibleButtonProps { interface IProps extends React.ComponentProps<typeof AccessibleButton> {
label?: string; label?: string;
className?: string;
onClick(ev: ButtonEvent);
} }
// Semantic component for representing a role=menuitem // Semantic component for representing a role=menuitem
@ -34,3 +32,4 @@ export const MenuItem: React.FC<IProps> = ({children, label, ...props}) => {
</AccessibleButton> </AccessibleButton>
); );
}; };

View file

@ -18,14 +18,11 @@ limitations under the License.
import React from "react"; import React from "react";
import AccessibleButton, {ButtonEvent, IProps as IAccessibleButtonProps} from "../../components/views/elements/AccessibleButton"; import AccessibleButton from "../../components/views/elements/AccessibleButton";
interface IProps extends IAccessibleButtonProps { interface IProps extends React.ComponentProps<typeof AccessibleButton> {
label?: string; label?: string;
active: boolean; active: boolean;
disabled?: boolean;
className?: string;
onClick(ev: ButtonEvent);
} }
// Semantic component for representing a role=menuitemcheckbox // Semantic component for representing a role=menuitemcheckbox
@ -36,6 +33,7 @@ export const MenuItemCheckbox: React.FC<IProps> = ({children, label, active, dis
role="menuitemcheckbox" role="menuitemcheckbox"
aria-checked={active} aria-checked={active}
aria-disabled={disabled} aria-disabled={disabled}
disabled={disabled}
tabIndex={-1} tabIndex={-1}
aria-label={label} aria-label={label}
> >

View file

@ -18,14 +18,11 @@ limitations under the License.
import React from "react"; import React from "react";
import AccessibleButton, {ButtonEvent, IProps as IAccessibleButtonProps} from "../../components/views/elements/AccessibleButton"; import AccessibleButton from "../../components/views/elements/AccessibleButton";
interface IProps extends IAccessibleButtonProps { interface IProps extends React.ComponentProps<typeof AccessibleButton> {
label?: string; label?: string;
active: boolean; active: boolean;
disabled?: boolean;
className?: string;
onClick(ev: ButtonEvent);
} }
// Semantic component for representing a role=menuitemradio // Semantic component for representing a role=menuitemradio
@ -36,6 +33,7 @@ export const MenuItemRadio: React.FC<IProps> = ({children, label, active, disabl
role="menuitemradio" role="menuitemradio"
aria-checked={active} aria-checked={active}
aria-disabled={disabled} aria-disabled={disabled}
disabled={disabled}
tabIndex={-1} tabIndex={-1}
aria-label={label} aria-label={label}
> >

View file

@ -23,7 +23,7 @@ import StyledCheckbox from "../../components/views/elements/StyledCheckbox";
interface IProps extends React.ComponentProps<typeof StyledCheckbox> { interface IProps extends React.ComponentProps<typeof StyledCheckbox> {
label?: string; label?: string;
onChange(); onChange(); // we handle keyup/down ourselves so lose the ChangeEvent
onClose(): void; // gets called after onChange on Key.ENTER onClose(): void; // gets called after onChange on Key.ENTER
} }

View file

@ -23,8 +23,7 @@ import StyledRadioButton from "../../components/views/elements/StyledRadioButton
interface IProps extends React.ComponentProps<typeof StyledRadioButton> { interface IProps extends React.ComponentProps<typeof StyledRadioButton> {
label?: string; label?: string;
disabled?: boolean; onChange(); // we handle keyup/down ourselves so lose the ChangeEvent
onChange(): void;
onClose(): void; // gets called after onChange on Key.ENTER onClose(): void; // gets called after onChange on Key.ENTER
} }