@ulu/frontend 0.6.8 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.dev.md +6 -1
- package/dist/mcp-data.json +72004 -0
- package/lib/scss/base/_themes.demo.html +25 -0
- package/lib/scss/components/_accordion.demo.html +89 -0
- package/lib/scss/components/_accordion.scss +1 -1
- package/lib/scss/components/_badge-stack.demo.html +54 -0
- package/lib/scss/components/_badge.demo.html +41 -0
- package/lib/scss/components/_basic-hero.demo.html +33 -0
- package/lib/scss/components/_breadcrumb.demo.html +39 -0
- package/lib/scss/components/_button-group.demo.html +19 -0
- package/lib/scss/components/_button-verbose.demo.html +23 -0
- package/lib/scss/components/_button.demo.html +24 -0
- package/lib/scss/components/_callout.demo.html +32 -0
- package/lib/scss/components/_captioned-figure.demo.html +32 -0
- package/lib/scss/components/_card-grid.demo.html +34 -0
- package/lib/scss/components/_card.demo.html +49 -0
- package/lib/scss/components/_card.scss +14 -4
- package/lib/scss/components/_counter-list.demo.html +28 -0
- package/lib/scss/components/_css-icon.demo.html +49 -0
- package/lib/scss/components/_data-grid.demo.html +47 -0
- package/lib/scss/components/_data-list.demo.html +67 -0
- package/lib/scss/components/_data-table.demo.html +91 -0
- package/lib/scss/components/_definition-list.demo.html +59 -0
- package/lib/scss/components/_flipcard.demo.html +40 -0
- package/lib/scss/components/_headline-label.demo.html +9 -0
- package/lib/scss/components/_hero.demo.html +40 -0
- package/lib/scss/components/_image-grid.demo.html +24 -0
- package/lib/scss/components/_input-group.demo.html +42 -0
- package/lib/scss/components/_list-inline.demo.html +20 -0
- package/lib/scss/components/_list-lines.demo.html +19 -0
- package/lib/scss/components/_menu-stack.demo.html +69 -0
- package/lib/scss/components/_modal.demo.html +49 -0
- package/lib/scss/components/_nav-strip.demo.html +36 -0
- package/lib/scss/components/_overlay-section.demo.html +29 -0
- package/lib/scss/components/_panel.demo.html +31 -0
- package/lib/scss/components/_popover.demo.html +48 -0
- package/lib/scss/components/_progress-bar.demo.html +40 -0
- package/lib/scss/components/_progress-circle.demo.html +44 -0
- package/lib/scss/components/_pull-quote.demo.html +20 -0
- package/lib/scss/components/_rail.demo.html +41 -0
- package/lib/scss/components/_ratio-box.demo.html +15 -0
- package/lib/scss/components/_rule.demo.html +22 -0
- package/lib/scss/components/_skeleton.demo.html +39 -0
- package/lib/scss/components/_slider.demo.html +28 -0
- package/lib/scss/components/_sticky-list.demo.html +25 -0
- package/lib/scss/components/_tabs.demo.html +41 -0
- package/lib/scss/components/_tag.demo.html +20 -0
- package/lib/scss/components/_tagged.demo.html +17 -0
- package/lib/scss/components/_tile-grid.demo.html +22 -0
- package/lib/scss/components/_wysiwyg.demo.html +14 -0
- package/package.json +9 -4
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic 12-Column Grid
|
|
3
|
+
description: A standard 12-column grid layout using the `data-grid` and `data-grid-item` attributes.
|
|
4
|
+
-->
|
|
5
|
+
<div data-grid="columns: 12">
|
|
6
|
+
<div data-grid-item="width: 6">
|
|
7
|
+
<div style="background: #eee; padding: 1rem;">6 Columns (50%)</div>
|
|
8
|
+
</div>
|
|
9
|
+
<div data-grid-item="width: 6">
|
|
10
|
+
<div style="background: #eee; padding: 1rem;">6 Columns (50%)</div>
|
|
11
|
+
</div>
|
|
12
|
+
<div data-grid-item="width: 4">
|
|
13
|
+
<div style="background: #ddd; padding: 1rem;">4 Columns</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div data-grid-item="width: 4">
|
|
16
|
+
<div style="background: #ddd; padding: 1rem;">4 Columns</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div data-grid-item="width: 4">
|
|
19
|
+
<div style="background: #ddd; padding: 1rem;">4 Columns</div>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<!-- @ulu-demo
|
|
24
|
+
title: Grid with Offsets
|
|
25
|
+
description: Using the `offset` property to create gaps in the grid layout.
|
|
26
|
+
-->
|
|
27
|
+
<div data-grid="columns: 12">
|
|
28
|
+
<div data-grid-item="width: 4">
|
|
29
|
+
<div style="background: #eee; padding: 1rem;">Width: 4</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div data-grid-item="width: 4, offset: 4">
|
|
32
|
+
<div style="background: #eee; padding: 1rem;">Width: 4, Offset: 4</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<!-- @ulu-demo
|
|
37
|
+
title: Responsive Column Widths
|
|
38
|
+
description: Defining different widths for different breakpoints (e.g., `width` for mobile, `width-large` for desktop).
|
|
39
|
+
-->
|
|
40
|
+
<div data-grid="columns: 12">
|
|
41
|
+
<div data-grid-item="width: 12, width-large: 8">
|
|
42
|
+
<div style="background: #eee; padding: 1rem;">8 Columns on Desktop, Full Width on Mobile</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div data-grid-item="width: 12, width-large: 4">
|
|
45
|
+
<div style="background: #eee; padding: 1rem;">4 Columns on Desktop, Full Width on Mobile</div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Data List
|
|
3
|
+
description: A standard list layout for simple items.
|
|
4
|
+
-->
|
|
5
|
+
<ul class="data-list">
|
|
6
|
+
<li class="data-list__item">
|
|
7
|
+
<div class="data-list__column">
|
|
8
|
+
<strong>Item One Title</strong>
|
|
9
|
+
</div>
|
|
10
|
+
</li>
|
|
11
|
+
<li class="data-list__item">
|
|
12
|
+
<div class="data-list__column">
|
|
13
|
+
<strong>Item Two Title</strong>
|
|
14
|
+
</div>
|
|
15
|
+
</li>
|
|
16
|
+
</ul>
|
|
17
|
+
|
|
18
|
+
<!-- @ulu-demo
|
|
19
|
+
title: Flanked Layout (Prefixed + Suffixed)
|
|
20
|
+
description: Automatically aligns an icon at the start and an action at the end.
|
|
21
|
+
-->
|
|
22
|
+
<ul class="data-list data-list--prefixed data-list--suffixed">
|
|
23
|
+
<li class="data-list__item">
|
|
24
|
+
<div class="data-list__column" aria-hidden="true">📄</div>
|
|
25
|
+
<div class="data-list__column"><strong>Report_Q1.pdf</strong></div>
|
|
26
|
+
<div class="data-list__column"><button class="button button--small">Download</button></div>
|
|
27
|
+
</li>
|
|
28
|
+
<li class="data-list__item">
|
|
29
|
+
<div class="data-list__column" aria-hidden="true">📊</div>
|
|
30
|
+
<div class="data-list__column"><strong>Analytics_Data.xlsx</strong></div>
|
|
31
|
+
<div class="data-list__column"><button class="button button--small">Download</button></div>
|
|
32
|
+
</li>
|
|
33
|
+
</ul>
|
|
34
|
+
|
|
35
|
+
<!-- @ulu-demo
|
|
36
|
+
title: Interactive Clickable Rows
|
|
37
|
+
description: Entire rows are interactive, using proxy-click logic to route to a primary link.
|
|
38
|
+
-->
|
|
39
|
+
<ul class="data-list data-list--clickable">
|
|
40
|
+
<li class="data-list__item" data-ulu-proxy-click>
|
|
41
|
+
<div class="data-list__column">
|
|
42
|
+
<a href="#" data-ulu-proxy-click-source><strong>Important Update: New Security Features</strong></a>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="data-list__column type-small">2 hours ago</div>
|
|
45
|
+
</li>
|
|
46
|
+
<li class="data-list__item" data-ulu-proxy-click>
|
|
47
|
+
<div class="data-list__column">
|
|
48
|
+
<a href="#" data-ulu-proxy-click-source><strong>Your Weekly Activity Summary</strong></a>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="data-list__column type-small">Yesterday</div>
|
|
51
|
+
</li>
|
|
52
|
+
</ul>
|
|
53
|
+
|
|
54
|
+
<!-- @ulu-demo
|
|
55
|
+
title: Custom Grid with Spanning
|
|
56
|
+
description: Advanced usage using inline variables and column spanning.
|
|
57
|
+
-->
|
|
58
|
+
<ul class="data-list" style="--ulu-data-list-columns: auto 1fr auto auto;">
|
|
59
|
+
<li class="data-list__item">
|
|
60
|
+
<div class="data-list__column">ID: 101</div>
|
|
61
|
+
<div class="data-list__column data-list__column--span-2">
|
|
62
|
+
<strong>Product Name A</strong>
|
|
63
|
+
<span class="type-small">In Stock</span>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="data-list__column">$19.99</div>
|
|
66
|
+
</li>
|
|
67
|
+
</ul>
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Standard Data Table
|
|
3
|
+
description: A native HTML table styled for data display, including headers, footers, and a caption.
|
|
4
|
+
-->
|
|
5
|
+
<table class="data-table">
|
|
6
|
+
<caption>Quarterly Performance Summary</caption>
|
|
7
|
+
<thead>
|
|
8
|
+
<tr>
|
|
9
|
+
<th>Category</th>
|
|
10
|
+
<th>Previous Q</th>
|
|
11
|
+
<th>Current Q</th>
|
|
12
|
+
<th>Change</th>
|
|
13
|
+
</tr>
|
|
14
|
+
</thead>
|
|
15
|
+
<tbody>
|
|
16
|
+
<tr>
|
|
17
|
+
<td>Product Sales</td>
|
|
18
|
+
<td>$45,000</td>
|
|
19
|
+
<td>$52,000</td>
|
|
20
|
+
<td style="color: green;">+15%</td>
|
|
21
|
+
</tr>
|
|
22
|
+
<tr>
|
|
23
|
+
<td>Service Fees</td>
|
|
24
|
+
<td>$12,000</td>
|
|
25
|
+
<td>$11,500</td>
|
|
26
|
+
<td style="color: red;">-4%</td>
|
|
27
|
+
</tr>
|
|
28
|
+
</tbody>
|
|
29
|
+
<tfoot>
|
|
30
|
+
<tr>
|
|
31
|
+
<td>Total</td>
|
|
32
|
+
<td>$57,000</td>
|
|
33
|
+
<td>$63,500</td>
|
|
34
|
+
<td>+11%</td>
|
|
35
|
+
</tr>
|
|
36
|
+
</tfoot>
|
|
37
|
+
</table>
|
|
38
|
+
|
|
39
|
+
<!-- @ulu-demo
|
|
40
|
+
title: Striped Table
|
|
41
|
+
description: Using the `data-table--striped` modifier to alternate background colors for rows.
|
|
42
|
+
-->
|
|
43
|
+
<table class="data-table data-table--striped">
|
|
44
|
+
<thead>
|
|
45
|
+
<tr>
|
|
46
|
+
<th>Employee Name</th>
|
|
47
|
+
<th>Department</th>
|
|
48
|
+
<th>Status</th>
|
|
49
|
+
</tr>
|
|
50
|
+
</thead>
|
|
51
|
+
<tbody>
|
|
52
|
+
<tr>
|
|
53
|
+
<td>Jane Doe</td>
|
|
54
|
+
<td>Engineering</td>
|
|
55
|
+
<td>Active</td>
|
|
56
|
+
</tr>
|
|
57
|
+
<tr>
|
|
58
|
+
<td>John Smith</td>
|
|
59
|
+
<td>Marketing</td>
|
|
60
|
+
<td>On Leave</td>
|
|
61
|
+
</tr>
|
|
62
|
+
<tr>
|
|
63
|
+
<td>Alice Johnson</td>
|
|
64
|
+
<td>Product</td>
|
|
65
|
+
<td>Active</td>
|
|
66
|
+
</tr>
|
|
67
|
+
</tbody>
|
|
68
|
+
</table>
|
|
69
|
+
|
|
70
|
+
<!-- @ulu-demo
|
|
71
|
+
title: Large First Column
|
|
72
|
+
description: The `data-table--large-first` modifier ensures the first column has a larger minimum width, useful for row labels.
|
|
73
|
+
-->
|
|
74
|
+
<table class="data-table data-table--large-first">
|
|
75
|
+
<thead>
|
|
76
|
+
<tr>
|
|
77
|
+
<th>Specification Feature Description</th>
|
|
78
|
+
<th>Value</th>
|
|
79
|
+
</tr>
|
|
80
|
+
</thead>
|
|
81
|
+
<tbody>
|
|
82
|
+
<tr>
|
|
83
|
+
<td>Memory (RAM)</td>
|
|
84
|
+
<td>32GB DDR5</td>
|
|
85
|
+
</tr>
|
|
86
|
+
<tr>
|
|
87
|
+
<td>Processor (CPU)</td>
|
|
88
|
+
<td>8-Core 4.2GHz</td>
|
|
89
|
+
</tr>
|
|
90
|
+
</tbody>
|
|
91
|
+
</table>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Stacked Layout
|
|
3
|
+
description: The default layout, which stacks terms and their definitions vertically.
|
|
4
|
+
-->
|
|
5
|
+
<dl class="definition-list">
|
|
6
|
+
<div>
|
|
7
|
+
<dt>Application Version</dt>
|
|
8
|
+
<dd>v2.4.5 (Stable)</dd>
|
|
9
|
+
</div>
|
|
10
|
+
<div>
|
|
11
|
+
<dt>Release Date</dt>
|
|
12
|
+
<dd>October 12, 2024</dd>
|
|
13
|
+
</div>
|
|
14
|
+
</dl>
|
|
15
|
+
|
|
16
|
+
<!-- @ulu-demo
|
|
17
|
+
title: Table Layout
|
|
18
|
+
description: Using the `definition-list--table` modifier to create a two-column grid on larger screens.
|
|
19
|
+
-->
|
|
20
|
+
<dl class="definition-list definition-list--table">
|
|
21
|
+
<div>
|
|
22
|
+
<dt>Project Owner</dt>
|
|
23
|
+
<dd>Jane Doe</dd>
|
|
24
|
+
</div>
|
|
25
|
+
<div>
|
|
26
|
+
<dt>Primary Language</dt>
|
|
27
|
+
<dd>TypeScript (with Sass for styling)</dd>
|
|
28
|
+
</div>
|
|
29
|
+
</dl>
|
|
30
|
+
|
|
31
|
+
<!-- @ulu-demo
|
|
32
|
+
title: Inline-All Layout
|
|
33
|
+
description: Using the `definition-list--inline-all` modifier to place terms and definitions on the same line.
|
|
34
|
+
-->
|
|
35
|
+
<dl class="definition-list definition-list--inline-all">
|
|
36
|
+
<div>
|
|
37
|
+
<dt>Status</dt>
|
|
38
|
+
<dd>Connected</dd>
|
|
39
|
+
</div>
|
|
40
|
+
<div>
|
|
41
|
+
<dt>Uptime</dt>
|
|
42
|
+
<dd>99.9%</dd>
|
|
43
|
+
</div>
|
|
44
|
+
</dl>
|
|
45
|
+
|
|
46
|
+
<!-- @ulu-demo
|
|
47
|
+
title: Separated Layout
|
|
48
|
+
description: Using the `definition-list--separated` and `definition-list--separated-first` modifiers to add borders between items.
|
|
49
|
+
-->
|
|
50
|
+
<dl class="definition-list definition-list--separated definition-list--separated-first">
|
|
51
|
+
<div>
|
|
52
|
+
<dt>Support Tier</dt>
|
|
53
|
+
<dd>Premium (24/7)</dd>
|
|
54
|
+
</div>
|
|
55
|
+
<div>
|
|
56
|
+
<dt>Service SLA</dt>
|
|
57
|
+
<dd>99.99% Availability Guaranteed</dd>
|
|
58
|
+
</div>
|
|
59
|
+
</dl>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Flipcard
|
|
3
|
+
description: A text-only flipcard that reveals more information when clicked.
|
|
4
|
+
-->
|
|
5
|
+
<div class="flipcard" data-ulu-flipcard>
|
|
6
|
+
<div class="flipcard__front">
|
|
7
|
+
<div class="flipcard__front-content">
|
|
8
|
+
<h3 class="h4">Technical Strategy</h3>
|
|
9
|
+
<span class="flipcard__icon" aria-hidden="true">+</span>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="flipcard__back">
|
|
13
|
+
<div class="flipcard__back-content">
|
|
14
|
+
<p>Our technical strategy focuses on modularity, performance, and accessibility across all platforms.</p>
|
|
15
|
+
<button class="button button--small" data-ulu-flipcard-close>Close</button>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<!-- @ulu-demo
|
|
21
|
+
title: Flipcard with Image
|
|
22
|
+
description: A flipcard using the `flipcard--w-image` modifier to include a background image on the front.
|
|
23
|
+
-->
|
|
24
|
+
<div class="flipcard flipcard--w-image" data-ulu-flipcard>
|
|
25
|
+
<div class="flipcard__front">
|
|
26
|
+
<div class="flipcard__front-image">
|
|
27
|
+
<img src="https://picsum.photos/id/1025/400/400" alt="Front Image">
|
|
28
|
+
</div>
|
|
29
|
+
<div class="flipcard__front-content">
|
|
30
|
+
<h3 class="h4">Project Alpha</h3>
|
|
31
|
+
<span class="flipcard__icon" aria-hidden="true">+</span>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="flipcard__back">
|
|
35
|
+
<div class="flipcard__back-content">
|
|
36
|
+
<p>Project Alpha is our flagship initiative to redefine the user experience for complex data dashboards.</p>
|
|
37
|
+
<button class="button button--small" data-ulu-flipcard-close>Close</button>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Headline Label
|
|
3
|
+
description: A small, bold label placed above a headline to categorize content.
|
|
4
|
+
-->
|
|
5
|
+
<h2 class="h2">
|
|
6
|
+
<span class="headline-label">Case Study<span class="hidden-visually">:</span></span>
|
|
7
|
+
Modernizing Legacy Infrastructure
|
|
8
|
+
</h2>
|
|
9
|
+
<p>This case study explores the challenges and successes of a multi-year digital transformation project.</p>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Split Hero (Graphic Left)
|
|
3
|
+
description: A hero section where the graphic and content are split side-by-side.
|
|
4
|
+
-->
|
|
5
|
+
<section class="hero hero--split hero--left">
|
|
6
|
+
<div class="hero__graphic">
|
|
7
|
+
<img src="https://picsum.photos/id/102/1200/800" class="hero__graphic-media" alt="Hero Background">
|
|
8
|
+
</div>
|
|
9
|
+
<div class="hero__content">
|
|
10
|
+
<div class="hero__content-container container">
|
|
11
|
+
<div class="hero__content-inner">
|
|
12
|
+
<h1 class="h1">Innovate Your Workflow</h1>
|
|
13
|
+
<p class="type-large">Discover the tools and strategies that drive modern software development.</p>
|
|
14
|
+
<div class="button-group">
|
|
15
|
+
<a href="#" class="button">Get Started</a>
|
|
16
|
+
<a href="#" class="button button--outline">Learn More</a>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
</section>
|
|
22
|
+
|
|
23
|
+
<!-- @ulu-demo
|
|
24
|
+
title: Overlay Hero
|
|
25
|
+
description: A hero section with the content overlaid on a full-width background graphic.
|
|
26
|
+
-->
|
|
27
|
+
<section class="hero hero--overlay">
|
|
28
|
+
<div class="hero__graphic">
|
|
29
|
+
<img src="https://picsum.photos/id/103/1200/800" class="hero__graphic-media" alt="Hero Background">
|
|
30
|
+
</div>
|
|
31
|
+
<div class="hero__content">
|
|
32
|
+
<div class="hero__content-container container">
|
|
33
|
+
<div class="hero__content-inner" style="background: rgba(255,255,255,0.8); padding: 2rem; border-radius: 8px;">
|
|
34
|
+
<h1 class="h1">Full Screen Impact</h1>
|
|
35
|
+
<p class="type-large">Create a bold first impression with a full-width immersive experience.</p>
|
|
36
|
+
<a href="#" class="button">Call to Action</a>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</section>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Image Grid
|
|
3
|
+
description: A flex-based grid for displaying a collection of images that automatically reflows.
|
|
4
|
+
-->
|
|
5
|
+
<ul class="image-grid">
|
|
6
|
+
<li class="image-grid__item">
|
|
7
|
+
<img src="https://picsum.photos/id/10/400/300" alt="Image 1">
|
|
8
|
+
</li>
|
|
9
|
+
<li class="image-grid__item">
|
|
10
|
+
<img src="https://picsum.photos/id/11/400/300" alt="Image 2">
|
|
11
|
+
</li>
|
|
12
|
+
<li class="image-grid__item">
|
|
13
|
+
<img src="https://picsum.photos/id/12/400/300" alt="Image 3">
|
|
14
|
+
</li>
|
|
15
|
+
<li class="image-grid__item">
|
|
16
|
+
<img src="https://picsum.photos/id/13/400/300" alt="Image 4">
|
|
17
|
+
</li>
|
|
18
|
+
<li class="image-grid__item">
|
|
19
|
+
<img src="https://picsum.photos/id/14/400/300" alt="Image 5">
|
|
20
|
+
</li>
|
|
21
|
+
<li class="image-grid__item">
|
|
22
|
+
<img src="https://picsum.photos/id/15/400/300" alt="Image 6">
|
|
23
|
+
</li>
|
|
24
|
+
</ul>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Search Input (Joined)
|
|
3
|
+
description: A search bar where the input and button are visually connected with shared borders.
|
|
4
|
+
-->
|
|
5
|
+
<div class="form-theme">
|
|
6
|
+
<div class="input-group input-group--joined">
|
|
7
|
+
<div class="input-group__item input-group__item--field">
|
|
8
|
+
<input type="text" class="input-group__input" placeholder="Search...">
|
|
9
|
+
</div>
|
|
10
|
+
<div class="input-group__item">
|
|
11
|
+
<button class="button input-group__button">Search</button>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<!-- @ulu-demo
|
|
17
|
+
title: Input with Currency Cue
|
|
18
|
+
description: Using a cue item to provide context, like a currency symbol.
|
|
19
|
+
-->
|
|
20
|
+
<div class="form-theme">
|
|
21
|
+
<div class="input-group input-group--joined">
|
|
22
|
+
<div class="input-group__item input-group__item--cue">$</div>
|
|
23
|
+
<div class="input-group__item input-group__item--field">
|
|
24
|
+
<input type="number" class="input-group__input" placeholder="0.00">
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<!-- @ulu-demo
|
|
30
|
+
title: Gapped Layout
|
|
31
|
+
description: The default layout with a small gap between the input and the action button.
|
|
32
|
+
-->
|
|
33
|
+
<div class="form-theme">
|
|
34
|
+
<div class="input-group">
|
|
35
|
+
<div class="input-group__item input-group__item--field">
|
|
36
|
+
<input type="text" class="input-group__input" placeholder="Enter coupon code">
|
|
37
|
+
</div>
|
|
38
|
+
<div class="input-group__item">
|
|
39
|
+
<button class="button button--outline input-group__button">Apply</button>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Inline List
|
|
3
|
+
description: A pipe-separated list of items displayed in a single line.
|
|
4
|
+
-->
|
|
5
|
+
<ul class="list-inline">
|
|
6
|
+
<li>Privacy Policy</li>
|
|
7
|
+
<li>Terms of Service</li>
|
|
8
|
+
<li>Contact Us</li>
|
|
9
|
+
<li>Support</li>
|
|
10
|
+
</ul>
|
|
11
|
+
|
|
12
|
+
<!-- @ulu-demo
|
|
13
|
+
title: Large Gap Inline List
|
|
14
|
+
description: Using the `list-inline--large-gap` modifier for increased spacing between items.
|
|
15
|
+
-->
|
|
16
|
+
<ul class="list-inline list-inline--large-gap">
|
|
17
|
+
<li>Project Alpha</li>
|
|
18
|
+
<li>Project Beta</li>
|
|
19
|
+
<li>Project Gamma</li>
|
|
20
|
+
</ul>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic List Lines
|
|
3
|
+
description: A list with horizontal rules between each item.
|
|
4
|
+
-->
|
|
5
|
+
<ul class="list-lines">
|
|
6
|
+
<li>First item in the list</li>
|
|
7
|
+
<li>Second item with more content</li>
|
|
8
|
+
<li>Third item</li>
|
|
9
|
+
</ul>
|
|
10
|
+
|
|
11
|
+
<!-- @ulu-demo
|
|
12
|
+
title: Dense List Lines
|
|
13
|
+
description: Using the `list-lines--dense` modifier for tighter vertical spacing.
|
|
14
|
+
-->
|
|
15
|
+
<ul class="list-lines list-lines--dense">
|
|
16
|
+
<li>Compact item one</li>
|
|
17
|
+
<li>Compact item two</li>
|
|
18
|
+
<li>Compact item three</li>
|
|
19
|
+
</ul>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Navigation Menu
|
|
3
|
+
description: A standard vertical list of links, often used for sidebars or secondary navigation.
|
|
4
|
+
-->
|
|
5
|
+
<nav class="menu-stack">
|
|
6
|
+
<h3 class="menu-stack__label">Main Navigation</h3>
|
|
7
|
+
<ul class="menu-stack__list">
|
|
8
|
+
<li class="menu-stack__item">
|
|
9
|
+
<a href="#" class="menu-stack__link is-active">Dashboard</a>
|
|
10
|
+
</li>
|
|
11
|
+
<li class="menu-stack__item">
|
|
12
|
+
<a href="#" class="menu-stack__link">Projects</a>
|
|
13
|
+
</li>
|
|
14
|
+
<li class="menu-stack__item">
|
|
15
|
+
<a href="#" class="menu-stack__link">Tasks</a>
|
|
16
|
+
</li>
|
|
17
|
+
</ul>
|
|
18
|
+
</nav>
|
|
19
|
+
|
|
20
|
+
<!-- @ulu-demo
|
|
21
|
+
title: Collapsible Sub-Menu
|
|
22
|
+
description: Using `details` to create a collapsible group within the menu stack.
|
|
23
|
+
-->
|
|
24
|
+
<div class="menu-stack">
|
|
25
|
+
<ul class="menu-stack__list">
|
|
26
|
+
<li class="menu-stack__item">
|
|
27
|
+
<details class="menu-stack__collapsible">
|
|
28
|
+
<summary class="menu-stack__toggle">
|
|
29
|
+
<span class="menu-stack__link-text">Organization</span>
|
|
30
|
+
<span class="menu-stack__toggle-icon css-icon css-icon--angle-down-to-up" aria-hidden="true"></span>
|
|
31
|
+
</summary>
|
|
32
|
+
<div class="menu-stack__collapsible-content">
|
|
33
|
+
<ul class="menu-stack__list">
|
|
34
|
+
<li class="menu-stack__item"><a class="menu-stack__link" href="#">Team Members</a></li>
|
|
35
|
+
<li class="menu-stack__item"><a class="menu-stack__link" href="#">Permissions</a></li>
|
|
36
|
+
</ul>
|
|
37
|
+
</div>
|
|
38
|
+
</details>
|
|
39
|
+
</li>
|
|
40
|
+
</ul>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<!-- @ulu-demo
|
|
44
|
+
title: Selectable (Checkbox) Menu
|
|
45
|
+
description: A menu containing checkboxes, useful for filtering or selection lists.
|
|
46
|
+
-->
|
|
47
|
+
<div class="menu-stack form-theme">
|
|
48
|
+
<h3 class="menu-stack__label">Filter by Status</h3>
|
|
49
|
+
<ul class="menu-stack__list">
|
|
50
|
+
<li class="menu-stack__item">
|
|
51
|
+
<div class="menu-stack__selectable">
|
|
52
|
+
<input type="checkbox" id="status-1" checked>
|
|
53
|
+
<label for="status-1">Active</label>
|
|
54
|
+
</div>
|
|
55
|
+
</li>
|
|
56
|
+
<li class="menu-stack__item">
|
|
57
|
+
<div class="menu-stack__selectable">
|
|
58
|
+
<input type="checkbox" id="status-2">
|
|
59
|
+
<label for="status-2">Pending</label>
|
|
60
|
+
</div>
|
|
61
|
+
</li>
|
|
62
|
+
<li class="menu-stack__item">
|
|
63
|
+
<div class="menu-stack__selectable">
|
|
64
|
+
<input type="checkbox" id="status-3">
|
|
65
|
+
<label for="status-3">Completed</label>
|
|
66
|
+
</div>
|
|
67
|
+
</li>
|
|
68
|
+
</ul>
|
|
69
|
+
</div>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Centered Modal
|
|
3
|
+
description: The default centered modal configuration, triggered by a button.
|
|
4
|
+
-->
|
|
5
|
+
<button class="button" data-ulu-dialog-trigger="modal-example-center">Open Modal</button>
|
|
6
|
+
|
|
7
|
+
<div id="modal-example-center"
|
|
8
|
+
data-ulu-modal-builder='{ "title": "Information" }'
|
|
9
|
+
hidden>
|
|
10
|
+
<p>This is a standard centered modal window. It can contain any HTML content, including text, images, or forms.</p>
|
|
11
|
+
<div class="button-group">
|
|
12
|
+
<button class="button" data-ulu-dialog-close>Confirm</button>
|
|
13
|
+
<button class="button button--outline" data-ulu-dialog-close>Cancel</button>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<!-- @ulu-demo
|
|
18
|
+
title: Right Sidebar Modal
|
|
19
|
+
description: "Using the position: 'right' option to create a sidebar-style modal."
|
|
20
|
+
-->
|
|
21
|
+
<button class="button" data-ulu-dialog-trigger="modal-example-sidebar">Open Sidebar</button>
|
|
22
|
+
|
|
23
|
+
<div id="modal-example-sidebar"
|
|
24
|
+
data-ulu-modal-builder='{ "title": "Settings", "position": "right" }'
|
|
25
|
+
hidden>
|
|
26
|
+
<div class="menu-stack">
|
|
27
|
+
<ul class="menu-stack__list">
|
|
28
|
+
<li class="menu-stack__item"><a href="#" class="menu-stack__link">Notification Settings</a></li>
|
|
29
|
+
<li class="menu-stack__item"><a href="#" class="menu-stack__link">Security Options</a></li>
|
|
30
|
+
<li class="menu-stack__item"><a href="#" class="menu-stack__link">Account Data</a></li>
|
|
31
|
+
</ul>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<!-- @ulu-demo
|
|
36
|
+
title: Fullscreen Modal
|
|
37
|
+
description: A modal that fills the entire viewport, useful for immersive content or complex tasks.
|
|
38
|
+
-->
|
|
39
|
+
<button class="button" data-ulu-dialog-trigger="modal-example-fullscreen">View Fullscreen</button>
|
|
40
|
+
|
|
41
|
+
<div id="modal-example-fullscreen"
|
|
42
|
+
data-ulu-modal-builder='{ "title": "Editor Mode", "size": "fullscreen" }'
|
|
43
|
+
hidden>
|
|
44
|
+
<div class="container">
|
|
45
|
+
<h2 class="h2">Comprehensive Overview</h2>
|
|
46
|
+
<p>This view allows for focused interaction with complex data or large media assets without the distraction of the underlying page.</p>
|
|
47
|
+
<button class="button" data-ulu-dialog-close>Exit Fullscreen</button>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Nav Strip
|
|
3
|
+
description: A simple horizontal list of navigation links with an active state underline.
|
|
4
|
+
-->
|
|
5
|
+
<nav class="nav-strip">
|
|
6
|
+
<ul class="nav-strip__list">
|
|
7
|
+
<li class="nav-strip__item"><a href="#" class="nav-strip__link">Overview</a></li>
|
|
8
|
+
<li class="nav-strip__item"><a href="#" class="nav-strip__link is-active">Features</a></li>
|
|
9
|
+
<li class="nav-strip__item"><a href="#" class="nav-strip__link">Pricing</a></li>
|
|
10
|
+
<li class="nav-strip__item"><a href="#" class="nav-strip__link">Support</a></li>
|
|
11
|
+
</ul>
|
|
12
|
+
</nav>
|
|
13
|
+
|
|
14
|
+
<!-- @ulu-demo
|
|
15
|
+
title: Nav Strip with Base Rule
|
|
16
|
+
description: Using the `nav-strip--rule` modifier to add a continuous horizontal line beneath the navigation items.
|
|
17
|
+
-->
|
|
18
|
+
<nav class="nav-strip nav-strip--rule">
|
|
19
|
+
<ul class="nav-strip__list">
|
|
20
|
+
<li class="nav-strip__item"><a href="#" class="nav-strip__link is-active">Dashboard</a></li>
|
|
21
|
+
<li class="nav-strip__item"><a href="#" class="nav-strip__link">Settings</a></li>
|
|
22
|
+
<li class="nav-strip__item"><a href="#" class="nav-strip__link">Analytics</a></li>
|
|
23
|
+
</ul>
|
|
24
|
+
</nav>
|
|
25
|
+
|
|
26
|
+
<!-- @ulu-demo
|
|
27
|
+
title: Automatic (Markup Only) Nav Strip
|
|
28
|
+
description: The `nav-strip--auto` modifier applies styling to standard `ul/li/a` tags without requiring component-specific classes on every element.
|
|
29
|
+
-->
|
|
30
|
+
<div class="nav-strip nav-strip--auto">
|
|
31
|
+
<ul>
|
|
32
|
+
<li><a href="#" class="is-active">Recent</a></li>
|
|
33
|
+
<li><a href="#">Popular</a></li>
|
|
34
|
+
<li><a href="#">Trending</a></li>
|
|
35
|
+
</ul>
|
|
36
|
+
</div>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- @ulu-demo
|
|
2
|
+
title: Basic Overlay Section
|
|
3
|
+
description: A section with a full-bleed background and centered content box.
|
|
4
|
+
-->
|
|
5
|
+
<section class="overlay-section">
|
|
6
|
+
<div class="overlay-section__background">
|
|
7
|
+
<img src="https://picsum.photos/id/101/1200/800" alt="Background Image">
|
|
8
|
+
</div>
|
|
9
|
+
<div class="overlay-section__content">
|
|
10
|
+
<h2 class="h2">Centered Content</h2>
|
|
11
|
+
<p>This content box is centered over the background image, providing a clear focal point for messaging.</p>
|
|
12
|
+
<a href="#" class="button">Explore More</a>
|
|
13
|
+
</div>
|
|
14
|
+
</section>
|
|
15
|
+
|
|
16
|
+
<!-- @ulu-demo
|
|
17
|
+
title: Right-Aligned Overlay
|
|
18
|
+
description: Using the `overlay-section--right` modifier to position the content box on the right side of the section.
|
|
19
|
+
-->
|
|
20
|
+
<section class="overlay-section overlay-section--right">
|
|
21
|
+
<div class="overlay-section__background">
|
|
22
|
+
<img src="https://picsum.photos/id/104/1200/800" alt="Background Image">
|
|
23
|
+
</div>
|
|
24
|
+
<div class="overlay-section__content">
|
|
25
|
+
<h2 class="h2">Side Aligned</h2>
|
|
26
|
+
<p>Positioning content to the side can help prevent obscuring important details in the background image.</p>
|
|
27
|
+
<a href="#" class="button">Contact Us</a>
|
|
28
|
+
</div>
|
|
29
|
+
</section>
|