1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-28 02:23:25 +00:00

[PM-14422] Vault Carousel (#12791)

* collect tailwind styles from the `libs/vault/*`

- Some unique styles were not showing in storybook

* initial add of carousel component

* initial add of carousel stories

* move carousel button to a standalone component for organization

* add key manager for carousel buttons

* add tab panel role to slide component

* make carousel slide focusable when it does not contain focusable elements

* add aria live to carousel slides

* add labels for carousel slide buttons

* emit slide change event

* move icons to carousel-icons folder

* add barrel file for carousel

* move protected properties

* remove underscore

* allow differing heights of carousel slides

* update interactive styles for the carousel icons

* allow for focus styled on carousel buttons

* fix tests

* fix imports

* add method to render each slide and get the height of the tallest slide

- This avoids consumers having to pass in a height.
- The height of the tallest slide is needed because it will stop the carousel from jumping around as the user scrolls.

* add comment to content property

* remove rem calculation
This commit is contained in:
Nick Krantz
2025-01-22 08:45:35 -06:00
committed by GitHub
parent 02e10b56f5
commit e26670c029
16 changed files with 621 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
<button
#btn
type="button"
role="tab"
class="tw-h-6 tw-w-6 tw-p-0 tw-flex tw-items-center tw-justify-center tw-border-2 tw-border-solid tw-rounded-full tw-transition tw-bg-transparent tw-border-transparent focus-visible:tw-outline-none focus-visible:tw-border-primary-600"
[ngClass]="dynamicClasses"
[attr.aria-selected]="isActive"
[attr.tabindex]="isActive ? 0 : -1"
[attr.aria-label]="slide.label"
(click)="onClick.emit()"
>
<bit-icon [icon]="CarouselIcon"></bit-icon>
</button>