testio-tailwind 3.21.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.
Files changed (143) hide show
  1. package/AI_DESIGN_SYSTEM_REFERENCE.md +2618 -0
  2. package/package.json +1 -1
  3. package/src/_data/navigation.json +4 -0
  4. package/src/_includes/example-header-centered.njk +53 -0
  5. package/src/_includes/header.njk +8 -8
  6. package/src/_includes/page-with-sidebar.njk +10 -1
  7. package/src/_layouts/page-example-centered.njk +19 -0
  8. package/src/_layouts/page-example-darkmode.njk +19 -0
  9. package/src/assets/scripts/app.js +27 -0
  10. package/src/assets/stylesheets/components/actionbar.css +8 -0
  11. package/src/assets/stylesheets/components/designsystem/designsystem-styles.css +4 -2
  12. package/src/assets/stylesheets/components/header.css +22 -0
  13. package/src/assets/stylesheets/components/tables.css +4 -0
  14. package/src/pages/buttons/block.haml +1 -0
  15. package/src/pages/buttons/button_group.haml +1 -0
  16. package/src/pages/buttons/buttons-lg.haml +1 -0
  17. package/src/pages/buttons/buttons-round.haml +1 -0
  18. package/src/pages/buttons/buttons-sm.haml +1 -0
  19. package/src/pages/buttons/buttons-xl.haml +1 -0
  20. package/src/pages/buttons/buttons.haml +1 -0
  21. package/src/pages/buttons/buttons_input.haml +4 -0
  22. package/src/pages/buttons/dropdown-menu.haml +2 -11
  23. package/src/pages/buttons/square-buttons.haml +15 -0
  24. package/src/pages/components/alerts.haml +1 -0
  25. package/src/pages/components/banner_cards.haml +1 -0
  26. package/src/pages/components/card_badges.haml +8 -7
  27. package/src/pages/components/cards.haml +15 -22
  28. package/src/pages/components/cards_customer.haml +1 -0
  29. package/src/pages/components/cards_fixedwidth.haml +7 -0
  30. package/src/pages/components/cards_iconheader.haml +1 -0
  31. package/src/pages/components/cards_tester.haml +1 -0
  32. package/src/pages/components/descriptionlist.haml +12 -3
  33. package/src/pages/components/devices.haml +1 -0
  34. package/src/pages/components/drawer.haml +1 -0
  35. package/src/pages/components/drawer_filter.haml +1 -0
  36. package/src/pages/components/emptystate.haml +2 -0
  37. package/src/pages/{buttons → components}/info_popover.haml +2 -1
  38. package/src/pages/components/listitem_with_actionbar.haml +1 -0
  39. package/src/pages/components/listitem_with_footer.haml +1 -0
  40. package/src/pages/components/listitems.haml +1 -0
  41. package/src/pages/components/listitems_badge.haml +1 -0
  42. package/src/pages/components/listitems_collapsable.haml +1 -0
  43. package/src/pages/components/listitems_nested.haml +1 -0
  44. package/src/pages/components/listitems_selectable.haml +1 -0
  45. package/src/pages/components/loading_spinner.haml +1 -0
  46. package/src/pages/components/metasidebar.haml +1 -0
  47. package/src/pages/components/modal_details.haml +3 -1
  48. package/src/pages/components/notifications.haml +2 -1
  49. package/src/pages/components/user_item.haml +1 -0
  50. package/src/pages/forms/attachments.pug +71 -0
  51. package/src/pages/forms/checkboxes.haml +1 -0
  52. package/src/pages/forms/checkboxes_devices.haml +1 -0
  53. package/src/pages/forms/date-time.haml +1 -0
  54. package/src/pages/forms/dropzone.pug +38 -0
  55. package/src/pages/forms/flatpickr.haml +1 -1
  56. package/src/pages/forms/form-addon.haml +1 -0
  57. package/src/pages/forms/form-card.haml +1 -0
  58. package/src/pages/forms/form_grid.haml +1 -0
  59. package/src/pages/forms/form_hint.haml +1 -0
  60. package/src/pages/forms/forms.haml +1 -0
  61. package/src/pages/forms/radiobuttons.haml +1 -0
  62. package/src/pages/forms/rating_scale.haml +1 -0
  63. package/src/pages/forms/search.haml +1 -0
  64. package/src/pages/forms/selectable_token.haml +1 -0
  65. package/src/pages/forms/selectable_token_browsers.haml +1 -0
  66. package/src/pages/forms/selectable_token_lg.haml +1 -0
  67. package/src/pages/forms/selectable_token_xl.haml +1 -0
  68. package/src/pages/forms/textarea.haml +4 -0
  69. package/src/pages/forms/toggle-buttons.haml +1 -0
  70. package/src/pages/forms/toggle-switch.haml +1 -0
  71. package/src/pages/forms/trix_editor.pug +1 -0
  72. package/src/pages/icons/bug-icons.haml +1 -0
  73. package/src/pages/icons/index.njk +18 -14
  74. package/src/pages/icons/status-icons.haml +1 -0
  75. package/src/pages/layout/app_layout.haml +5 -1
  76. package/src/pages/layout/centered_layout.haml +26 -0
  77. package/src/pages/layout/darkmode.haml +9 -0
  78. package/src/pages/layout/margins.haml +1 -0
  79. package/src/pages/layout/max_width.haml +2 -1
  80. package/src/pages/layout/paddings.haml +1 -0
  81. package/src/pages/layout/spacing.haml +1 -0
  82. package/src/pages/{examples → layouts}/agenticqa_splitview.haml +1 -1
  83. package/src/pages/layouts/layout-actionbar.haml +45 -0
  84. package/src/pages/{examples → layouts}/layout-basic.haml +3 -2
  85. package/src/pages/layouts/layout-centered.haml +26 -0
  86. package/src/pages/{examples → layouts}/layout-chat.haml +3 -2
  87. package/src/pages/{examples → layouts}/layout-customer.haml +3 -2
  88. package/src/pages/{examples/layout-sidebar-actionbar.haml → layouts/layout-darkmode.haml} +20 -18
  89. package/src/pages/{examples → layouts}/layout-form-sidebar-actionbar-metasidebar.haml +5 -228
  90. package/src/pages/{examples/layout-sidebar-actionbar-metasidebar.haml → layouts/layout-full.haml} +3 -2
  91. package/src/pages/{examples → layouts}/layout-manager.haml +3 -2
  92. package/src/pages/{examples → layouts}/layout-metasidebar.haml +3 -2
  93. package/src/pages/{examples → layouts}/layout-sidebar.haml +3 -2
  94. package/src/pages/{examples → layouts}/layout-tester.haml +3 -2
  95. package/src/pages/{examples → layouts}/splitview-metasidebar.haml +3 -3
  96. package/src/pages/{examples → layouts}/splitview-testcases.haml +2 -2
  97. package/src/pages/{examples → layouts}/splitview.haml +3 -3
  98. package/src/pages/navigation/header-centered.haml +77 -0
  99. package/src/pages/navigation/header-manager.haml +1 -0
  100. package/src/pages/navigation/header-tester.haml +1 -0
  101. package/src/pages/navigation/header.haml +1 -0
  102. package/src/pages/navigation/header_customer.haml +1 -0
  103. package/src/pages/navigation/header_tester_epam.haml +1 -0
  104. package/src/pages/navigation/product_dropdown.haml +2 -0
  105. package/src/pages/navigation/radio_tabs.haml +1 -0
  106. package/src/pages/navigation/sidebar-manager.haml +2 -1
  107. package/src/pages/navigation/sidebar-tester-elements.haml +1 -0
  108. package/src/pages/navigation/sidebar-tester-seatlimitation.haml +1 -1
  109. package/src/pages/navigation/sidebar-tester.haml +1 -1
  110. package/src/pages/navigation/sidebar.haml +1 -0
  111. package/src/pages/navigation/sidebar_collapsables.haml +1 -0
  112. package/src/pages/navigation/sidebar_customer.haml +1 -0
  113. package/src/pages/navigation/tabnavigation.haml +1 -0
  114. package/src/pages/navigation/tabnavigation_actions.haml +1 -0
  115. package/src/pages/navigation/tabnavigation_pills.haml +1 -0
  116. package/src/pages/navigation/tabnavigation_sm.haml +1 -0
  117. package/src/pages/navigation/test-header-tester.haml +2 -0
  118. package/src/pages/tables/index.njk +7 -0
  119. package/src/pages/tables/tables-cellstyle.haml +38 -0
  120. package/src/pages/tables/tables-grid.haml +31 -0
  121. package/src/pages/tables/tables.haml +16 -0
  122. package/src/pages/tables/tables_alternating.haml +27 -0
  123. package/src/pages/tables/tables_borders.haml +22 -0
  124. package/src/pages/tables/tables_cells.haml +50 -0
  125. package/src/pages/tables/tables_footer.haml +27 -0
  126. package/src/pages/tables/tables_formrow.haml +31 -0
  127. package/src/pages/tables/tables_header.haml +22 -0
  128. package/src/pages/{components → tables}/tables_linked.haml +11 -10
  129. package/src/pages/typography/link_with_icon.haml +10 -2
  130. package/src/pages/typography/linked_icon.haml +6 -0
  131. package/src/pages/typography/section_header.haml +1 -0
  132. package/src/pages/typography/section_header_actions.haml +1 -0
  133. package/src/pages/typography/text_with_icon.haml +3 -2
  134. package/utils/filters.js +161 -0
  135. package/CLAUDE_DESIGN_SYSTEM_REFERENCE.md +0 -1978
  136. package/src/pages/buttons/link-with-icon.haml +0 -13
  137. package/src/pages/components/tables-cellstyle.pug +0 -285
  138. package/src/pages/components/tables-grid.pug +0 -258
  139. package/src/pages/components/tables.haml +0 -57
  140. package/src/pages/components/tables_cells.pug +0 -57
  141. package/src/pages/components/tables_formrow.haml +0 -55
  142. package/src/pages/examples/layout-actionbar.haml +0 -268
  143. package/src/pages/forms/uploads.pug +0 -101
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testio-tailwind",
3
- "version": "3.21.0",
3
+ "version": "3.23.0",
4
4
  "description": "Tailwind based design system for Test IO",
5
5
  "scripts": {
6
6
  "clean": "del dist --force",
@@ -20,6 +20,10 @@
20
20
  "text": "Forms",
21
21
  "url": "/forms/"
22
22
  },
23
+ {
24
+ "text": "Tables",
25
+ "url": "/tables/"
26
+ },
23
27
  {
24
28
  "text": "Charts",
25
29
  "url": "/charts/"
@@ -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>
@@ -19,12 +19,12 @@
19
19
  </div>
20
20
  </details>
21
21
  <details class="header-dropdown dropright">
22
- <summary class="navlink">Examples</summary>
22
+ <summary class="navlink">Layouts</summary>
23
23
  <div class="dropdown-menu">
24
- {% for examples in collections.examples %}
25
- <a href="{{ examples.url }}"
24
+ {% for layouts in collections.layouts %}
25
+ <a href="{{ layouts.url }}"
26
26
  class="dropdown-link">
27
- {{ examples.data.title }}
27
+ {{ layouts.data.title }}
28
28
  </a>
29
29
  {% endfor %}
30
30
  </div>
@@ -50,10 +50,10 @@
50
50
  </details>
51
51
  <details class="navlink-container">
52
52
  <summary class="navlink">Examples</summary>
53
- {% for examples in collections.examples %}
54
- <a href="{{ examples.url }}"
55
- class="navlink">
56
- {{ examples.data.title }}
53
+ {% for layouts in collections.layouts %}
54
+ <a href="{{ layouts.url }}"
55
+ class="dropdown-link">
56
+ {{ layouts.data.title }}
57
57
  </a>
58
58
  {% endfor %}
59
59
  </details>
@@ -36,7 +36,16 @@
36
36
  Show source
37
37
  </summary>
38
38
  <div class="ds-card-codeexample">
39
- <pre><code class="html-preview">{{ section.templateContent | trim }}</code></pre>
39
+ <nav class="nav-pills">
40
+ <button class="navlink active code-tab-toggle" data-format="html">
41
+ HTML
42
+ </button>
43
+ <button class="navlink code-tab-toggle" data-format="haml">
44
+ HAML
45
+ </button>
46
+ </nav>
47
+ <pre><code class="html-preview code-format-html">{{ section.templateContent | trim }}</code></pre>
48
+ <pre style="display: none;"><code class="haml-preview code-format-haml">{{ section.templateContent | convertToHaml | trim }}</code></pre>
40
49
  </div>
41
50
  </details>
42
51
  </section>
@@ -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>
@@ -205,6 +205,33 @@ if (document.getElementById("echarts-testinator-empty")) {
205
205
  createChartDonut("echarts-testinator-empty", dataTestinatorEmpty, "100", "Total check executions", true, colorLabelDark, colorValueDark);
206
206
  }
207
207
 
208
+ // Code format toggle (HTML/HAML)
209
+ document.querySelectorAll('.code-tab-toggle').forEach((button) => {
210
+ button.addEventListener('click', function(e) {
211
+ e.preventDefault();
212
+ const format = this.getAttribute('data-format');
213
+ const container = this.closest('.ds-card-codeexample');
214
+
215
+ // Update active navlink
216
+ container.querySelectorAll('.code-tab-toggle').forEach(btn => {
217
+ btn.classList.remove('active');
218
+ });
219
+ this.classList.add('active');
220
+
221
+ // Show/hide code blocks
222
+ const htmlBlock = container.querySelector('.code-format-html');
223
+ const hamlBlock = container.querySelector('.code-format-haml');
224
+
225
+ if (format === 'html') {
226
+ htmlBlock.parentElement.style.display = 'block';
227
+ hamlBlock.parentElement.style.display = 'none';
228
+ } else {
229
+ htmlBlock.parentElement.style.display = 'none';
230
+ hamlBlock.parentElement.style.display = 'block';
231
+ }
232
+ });
233
+ });
234
+
208
235
  // Flatpickr
209
236
 
210
237
  import flatpickr from "flatpickr";
@@ -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
+ }
@@ -93,6 +93,8 @@
93
93
  @apply mb-1 p-md max-w-none bg-card text-appbody-textcolor dark:text-gray-200 rounded;
94
94
  }
95
95
 
96
- .html-preview {
96
+ .html-preview,
97
+ .haml-preview {
97
98
  @apply break-all whitespace-break-spaces text-xs;
98
- }
99
+ }
100
+
@@ -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
  }
@@ -39,6 +39,10 @@
39
39
  }
40
40
  }
41
41
 
42
+ .table-striped tbody tr:nth-of-type(even) {
43
+ @apply bg-gray-100 dark:bg-gray-700;
44
+ }
45
+
42
46
 
43
47
  .table td {
44
48
 
@@ -3,6 +3,7 @@ title: Block Buttons
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading Block buttons span the full width of their parent container.
6
7
  %ul.list-vertical.mb-md
7
8
  %li
8
9
  %button.btn.btn-block.btn-primary Primary
@@ -3,6 +3,7 @@ title: Button group
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading Button groups allow you to group a series of buttons together on a single line.
6
7
  .btn-group
7
8
  %button.btn.btn-primary.btn-square
8
9
  .icon.icon-check
@@ -3,6 +3,7 @@ title: LG Buttons
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading These are larger sized buttons for more prominent icons and actions. The text is placed below the button to create a balanced appearance.
6
7
  %ul.list-inline
7
8
  %li.btn-lg-wrapper
8
9
  %a.btn.btn-lg.btn-square.btn-primary
@@ -3,6 +3,7 @@ title: Round buttons
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading These are rounded buttons with full border radius.
6
7
  %ul.list-inline.mb-md
7
8
  %li
8
9
  %button.btn.rounded-full.btn-primary Primary
@@ -3,6 +3,7 @@ title: Buttons SM
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading These are smaller sized buttons for tighter spaces or if you want to less prominent buttons.
6
7
  %ul.list-inline.mb-md
7
8
  %li
8
9
  %button.btn.btn-sm.btn-primary Primary
@@ -3,6 +3,7 @@ title: XL Buttons
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading These are the largest buttons for very prominent actions and maximum visibility.
6
7
  %ul.list-inline
7
8
  %li
8
9
  %a.btn.btn-xl.btn-primary
@@ -3,6 +3,7 @@ title: Buttons
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading These are the standard sized buttons used throughout the application.
6
7
  %ul.list-inline.mb-md
7
8
  %li
8
9
  %button.btn.btn-primary Primary
@@ -3,6 +3,10 @@ title: Input buttons
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading
7
+ %span \ Input buttons can be created using the
8
+ %code \ &#60input&#62
9
+ %span and are often used in forms.
6
10
  %ul.list-inline.mb-md
7
11
  %li
8
12
  %input.btn.btn-primary{type:'submit', value:'Input btn'}
@@ -3,19 +3,10 @@ tags: button
3
3
  title: Dropdown menu
4
4
  ---
5
5
 
6
+ %p.mb-heading Dropdown menus are used to group related actions under a single button. They can be aligned in different directions such as down, up, left, and right.
6
7
  .flex.justify-between
7
- .popover-menu
8
- %a.popover-action{href:'#'}
9
- %span.icon.text-icon-default.icon-pencil
10
- Edit
11
- %a.popover-action{href:'#'}
12
- %span.icon.text-icon-default.icon-duplicate
13
- Duplicate
14
- %a.popover-action{href:'#'}
15
- %span.icon.text-icon-default.icon-remove
16
- Delete
17
8
  .px-1
18
- %details.dropdown-actions.dropright
9
+ %details.dropdown-actions
19
10
  %summary
20
11
  .btn.btn-square.btn-primary
21
12
  %span.icon.text-icon-default.icon-more
@@ -3,6 +3,7 @@ title: Square Buttons
3
3
  tags: button
4
4
  ---
5
5
 
6
+ %p.mb-heading These are square buttons with equal width and height, used for icon-only buttons. Use them if an icon explains the function well enough and when you want to avoid text repetition.
6
7
  %ul.list-inline.mb-md
7
8
  %li
8
9
  %button.btn.btn-primary.btn-square
@@ -34,6 +35,20 @@ tags: button
34
35
  %li
35
36
  %button.btn.btn-primary.btn-square{disabled: "disabled"}
36
37
  .icon.icon-check-circle
38
+ %p.my-heading Square buttons can also be used in smaller sizes.
39
+ %ul.list-inline.mb-md
40
+ %li
41
+ %button.btn.btn-sm.btn-primary.btn-square
42
+ .icon.icon-check-circle
43
+ %li
44
+ %button.btn.btn-sm.btn-secondary.btn-square
45
+ .icon.icon-check-circle
46
+ %li
47
+ %button.btn.btn-sm.btn-success.btn-square
48
+ .icon.icon-check-circle
49
+ %li
50
+ %button.btn.btn-sm.btn-square
51
+ .icon.icon-check-circle
37
52
 
38
53
  .bg-actionbar.p-5
39
54
  %ul.list-inline
@@ -3,6 +3,7 @@ tags: components
3
3
  title: Alerts
4
4
  ---
5
5
 
6
+ %p.mb-heading Alerts are used to notify users about important information or actions that require their attention.
6
7
  .alert-container
7
8
  .alert
8
9
  .alert-message Alert
@@ -3,6 +3,7 @@ tags: components
3
3
  title: Banner cards
4
4
  ---
5
5
 
6
+ %p.mb-heading Banner cards are used to display important information or actions to users in a prominent way.
6
7
  .banner-card.welcome
7
8
  %img.welcome-image{src:"/assets/images/logo-testio/testio_symbol_purpleteal_square.svg"}
8
9
  .card-content
@@ -3,28 +3,29 @@ tags: components
3
3
  title: Card badges
4
4
  ---
5
5
 
6
+ %p.mb-heading Card badges are small indicators that can be added to card headers to highlight important information or statuses.
6
7
  .grid-cards
7
8
  .card
8
9
  .card-header
9
10
  .card-badge
10
11
  %h3.card-title Card with badge
11
12
  .card-body
12
- %p Card-body with some example content 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.
13
+ %p Example content 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.
13
14
  .card
14
15
  .card-header
15
16
  .card-badge.success
16
- %h3.card-title Card with success badge
17
+ %h3.card-title Success badge
17
18
  .card-body
18
- %p Card-body with some example content 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.
19
+ %p Example content 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.
19
20
  .card
20
21
  .card-header
21
22
  .card-badge.danger
22
- %h3.card-title Card with danger badge
23
+ %h3.card-title Danger badge
23
24
  .card-body
24
- %p Card-body with some example content 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.
25
+ %p Example content 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.
25
26
  .card
26
27
  .card-header
27
28
  .card-badge.info
28
- %h3.card-title Card with info badge
29
+ %h3.card-title Info badge
29
30
  .card-body
30
- %p Card-body with some example content 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.
31
+ %p Example content 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.
@@ -3,31 +3,22 @@ tags: components
3
3
  title: Cards
4
4
  ---
5
5
 
6
+ %p.mb-heading
7
+ Cards are versatile UI components used to group related information. They often include headers, body content, and footers with action buttons.
8
+ Place them inside
9
+ %code.tag .grid-cards
10
+ to receive a responsive grid layout.
6
11
  .grid-cards
7
12
  .card
8
- %details.popover-wrapper.dropright.card-info-popover
9
- %summary
10
- .btn.btn-sm.btn-square
11
- .icon.icon-info
12
- .popover-menu.info
13
- .popover-title Popover title
14
- .popover-content Popover content 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.
15
13
  .card-header
16
- %h3.card-title Card title inside card header
14
+ %h3.card-title Basic card
17
15
  .card-body
18
- %p Card-body with some example content 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.
16
+ %p Example content 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.
19
17
  .card
20
- %details.popover-wrapper.dropright.card-info-popover
21
- %summary
22
- .btn.btn-sm.btn-square
23
- .icon.icon-info
24
- .popover-menu.info
25
- .popover-title Popover title
26
- .popover-content Popover content 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.
27
18
  .card-header
28
- %h3.card-title Card title
19
+ %h3.card-title Card with footer
29
20
  .card-body
30
- %p Card-body with some example content 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.
21
+ %p Example content 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.
31
22
  .card-footer
32
23
  %a.btn.btn-primary.btn-block{href: ""}
33
24
  %span.icon.icon-explorative.mr-icon-spacing
@@ -56,9 +47,10 @@ title: Cards
56
47
  .popover-menu.info
57
48
  .popover-title Popover title
58
49
  .popover-content Popover content 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.
50
+ .card-header
51
+ %h3.card-title Card with info popover
59
52
  .card-body
60
- %h3.card-title.mb-heading Card title
61
- %p.bg-gray-light.rounded.p-xxs Card-body with some example content 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.
53
+ %p Example content 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.
62
54
  .card-footer
63
55
  %a.btn.btn-primary.btn-block{href: ""}
64
56
  %span.icon.icon-explorative.mr-icon-spacing
@@ -87,9 +79,10 @@ title: Cards
87
79
  .popover-menu.info
88
80
  .popover-title Popover title
89
81
  .popover-content Popover content 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.
82
+ .card-header
83
+ %h3.card-title Centered card content
90
84
  .card-body
91
- %h3.card-title.mb-heading Center everything
92
- %p Card-body with some example content 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.
85
+ %p Example content 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.
93
86
  .card-footer
94
87
  %a.btn.btn-primary.btn-block{href: ""}
95
88
  %span.icon.icon-explorative.mr-icon-spacing
@@ -3,6 +3,7 @@ tags: components
3
3
  title: Cards Customer Dashboard
4
4
  ---
5
5
 
6
+ %p.mb-heading Cards for displaying products and their tests on the customer dashboard.
6
7
  .grid-productcards
7
8
  .card.product-card.product-website
8
9
  .card-header
@@ -3,6 +3,13 @@ tags: components
3
3
  title: Cards with fixed width
4
4
  ---
5
5
 
6
+ %p.mb-heading
7
+ Cards with fixed width can be created by adding size modifier classes to the card component. Available sizes are
8
+ %code.tag .card-sm
9
+ ,
10
+ %code.tag .card-md
11
+ , and
12
+ %code.tag .card-lg.
6
13
  .list-cards.mb-md
7
14
  .card.card-sm
8
15
  .card-header
@@ -3,6 +3,7 @@ tags: components
3
3
  title: Cards with icon header
4
4
  ---
5
5
 
6
+ %p.mb-heading Cards with icon headers are useful for displaying key metrics or achievements. The icon header draws attention to the card's content, making it ideal for dashboards or summary views.
6
7
  .grid-cards-achievements
7
8
  .card
8
9
  %details.popover-wrapper.dropright.card-info-popover
@@ -3,6 +3,7 @@ tags: components
3
3
  title: Cards Tester Dashboard
4
4
  ---
5
5
 
6
+ %p.mb-heading The Cards Tester Dashboard showcases various tester opportunities and running tests in a card format. Each card provides essential information such as customer name, product title, team leader, test status, and perks associated with the testing opportunity.
6
7
  .grid-testercards
7
8
  .card.tester-card
8
9
  %a.card-header{href:""}
@@ -3,9 +3,14 @@ tags: components
3
3
  title: Description list
4
4
  ---
5
5
 
6
+ %p.mb-heading Description lists are used to display pairs of terms and their corresponding descriptions. They can be styled in different ways to suit various design needs.
6
7
  %section
7
8
  .section-header
8
9
  %h5.section-title list-inline
10
+ %p.mb-heading
11
+ %span Description lists with the
12
+ %code.tag .list-inline
13
+ %span class display terms and descriptions in a horizontal layout.
9
14
  %dl.list-inline
10
15
  %dt.label Label
11
16
  %dd Content
@@ -22,9 +27,9 @@ title: Description list
22
27
  .section-header
23
28
  %h5.section-title list-inline responsive
24
29
  %p.mb-heading
25
- Add the class
26
- %code responsive
27
- &nbsp; to receive vertically aligned columns on smaller screens.
30
+ %span Add the class
31
+ %code.tag .responsive
32
+ %span to receive vertically aligned columns on smaller screens.
28
33
  %dl.list-inline.responsive
29
34
  %dt.label Label
30
35
  %dd Content with a bit of Lorem ipsum dolor sit amet.
@@ -40,6 +45,10 @@ title: Description list
40
45
  %section.mt-md
41
46
  .section-header
42
47
  %h5.section-title list-vertical
48
+ %p.mb-heading
49
+ %span Description lists with the
50
+ %code.tag .list-vertical
51
+ %span class display terms and descriptions in a vertical layout.
43
52
  %dl.list-vertical
44
53
  %dt.label Label
45
54
  %dd Content
@@ -3,6 +3,7 @@ tags: components
3
3
  title: Devices
4
4
  ---
5
5
 
6
+ %p.mb-heading Devices component is used to display different devices along with their specifications such as operating system and supported browsers. It can also provide action buttons.
6
7
  .list-devices.mb-sm
7
8
  .device
8
9
  .device-icon.icon-lg.icon-computer-windows-lg
@@ -3,6 +3,7 @@ tags: components
3
3
  title: Drawer
4
4
  ---
5
5
 
6
+ %p.mb-heading Drawers are used to display additional content or options that slide in from the side of the screen. They can be opened and closed by the user. They work as an alternative to modals.
6
7
  %details.drawer-wrapper
7
8
  %summary.drawer-trigger
8
9
  .btn.btn-primary Open Drawer
@@ -3,6 +3,7 @@ tags: components
3
3
  title: Drawer for filtering
4
4
  ---
5
5
 
6
+ %p.mb-heading Drawer filters are used to provide users with filtering options that slide in from the side of the screen. They typically include search functionality and various filter categories.
6
7
  %details.drawer-wrapper
7
8
  %summary.drawer-trigger
8
9
  .btn.btn-primary Open Drawer
@@ -2,6 +2,8 @@
2
2
  tags: components
3
3
  title: Empty state message
4
4
  ---
5
+
6
+ %p.mb-heading Empty state messages are used to inform users when there is no data to display. They can include different styles and icons to convey various emotions or states.
5
7
  .grid.gap-md.grid-cols-1{class:"md:grid-cols-3-auto"}
6
8
  .empty-state-message Empty state message. No items here yet.
7
9
  .empty-state-message.search Searching empty state message. No items here yet.
@@ -1,8 +1,9 @@
1
1
  ---
2
- tags: button
2
+ tags: components
3
3
  title: Info popover
4
4
  ---
5
5
 
6
+ %p.mb-heading Info popovers are used to display additional information related to an element. They can contain titles, content, icons, and actions.
6
7
  .flex.justify-between
7
8
  .popover-menu.info
8
9
  .popover-title Popover title