Skip to content

Bug fixes and usability improves to the carousel demos #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
May 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 23 additions & 25 deletions carousels-gallery/src/components/Sidebar.astro
Original file line number Diff line number Diff line change
Expand Up @@ -21,38 +21,38 @@ const links = {
{ title: "Slider", href: "slider" },
{ title: "Product", href: "product" },
{ title: "Testimonials", href: "testimonials" },
{ title: "Virtualization", href: "virtualization" },
// { title: "Virtualization", href: "virtualization" },
{ title: "3D", href: "3d" },
{ title: "Curved", href: "curved" },
{ title: "Weather", href: "weather" },
{ title: "Picker", href: "#" },
// { title: "Picker", href: "#" },
{ title: "Media Player", href: "media-player" },
{ title: "Wizard", href: "wizard" },
{ title: "Recommendations", href: "#" },
{ title: "Lightbox", href: "#" },
{ title: "Adaptive", href: "#" },
{ title: "Editable", href: "#" },
{ title: "Unlocker", href: "#" },
{ title: "Circular Lock", href: "#" },
// { title: "Recommendations", href: "#" },
// { title: "Lightbox", href: "#" },
// { title: "Adaptive", href: "#" },
// { title: "Editable", href: "#" },
// { title: "Unlocker", href: "#" },
// { title: "Circular Lock", href: "#" },
],
vertical: [
{ title: "List", href: "list" },
{ title: "Wheel", href: "wheel" },
{ title: "Scrollyspy", href: "scroll-spy", badge: "Dev's Choice" },
{ title: "Slides", href: "slides" },
{ title: "Stack", href: "stack" },
{ title: "Cards", href: "#" },
{ title: "Gallery", href: "#" },
{ title: "Scrollytelling", href: "#" },
{ title: "Table Of Contents", href: "#" },
{ title: "Restaurant Menu", href: "#" },
{ title: "Date/Time Picker", href: "#" },
{ title: "Color Picker", href: "#" },
{ title: "Slot Machine", href: "#" },
// { title: "Cards", href: "#" },
// { title: "Gallery", href: "#" },
// { title: "Scrollytelling", href: "#" },
// { title: "Table Of Contents", href: "#" },
// { title: "Restaurant Menu", href: "#" },
// { title: "Date/Time Picker", href: "#" },
// { title: "Color Picker", href: "#" },
// { title: "Slot Machine", href: "#" },
],
bidi: [
{ title: "Grid", href: "grid" },
{ title: "Slides", href: "#" },
// { title: "Slides", href: "#" },
],
};
---
Expand Down Expand Up @@ -108,14 +108,10 @@ const links = {
pathname === `/carousel/${key}/${link.href}` ? "active" : ""
}
>
{link.href === "#" ? (
<a>{link.title}</a>
) : (
<a href={`/carousel/${key}/` + link.href + "/"}>
{link.title}{" "}
{link.badge && <span class="badge">{link.badge}</span>}
</a>
)}
<a href={`/carousel/${key}/` + link.href + "/"}>
{link.title}{" "}
{link.badge && <span class="badge">{link.badge}</span>}
</a>
</li>
))}
</ul>
Expand Down Expand Up @@ -282,6 +278,7 @@ const links = {
}
}

/*
@media (height < 768px) {
aside > footer {
overflow-x: auto;
Expand All @@ -301,6 +298,7 @@ const links = {
}
}
}
*/
}

aside {
Expand Down
114 changes: 81 additions & 33 deletions carousels-gallery/src/pages/bidi/grid.astro
Original file line number Diff line number Diff line change
Expand Up @@ -19,43 +19,90 @@ import Layout from "../../layouts/Layout.astro";
</p>
</header>

<ul class="carousel --bidi scroll-markers scroll-buttons">
<li><p>1</p></li>
<li><p>2</p></li>
<li><p>3</p></li>
<li><p>4</p></li>
<li><p>5</p></li>
<li><p>6</p></li>
<li><p>7</p></li>
<li><p>8</p></li>
<li><p>9</p></li>
<li><p>10</p></li>
<li><p>11</p></li>
<li><p>12</p></li>
<li style="scroll-initial-target: nearest"><p>13</p></li>
<li><p>14</p></li>
<li><p>15</p></li>
<li><p>16</p></li>
<li><p>17</p></li>
<li><p>18</p></li>
<li><p>19</p></li>
<li><p>20</p></li>
<li><p>21</p></li>
<li><p>22</p></li>
<li><p>23</p></li>
<li><p>24</p></li>
<li><p>25</p></li>
</ul>
<div role="region" aria-label="List carousel demo">
<div
class="carousel carousel--bidi carousel--scroll-markers carousel--scroll-buttons carousel--offscreen-inert"
aria-live="polite"
>
<div class="carousel__slide" data-label="Slide 1">
<p>1</p>
</div>
<div class="carousel__slide" data-label="Slide 2">
<p>2</p>
</div>
<div class="carousel__slide" data-label="Slide 3">
<p>3</p>
</div>
<div class="carousel__slide" data-label="Slide 4">
<p>4</p>
</div>
<div class="carousel__slide" data-label="Slide 5">
<p>5</p>
</div>
<div class="carousel__slide" data-label="Slide 6">
<p>6</p>
</div>
<div class="carousel__slide" data-label="Slide 7">
<p>7</p>
</div>
<div class="carousel__slide" data-label="Slide 8">
<p>8</p>
</div>
<div class="carousel__slide" data-label="Slide 9">
<p>9</p>
</div>
<div class="carousel__slide" data-label="Slide 10">
<p>10</p>
</div>
<div class="carousel__slide" data-label="Slide 11">
<p>11</p>
</div>
<div class="carousel__slide" data-label="Slide 12">
<p>12</p>
</div>
<div class="carousel__slide" data-label="Slide 13" style="scroll-initial-target: nearest">
<p>13</p>
</div>
<div class="carousel__slide" data-label="Slide 14">
<p>14</p>
</div>
<div class="carousel__slide" data-label="Slide 15">
<p>15</p>
</div>
<div class="carousel__slide" data-label="Slide 16">
<p>16</p>
</div>
<div class="carousel__slide" data-label="Slide 17">
<p>17</p>
</div>
<div class="carousel__slide" data-label="Slide 18">
<p>18</p>
</div>
<div class="carousel__slide" data-label="Slide 19">
<p>19</p>
</div>
<div class="carousel__slide" data-label="Slide 20">
<p>20</p>
</div>
<div class="carousel__slide" data-label="Slide 21">
<p>21</p>
</div>
<div class="carousel__slide" data-label="Slide 22">
<p>22</p>
</div>
<div class="carousel__slide" data-label="Slide 23">
<p>23</p>
</div>
<div class="carousel__slide" data-label="Slide 24">
<p>24</p>
</div>
</div>
</div>
</section>
</Layout>

<style>
.carousel {
/* Reset list styles */
list-style-type: none;
counter-reset: item;

/* Styles and layout */
inline-size: 60vmin;
aspect-ratio: 1;

Expand Down Expand Up @@ -88,8 +135,9 @@ import Layout from "../../layouts/Layout.astro";
}
}

& > li {
.carousel__slide {
scroll-snap-align: center;
container-type: scroll-state;

background: light-dark(white, var(--surface-2));
padding: 0;
Expand Down
112 changes: 56 additions & 56 deletions carousels-gallery/src/pages/horizontal/3d.astro
Original file line number Diff line number Diff line change
Expand Up @@ -16,66 +16,66 @@ import Layout from "../../layouts/Layout.astro";
<p></p>
</header>

<ul class="carousel scroll-markers scroll-buttons">
<li tabindex="0">
<div class="card"><p>1</p></div>
</li>
<li tabindex="0">
<div class="card"><p>2</p></div>
</li>
<li tabindex="0">
<div class="card"><p>3</p></div>
</li>
<li tabindex="0">
<div class="card"><p>4</p></div>
</li>
<li tabindex="0">
<div class="card"><p>5</p></div>
</li>
<li tabindex="0">
<div class="card"><p>6</p></div>
</li>
<li tabindex="0">
<div class="card"><p>7</p></div>
</li>
<li tabindex="0">
<div class="card"><p>8</p></div>
</li>
<li tabindex="0">
<div class="card"><p>9</p></div>
</li>
<li tabindex="0">
<div class="card"><p>10</p></div>
</li>
<li tabindex="0">
<div class="card"><p>11</p></div>
</li>
<li tabindex="0">
<div class="card"><p>12</p></div>
</li>
<li tabindex="0">
<div class="card"><p>13</p></div>
</li>
<li tabindex="0">
<div class="card"><p>14</p></div>
</li>
<li tabindex="0">
<div class="card"><p>15</p></div>
</li>
<li tabindex="0">
<div class="card"><p>16</p></div>
</li>
</ul>
<div role="region" aria-label="3D carousel demo">
<div
class="carousel carousel--scroll-markers carousel--scroll-buttons carousel--offscreen-inert"
aria-live="polite"
>
<div class="carousel__slide" tabindex="0" data-label="Slide 1">
<div class="card"><p>1</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 2">
<div class="card"><p>2</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 3">
<div class="card"><p>3</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 4">
<div class="card"><p>4</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 5">
<div class="card"><p>5</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 6">
<div class="card"><p>6</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 7">
<div class="card"><p>7</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 8">
<div class="card"><p>8</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 9">
<div class="card"><p>9</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 10">
<div class="card"><p>10</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 11">
<div class="card"><p>11</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 12">
<div class="card"><p>12</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 13">
<div class="card"><p>13</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 14">
<div class="card"><p>14</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 15">
<div class="card"><p>15</p></div>
</div>
<div class="carousel__slide" tabindex="0" data-label="Slide 16">
<div class="card"><p>16</p></div>
</div>
</div>
</div>
</section>
</Layout>

<style>
.carousel {
/* Reset list styles */
list-style-type: none;
counter-reset: item;

/* Styles and layout */
inline-size: 100cqi;

display: grid;
Expand Down Expand Up @@ -110,7 +110,7 @@ import Layout from "../../layouts/Layout.astro";
background-color: light-dark(white, var(--surface-1));
}

& > li {
.carousel__slide {
display: grid;
padding: 0;
transform-style: preserve-3d;
Expand Down
Loading