testio-tailwind 3.22.0 → 3.23.0
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/AI_DESIGN_SYSTEM_REFERENCE.md +242 -31
- package/package.json +1 -1
- package/src/_includes/example-header-centered.njk +53 -0
- package/src/_layouts/page-example-centered.njk +19 -0
- package/src/_layouts/page-example-darkmode.njk +19 -0
- package/src/assets/stylesheets/components/actionbar.css +8 -0
- package/src/assets/stylesheets/components/header.css +22 -0
- package/src/pages/layout/app_layout.haml +3 -1
- package/src/pages/layout/centered_layout.haml +26 -0
- package/src/pages/layout/darkmode.haml +9 -0
- package/src/pages/layouts/layout-centered.haml +26 -0
- package/src/pages/layouts/layout-darkmode.haml +310 -0
- package/src/pages/navigation/header-centered.haml +77 -0
- /package/src/pages/layouts/{layout-chatwindow.haml → layout-full.haml} +0 -0
|
@@ -10,6 +10,13 @@ This document serves as a comprehensive reference for AI Agents to utilize the T
|
|
|
10
10
|
|
|
11
11
|
## Recent Updates (January 2026)
|
|
12
12
|
|
|
13
|
+
- ✨ **Centered Layout**: New centered application layout documentation and examples
|
|
14
|
+
- ✨ **Dark Mode Examples**: Comprehensive dark mode layout examples and documentation
|
|
15
|
+
- ✨ **Centered Actionbar**: Added centered variant for action bars with proper styling
|
|
16
|
+
- ✨ **Centered Header**: New header variant optimized for centered layouts
|
|
17
|
+
- 🎨 **Layout Examples**: Added `/pages/layouts/` section with layout examples (centered, darkmode, full-width)
|
|
18
|
+
- 📐 **Centered Content**: Proper max-width capped centered content containers
|
|
19
|
+
- 🌙 **Dark Mode Support**: Complete dark mode documentation with implementation examples
|
|
13
20
|
- ✨ **HAML Preview**: New HAML preview functionality for live component viewing
|
|
14
21
|
- ✨ **HAML Converter**: Added HAML conversion utility for template processing
|
|
15
22
|
- ✨ **AI Documentation**: Comprehensive AI documentation across all component pages
|
|
@@ -32,23 +39,24 @@ This document serves as a comprehensive reference for AI Agents to utilize the T
|
|
|
32
39
|
3. [Color System](#color-system)
|
|
33
40
|
4. [Typography](#typography)
|
|
34
41
|
5. [Spacing & Layout](#spacing--layout)
|
|
35
|
-
6. [
|
|
36
|
-
7. [
|
|
37
|
-
8. [
|
|
38
|
-
9. [
|
|
39
|
-
10. [
|
|
40
|
-
11. [
|
|
41
|
-
12. [
|
|
42
|
-
13. [
|
|
43
|
-
14. [
|
|
44
|
-
15. [
|
|
45
|
-
16. [
|
|
46
|
-
17. [
|
|
47
|
-
18. [
|
|
48
|
-
19. [
|
|
49
|
-
20. [
|
|
50
|
-
21. [
|
|
51
|
-
22. [
|
|
42
|
+
6. [Layout Patterns](#layout-patterns)
|
|
43
|
+
7. [Button Components](#button-components)
|
|
44
|
+
8. [Card Components](#card-components)
|
|
45
|
+
9. [Form Components](#form-components)
|
|
46
|
+
10. [Overlay Components (Modal & Drawer)](#overlay-components-modal--drawer)
|
|
47
|
+
11. [Page Layout Components](#page-layout-components)
|
|
48
|
+
12. [Navigation Components](#navigation-components)
|
|
49
|
+
13. [Feedback Components](#feedback-components)
|
|
50
|
+
14. [Data Display Components](#data-display-components)
|
|
51
|
+
15. [List Components](#list-components)
|
|
52
|
+
16. [Splitview Components](#splitview-components)
|
|
53
|
+
17. [Chat Components](#chat-components)
|
|
54
|
+
18. [Chart Components](#chart-components)
|
|
55
|
+
19. [Status & Progress Components](#status--progress-components)
|
|
56
|
+
20. [Utility Components](#utility-components)
|
|
57
|
+
21. [AgenticQA Components](#agenticqa-components)
|
|
58
|
+
22. [Dark Mode](#dark-mode)
|
|
59
|
+
23. [Best Practices for AI Agents](#best-practices-for-ai-agents)
|
|
52
60
|
|
|
53
61
|
---
|
|
54
62
|
|
|
@@ -145,10 +153,17 @@ src/pages/
|
|
|
145
153
|
│ ├── spacing.haml
|
|
146
154
|
│ ├── paddings.haml
|
|
147
155
|
│ ├── margins.haml
|
|
148
|
-
│
|
|
156
|
+
│ ├── max_width.haml
|
|
157
|
+
│ ├── centered_layout.haml # Centered layout documentation
|
|
158
|
+
│ └── darkmode.haml # Dark mode layout documentation
|
|
159
|
+
├── layouts/ # Full layout examples
|
|
160
|
+
│ ├── layout-full.haml
|
|
161
|
+
│ ├── layout-centered.haml # Centered layout example
|
|
162
|
+
│ └── layout-darkmode.haml # Dark mode layout example
|
|
149
163
|
├── navigation/ # Navigation components
|
|
150
164
|
│ ├── header.haml
|
|
151
165
|
│ ├── header_*.haml # Portal-specific headers
|
|
166
|
+
│ ├── header-centered.haml # Centered layout header
|
|
152
167
|
│ ├── sidebar.haml
|
|
153
168
|
│ ├── sidebar_*.haml # Portal-specific sidebars
|
|
154
169
|
│ ├── tabnavigation.haml
|
|
@@ -181,9 +196,27 @@ npm start
|
|
|
181
196
|
# Visit: http://localhost:8080/forms/
|
|
182
197
|
# Visit: http://localhost:8080/tables/
|
|
183
198
|
# Visit: http://localhost:8080/charts/
|
|
199
|
+
# Visit: http://localhost:8080/layout/
|
|
184
200
|
```
|
|
185
201
|
|
|
186
|
-
#### 2. **
|
|
202
|
+
#### 2. **Layout Examples**
|
|
203
|
+
Complete layout examples with live previews:
|
|
204
|
+
```
|
|
205
|
+
# Full-width layout example
|
|
206
|
+
http://localhost:8080/pages/layouts/layout-full
|
|
207
|
+
|
|
208
|
+
# Centered layout example (recommended for documentation and forms)
|
|
209
|
+
http://localhost:8080/pages/layouts/layout-centered
|
|
210
|
+
|
|
211
|
+
# Dark mode layout example
|
|
212
|
+
http://localhost:8080/pages/layouts/layout-darkmode
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Layout Documentation:**
|
|
216
|
+
- [centered_layout.haml](src/pages/layout/centered_layout.haml) - Centered layout structure and documentation
|
|
217
|
+
- [darkmode.haml](src/pages/layout/darkmode.haml) - Dark mode implementation guide
|
|
218
|
+
|
|
219
|
+
#### 3. **HAML to HTML Reference**
|
|
187
220
|
|
|
188
221
|
```haml
|
|
189
222
|
<!-- HAML -->
|
|
@@ -339,6 +372,88 @@ xl: 90rem (1440px)
|
|
|
339
372
|
|
|
340
373
|
---
|
|
341
374
|
|
|
375
|
+
## Layout Patterns
|
|
376
|
+
|
|
377
|
+
### Standard Application Layout Structure
|
|
378
|
+
The application uses a consistent layout structure across all pages:
|
|
379
|
+
|
|
380
|
+
```html
|
|
381
|
+
<body class="app-body">
|
|
382
|
+
<header class="header">
|
|
383
|
+
<!-- Navigation and branding -->
|
|
384
|
+
</header>
|
|
385
|
+
<main class="main-content">
|
|
386
|
+
<!-- Page content -->
|
|
387
|
+
</main>
|
|
388
|
+
<footer class="actionbar">
|
|
389
|
+
<!-- Actions and controls -->
|
|
390
|
+
</footer>
|
|
391
|
+
</body>
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
### Full-Width Layout
|
|
395
|
+
Standard layout with content spanning the full width of the viewport:
|
|
396
|
+
|
|
397
|
+
```html
|
|
398
|
+
<body class="app-body">
|
|
399
|
+
<header class="header">
|
|
400
|
+
<!-- Full-width header -->
|
|
401
|
+
</header>
|
|
402
|
+
<main class="main-content">
|
|
403
|
+
<div class="page-content">
|
|
404
|
+
<!-- Content fills available space -->
|
|
405
|
+
</div>
|
|
406
|
+
</main>
|
|
407
|
+
<footer class="actionbar">
|
|
408
|
+
<!-- Full-width footer -->
|
|
409
|
+
</footer>
|
|
410
|
+
</body>
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
**Use Case:** Dashboard layouts, full-width data displays, and responsive mobile views.
|
|
414
|
+
|
|
415
|
+
### Centered Layout
|
|
416
|
+
Centered layout with max-width constraints for optimal readability on widescreen screens:
|
|
417
|
+
|
|
418
|
+
```html
|
|
419
|
+
<body class="app-body">
|
|
420
|
+
<header class="header">
|
|
421
|
+
<!-- Centered header -->
|
|
422
|
+
</header>
|
|
423
|
+
<main class="main-content centered">
|
|
424
|
+
<div class="centered-content">
|
|
425
|
+
<!-- Content centered with max-width -->
|
|
426
|
+
</div>
|
|
427
|
+
</main>
|
|
428
|
+
<footer class="actionbar centered">
|
|
429
|
+
<!-- Centered footer -->
|
|
430
|
+
</footer>
|
|
431
|
+
</body>
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
**Key Classes:**
|
|
435
|
+
- `.main-content.centered` - Centers the main content
|
|
436
|
+
- `.centered-content` - Wrapper for centered content with max-width constraint
|
|
437
|
+
- `.actionbar.centered` - Centered variant of action bar
|
|
438
|
+
|
|
439
|
+
**Use Case:** Documentation pages, information displays, form submissions, and content with optimal line length requirements.
|
|
440
|
+
|
|
441
|
+
**Max-Width Values:**
|
|
442
|
+
- `.max-w-capped` - Standard max-width for centered content (typically 800px)
|
|
443
|
+
- Ensures readability on widescreen displays while maintaining responsive behavior
|
|
444
|
+
|
|
445
|
+
**Example Centered Actionbar:**
|
|
446
|
+
```html
|
|
447
|
+
<footer class="actionbar centered">
|
|
448
|
+
<div class="flex justify-center gap-md">
|
|
449
|
+
<button class="btn btn-secondary">Cancel</button>
|
|
450
|
+
<button class="btn btn-primary">Submit</button>
|
|
451
|
+
</div>
|
|
452
|
+
</footer>
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
---
|
|
456
|
+
|
|
342
457
|
## Button Components
|
|
343
458
|
|
|
344
459
|
### Basic Buttons
|
|
@@ -2236,7 +2351,34 @@ Product-specific components for the AgenticQA platform.
|
|
|
2236
2351
|
|
|
2237
2352
|
## Dark Mode
|
|
2238
2353
|
|
|
2239
|
-
The design system includes comprehensive dark mode support with customized theme variables.
|
|
2354
|
+
The design system includes comprehensive dark mode support with customized theme variables and a centered layout variant for dark mode displays.
|
|
2355
|
+
|
|
2356
|
+
### Enabling Dark Mode
|
|
2357
|
+
|
|
2358
|
+
```html
|
|
2359
|
+
<!-- Apply dark class to body or container -->
|
|
2360
|
+
<body class="app-body dark">
|
|
2361
|
+
<!-- All dark mode styles will be applied -->
|
|
2362
|
+
</body>
|
|
2363
|
+
```
|
|
2364
|
+
|
|
2365
|
+
### Dark Mode Layout Structure
|
|
2366
|
+
|
|
2367
|
+
```html
|
|
2368
|
+
<body class="app-body dark">
|
|
2369
|
+
<header class="header">
|
|
2370
|
+
<!-- Dark mode header -->
|
|
2371
|
+
</header>
|
|
2372
|
+
<main class="main-content centered">
|
|
2373
|
+
<div class="centered-content">
|
|
2374
|
+
<!-- Centered content with dark mode styling -->
|
|
2375
|
+
</div>
|
|
2376
|
+
</main>
|
|
2377
|
+
<footer class="actionbar centered">
|
|
2378
|
+
<!-- Centered actionbar for dark mode -->
|
|
2379
|
+
</footer>
|
|
2380
|
+
</body>
|
|
2381
|
+
```
|
|
2240
2382
|
|
|
2241
2383
|
### Dark Mode Color Palette
|
|
2242
2384
|
```css
|
|
@@ -2282,14 +2424,56 @@ The design system includes comprehensive dark mode support with customized theme
|
|
|
2282
2424
|
<div class="bg-card dark:bg-listitem">
|
|
2283
2425
|
<!-- Light mode: #e6e6e6, Dark mode: #262626 -->
|
|
2284
2426
|
</div>
|
|
2427
|
+
|
|
2428
|
+
<!-- Buttons with dark mode -->
|
|
2429
|
+
<div class="dark">
|
|
2430
|
+
<button class="btn btn-primary">
|
|
2431
|
+
<!-- Automatically styled for dark mode -->
|
|
2432
|
+
</button>
|
|
2433
|
+
</div>
|
|
2285
2434
|
```
|
|
2286
2435
|
|
|
2287
|
-
### Dark Mode
|
|
2436
|
+
### Dark Mode Layout Examples
|
|
2437
|
+
|
|
2438
|
+
**Centered Dark Mode Layout:**
|
|
2439
|
+
- Optimal for documentation or form-based interfaces
|
|
2440
|
+
- Content is centered with max-width constraint
|
|
2441
|
+
- Footer actionbar is also centered
|
|
2442
|
+
- View live example: `/pages/layouts/layout-darkmode`
|
|
2443
|
+
|
|
2444
|
+
**Dark Mode with Forms:**
|
|
2445
|
+
- Form controls are optimized for dark backgrounds
|
|
2446
|
+
- Input fields have proper contrast
|
|
2447
|
+
- Labels and hints are readable
|
|
2448
|
+
- Error states are clearly visible
|
|
2449
|
+
|
|
2450
|
+
### Dark Mode Differences from Light Mode
|
|
2288
2451
|
- Border radius: `5px` → `12px`
|
|
2289
2452
|
- Grid gutters: `20px` → `40px`
|
|
2290
2453
|
- Table cell padding: `py-xs` → `py-md`
|
|
2291
2454
|
- Chat layout: 3 columns → 2 columns (actions hidden)
|
|
2292
|
-
- Link colors: Petrol → Purple, Hover:
|
|
2455
|
+
- Link colors: Petrol → Purple (#8988eb), Hover: Dark Purple (#7954ff)
|
|
2456
|
+
- Text color: System colors → Light gray (#f2f2f2)
|
|
2457
|
+
- Font sizes: Labels reduced to 0.75rem (from 0.8125rem)
|
|
2458
|
+
- Card headers: 1.125rem in dark mode
|
|
2459
|
+
|
|
2460
|
+
### Dark Mode Best Practices
|
|
2461
|
+
|
|
2462
|
+
1. **Testing Dark Mode**
|
|
2463
|
+
- Always preview components with the `.dark` class applied
|
|
2464
|
+
- Test contrast ratios for accessibility compliance
|
|
2465
|
+
- Verify all interactive elements are clearly visible
|
|
2466
|
+
|
|
2467
|
+
2. **Component-Specific Adjustments**
|
|
2468
|
+
- Buttons: Use inverted variants for dark backgrounds
|
|
2469
|
+
- Cards: Ensure sufficient contrast with dark background
|
|
2470
|
+
- Text: Use light colors for readability
|
|
2471
|
+
- Borders: Use subdued colors that don't overpower the dark background
|
|
2472
|
+
|
|
2473
|
+
3. **Dark Mode CSS Utilities**
|
|
2474
|
+
- Use Tailwind's `dark:` prefix for conditional dark mode styles
|
|
2475
|
+
- Example: `bg-white dark:bg-gray-800`
|
|
2476
|
+
- Combine with custom CSS variables for consistency
|
|
2293
2477
|
|
|
2294
2478
|
---
|
|
2295
2479
|
|
|
@@ -2302,6 +2486,7 @@ The design system includes comprehensive dark mode support with customized theme
|
|
|
2302
2486
|
- Apply layout classes: `header`, `sidebar`, `main`, `section`
|
|
2303
2487
|
- Use grid or flex utilities for responsive layouts
|
|
2304
2488
|
- Consider using `.page-header` for dashboard pages
|
|
2489
|
+
- Choose between standard full-width or centered layout
|
|
2305
2490
|
|
|
2306
2491
|
2. **Component Selection**
|
|
2307
2492
|
- Choose the appropriate component variant for the use case
|
|
@@ -2320,29 +2505,40 @@ The design system includes comprehensive dark mode support with customized theme
|
|
|
2320
2505
|
- Include alt text for images
|
|
2321
2506
|
- Use `<label>` elements with `for` attributes
|
|
2322
2507
|
|
|
2323
|
-
5. **
|
|
2508
|
+
5. **Layout Pattern Selection**
|
|
2509
|
+
- **Full-Width Layout**: Use for dashboards and data displays
|
|
2510
|
+
- **Centered Layout**: Use for documentation and forms
|
|
2511
|
+
- Both support dark mode with proper styling
|
|
2512
|
+
- Choose based on content type and readability requirements
|
|
2513
|
+
|
|
2514
|
+
6. **Dark Mode Considerations**
|
|
2324
2515
|
- Always test components with `.dark` class applied
|
|
2325
2516
|
- Border radius is larger in dark mode (12px vs 5px)
|
|
2326
2517
|
- Grid gutters are larger in dark mode (40px vs 20px)
|
|
2327
2518
|
- Use `dark:` prefix for conditional dark mode styles
|
|
2519
|
+
- Ensure sufficient contrast for readability
|
|
2520
|
+
- Test with actual dark mode enabled in browsers
|
|
2328
2521
|
|
|
2329
|
-
|
|
2522
|
+
7. **Form Best Practices**
|
|
2330
2523
|
- Use `.form-grid` for form layouts
|
|
2331
2524
|
- Apply `.form-group` wrapper around each field
|
|
2332
2525
|
- Use `.form-hint` for helper text
|
|
2333
2526
|
- Use `.field_with_errors` for validation states
|
|
2527
|
+
- Forms work well in both centered and full-width layouts
|
|
2334
2528
|
|
|
2335
|
-
|
|
2529
|
+
8. **Table Best Practices**
|
|
2336
2530
|
- Use `.table` for standard data tables
|
|
2337
2531
|
- Use `.table-standard` for key-value style tables
|
|
2338
2532
|
- Use `.table-cellstyle` for status tracking tables
|
|
2339
2533
|
- Use `.action-cell` for right-aligned action buttons
|
|
2534
|
+
- Tables automatically adapt to dark mode
|
|
2340
2535
|
|
|
2341
|
-
|
|
2536
|
+
9. **Page Header Best Practices**
|
|
2342
2537
|
- Use `.page-header` for dashboard/session pages
|
|
2343
2538
|
- Main card should have `.page-maincard` and `p-card-padding`
|
|
2344
2539
|
- Add `.with-chart` modifier when including charts
|
|
2345
2540
|
- Actions go in `.page-actions`
|
|
2541
|
+
- Supports dark mode styling
|
|
2346
2542
|
|
|
2347
2543
|
---
|
|
2348
2544
|
|
|
@@ -2351,13 +2547,28 @@ The design system includes comprehensive dark mode support with customized theme
|
|
|
2351
2547
|
### Version 3.22.0 - January 2026
|
|
2352
2548
|
|
|
2353
2549
|
**New Features:**
|
|
2354
|
-
-
|
|
2355
|
-
-
|
|
2356
|
-
-
|
|
2550
|
+
- ✨ Centered layout documentation and examples for improved readability
|
|
2551
|
+
- ✨ Dark mode layout examples and enhanced dark mode documentation
|
|
2552
|
+
- ✨ Centered actionbar variant for dark mode and standard layouts
|
|
2553
|
+
- ✨ Centered header styling for consistent layout patterns
|
|
2554
|
+
- ✨ HAML Preview functionality for live component viewing
|
|
2555
|
+
- ✨ HAML Converter utility for template processing
|
|
2556
|
+
- ✨ Comprehensive AI documentation across all component pages
|
|
2357
2557
|
|
|
2358
2558
|
**Enhancements:**
|
|
2359
|
-
-
|
|
2360
|
-
- Enhanced
|
|
2559
|
+
- 📐 New layout patterns section with centered and full-width examples
|
|
2560
|
+
- 🌙 Enhanced dark mode documentation with implementation examples
|
|
2561
|
+
- 📋 All component pages now include descriptions and use cases
|
|
2562
|
+
- 🎯 Updated layout documentation with max-width constraints
|
|
2563
|
+
- 🎨 Form and table components optimized for dark mode
|
|
2564
|
+
- 📝 Added layout selection guidelines for AI agents
|
|
2565
|
+
|
|
2566
|
+
**Layout Updates:**
|
|
2567
|
+
- Added `/pages/layouts/layout-centered` for centered layout examples
|
|
2568
|
+
- Added `/pages/layouts/layout-darkmode` for dark mode examples
|
|
2569
|
+
- Added `/pages/layout/centered_layout.haml` documentation
|
|
2570
|
+
- Added `/pages/layout/darkmode.haml` documentation
|
|
2571
|
+
- Added `/pages/navigation/header-centered.haml` for centered headers
|
|
2361
2572
|
- Improved layout documentation with examples
|
|
2362
2573
|
- Typography pages updated with link and icon examples
|
|
2363
2574
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<header class="header centered">
|
|
2
|
+
|
|
3
|
+
<div class="header-wrapper">
|
|
4
|
+
<div class="navlinks logo-wrapper"><a class="navlink header-logo" href="#"></a></div>
|
|
5
|
+
<div class="navlinks left">
|
|
6
|
+
<a class="navlink active" href="#">Navlink active</a>
|
|
7
|
+
<a class="navlink" href="#">Navlink</a>
|
|
8
|
+
<a class="navlink" href="#"><span class="icon icon-check-circle-filled mr-icon-spacing"></span>Navlink</a>
|
|
9
|
+
<details class="header-dropdown">
|
|
10
|
+
<summary class="navlink">Collapsable</summary>
|
|
11
|
+
<div class="dropdown-menu">
|
|
12
|
+
<a class="navlink active" href="#">Navlink active</a>
|
|
13
|
+
<a class="navlink" href="#">Navlink</a>
|
|
14
|
+
<a class="navlink" href="#"><span class="icon icon-check-circle-filled mr-icon-spacing"></span>Navlink</a>
|
|
15
|
+
</div>
|
|
16
|
+
</details>
|
|
17
|
+
</div>
|
|
18
|
+
<details class="mobile-links">
|
|
19
|
+
<summary class="mobile-menu-btn">
|
|
20
|
+
<div class="navlink"><span class="sr-only">Open main menu</span><span class="text-icon-default icon icon-menu" aria-hidden="true"></span></div>
|
|
21
|
+
</summary>
|
|
22
|
+
<div class="mobile-menu sidebar">
|
|
23
|
+
<a class="navlink active" href="#">Navlink active</a>
|
|
24
|
+
<a class="navlink" href="#">Navlink</a>
|
|
25
|
+
<a class="navlink" href="#"><span class="icon icon-check-circle-filled"></span>Navlink</a>
|
|
26
|
+
<details class="header-dropdown">
|
|
27
|
+
<summary class="navlink">Collapsable</summary>
|
|
28
|
+
<div class="dropdown-menu">
|
|
29
|
+
<a class="navlink active" href="#">Navlink active</a>
|
|
30
|
+
<a class="navlink" href="#">Navlink</a>
|
|
31
|
+
<a class="navlink" href="#"><span class="icon icon-check-circle-filled mr-icon-spacing"></span>Navlink</a>
|
|
32
|
+
</div>
|
|
33
|
+
</details>
|
|
34
|
+
</div>
|
|
35
|
+
</details>
|
|
36
|
+
<div class="navlinks right">
|
|
37
|
+
<details class="header-dropdown user-menu" href="#">
|
|
38
|
+
<summary class="btn-profile navlink">
|
|
39
|
+
<img class="user-profile" src="/assets/images/placeholders/profile_supergirl.png">
|
|
40
|
+
<div class="user-details">
|
|
41
|
+
<div class="profile-role">Admin</div>
|
|
42
|
+
<div class="profile-name">Anja Berger</div>
|
|
43
|
+
</div>
|
|
44
|
+
</summary>
|
|
45
|
+
<div class="dropdown-menu profile-dropdown">
|
|
46
|
+
<a class="dropdown-link" href="#"><span class="icon icon-user text-icon-default mr-icon-spacing"></span>Your Profile</a>
|
|
47
|
+
<a class="dropdown-link" href="#"><span class="icon icon-cog text-icon-default mr-icon-spacing"></span>Settings</a>
|
|
48
|
+
<a class="dropdown-link" href="#"><span class="icon icon-shutdown text-icon-default mr-icon-spacing"></span>Sign out</a>
|
|
49
|
+
</div>
|
|
50
|
+
</details>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</header>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
{% include "head.njk" %}
|
|
4
|
+
|
|
5
|
+
<body class="app-body">
|
|
6
|
+
{% include "header.njk" %}
|
|
7
|
+
|
|
8
|
+
{% block content %}
|
|
9
|
+
<main class="page-example-container">
|
|
10
|
+
<div class="app-body">
|
|
11
|
+
{% include "example-header-centered.njk" %}
|
|
12
|
+
{{ content | safe }}
|
|
13
|
+
</div>
|
|
14
|
+
</main>
|
|
15
|
+
{% endblock %}
|
|
16
|
+
|
|
17
|
+
</body>
|
|
18
|
+
{% include "footer-scripts.njk" %}
|
|
19
|
+
</html>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
{% include "head.njk" %}
|
|
4
|
+
|
|
5
|
+
<body class="app-body dark">
|
|
6
|
+
{% include "header.njk" %}
|
|
7
|
+
|
|
8
|
+
{% block content %}
|
|
9
|
+
<main class="page-example-container">
|
|
10
|
+
<div class="app-body">
|
|
11
|
+
{% include "example-header.njk" %}
|
|
12
|
+
{{ content | safe }}
|
|
13
|
+
</div>
|
|
14
|
+
</main>
|
|
15
|
+
{% endblock %}
|
|
16
|
+
|
|
17
|
+
</body>
|
|
18
|
+
{% include "footer-scripts.njk" %}
|
|
19
|
+
</html>
|
|
@@ -39,3 +39,11 @@ footer.actionbar summary > .btn,
|
|
|
39
39
|
.splitview-details-actionbar summary > .btn {
|
|
40
40
|
@apply mr-0;
|
|
41
41
|
}
|
|
42
|
+
|
|
43
|
+
footer.actionbar.centered {
|
|
44
|
+
@apply justify-center;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
footer.actionbar.centered .content-wrapper {
|
|
48
|
+
@apply flex justify-between w-full max-w-centered-content;
|
|
49
|
+
}
|
|
@@ -225,4 +225,26 @@ details[open].header-dropdown .dropdown-menu.profile-dropdown {
|
|
|
225
225
|
-webkit-transform: translateX(20px);
|
|
226
226
|
-ms-transform: translateX(20px);
|
|
227
227
|
transform: translateX(20px);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* Centered header */
|
|
231
|
+
|
|
232
|
+
.header.centered {
|
|
233
|
+
@apply justify-center sm:px-body-padding-tablet xl:px-body-padding-desktop;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.header.centered .header-wrapper {
|
|
237
|
+
@apply flex justify-between items-center w-full max-w-centered-content;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.header.centered .logo-wrapper {
|
|
241
|
+
@apply w-auto -ml-xs;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.header.centered .navlinks.left {
|
|
245
|
+
@apply px-spacing;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.header.centered .navlinks.right {
|
|
249
|
+
@apply pr-0;
|
|
228
250
|
}
|
|
@@ -27,4 +27,6 @@ title: App layout structure
|
|
|
27
27
|
.ml-md <main class="main-content">
|
|
28
28
|
.ml-md <aside class="metasidebar">
|
|
29
29
|
.ml-md <footer class="actionbar">
|
|
30
|
-
</body">
|
|
30
|
+
</body">
|
|
31
|
+
%p.my-heading Take a look at the layout in action:
|
|
32
|
+
%a.btn.btn-primary{ href: "/pages/layouts/layout-full"} Layout example
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: layout
|
|
3
|
+
title: Centered layout
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
%p.mb-heading This is the structure of a centered application layout. In this layout all elements are centered and have a max-width to ensure optimal readability on widescreen resolutions.
|
|
7
|
+
.grid.gap-1px.p-xs.bg-card.rounded.centered.text-center
|
|
8
|
+
%p.mb-heading .app-body
|
|
9
|
+
.p-xs.pl-md.bg-petrol-dark.text-white.rounded-t .header
|
|
10
|
+
.bg-white.p-md.flex.flex-col.items-center
|
|
11
|
+
%p.mb-heading .main-content.centered
|
|
12
|
+
.bg-gray-light.py-md.max-w-capped.w-full .centered-content
|
|
13
|
+
.bg-petrol.text-white.p-xs.pl-md.rounded-b footer.actionbar.centered
|
|
14
|
+
|
|
15
|
+
%h5.mt-md HTML structure
|
|
16
|
+
%p.mb-heading The following code snippet illustrates the HTML structure of the app layout components:
|
|
17
|
+
%code
|
|
18
|
+
<body class="app-body">
|
|
19
|
+
%br
|
|
20
|
+
.ml-md <header class="header">
|
|
21
|
+
.ml-md <main class="main-content centered">
|
|
22
|
+
.ml-lg <div class="centered-content">
|
|
23
|
+
.ml-md <footer class="actionbar">
|
|
24
|
+
</body">
|
|
25
|
+
%p.my-heading Take a look at the layout in action:
|
|
26
|
+
%a.btn.btn-primary{ href: "/pages/layouts/layout-centered"} Layout example
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: layout
|
|
3
|
+
title: Darkmode
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
%p.mb-heading To use dark mode, add the class <code>dark</code> to the <code>body</code> element.
|
|
7
|
+
<body class="app-body dark">
|
|
8
|
+
%p.my-heading Take a look at the layout in action:
|
|
9
|
+
%a.btn.btn-primary{ href: "/pages/layouts/layout-darkmode"} Layout example
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page-example-centered
|
|
3
|
+
title: "Centered"
|
|
4
|
+
tags: "layouts"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
%main.main-content.centered
|
|
8
|
+
.centered-content
|
|
9
|
+
%h1.mb-heading Layout Centered
|
|
10
|
+
%p This layout centers the content within the viewport, providing a focused and balanced design. It is ideal for pages where it's not necessary to utilize the full width of widescreen resolutions.
|
|
11
|
+
%p Make sure to use a header and actionbar with centered content to align all elements properly.
|
|
12
|
+
.card.mt-md
|
|
13
|
+
.card-body Example card to illustrate the width of the centered layout.
|
|
14
|
+
%footer.actionbar.centered
|
|
15
|
+
.content-wrapper
|
|
16
|
+
%button.btn.btn-default.btn-primary
|
|
17
|
+
%span.icon.icon-check-circle-filled.mr-icon-spacing
|
|
18
|
+
Primary
|
|
19
|
+
%button.btn.btn-default.btn-secondary
|
|
20
|
+
%span.icon.icon-check-circle-filled.mr-icon-spacing
|
|
21
|
+
Secondary
|
|
22
|
+
%button.btn.btn-default.btn-info
|
|
23
|
+
%span.icon.icon-check-circle-filled.mr-icon-spacing
|
|
24
|
+
Info
|
|
25
|
+
%button.btn-intercom
|
|
26
|
+
%span.icon.icon-intercom
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page-example-darkmode.njk
|
|
3
|
+
title: "Darkmode"
|
|
4
|
+
tags: "layouts"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
%nav.sidebar{arialabel:'Sidebar'}
|
|
8
|
+
%a.navlink.active{href:'#'}
|
|
9
|
+
%span.navlink-badge.icon.icon-home
|
|
10
|
+
Navlink active
|
|
11
|
+
%a.navlink{href:'#'}
|
|
12
|
+
%span.navlink-badge.icon.icon-bug
|
|
13
|
+
Navlink
|
|
14
|
+
%details
|
|
15
|
+
%summary.navlink-container
|
|
16
|
+
.navlink
|
|
17
|
+
%span.navlink-badge.icon.icon-product
|
|
18
|
+
Navlink collapsable
|
|
19
|
+
%a.navlink{href:'#'}
|
|
20
|
+
%span.navlink-badge.icon.icon-test
|
|
21
|
+
Navlink children
|
|
22
|
+
%a.navlink{href:'#'}
|
|
23
|
+
%span.navlink-badge.icon.icon-test
|
|
24
|
+
Navlink children
|
|
25
|
+
%a.navlink{href:'#'}
|
|
26
|
+
%span.navlink-badge.icon.icon-test
|
|
27
|
+
Navlink children
|
|
28
|
+
%a.navlink{href:'#'}
|
|
29
|
+
%span.navlink-badge.icon.icon-test
|
|
30
|
+
Navlink children
|
|
31
|
+
%a.navlink{href:'#'}
|
|
32
|
+
%span.navlink-badge.icon.icon-bug-reproduction
|
|
33
|
+
Navlink with a long title to see how things are breaking into several lines and don't cause a broken layout
|
|
34
|
+
%main.main-content.main-content-padding
|
|
35
|
+
%h1.mb-heading Darkmode example
|
|
36
|
+
%p.mb-heading This is a layout that includes a sidebar for navigation, a metasidebar for additional information or actions, and an actionbar at the bottom for primary actions. In addition to these elements, it also features a chat container for real-time communication. This layout is ideal for applications that require multiple interactive components while maintaining a clean and organized interface.
|
|
37
|
+
%section.section
|
|
38
|
+
.grid.gap-1px.p-xs.bg-gray-lightest.rounded
|
|
39
|
+
%p .app-body
|
|
40
|
+
.p-xs.pl-md.bg-petrol-dark.text-white.rounded-top .header
|
|
41
|
+
.grid.grid-cols-2-auto-fr.gap-1px
|
|
42
|
+
.bg-petrol-dark.text-white.p-xs.pl-md.w-sidebar.rounded-bl nav.sidebar
|
|
43
|
+
.grid.gap-1px
|
|
44
|
+
.grid.grid-cols-2-fr-auto
|
|
45
|
+
.bg-white.p-xs.pl-md.h-xxl .main-content
|
|
46
|
+
.bg-gray-lighter.p-xs.pl-md.w-metasidebar aside.metasidebar
|
|
47
|
+
.bg-info.text-white.p-xs.pl-md.rounded-br .chat-container
|
|
48
|
+
.bg-petrol.text-white.p-xs.pl-md.rounded-br footer.actionbar
|
|
49
|
+
%h5.mt-md HTML structure
|
|
50
|
+
%code
|
|
51
|
+
<body class="app-body">
|
|
52
|
+
%br
|
|
53
|
+
.ml-md <header class="header">
|
|
54
|
+
.ml-md <nav class="sidebar">
|
|
55
|
+
.ml-md <main class="main-content">
|
|
56
|
+
.ml-md <aside class="metasidebar">
|
|
57
|
+
.ml-md <div class="chat-container">
|
|
58
|
+
.ml-md <footer class="actionbar">
|
|
59
|
+
</body">
|
|
60
|
+
%section.section
|
|
61
|
+
%h2.mb-heading Dummy Content
|
|
62
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
63
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
64
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
65
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
66
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
67
|
+
%aside.metasidebar
|
|
68
|
+
%details.metasidebar-wrapper{open:"true"}
|
|
69
|
+
%summary.metasidebar-btn
|
|
70
|
+
.metasidebar-content
|
|
71
|
+
%h2.metasidebar-title Metasidebar title
|
|
72
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
73
|
+
%h3.metasidebar-subheading Metasidebar subheading
|
|
74
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
75
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
76
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
77
|
+
%p Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur
|
|
78
|
+
%footer.actionbar
|
|
79
|
+
%button.btn.btn-default.btn-primary
|
|
80
|
+
%span.icon.icon-check-circle-filled.mr-icon-spacing
|
|
81
|
+
Primary action
|
|
82
|
+
%button.btn.btn-default.btn-secondary
|
|
83
|
+
%span.icon.icon-check-circle-filled.mr-icon-spacing
|
|
84
|
+
Secondary action
|
|
85
|
+
%button.btn-intercom
|
|
86
|
+
.icon.icon-intercom
|
|
87
|
+
.chat-container
|
|
88
|
+
%details.chat-window
|
|
89
|
+
%summary.chat-window-header
|
|
90
|
+
.chat-message-counter 999
|
|
91
|
+
%a{href:""} #123321
|
|
92
|
+
.chat-title Chat title
|
|
93
|
+
%button.btn.btn-xs.btn-ghost-inverted.btn-square
|
|
94
|
+
.icon.icon-xs.icon-cross
|
|
95
|
+
.list-chat-messages
|
|
96
|
+
.chat-message-item
|
|
97
|
+
%details.dropdown-actions.chat-avatar
|
|
98
|
+
%summary
|
|
99
|
+
.user-item.linked
|
|
100
|
+
%img{src:"/assets/images/placeholders/profile_supergirl.png"}
|
|
101
|
+
.popover-menu
|
|
102
|
+
%a.popover-action{href:'#'}
|
|
103
|
+
%span.icon.icon-user-story-test
|
|
104
|
+
Tester profile
|
|
105
|
+
%a.popover-action{href:'#'}
|
|
106
|
+
%span.icon.icon-review-exclamation
|
|
107
|
+
Report tester
|
|
108
|
+
.chat-header
|
|
109
|
+
%span 2 hours by
|
|
110
|
+
%span.chat-author Message sender
|
|
111
|
+
.chat-message
|
|
112
|
+
Here's a short message.
|
|
113
|
+
.chat-actions
|
|
114
|
+
.btn
|
|
115
|
+
.icon.icon-heart
|
|
116
|
+
.chat-message-item
|
|
117
|
+
%details.dropdown-actions.chat-avatar
|
|
118
|
+
%summary
|
|
119
|
+
.user-item.linked
|
|
120
|
+
%img{src:"/assets/images/placeholders/profile_supergirl.png"}
|
|
121
|
+
.popover-menu
|
|
122
|
+
%a.popover-action{href:'#'}
|
|
123
|
+
%span.icon.icon-user-story-test
|
|
124
|
+
Tester profile
|
|
125
|
+
%a.popover-action{href:'#'}
|
|
126
|
+
%span.icon.icon-review-exclamation
|
|
127
|
+
Report tester
|
|
128
|
+
.chat-header
|
|
129
|
+
%span 2 hours by
|
|
130
|
+
%span.chat-author Message sender with a much much longer name
|
|
131
|
+
.chat-message
|
|
132
|
+
Here's a short message which you liked.
|
|
133
|
+
.chat-message-addons
|
|
134
|
+
%details.popover-wrapper.dropup
|
|
135
|
+
%summary.btn
|
|
136
|
+
.icon.icon-heart-filled
|
|
137
|
+
1
|
|
138
|
+
.popover-menu.info
|
|
139
|
+
.popover-title 1 person likes this
|
|
140
|
+
.popover-content You
|
|
141
|
+
.chat-actions
|
|
142
|
+
.btn
|
|
143
|
+
.icon.icon-heart-filled
|
|
144
|
+
.chat-message-item
|
|
145
|
+
%details.dropdown-actions.chat-avatar
|
|
146
|
+
%summary
|
|
147
|
+
.user-item.linked
|
|
148
|
+
%img{src:"/assets/images/placeholders/profile_supergirl.png"}
|
|
149
|
+
.popover-menu
|
|
150
|
+
%a.popover-action{href:'#'}
|
|
151
|
+
%span.icon.icon-user-story-test
|
|
152
|
+
Tester profile
|
|
153
|
+
%a.popover-action{href:'#'}
|
|
154
|
+
%span.icon.icon-review-exclamation
|
|
155
|
+
Report tester
|
|
156
|
+
.chat-header
|
|
157
|
+
%span 2 hours by
|
|
158
|
+
%span.chat-author Message sender
|
|
159
|
+
.chat-message
|
|
160
|
+
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.
|
|
161
|
+
.chat-message-addons
|
|
162
|
+
%details.popover-wrapper.dropup
|
|
163
|
+
%summary.btn
|
|
164
|
+
.icon.icon-heart-filled
|
|
165
|
+
10
|
|
166
|
+
.popover-menu.info
|
|
167
|
+
.popover-title 10 people like this
|
|
168
|
+
.popover-content Stephany77, HannaTester77, WonderTester, MerryJerryBerry, SuperTester3000, SomeTester, Torry444, UliaUsachova, TesterNumber9, TesterNumber10
|
|
169
|
+
%details.popover-wrapper.dropup
|
|
170
|
+
%summary.btn
|
|
171
|
+
.icon.icon-verify-check
|
|
172
|
+
TL
|
|
173
|
+
.popover-menu.info
|
|
174
|
+
.popover-title Verified by Team Leader
|
|
175
|
+
.popover-content Team Leader name
|
|
176
|
+
.chat-actions
|
|
177
|
+
%details.dropdown-actions.chat-message-actions
|
|
178
|
+
%summary
|
|
179
|
+
.btn
|
|
180
|
+
.icon.icon-more
|
|
181
|
+
.popover-menu
|
|
182
|
+
%a.popover-action{href:'#'}
|
|
183
|
+
%span.icon.icon-pencil
|
|
184
|
+
Action
|
|
185
|
+
%a.popover-action{href:'#'}
|
|
186
|
+
%span.icon.icon-remove
|
|
187
|
+
Action
|
|
188
|
+
.chat-message-item
|
|
189
|
+
%details.dropdown-actions.chat-avatar
|
|
190
|
+
%summary
|
|
191
|
+
.user-item.linked
|
|
192
|
+
%img{src:"/assets/images/placeholders/profile_supergirl.png"}
|
|
193
|
+
.popover-menu
|
|
194
|
+
%a.popover-action{href:'#'}
|
|
195
|
+
%span.icon.icon-user-story-test
|
|
196
|
+
Tester profile
|
|
197
|
+
%a.popover-action{href:'#'}
|
|
198
|
+
%span.icon.icon-review-exclamation
|
|
199
|
+
Report tester
|
|
200
|
+
.chat-header
|
|
201
|
+
%span 2 hours by
|
|
202
|
+
%span.chat-author Message sender with a much much longer name
|
|
203
|
+
.chat-message
|
|
204
|
+
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
|
205
|
+
.chat-actions
|
|
206
|
+
%details.dropdown-actions.chat-message-actions
|
|
207
|
+
%summary
|
|
208
|
+
.btn
|
|
209
|
+
.icon.icon-more
|
|
210
|
+
.popover-menu
|
|
211
|
+
%a.popover-action{href:'#'}
|
|
212
|
+
%span.icon.icon-pencil
|
|
213
|
+
Action
|
|
214
|
+
%a.popover-action{href:'#'}
|
|
215
|
+
%span.icon.icon-remove
|
|
216
|
+
Action
|
|
217
|
+
.chat-message-item.your-message
|
|
218
|
+
%img.chat-avatar{src:"/assets/images/placeholders/profile_supergirl.png"}
|
|
219
|
+
.chat-header
|
|
220
|
+
%span 2 hours by
|
|
221
|
+
%span.chat-author You
|
|
222
|
+
.chat-message
|
|
223
|
+
Your short chat message with no lorem ipsum.
|
|
224
|
+
.chat-actions
|
|
225
|
+
%details.dropdown-actions.chat-message-actions
|
|
226
|
+
%summary
|
|
227
|
+
.btn
|
|
228
|
+
.icon.icon-more
|
|
229
|
+
.popover-menu
|
|
230
|
+
%a.popover-action{href:'#'}
|
|
231
|
+
%span.icon.icon-pencil
|
|
232
|
+
Action
|
|
233
|
+
%a.popover-action{href:'#'}
|
|
234
|
+
%span.icon.icon-remove
|
|
235
|
+
Action
|
|
236
|
+
.chat-message-item.your-message
|
|
237
|
+
%img.chat-avatar{src:"/assets/images/placeholders/profile_supergirl.png"}
|
|
238
|
+
.chat-header
|
|
239
|
+
%span 2 hours by
|
|
240
|
+
%span.chat-author You
|
|
241
|
+
.chat-message
|
|
242
|
+
Another message by you with a lot ofLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
|
243
|
+
.chat-message-addons
|
|
244
|
+
%details.popover-wrapper.dropup
|
|
245
|
+
%summary.btn
|
|
246
|
+
.icon.icon-heart-filled
|
|
247
|
+
10
|
|
248
|
+
.popover-menu.info
|
|
249
|
+
.popover-title 10 people like this
|
|
250
|
+
.popover-content Stephany77, HannaTester77, WonderTester, MerryJerryBerry, SuperTester3000, SomeTester, Torry444, UliaUsachova, TesterNumber9, TesterNumber10
|
|
251
|
+
%details.popover-wrapper.dropup
|
|
252
|
+
%summary.btn
|
|
253
|
+
.icon.icon-verify-check
|
|
254
|
+
TL
|
|
255
|
+
.popover-menu.info
|
|
256
|
+
.popover-title Verified by Team Leader
|
|
257
|
+
.popover-content Team Leader name
|
|
258
|
+
.chat-message-item.announcement
|
|
259
|
+
%img.chat-avatar{src:"/assets/images/placeholders/profile_supergirl.png"}
|
|
260
|
+
.chat-header
|
|
261
|
+
%span 2 hours by
|
|
262
|
+
%span.chat-author Team Leader
|
|
263
|
+
.chat-message
|
|
264
|
+
.message-banner.announcement Announcement
|
|
265
|
+
%span.text-mentioned @All
|
|
266
|
+
here's an announcement with a lot of Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr.
|
|
267
|
+
.chat-message-addons
|
|
268
|
+
%a.btn{href:""} Show in chat
|
|
269
|
+
%details.popover-wrapper.dropup
|
|
270
|
+
%summary.btn
|
|
271
|
+
.icon.icon-heart-filled
|
|
272
|
+
10
|
|
273
|
+
.popover-menu.info
|
|
274
|
+
.popover-title 10 people like this
|
|
275
|
+
.popover-content Stephany77, HannaTester77, WonderTester, MerryJerryBerry, SuperTester3000, SomeTester, Torry444, UliaUsachova, TesterNumber9, TesterNumber10
|
|
276
|
+
%details.popover-wrapper.dropup
|
|
277
|
+
%summary.btn
|
|
278
|
+
.icon.icon-verify-check
|
|
279
|
+
TL
|
|
280
|
+
.popover-menu.info
|
|
281
|
+
.popover-title Verified by Team Leader
|
|
282
|
+
.popover-content Team Leader name
|
|
283
|
+
.chat-message-item
|
|
284
|
+
%img.chat-avatar{src:"/assets/images/placeholders/profile_supergirl.png"}
|
|
285
|
+
.chat-header
|
|
286
|
+
%span 2 hours by
|
|
287
|
+
%span.chat-author Team Leader
|
|
288
|
+
.chat-message
|
|
289
|
+
.message-banner.mentioned You were mentioned
|
|
290
|
+
%span.text-mentioned @You
|
|
291
|
+
here's an announcement with a lot of Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore.
|
|
292
|
+
.chat-message-addons
|
|
293
|
+
%details.popover-wrapper.dropup
|
|
294
|
+
%summary.btn
|
|
295
|
+
.icon.icon-heart-filled
|
|
296
|
+
10
|
|
297
|
+
.popover-menu.info
|
|
298
|
+
.popover-title 10 people like this
|
|
299
|
+
.popover-content Stephany77, HannaTester77, WonderTester, MerryJerryBerry, SuperTester3000, SomeTester, Torry444, UliaUsachova, TesterNumber9, TesterNumber10
|
|
300
|
+
%details.popover-wrapper.dropup
|
|
301
|
+
%summary.btn
|
|
302
|
+
.icon.icon-verify-check
|
|
303
|
+
TL
|
|
304
|
+
.popover-menu.info
|
|
305
|
+
.popover-title Verified by Team Leader
|
|
306
|
+
.popover-content Team Leader name
|
|
307
|
+
%form.chat-window-actions
|
|
308
|
+
%textarea.form-control{rows:'1', placeholder:"Enter your message"}
|
|
309
|
+
.btn.btn-sm.btn-square.btn-primary.btn-send-message
|
|
310
|
+
%input{type:"submit", value:""}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: navigation
|
|
3
|
+
title: Centered header
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
%p.mb-heading Header component with centered elements.
|
|
7
|
+
%nav.header.centered
|
|
8
|
+
.header-wrapper
|
|
9
|
+
.navlinks.logo-wrapper
|
|
10
|
+
%a.navlink.header-logo{href:'#'}
|
|
11
|
+
.navlinks.left
|
|
12
|
+
%a.navlink.active{href:'#'} Navlink active
|
|
13
|
+
%a.navlink{href:'#'} Navlink
|
|
14
|
+
%a.navlink{href:'#'}
|
|
15
|
+
%span.icon.icon-check-circle-filled
|
|
16
|
+
%span Navlink
|
|
17
|
+
%details.header-dropdown
|
|
18
|
+
%summary.navlink Collapsable
|
|
19
|
+
.dropdown-menu
|
|
20
|
+
%a.navlink{href:'#', role:'menuitem'}
|
|
21
|
+
%span.icon.icon-user
|
|
22
|
+
Dropdown-item
|
|
23
|
+
%a.navlink{href:'#', role:'menuitem'}
|
|
24
|
+
%span.icon.icon-cog
|
|
25
|
+
Dropdown-item
|
|
26
|
+
%a.navlink{href:'#', role:'menuitem'}
|
|
27
|
+
%span.icon.icon-shutdown
|
|
28
|
+
Dropdown-item with a longer text to see how things break and behave
|
|
29
|
+
%a.navlink.responsive-label{href:'#'}
|
|
30
|
+
%span.icon.icon-check-circle-filled
|
|
31
|
+
%span Responsive label
|
|
32
|
+
%details.mobile-links
|
|
33
|
+
%summary.mobile-menu-btn
|
|
34
|
+
.navlink
|
|
35
|
+
%span.sr-only Open main menu
|
|
36
|
+
%span.icon.icon-menu{ariahidden:'true'}
|
|
37
|
+
.mobile-menu.sidebar
|
|
38
|
+
%a.navlink.active{href:'#'}
|
|
39
|
+
%span.navlink-badge.icon.icon-home
|
|
40
|
+
Navlink active
|
|
41
|
+
%a.navlink{href:'#'}
|
|
42
|
+
%span.navlink-badge.icon.icon-plus
|
|
43
|
+
Add project
|
|
44
|
+
%details
|
|
45
|
+
%summary.navlink
|
|
46
|
+
%span.icon.icon-product
|
|
47
|
+
Collapsable
|
|
48
|
+
%a.navlink{href:'#'}
|
|
49
|
+
%span.icon.icon-test
|
|
50
|
+
Navlink child
|
|
51
|
+
%a.navlink{href:'#'}
|
|
52
|
+
%span.icon.icon-test
|
|
53
|
+
Navlink child
|
|
54
|
+
%a.navlink{href:'#'}
|
|
55
|
+
%span.icon.icon-test
|
|
56
|
+
Navlink child
|
|
57
|
+
%a.navlink.active{href:'#'}
|
|
58
|
+
%span.icon.icon-test
|
|
59
|
+
Active child
|
|
60
|
+
.navlinks.right
|
|
61
|
+
%details.header-dropdown.user-menu
|
|
62
|
+
%summary.btn-profile.navlink
|
|
63
|
+
%span.sr-only Open user menu
|
|
64
|
+
%img.user-profile{src:'/assets/images/placeholders/profile_supergirl.png', alt:''}
|
|
65
|
+
.user-details
|
|
66
|
+
.profile-role Admin
|
|
67
|
+
.profile-name Anja Berger
|
|
68
|
+
.dropdown-menu.profile-dropdown{role:'menu', ariaorientation:'vertical', arialabelledby:'user-menu'}
|
|
69
|
+
%a.dropdown-link{href:'#', role:'menuitem'}
|
|
70
|
+
%span.icon.icon-user
|
|
71
|
+
Your Profile
|
|
72
|
+
%a.dropdown-link{href:'#', role:'menuitem'}
|
|
73
|
+
%span.icon.icon-cog
|
|
74
|
+
Settings
|
|
75
|
+
%a.dropdown-link{href:'#', role:'menuitem'}
|
|
76
|
+
%span.icon.icon-shutdown
|
|
77
|
+
Sign out
|
|
File without changes
|