testio-tailwind 3.9.1 → 3.10.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testio-tailwind",
3
- "version": "3.9.1",
3
+ "version": "3.10.0",
4
4
  "description": "Tailwind based design system for Test IO",
5
5
  "scripts": {
6
6
  "clean": "del dist --force",
@@ -61,8 +61,7 @@
61
61
  </details>
62
62
 
63
63
  <div class="navlinks right">
64
- <button onclick="(() => document.body.classList.toggle('dark'))()"
65
- class="navlink">
64
+ <button onclick="(() => document.body.classList.toggle('dark'))()" class="navlink">
66
65
  <svg class="w-icon h-icon fill-purple hidden dark:block" fill="currentColor" viewBox="0 0 20 20">
67
66
  <path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path>
68
67
  </svg>
@@ -9,6 +9,12 @@
9
9
  </nav>
10
10
 
11
11
  <main tabindex="-1" id="main-content" class="main-content main-content-padding">
12
+ <section class="mb-section-margin">
13
+ <h1 class="mb-heading">Agentic QA</h1>
14
+ <p class="mb-heading">The Agentic QA / Testinator components shold always be used with the dark theme.</p>
15
+ <h5 class="mb-xs">Example layouts:</h5>
16
+ <a class="btn btn-primary" href="/pages/examples/agenticqa_splitview/">Show splitview layout</a>
17
+ </section>
12
18
  <article class="">
13
19
 
14
20
  {% for item in navigation.items %}
@@ -44,5 +50,14 @@
44
50
  </article>
45
51
  </main>
46
52
 
53
+ <script>
54
+ document.addEventListener('DOMContentLoaded', function () {
55
+ var appBody = document.querySelector('.app-body');
56
+ if (appBody) {
57
+ appBody.classList.add('dark');
58
+ }
59
+ });
60
+ </script>
61
+
47
62
 
48
63
 
@@ -131,26 +131,76 @@ import { createChartLine } from './modules/echarts_line';
131
131
 
132
132
  import { echartsSeriesFew, echartsSeriesMany } from './modules/echarts_exampleseries';
133
133
 
134
- import { dataFeaturesFew, dataFeaturesMany, dataBugs, dataBugsFew, dataBugsCategories, dataBugsCategoriesFew, dataTestCases, dataGaugeSuccess, dataGaugeDanger, dataGaugeInfo, dataAreaValues, dataAreaMonths, dataFeaturesManyNumbers } from './modules/echarts_exampledata';
135
-
136
- createChartVertical("echarts-bar-vertical-1", dataBugs, dataBugsCategories, colorLabelBright, colorValueBright);
137
- createChartVertical("echarts-bar-vertical-1-dark", dataBugs, dataBugsCategories, colorLabelDark, colorValueDark);
138
- createChartVertical("echarts-bar-vertical-2", dataBugsFew, dataBugsCategoriesFew, colorLabelBright, colorValueBright);
139
- createChartVertical("echarts-bar-vertical-3", dataFeaturesManyNumbers, dataFeaturesMany, colorLabelBright, colorValueBright);
140
- createChartVertical("echarts-bar-vertical-2-fixed", dataBugsFew, dataBugsCategoriesFew, colorLabelBright, colorValueBright, 10);
141
- createChartVertical("echarts-bar-vertical-3-fixed", dataFeaturesManyNumbers, dataFeaturesMany, colorLabelBright, colorValueBright,10);
142
- createChartHorizontal("echarts-bar-horizontal-1", dataFeaturesFew, echartsSeriesFew, false, colorLabelBright, colorValueBright);
143
- createChartHorizontal("echarts-bar-horizontal-2", dataFeaturesMany, echartsSeriesMany, true, colorLabelBright, colorValueBright);
144
- createChartHorizontal("echarts-bar-horizontal-2-dark", dataFeaturesMany, echartsSeriesMany, true, colorLabelDark, colorValueDark);
145
- createChartDonut("echarts-donut-1", dataBugs, "340", "Bugs", false, colorLabelBright, colorValueBright);
146
- createChartDonut("echarts-donut-2", dataBugs, "9999", "label with a lot of text to show how things break", true, colorLabelBright, colorValueBright);
147
- createChartDonut("echarts-donut-2-dark", dataBugs, "9999", "label with a lot of text to show how things break", true, colorLabelDark, colorValueDark);
148
- createChartDonut("echarts-donut-testcases", dataTestCases, "100", "Test Cases", false, colorLabelBright, colorValueBright);
149
- createChartGauge("echarts-gauge-1", dataGaugeSuccess, colorLabelBright, colorValueBright, colorNeutralBright);
150
- createChartGauge("echarts-gauge-1-dark", dataGaugeSuccess, colorLabelDark, colorValueDark, colorNeutralDark);
151
- createChartGauge("echarts-gauge-2", dataGaugeDanger, colorLabelBright, colorValueBright, colorNeutralBright);
152
- createChartGauge("echarts-gauge-3", dataGaugeInfo, colorLabelBright, colorValueBright, colorNeutralBright);
153
- createChartArea("echarts-area-1", dataAreaMonths, dataAreaValues, colorBlueLight, colorLabelBright, colorValueBright, colorBorderBright);
154
- createChartArea("echarts-area-2", dataAreaMonths, dataAreaValues, colorTealLight, colorLabelDark, colorValueDark, colorBorderDark);
155
- createChartLine("echarts-line-1", dataAreaMonths, dataAreaValues, colorBlueLight, colorLabelBright, colorValueBright, colorBorderBright);
156
- createChartLine("echarts-line-2", dataAreaMonths, dataAreaValues, colorTealLight, colorLabelDark, colorValueDark, colorBorderDark);
134
+ import { dataFeaturesFew, dataFeaturesMany, dataBugs, dataBugsFew, dataBugsCategories, dataBugsCategoriesFew, dataTestCases, dataGaugeSuccess, dataGaugeDanger, dataGaugeInfo, dataAreaValues, dataAreaMonths, dataFeaturesManyNumbers, dataTestinator, dataTestinatorEmpty } from './modules/echarts_exampledata';
135
+
136
+ if (document.getElementById("echarts-bar-vertical-1")) {
137
+ createChartVertical("echarts-bar-vertical-1", dataBugs, dataBugsCategories, colorLabelBright, colorValueBright);
138
+ }
139
+ if (document.getElementById("echarts-bar-vertical-1-dark")) {
140
+ createChartVertical("echarts-bar-vertical-1-dark", dataBugs, dataBugsCategories, colorLabelDark, colorValueDark);
141
+ }
142
+ if (document.getElementById("echarts-bar-vertical-2")) {
143
+ createChartVertical("echarts-bar-vertical-2", dataBugsFew, dataBugsCategoriesFew, colorLabelBright, colorValueBright);
144
+ }
145
+ if (document.getElementById("echarts-bar-vertical-3")) {
146
+ createChartVertical("echarts-bar-vertical-3", dataFeaturesManyNumbers, dataFeaturesMany, colorLabelBright, colorValueBright);
147
+ }
148
+ if (document.getElementById("echarts-bar-vertical-2-fixed")) {
149
+ createChartVertical("echarts-bar-vertical-2-fixed", dataBugsFew, dataBugsCategoriesFew, colorLabelBright, colorValueBright, 10);
150
+ }
151
+ if (document.getElementById("echarts-bar-vertical-3-fixed")) {
152
+ createChartVertical("echarts-bar-vertical-3-fixed", dataFeaturesManyNumbers, dataFeaturesMany, colorLabelBright, colorValueBright, 10);
153
+ }
154
+ if (document.getElementById("echarts-bar-horizontal-1")) {
155
+ createChartHorizontal("echarts-bar-horizontal-1", dataFeaturesFew, echartsSeriesFew, false, colorLabelBright, colorValueBright);
156
+ }
157
+ if (document.getElementById("echarts-bar-horizontal-2")) {
158
+ createChartHorizontal("echarts-bar-horizontal-2", dataFeaturesMany, echartsSeriesMany, true, colorLabelBright, colorValueBright);
159
+ }
160
+ if (document.getElementById("echarts-bar-horizontal-2-dark")) {
161
+ createChartHorizontal("echarts-bar-horizontal-2-dark", dataFeaturesMany, echartsSeriesMany, true, colorLabelDark, colorValueDark);
162
+ }
163
+ if (document.getElementById("echarts-donut-1")) {
164
+ createChartDonut("echarts-donut-1", dataBugs, "340", "Bugs", false, colorLabelBright, colorValueBright);
165
+ }
166
+ if (document.getElementById("echarts-donut-2")) {
167
+ createChartDonut("echarts-donut-2", dataBugs, "9999", "label with a lot of text to show how things break", true, colorLabelBright, colorValueBright);
168
+ }
169
+ if (document.getElementById("echarts-donut-2-dark")) {
170
+ createChartDonut("echarts-donut-2-dark", dataBugs, "9999", "label with a lot of text to show how things break", true, colorLabelDark, colorValueDark);
171
+ }
172
+ if (document.getElementById("echarts-donut-testcases")) {
173
+ createChartDonut("echarts-donut-testcases", dataTestCases, "100", "Test Cases", false, colorLabelBright, colorValueBright);
174
+ }
175
+ if (document.getElementById("echarts-gauge-1")) {
176
+ createChartGauge("echarts-gauge-1", dataGaugeSuccess, colorLabelBright, colorValueBright, colorNeutralBright);
177
+ }
178
+ if (document.getElementById("echarts-gauge-1-dark")) {
179
+ createChartGauge("echarts-gauge-1-dark", dataGaugeSuccess, colorLabelDark, colorValueDark, colorNeutralDark);
180
+ }
181
+ if (document.getElementById("echarts-gauge-2")) {
182
+ createChartGauge("echarts-gauge-2", dataGaugeDanger, colorLabelBright, colorValueBright, colorNeutralBright);
183
+ }
184
+ if (document.getElementById("echarts-gauge-3")) {
185
+ createChartGauge("echarts-gauge-3", dataGaugeInfo, colorLabelBright, colorValueBright, colorNeutralBright);
186
+ }
187
+ if (document.getElementById("echarts-area-1")) {
188
+ createChartArea("echarts-area-1", dataAreaMonths, dataAreaValues, colorBlueLight, colorLabelBright, colorValueBright, colorBorderBright);
189
+ }
190
+ if (document.getElementById("echarts-area-2")) {
191
+ createChartArea("echarts-area-2", dataAreaMonths, dataAreaValues, colorTealLight, colorLabelDark, colorValueDark, colorBorderDark);
192
+ }
193
+ if (document.getElementById("echarts-line-1")) {
194
+ createChartLine("echarts-line-1", dataAreaMonths, dataAreaValues, colorBlueLight, colorLabelBright, colorValueBright, colorBorderBright);
195
+ }
196
+ if (document.getElementById("echarts-line-2")) {
197
+ createChartLine("echarts-line-2", dataAreaMonths, dataAreaValues, colorTealLight, colorLabelDark, colorValueDark, colorBorderDark);
198
+ }
199
+
200
+ if (document.getElementById("echarts-testinator")) {
201
+ createChartDonut("echarts-testinator", dataTestinator, "100", "Total check executions", true, colorLabelDark, colorValueDark);
202
+ }
203
+
204
+ if (document.getElementById("echarts-testinator-empty")) {
205
+ createChartDonut("echarts-testinator-empty", dataTestinatorEmpty, "100", "Total check executions", true, colorLabelDark, colorValueDark);
206
+ }
@@ -7,13 +7,16 @@ export const colorUX = '#263340';
7
7
  export const colorSuccess = '#8cbd24';
8
8
  export const colorDanger = '#FF3131';
9
9
  export const colorNeutralBright = '#bfc1c5';
10
- export const colorNeutralDark = '#343A40';
11
10
  export const colorInfo = '#326dd1';
12
11
  export const colorBlueLight = '#21bef4';
13
12
  export const colorBorderBright = '#e6e6e6';
14
- export const colorBorderDark = '#262626';
15
13
  export const colorLabelBright = '#5f656d';
16
- export const colorLabelDark = '#bfc1c5';
17
14
  export const colorValueBright = '#1d1d1d';
18
- export const colorValueDark = '#ffffff';
19
15
  export const colorTealLight = '#6ddeba';
16
+ export const colorValueDark = '#ffffff';
17
+ export const colorLabelDark = '#888888';
18
+ export const colorNeutralDark = '#2E2E2E';
19
+ export const colorSuccessDark = '#33BA9E';
20
+ export const colorDangerDark = '#FF3131';
21
+ export const colorBlockedDark = '#F48D21';
22
+ export const colorBorderDark = '#2E2E2E';
@@ -1,4 +1,6 @@
1
- import { colorCritical, colorHigh, colorLow, colorContent, colorVisual, colorUX, colorSuccess, colorDanger, colorInfo, colorNeutralBright } from './colors';
1
+ import { colorCritical, colorHigh, colorLow, colorContent, colorVisual, colorUX, colorSuccess, colorDanger, colorInfo, colorNeutralBright
2
+ , colorSuccessDark, colorDangerDark, colorBlockedDark, colorNeutralDark
3
+ } from './colors';
2
4
 
3
5
  export let dataAreaValues = [
4
6
  { value: 79, name: 'Critical'},
@@ -103,4 +105,15 @@ export let dataTestCases = [
103
105
  { value: 50, name: 'Passed', itemStyle: {color: colorSuccess}},
104
106
  { value: 23, name: 'Failed', itemStyle: {color: colorDanger}},
105
107
  { value: 27, name: 'Open', itemStyle: {color: colorNeutralBright}},
108
+ ];
109
+
110
+ export let dataTestinator = [
111
+ { value: 20, name: 'Failed', itemStyle: {color: colorDangerDark}},
112
+ { value: 20, name: 'Blocked', itemStyle: {color: colorBlockedDark}},
113
+ { value: 30, name: 'Passed', itemStyle: {color: colorSuccessDark}},
114
+ { value: 30, name: 'Open', itemStyle: {color: colorNeutralDark}},
115
+ ];
116
+
117
+ export let dataTestinatorEmpty = [
118
+ { value: 100, name: 'Open', itemStyle: {color: colorNeutralDark}},
106
119
  ];
@@ -1,10 +1,18 @@
1
1
 
2
2
  .page-header {
3
- @apply grid lg:grid-cols-5 gap-xs lg:gap-grid-gutter mb-grid-gutter;
3
+ @apply grid sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-md xl:gap-grid-gutter mb-grid-gutter;
4
4
  }
5
5
 
6
6
  .page-header .page-maincard {
7
- @apply lg:col-span-4;
7
+ @apply md:col-span-2 lg:col-span-3 xl:col-span-4;
8
+ }
9
+
10
+ .page-header.with-chart .page-maincard {
11
+ @apply md:col-span-1 lg:col-span-2 xl:col-span-3;
12
+ }
13
+
14
+ .page-header.with-chart .page-actions {
15
+ @apply sm:col-span-2 md:col-span-1;
8
16
  }
9
17
 
10
18
  .page-session-title {
@@ -32,19 +40,20 @@
32
40
  }
33
41
 
34
42
  .page-actions {
35
- @apply flex flex-row lg:flex-col h-full;
43
+ @apply flex flex-row md:flex-col h-full;
36
44
  }
37
45
 
38
46
  .page-actions .btn {
39
- @apply justify-center text-center ml-xxs first:ml-0 mr-xxs last:mr-0 lg:mx-0 lg:mb-xs lg:last:mb-0 w-full border-bordercolor;
47
+ @apply justify-center w-full text-center ml-xxs first:ml-0 mr-xxs last:mr-0 border-bordercolor
48
+ md:mx-0 md:mb-xs md:last:mb-0;
40
49
  }
41
50
 
42
51
  .page-actions .btn-main {
43
- @apply flex-grow lg:flex-col;
52
+ @apply flex-grow md:flex-col;
44
53
  }
45
54
 
46
55
  .page-actions .btn-xl {
47
- @apply h-auto lg:h-btn-xl;
56
+ @apply h-auto md:h-btn-xl;
48
57
  }
49
58
 
50
59
  .page-actions .btn-main .icon,
@@ -393,7 +393,7 @@ body:not(.dark) .splitview-item.selected {
393
393
  /*///// Grid split /////*/
394
394
 
395
395
  .grid-splitview {
396
- @apply grid md:grid-cols-2 lg:grid-cols-5 gap-grid-gutter;
396
+ @apply grid md:grid-cols-2 lg:grid-cols-4 xl:grid-cols-5 gap-md xl:gap-grid-gutter;
397
397
  grid-template-areas: "splitview-list"
398
398
  "splitview-details";
399
399
 
@@ -408,5 +408,5 @@ body:not(.dark) .splitview-item.selected {
408
408
  }
409
409
 
410
410
  .grid-splitview .splitview-details {
411
- @apply block lg:col-span-3 h-auto min-h-auto overflow-y-visible;
411
+ @apply block lg:col-span-2 xl:col-span-3 h-auto min-h-auto overflow-y-visible;
412
412
  }
@@ -304,7 +304,9 @@
304
304
 
305
305
  /*//// Breakpoints ////*/
306
306
  --breakpoint-xs: 30rem;
307
- --breakpoint-2xl: 1600px;
307
+ --breakpoint-lg: 70rem;
308
+ --breakpoint-xl: 90rem;
309
+ --breakpoint-2xl: 100rem;
308
310
  --breakpoint-3xl: 1930px;
309
311
  }
310
312
 
@@ -49,7 +49,7 @@ title: Pageheader
49
49
  %a.btn.btn-primary.btn-main{href:""}
50
50
  %span.icon.icon-test-running-xl
51
51
  Start test
52
- .page-header
52
+ .page-header.with-chart
53
53
  .card.page-maincard.p-card-padding
54
54
  %h1.text-card-header Session details
55
55
  %h2.page-session-title Test Session title
@@ -65,13 +65,15 @@ title: Pageheader
65
65
  %a.label{href:""} Test Suite name
66
66
  %dt.label Status:
67
67
  %dd.text-white Status
68
+ .page-chart.card.p-card-padding
69
+ .echarts-container#echarts-testinator
68
70
  .page-actions
69
71
  %a.btn.btn-primary.btn-main{href:""}
70
72
  %span.icon.icon-review-xl
71
73
  Show report
72
74
  %a.btn.btn-secondary{href:""}
73
75
  Re-run all checks
74
- .page-header
76
+ .page-header.with-chart
75
77
  .card.page-maincard.p-card-padding
76
78
  %h1.text-card-header Session details
77
79
  %h2.page-session-title Test Session title
@@ -87,6 +89,8 @@ title: Pageheader
87
89
  %a.label{href:""} Test Suite name
88
90
  %dt.label Status:
89
91
  %dd.text-white Status
92
+ .page-chart.card.p-card-padding
93
+ .echarts-container#echarts-testinator-empty
90
94
  .page-actions
91
95
  %a.btn.btn-secondary.btn-main.disabled{href:""}
92
96
  %span.icon.icon-review-xl
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  layout: page-example-agenticqa.njk
3
- title: "Agentic QA"
3
+ title: "Agentic QA - Splitview"
4
4
  tags: "examples"
5
5
  ---
6
6
 
7
7
  %main.main-content.centered#ds-splitview-demo
8
8
  .centered-content
9
- .page-header
9
+ .page-header.with-chart
10
10
  .card.page-maincard.p-card-padding
11
11
  %h1.text-card-header Session details
12
12
  %h2.page-session-title Test Session title
@@ -17,11 +17,13 @@ tags: "examples"
17
17
  %dd 2025-07-23 19:11 10:45 AM
18
18
  %dt.label ID:
19
19
  %dd 321456987
20
- %dt.label URL:
20
+ %dt.label Test Suite:
21
21
  %dd.row-testsuite
22
22
  %a.label{href:""} Test Suite name
23
23
  %dt.label Status:
24
24
  %dd.text-white Status
25
+ .page-chart.card.p-card-padding
26
+ .echarts-container#echarts-testinator
25
27
  .page-actions
26
28
  %a.btn.btn-primary.btn-main{href:""}
27
29
  %span.icon.icon-review-xl