testio-tailwind 3.22.0 → 3.24.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.
@@ -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
@@ -23,6 +30,9 @@ This document serves as a comprehensive reference for AI Agents to utilize the T
23
30
  - 🔧 **Splitview Improvements**: Fixed splitview details close button and responsive behavior
24
31
  - 🏷️ **Image Tags**: Added support for image tagging in components
25
32
  - 🔧 **HAML Conversion**: Tables documentation files converted to HAML format
33
+ - ✨ **Form Group Enhancements**: Added vertical form groups, form addons with text/icons, and form card component
34
+ - 📋 **Form Hints**: Expanded form hints with collapsable help text and learn more triggers
35
+ - 🌐 **Multi-language Support**: Added optional-non-en attribute for internationalized optional labels
26
36
 
27
37
  ---
28
38
 
@@ -32,23 +42,24 @@ This document serves as a comprehensive reference for AI Agents to utilize the T
32
42
  3. [Color System](#color-system)
33
43
  4. [Typography](#typography)
34
44
  5. [Spacing & Layout](#spacing--layout)
35
- 6. [Button Components](#button-components)
36
- 7. [Card Components](#card-components)
37
- 8. [Form Components](#form-components)
38
- 9. [Overlay Components (Modal & Drawer)](#overlay-components-modal--drawer)
39
- 10. [Page Layout Components](#page-layout-components)
40
- 11. [Navigation Components](#navigation-components)
41
- 12. [Feedback Components](#feedback-components)
42
- 13. [Data Display Components](#data-display-components)
43
- 14. [List Components](#list-components)
44
- 15. [Splitview Components](#splitview-components)
45
- 16. [Chat Components](#chat-components)
46
- 17. [Chart Components](#chart-components)
47
- 18. [Status & Progress Components](#status--progress-components)
48
- 19. [Utility Components](#utility-components)
49
- 20. [AgenticQA Components](#agenticqa-components)
50
- 21. [Dark Mode](#dark-mode)
51
- 22. [Best Practices for AI Agents](#best-practices-for-ai-agents)
45
+ 6. [Layout Patterns](#layout-patterns)
46
+ 7. [Button Components](#button-components)
47
+ 8. [Card Components](#card-components)
48
+ 9. [Form Components](#form-components)
49
+ 10. [Overlay Components (Modal & Drawer)](#overlay-components-modal--drawer)
50
+ 11. [Page Layout Components](#page-layout-components)
51
+ 12. [Navigation Components](#navigation-components)
52
+ 13. [Feedback Components](#feedback-components)
53
+ 14. [Data Display Components](#data-display-components)
54
+ 15. [List Components](#list-components)
55
+ 16. [Splitview Components](#splitview-components)
56
+ 17. [Chat Components](#chat-components)
57
+ 18. [Chart Components](#chart-components)
58
+ 19. [Status & Progress Components](#status--progress-components)
59
+ 20. [Utility Components](#utility-components)
60
+ 21. [AgenticQA Components](#agenticqa-components)
61
+ 22. [Dark Mode](#dark-mode)
62
+ 23. [Best Practices for AI Agents](#best-practices-for-ai-agents)
52
63
 
53
64
  ---
54
65
 
@@ -145,10 +156,17 @@ src/pages/
145
156
  │ ├── spacing.haml
146
157
  │ ├── paddings.haml
147
158
  │ ├── margins.haml
148
- └── max_width.haml
159
+ ├── max_width.haml
160
+ │ ├── centered_layout.haml # Centered layout documentation
161
+ │ └── darkmode.haml # Dark mode layout documentation
162
+ ├── layouts/ # Full layout examples
163
+ │ ├── layout-full.haml
164
+ │ ├── layout-centered.haml # Centered layout example
165
+ │ └── layout-darkmode.haml # Dark mode layout example
149
166
  ├── navigation/ # Navigation components
150
167
  │ ├── header.haml
151
168
  │ ├── header_*.haml # Portal-specific headers
169
+ │ ├── header-centered.haml # Centered layout header
152
170
  │ ├── sidebar.haml
153
171
  │ ├── sidebar_*.haml # Portal-specific sidebars
154
172
  │ ├── tabnavigation.haml
@@ -181,9 +199,27 @@ npm start
181
199
  # Visit: http://localhost:8080/forms/
182
200
  # Visit: http://localhost:8080/tables/
183
201
  # Visit: http://localhost:8080/charts/
202
+ # Visit: http://localhost:8080/layout/
184
203
  ```
185
204
 
186
- #### 2. **HAML to HTML Reference**
205
+ #### 2. **Layout Examples**
206
+ Complete layout examples with live previews:
207
+ ```
208
+ # Full-width layout example
209
+ http://localhost:8080/pages/layouts/layout-full
210
+
211
+ # Centered layout example (recommended for documentation and forms)
212
+ http://localhost:8080/pages/layouts/layout-centered
213
+
214
+ # Dark mode layout example
215
+ http://localhost:8080/pages/layouts/layout-darkmode
216
+ ```
217
+
218
+ **Layout Documentation:**
219
+ - [centered_layout.haml](src/pages/layout/centered_layout.haml) - Centered layout structure and documentation
220
+ - [darkmode.haml](src/pages/layout/darkmode.haml) - Dark mode implementation guide
221
+
222
+ #### 3. **HAML to HTML Reference**
187
223
 
188
224
  ```haml
189
225
  <!-- HAML -->
@@ -339,6 +375,88 @@ xl: 90rem (1440px)
339
375
 
340
376
  ---
341
377
 
378
+ ## Layout Patterns
379
+
380
+ ### Standard Application Layout Structure
381
+ The application uses a consistent layout structure across all pages:
382
+
383
+ ```html
384
+ <body class="app-body">
385
+ <header class="header">
386
+ <!-- Navigation and branding -->
387
+ </header>
388
+ <main class="main-content">
389
+ <!-- Page content -->
390
+ </main>
391
+ <footer class="actionbar">
392
+ <!-- Actions and controls -->
393
+ </footer>
394
+ </body>
395
+ ```
396
+
397
+ ### Full-Width Layout
398
+ Standard layout with content spanning the full width of the viewport:
399
+
400
+ ```html
401
+ <body class="app-body">
402
+ <header class="header">
403
+ <!-- Full-width header -->
404
+ </header>
405
+ <main class="main-content">
406
+ <div class="page-content">
407
+ <!-- Content fills available space -->
408
+ </div>
409
+ </main>
410
+ <footer class="actionbar">
411
+ <!-- Full-width footer -->
412
+ </footer>
413
+ </body>
414
+ ```
415
+
416
+ **Use Case:** Dashboard layouts, full-width data displays, and responsive mobile views.
417
+
418
+ ### Centered Layout
419
+ Centered layout with max-width constraints for optimal readability on widescreen screens:
420
+
421
+ ```html
422
+ <body class="app-body">
423
+ <header class="header">
424
+ <!-- Centered header -->
425
+ </header>
426
+ <main class="main-content centered">
427
+ <div class="centered-content">
428
+ <!-- Content centered with max-width -->
429
+ </div>
430
+ </main>
431
+ <footer class="actionbar centered">
432
+ <!-- Centered footer -->
433
+ </footer>
434
+ </body>
435
+ ```
436
+
437
+ **Key Classes:**
438
+ - `.main-content.centered` - Centers the main content
439
+ - `.centered-content` - Wrapper for centered content with max-width constraint
440
+ - `.actionbar.centered` - Centered variant of action bar
441
+
442
+ **Use Case:** Documentation pages, information displays, form submissions, and content with optimal line length requirements.
443
+
444
+ **Max-Width Values:**
445
+ - `.max-w-capped` - Standard max-width for centered content (typically 800px)
446
+ - Ensures readability on widescreen displays while maintaining responsive behavior
447
+
448
+ **Example Centered Actionbar:**
449
+ ```html
450
+ <footer class="actionbar centered">
451
+ <div class="flex justify-center gap-md">
452
+ <button class="btn btn-secondary">Cancel</button>
453
+ <button class="btn btn-primary">Submit</button>
454
+ </div>
455
+ </footer>
456
+ ```
457
+
458
+ ---
459
+
342
460
  ## Button Components
343
461
 
344
462
  ### Basic Buttons
@@ -581,6 +699,8 @@ xl: 90rem (1440px)
581
699
  ## Form Components
582
700
 
583
701
  ### Form Group Structure
702
+
703
+ #### Horizontal Form Group (Default)
584
704
  ```html
585
705
  <div class="form-group">
586
706
  <label class="form-label">Email Address</label>
@@ -592,6 +712,40 @@ xl: 90rem (1440px)
592
712
  <label class="form-label optional">Phone Number</label>
593
713
  <input type="tel" class="form-control">
594
714
  </div>
715
+
716
+ <!-- Optional field with custom translation -->
717
+ <div class="form-group">
718
+ <label class="form-label optional-non-en" data-optional-non-en="(freiwillig)">Phone Number</label>
719
+ <input type="tel" class="form-control">
720
+ </div>
721
+
722
+ <!-- Inverted (for dark backgrounds) -->
723
+ <div class="form-group inverted">
724
+ <label class="form-label">Email Address</label>
725
+ <input type="email" class="form-control" placeholder="Enter email">
726
+ </div>
727
+ ```
728
+
729
+ #### Vertical Form Group
730
+ Use vertical form groups in tight spaces and narrow containers where horizontal layout cannot fit:
731
+
732
+ ```html
733
+ <div class="form-group vertical">
734
+ <label class="form-label">Email Address</label>
735
+ <input type="email" class="form-control" placeholder="Enter email">
736
+ </div>
737
+
738
+ <!-- Optional field with custom translation -->
739
+ <div class="form-group vertical">
740
+ <label class="form-label optional-non-en" data-optional-non-en="(freiwillig)">Phone Number</label>
741
+ <input type="tel" class="form-control">
742
+ </div>
743
+
744
+ <!-- Inverted (for dark backgrounds) -->
745
+ <div class="form-group vertical inverted">
746
+ <label class="form-label">Email Address</label>
747
+ <input type="email" class="form-control" placeholder="Enter email">
748
+ </div>
595
749
  ```
596
750
 
597
751
  ### Form Inputs
@@ -624,6 +778,29 @@ xl: 90rem (1440px)
624
778
  <div class="form-hint error">Please enter a valid email</div>
625
779
  ```
626
780
 
781
+ #### Collapsable Form Hints
782
+ ```html
783
+ <!-- Collapsable form hint with learn more trigger -->
784
+ <div class="form-group">
785
+ <label class="form-label">Your Project</label>
786
+ <div class="col">
787
+ <input class="form-control" type="text" placeholder="Some delicious placeholder text">
788
+ <details class="form-hint-collapsable">
789
+ <summary>
790
+ <div class="form-hint">
791
+ <span>
792
+ This is a help text.
793
+ <span class="form-hint-trigger form-hint-collapsed-text">Learn more</span>
794
+ <span class="form-hint-trigger form-hint-expanded-text">Close</span>
795
+ </span>
796
+ </div>
797
+ </summary>
798
+ <div class="form-hint-collapsable-message">Good examples are "Java wrapper lib for our 5-endpoint REST API" or "Help integration Intercom into our web interface"</div>
799
+ </details>
800
+ </div>
801
+ </div>
802
+ ```
803
+
627
804
  ### Form Grid Layout
628
805
  ```html
629
806
  <!-- Standard form grid -->
@@ -878,10 +1055,62 @@ xl: 90rem (1440px)
878
1055
 
879
1056
  ### Form with Addon
880
1057
  ```html
1058
+ <!-- Text addon (e.g., currency) -->
881
1059
  <div class="form-group with-addon">
882
1060
  <label class="form-label">Price</label>
883
1061
  <input type="number" class="form-control" placeholder="0.00">
884
- <div class="form-addon">USD</div>
1062
+ <div class="form-addon">
1063
+ <span class="text-label">EUR</span>
1064
+ </div>
1065
+ </div>
1066
+
1067
+ <!-- Icon addon (e.g., validation status) -->
1068
+ <div class="form-group with-addon">
1069
+ <label class="form-label">Email Address</label>
1070
+ <input type="email" class="form-control" placeholder="Enter email">
1071
+ <div class="form-addon">
1072
+ <span class="icon icon-check-circle-filled text-success"></span>
1073
+ </div>
1074
+ </div>
1075
+ ```
1076
+
1077
+ ### Form Card
1078
+ A card component containing a form with various input elements. Useful for collapsable form sections or multi-form layouts.
1079
+
1080
+ ```html
1081
+ <div class="form-card">
1082
+ <div class="form-card-heading">
1083
+ <div class="form-card-title">Form Card Title</div>
1084
+ <div class="form-card-actions">
1085
+ <button class="btn btn-square btn-sm btn-primary">
1086
+ <i class="icon icon-arrow-upward"></i>
1087
+ </button>
1088
+ <button class="btn btn-square btn-sm btn-primary">
1089
+ <i class="icon icon-arrow-downward"></i>
1090
+ </button>
1091
+ <button class="btn btn-square btn-sm btn-primary">
1092
+ <i class="icon icon-remove"></i>
1093
+ </button>
1094
+ </div>
1095
+ </div>
1096
+ <div class="form-grid">
1097
+ <div class="form-group">
1098
+ <label class="form-label">Input</label>
1099
+ <input class="form-control" type="text" placeholder="Enter text">
1100
+ </div>
1101
+ <div class="form-group">
1102
+ <label class="form-label">Textarea</label>
1103
+ <textarea class="form-control" rows="4" placeholder="Enter description"></textarea>
1104
+ </div>
1105
+ <div class="form-group form-select">
1106
+ <label class="form-label">Select</label>
1107
+ <select class="tom-select" placeholder="Please select">
1108
+ <option value=""></option>
1109
+ <option value="Option 1">Option 1</option>
1110
+ <option value="Option 2">Option 2</option>
1111
+ </select>
1112
+ </div>
1113
+ </div>
885
1114
  </div>
886
1115
  ```
887
1116
 
@@ -2236,7 +2465,34 @@ Product-specific components for the AgenticQA platform.
2236
2465
 
2237
2466
  ## Dark Mode
2238
2467
 
2239
- The design system includes comprehensive dark mode support with customized theme variables.
2468
+ The design system includes comprehensive dark mode support with customized theme variables and a centered layout variant for dark mode displays.
2469
+
2470
+ ### Enabling Dark Mode
2471
+
2472
+ ```html
2473
+ <!-- Apply dark class to body or container -->
2474
+ <body class="app-body dark">
2475
+ <!-- All dark mode styles will be applied -->
2476
+ </body>
2477
+ ```
2478
+
2479
+ ### Dark Mode Layout Structure
2480
+
2481
+ ```html
2482
+ <body class="app-body dark">
2483
+ <header class="header">
2484
+ <!-- Dark mode header -->
2485
+ </header>
2486
+ <main class="main-content centered">
2487
+ <div class="centered-content">
2488
+ <!-- Centered content with dark mode styling -->
2489
+ </div>
2490
+ </main>
2491
+ <footer class="actionbar centered">
2492
+ <!-- Centered actionbar for dark mode -->
2493
+ </footer>
2494
+ </body>
2495
+ ```
2240
2496
 
2241
2497
  ### Dark Mode Color Palette
2242
2498
  ```css
@@ -2282,14 +2538,56 @@ The design system includes comprehensive dark mode support with customized theme
2282
2538
  <div class="bg-card dark:bg-listitem">
2283
2539
  <!-- Light mode: #e6e6e6, Dark mode: #262626 -->
2284
2540
  </div>
2541
+
2542
+ <!-- Buttons with dark mode -->
2543
+ <div class="dark">
2544
+ <button class="btn btn-primary">
2545
+ <!-- Automatically styled for dark mode -->
2546
+ </button>
2547
+ </div>
2285
2548
  ```
2286
2549
 
2287
- ### Dark Mode Differences
2550
+ ### Dark Mode Layout Examples
2551
+
2552
+ **Centered Dark Mode Layout:**
2553
+ - Optimal for documentation or form-based interfaces
2554
+ - Content is centered with max-width constraint
2555
+ - Footer actionbar is also centered
2556
+ - View live example: `/pages/layouts/layout-darkmode`
2557
+
2558
+ **Dark Mode with Forms:**
2559
+ - Form controls are optimized for dark backgrounds
2560
+ - Input fields have proper contrast
2561
+ - Labels and hints are readable
2562
+ - Error states are clearly visible
2563
+
2564
+ ### Dark Mode Differences from Light Mode
2288
2565
  - Border radius: `5px` → `12px`
2289
2566
  - Grid gutters: `20px` → `40px`
2290
2567
  - Table cell padding: `py-xs` → `py-md`
2291
2568
  - Chat layout: 3 columns → 2 columns (actions hidden)
2292
- - Link colors: Petrol → Purple, Hover: Blue → Dark Purple
2569
+ - Link colors: Petrol → Purple (#8988eb), Hover: Dark Purple (#7954ff)
2570
+ - Text color: System colors → Light gray (#f2f2f2)
2571
+ - Font sizes: Labels reduced to 0.75rem (from 0.8125rem)
2572
+ - Card headers: 1.125rem in dark mode
2573
+
2574
+ ### Dark Mode Best Practices
2575
+
2576
+ 1. **Testing Dark Mode**
2577
+ - Always preview components with the `.dark` class applied
2578
+ - Test contrast ratios for accessibility compliance
2579
+ - Verify all interactive elements are clearly visible
2580
+
2581
+ 2. **Component-Specific Adjustments**
2582
+ - Buttons: Use inverted variants for dark backgrounds
2583
+ - Cards: Ensure sufficient contrast with dark background
2584
+ - Text: Use light colors for readability
2585
+ - Borders: Use subdued colors that don't overpower the dark background
2586
+
2587
+ 3. **Dark Mode CSS Utilities**
2588
+ - Use Tailwind's `dark:` prefix for conditional dark mode styles
2589
+ - Example: `bg-white dark:bg-gray-800`
2590
+ - Combine with custom CSS variables for consistency
2293
2591
 
2294
2592
  ---
2295
2593
 
@@ -2302,6 +2600,7 @@ The design system includes comprehensive dark mode support with customized theme
2302
2600
  - Apply layout classes: `header`, `sidebar`, `main`, `section`
2303
2601
  - Use grid or flex utilities for responsive layouts
2304
2602
  - Consider using `.page-header` for dashboard pages
2603
+ - Choose between standard full-width or centered layout
2305
2604
 
2306
2605
  2. **Component Selection**
2307
2606
  - Choose the appropriate component variant for the use case
@@ -2320,29 +2619,40 @@ The design system includes comprehensive dark mode support with customized theme
2320
2619
  - Include alt text for images
2321
2620
  - Use `<label>` elements with `for` attributes
2322
2621
 
2323
- 5. **Dark Mode Considerations**
2622
+ 5. **Layout Pattern Selection**
2623
+ - **Full-Width Layout**: Use for dashboards and data displays
2624
+ - **Centered Layout**: Use for documentation and forms
2625
+ - Both support dark mode with proper styling
2626
+ - Choose based on content type and readability requirements
2627
+
2628
+ 6. **Dark Mode Considerations**
2324
2629
  - Always test components with `.dark` class applied
2325
2630
  - Border radius is larger in dark mode (12px vs 5px)
2326
2631
  - Grid gutters are larger in dark mode (40px vs 20px)
2327
2632
  - Use `dark:` prefix for conditional dark mode styles
2633
+ - Ensure sufficient contrast for readability
2634
+ - Test with actual dark mode enabled in browsers
2328
2635
 
2329
- 6. **Form Best Practices**
2636
+ 7. **Form Best Practices**
2330
2637
  - Use `.form-grid` for form layouts
2331
2638
  - Apply `.form-group` wrapper around each field
2332
2639
  - Use `.form-hint` for helper text
2333
2640
  - Use `.field_with_errors` for validation states
2641
+ - Forms work well in both centered and full-width layouts
2334
2642
 
2335
- 7. **Table Best Practices**
2643
+ 8. **Table Best Practices**
2336
2644
  - Use `.table` for standard data tables
2337
2645
  - Use `.table-standard` for key-value style tables
2338
2646
  - Use `.table-cellstyle` for status tracking tables
2339
2647
  - Use `.action-cell` for right-aligned action buttons
2648
+ - Tables automatically adapt to dark mode
2340
2649
 
2341
- 8. **Page Header Best Practices**
2650
+ 9. **Page Header Best Practices**
2342
2651
  - Use `.page-header` for dashboard/session pages
2343
2652
  - Main card should have `.page-maincard` and `p-card-padding`
2344
2653
  - Add `.with-chart` modifier when including charts
2345
2654
  - Actions go in `.page-actions`
2655
+ - Supports dark mode styling
2346
2656
 
2347
2657
  ---
2348
2658
 
@@ -2351,13 +2661,28 @@ The design system includes comprehensive dark mode support with customized theme
2351
2661
  ### Version 3.22.0 - January 2026
2352
2662
 
2353
2663
  **New Features:**
2354
- - HAML Preview functionality for live component viewing
2355
- - HAML Converter utility for template processing
2356
- - Comprehensive AI documentation across all component pages
2664
+ - Centered layout documentation and examples for improved readability
2665
+ - Dark mode layout examples and enhanced dark mode documentation
2666
+ - Centered actionbar variant for dark mode and standard layouts
2667
+ - ✨ Centered header styling for consistent layout patterns
2668
+ - ✨ HAML Preview functionality for live component viewing
2669
+ - ✨ HAML Converter utility for template processing
2670
+ - ✨ Comprehensive AI documentation across all component pages
2357
2671
 
2358
2672
  **Enhancements:**
2359
- - All component pages now include descriptions and use cases
2360
- - Enhanced form component documentation (checkboxes, radios, toggles)
2673
+ - 📐 New layout patterns section with centered and full-width examples
2674
+ - 🌙 Enhanced dark mode documentation with implementation examples
2675
+ - 📋 All component pages now include descriptions and use cases
2676
+ - 🎯 Updated layout documentation with max-width constraints
2677
+ - 🎨 Form and table components optimized for dark mode
2678
+ - 📝 Added layout selection guidelines for AI agents
2679
+
2680
+ **Layout Updates:**
2681
+ - Added `/pages/layouts/layout-centered` for centered layout examples
2682
+ - Added `/pages/layouts/layout-darkmode` for dark mode examples
2683
+ - Added `/pages/layout/centered_layout.haml` documentation
2684
+ - Added `/pages/layout/darkmode.haml` documentation
2685
+ - Added `/pages/navigation/header-centered.haml` for centered headers
2361
2686
  - Improved layout documentation with examples
2362
2687
  - Typography pages updated with link and icon examples
2363
2688
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testio-tailwind",
3
- "version": "3.22.0",
3
+ "version": "3.24.0",
4
4
  "description": "Tailwind based design system for Test IO",
5
5
  "scripts": {
6
6
  "clean": "del dist --force",
@@ -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
+ }
@@ -2,6 +2,10 @@
2
2
  @apply relative grid grid-cols-1 md:grid-cols-1-3 md:gap-xs lg:gap-grid-gutter;
3
3
  }
4
4
 
5
+ .form-group.vertical {
6
+ @apply relative grid grid-cols-1 gap-0;
7
+ }
8
+
5
9
  .form-label {
6
10
  @apply text-label leading-tight;
7
11
 
@@ -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
  }
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  tags: "forms"
3
- title: Forms
3
+ title: Form group
4
4
  ---
5
5
 
6
- %p.mb-heading Various form input fields showcasing different states including optional, disabled, and inverted styles.
6
+ %p.mb-heading Form groups are used to wrap labels and form controls in order to provide proper spacing and structure. They change into a vertical layout on smaller screens.
7
7
  .form-grid
8
8
  .form-group
9
9
  %label.form-label Input
@@ -0,0 +1,28 @@
1
+ ---
2
+ tags: "forms"
3
+ title: Form group vertical
4
+ ---
5
+
6
+ %p.mb-heading Form groups with vertical layout are used to wrap labels and form controls. Us them in tight spaces and narrow containers in which you can't afford the horizontal layout.
7
+ .form-grid
8
+ .form-group.vertical
9
+ %label.form-label Input
10
+ %input.form-control{type:'text', placeholder:"Some delicious placeholder text"}
11
+ .form-group.vertical
12
+ %label.form-label.optional Not required input
13
+ %input.form-control{type:'text', placeholder:"Some delicious placeholder text"}
14
+ .form-group.vertical
15
+ %label.form-label.optional-non-en{"data-optional-non-en": "(freiwillig)"} Not required input
16
+ %div
17
+ %input.form-control{type:'text', placeholder:"Some delicious placeholder text"}
18
+ .form-hint For most cases you can use the english optional label, but we also added support for any translation you might need. Just add the data-optional-non-en => t(optional)
19
+ .form-group.vertical
20
+ %label.form-label Input disabled
21
+ %input.form-control{type:'text', value:"Some delicious readonly value text", disabled:"true"}
22
+ .form-grid.bg-black.p-3.mt-md
23
+ .form-group.vertical.inverted
24
+ %label.form-label Input inverted
25
+ %input.form-control{type:'text', placeholder:"Some delicious placeholder text"}
26
+ .form-group.vertical.inverted
27
+ %label.form-label Input inverted disabled
28
+ %input.form-control{type:'text', value:"Some delicious readonly value text", disabled:"true"}
@@ -27,4 +27,6 @@ title: App layout structure
27
27
  .ml-md &#60main class=&quotmain-content&quot&#62
28
28
  .ml-md &#60aside class=&quotmetasidebar&quot&#62
29
29
  .ml-md &#60footer class=&quotactionbar&quot&#62
30
- &#60/body&quot&#62
30
+ &#60/body&quot&#62
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
+ &#60body class=&quotapp-body&quot&#62
19
+ %br
20
+ .ml-md &#60header class=&quotheader&quot&#62
21
+ .ml-md &#60main class=&quotmain-content centered&quot&#62
22
+ .ml-lg &#60div class=&quotcentered-content&quot&#62
23
+ .ml-md &#60footer class=&quotactionbar&quot&#62
24
+ &#60/body&quot&#62
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
+ &#60body class=&quotapp-body dark&quot&#62
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&apos;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
+ &#60body class=&quotapp-body&quot&#62
52
+ %br
53
+ .ml-md &#60header class=&quotheader&quot&#62
54
+ .ml-md &#60nav class=&quotsidebar&quot&#62
55
+ .ml-md &#60main class=&quotmain-content&quot&#62
56
+ .ml-md &#60aside class=&quotmetasidebar&quot&#62
57
+ .ml-md &#60div class=&quotchat-container&quot&#62
58
+ .ml-md &#60footer class=&quotactionbar&quot&#62
59
+ &#60/body&quot&#62
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