diff --git a/docs/de/user/repo/assets/repository-tags-overview.png b/docs/de/user/repo/assets/repository-tags-overview.png index ebbe7d4575..14b237e5ad 100644 Binary files a/docs/de/user/repo/assets/repository-tags-overview.png and b/docs/de/user/repo/assets/repository-tags-overview.png differ diff --git a/docs/de/user/repo/tags.md b/docs/de/user/repo/tags.md index 377ee28b4d..4a75fa76ff 100644 --- a/docs/de/user/repo/tags.md +++ b/docs/de/user/repo/tags.md @@ -3,7 +3,9 @@ title: Repository subtitle: Tags --- ### Übersicht -Auf der Tags-Übersicht sind die existierenden Tags nach Erstelldatum absteigend aufgeführt. Bei einem Klick auf einen Tag wird der Benutzer zur Detailseite des Tags weitergeleitet. +Auf der Tags-Übersicht sind die existierenden Tags aufgeführt. +Die Tags sind standardmäßig nach Erstelldatum absteigend sortiert, können aber auch alphabetisch sortiert werden. +Bei einem Klick auf einen Tag wird der Benutzer zur Detailseite des Tags weitergeleitet. ![Tags Übersicht](assets/repository-tags-overview.png) diff --git a/docs/en/user/repo/assets/repository-tags-overview.png b/docs/en/user/repo/assets/repository-tags-overview.png index 5e2f93821e..c74e67862b 100644 Binary files a/docs/en/user/repo/assets/repository-tags-overview.png and b/docs/en/user/repo/assets/repository-tags-overview.png differ diff --git a/docs/en/user/repo/tags.md b/docs/en/user/repo/tags.md index 1d96b58b0a..28afe0f605 100644 --- a/docs/en/user/repo/tags.md +++ b/docs/en/user/repo/tags.md @@ -3,7 +3,9 @@ title: Repository subtitle: Tags --- ### Overview -The tag overview shows the tags that exist for this repository. By clicking on a tag, the details page of the tag is shown. +The tag overview shows the tags that exist for this repository. +The tags are sorted by creation date in descending order by default, but can also be sorted alphabetically. +By clicking on a tag, the details page of the tag is shown. ![Tags Overview](assets/repository-tags-overview.png) diff --git a/gradle/changelog/card_list_component.yaml b/gradle/changelog/card_list_component.yaml new file mode 100644 index 0000000000..42155fa4c8 --- /dev/null +++ b/gradle/changelog/card_list_component.yaml @@ -0,0 +1,4 @@ +- type: added + description: New card list component +- type: changed + description: Revamp repository tags overview diff --git a/scm-ui/ui-buttons/src/Button.tsx b/scm-ui/ui-buttons/src/Button.tsx index 25be495b3b..2ae0c17f1f 100644 --- a/scm-ui/ui-buttons/src/Button.tsx +++ b/scm-ui/ui-buttons/src/Button.tsx @@ -60,7 +60,9 @@ type BaseButtonProps = { type ButtonProps = BaseButtonProps & ButtonHTMLAttributes; /** - * Styled html button + * Styled html button. + * + * A button has to declare an `aria-label` if it exclusively contains an {@link Icon} as its children. * * @beta * @since 2.41.0 @@ -82,7 +84,9 @@ export const Button = React.forwardRef( type LinkButtonProps = BaseButtonProps & ReactRouterLinkProps; /** - * Styled react router link + * Styled react router link. + * + * A button has to declare an `aria-label` if it exclusively contains an {@link Icon} as its children. * * @beta * @since 2.41.0 @@ -100,27 +104,40 @@ export const LinkButton = React.forwardRef( ) ); -type ExternalLinkButtonProps = BaseButtonProps & AnchorHTMLAttributes; - /** - * Styled html anchor. - * * External links open in a new browser tab with rel flags "noopener" and "noreferrer" set by default. * * @beta + * @since 2.44.0 + */ +export const ExternalLink = React.forwardRef>( + ({ children, ...props }, ref) => ( + + {children} + + ) +); + +type ExternalLinkButtonProps = BaseButtonProps & AnchorHTMLAttributes; + +/** + * Styled {@link ExternalLink}. + * + * A button has to declare an `aria-label` if it exclusively contains an {@link Icon} as its children. + * + * @beta * @since 2.41.0 + * @see ExternalLink */ export const ExternalLinkButton = React.forwardRef( ({ className, variant, isLoading, testId, children, ...props }, ref) => ( - {children} - + ) ); diff --git a/scm-ui/ui-buttons/src/Icon.tsx b/scm-ui/ui-buttons/src/Icon.tsx index 9256563dd7..106051a7af 100644 --- a/scm-ui/ui-buttons/src/Icon.tsx +++ b/scm-ui/ui-buttons/src/Icon.tsx @@ -30,13 +30,20 @@ type Props = React.HTMLProps & { }; /** + * Icons are hidden to assistive technologies by default. + * + * If your icon does convey a state, unset `aria-hidden` and set an appropriate `aria-label`. + * + * The children have to be a single text node containing a valid fontawesome icon name. + * * @beta * @since 2.44.0 * @see https://bulma.io/documentation/elements/icon/ + * @see https://fontawesome.com/search?o=r&m=free */ const Icon = React.forwardRef(({ children, className, ...props }, ref) => { return ( - +