testio-tailwind 1.1.1 → 2.0.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 (49) hide show
  1. package/.eleventy.js +2 -5
  2. package/README.md +1 -37
  3. package/icon-classes-extractor.js +3 -3
  4. package/package.json +13 -29
  5. package/src/_includes/head.njk +3 -3
  6. package/src/assets/images/pencil.svg +11 -0
  7. package/src/assets/stylesheets/app.css +94 -69
  8. package/src/assets/stylesheets/components/alerts.css +1 -1
  9. package/src/assets/stylesheets/components/buttons.css +1 -1
  10. package/src/assets/stylesheets/components/cards.css +9 -9
  11. package/src/assets/stylesheets/components/chat.css +9 -6
  12. package/src/assets/stylesheets/components/customer/customer_productcards.css +3 -3
  13. package/src/assets/stylesheets/components/designsystem/designsystem-styles.css +4 -0
  14. package/src/assets/stylesheets/components/devices.css +1 -1
  15. package/src/assets/stylesheets/components/forms.css +3 -10
  16. package/src/assets/stylesheets/components/header.css +1 -2
  17. package/src/assets/stylesheets/components/icons.css +25 -5
  18. package/src/assets/stylesheets/components/list_item.css +1 -2
  19. package/src/assets/stylesheets/components/lists.css +1 -2
  20. package/src/assets/stylesheets/components/loading_spinner.css +61 -79
  21. package/src/assets/stylesheets/components/metasidebar.css +1 -2
  22. package/src/assets/stylesheets/components/notifications.css +1 -1
  23. package/src/assets/stylesheets/components/select.css +1 -1
  24. package/src/assets/stylesheets/components/select2.css +1 -1
  25. package/src/assets/stylesheets/components/splitview.css +6 -6
  26. package/src/assets/stylesheets/components/tables.css +18 -18
  27. package/src/assets/stylesheets/components/tags.css +10 -3
  28. package/src/assets/stylesheets/components/test_header.css +3 -3
  29. package/src/assets/stylesheets/components/tester/tester_cards.css +4 -4
  30. package/src/assets/stylesheets/components/trix_editor.css +3 -3
  31. package/src/assets/stylesheets/components/typography.css +12 -11
  32. package/src/assets/stylesheets/tailwind_config.css +299 -0
  33. package/src/assets/stylesheets/tailwind_custom_utilities.css +268 -0
  34. package/src/index.pug +8 -39
  35. package/src/pages/buttons/buttons-round.haml +58 -0
  36. package/src/pages/colors.pug +94 -67
  37. package/src/pages/components/banner_cards.haml +0 -10
  38. package/src/pages/components/loading_spinner.haml +5 -5
  39. package/src/pages/forms/search.haml +2 -2
  40. package/src/pages/icons/index.njk +35 -2
  41. package/src/static/icons.json +1 -0
  42. package/src/static/site.webmanifest +2 -2
  43. package/src/assets/stylesheets/postcss.config.js +0 -24
  44. package/src/assets/stylesheets/tailwind.config.js +0 -333
  45. /package/src/{static → assets/images}/android-chrome-192x192.png +0 -0
  46. /package/src/{static → assets/images}/android-chrome-512x512.png +0 -0
  47. /package/src/{static → assets/images}/apple-touch-icon.png +0 -0
  48. /package/src/{static → assets/images}/favicon-16x16.png +0 -0
  49. /package/src/{static → assets/images}/favicon-32x32.png +0 -0
package/.eleventy.js CHANGED
@@ -2,14 +2,11 @@ const filters = require('./utils/filters.js')
2
2
  const transforms = require('./utils/transforms.js')
3
3
  const collections = require('./utils/collections.js')
4
4
  const markdownIt = require('./utils/markdown.js');
5
- const appConfigs = {
6
- cirro: { output: "dist/" }
7
- }
8
5
 
9
6
  module.exports = function (eleventyConfig) {
10
7
  // Folders to copy to build dir (See. 1.1)
11
8
  eleventyConfig.addPassthroughCopy({
12
- "src/static/site.webmanifest": "",
9
+ "src/static/site.webmanifest": ".",
13
10
  "src/static/*": "static",
14
11
  "src/assets/fonts/*": "assets/fonts",
15
12
  "src/static/downloads/*": "downloads",
@@ -44,7 +41,7 @@ module.exports = function (eleventyConfig) {
44
41
  return {
45
42
  dir: {
46
43
  input: "src",
47
- output: appConfigs[process.env.APP].output,
44
+ output: "dist",
48
45
  includes: "_includes",
49
46
  layouts: "_layouts"
50
47
  },
package/README.md CHANGED
@@ -48,40 +48,4 @@ npm run build
48
48
  ### Integration of the design system into your app
49
49
 
50
50
  1. Import `app.css` to get all relevant modules and files.
51
- 2. Use the following PostCss configuration in your code `postcss.config.js` file:
52
-
53
- ```
54
- const tailwindConfig = require('./PATHTO/tailwind.config');
55
-
56
- module.exports = {
57
- plugins: [
58
- require('postcss-import'),
59
- require('tailwindcss/nesting'),
60
- require('tailwindcss')({
61
- content: [
62
- './YOUR_LAYOUTS/**/*.{html,js,haml,pug,njk}',
63
- ],
64
- theme: tailwindConfig.theme,
65
- plugins: tailwindConfig.plugins,
66
- }),
67
- require('postcss-simple-vars')(
68
- {
69
- variables: {
70
- package_path: '../../..',
71
- fonts_path: 'fonts'
72
- }
73
- }
74
- ),
75
- require('autoprefixer')
76
- ]
77
- }
78
- 4. Change the path to the `tailwind.config.js` file from the package.
79
-
80
- ```
81
- const tailwindConfig = require('PATH_TO_TAILWINDCONFIG');
82
- 6. Add all paths to your layouts and components in the content block. Otherwise TailWind will not generate your required classes.
83
-
84
- ```
85
- content: [
86
- './YOUR_PATH_HERE/**/*.{html,js,haml,pug,njk}',
87
- ],
51
+ 2. Run TailWindCSS V4 to compile everything.
@@ -1,7 +1,7 @@
1
1
  const fs = require('fs');
2
2
  const readline = require('readline');
3
3
 
4
- async function extractIconClasses(app) {
4
+ async function extractIconClasses() {
5
5
  const fileStream = fs.createReadStream('src/assets/stylesheets/components/iconfont.css');
6
6
 
7
7
  const rl = readline.createInterface({
@@ -16,7 +16,7 @@ async function extractIconClasses(app) {
16
16
  iconClasses.push(line.split(':')[0].replace('.', ''));
17
17
  }
18
18
 
19
- fs.writeFile('src/static/icons-' + app + '.json', JSON.stringify(iconClasses), err => {
19
+ fs.writeFile('src/static/icons.json', JSON.stringify(iconClasses), err => {
20
20
  if (err) {
21
21
  console.log('Error writing file', err)
22
22
  } else {
@@ -25,5 +25,5 @@ async function extractIconClasses(app) {
25
25
  });
26
26
  }
27
27
 
28
- extractIconClasses('cirro');
28
+ extractIconClasses();
29
29
 
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "testio-tailwind",
3
- "version": "1.1.1",
3
+ "version": "2.0.0",
4
4
  "description": "Tailwind based design system for Test IO",
5
5
  "scripts": {
6
- "clean": "del dist",
7
- "dev:cirro-postcss": "postcss src/assets/stylesheets/*.css -o src/static/app.compiled.css --watch --verbose --config src/assets/stylesheets/",
8
- "dev:scripts": "webpack --watch --config webpack.config.js",
6
+ "clean": "del dist --force",
9
7
  "dev:11ty": "eleventy --serve --watch",
10
- "build:cirro-11ty": "ELEVENTY_ENV=production APP=cirro eleventy",
11
- "build:cirro-postcss": "NODE_ENV=production postcss src/assets/stylesheets/app.css -o dist/static/app.compiled.css --config src/assets/stylesheets/",
12
- "build:scripts": "NODE_ENV=production webpack --mode production --config webpack.config.js",
13
- "build:icon-page": "node icon-classes-extractor.js; cp src/static/icons-cirro.json dist/static/icons-cirro.json;",
8
+ "dev:tailwind": "npx @tailwindcss/cli -i ./src/assets/stylesheets/app.css -o dist/static/app.compiled.css --watch",
9
+ "dev:scripts": "webpack --watch --config webpack.config.js",
10
+ "build:tailwind": " npx @tailwindcss/cli -i ./src/assets/stylesheets/app.css -o dist/static/app.compiled.css --minify",
11
+ "build:11ty": "eleventy",
12
+ "build:scripts": "webpack --mode production --config webpack.config.js",
13
+ "build:icon-page": "node icon-classes-extractor.js",
14
14
  "build:copy_entry_file": "cp index.html dist",
15
- "start": "cross-env APP=cirro run-p dev:* --print-label",
16
- "build": "cross-env APP=cirro run-s clean build:* --print-label"
15
+ "start": "cross-env run-p dev:* --print-label",
16
+ "build": "cross-env run-s clean build:* --print-label"
17
17
  },
18
18
  "author": "test IO",
19
19
  "license": "",
@@ -21,27 +21,19 @@
21
21
  "@11ty/eleventy": "^2.0.1",
22
22
  "@babel/core": "^7.17.10",
23
23
  "@babel/preset-env": "^7.17.10",
24
- "autoprefixer": "^10.4.21",
25
24
  "babel-loader": "^8.2.5",
26
25
  "cross-env": "^7.0.3",
27
26
  "css-loader": "^5.0.1",
28
27
  "del-cli": "^3.0.1",
29
28
  "luxon": "^1.25.0",
30
29
  "npm-run-all": "^4.1.5",
31
- "postcss": "^8.5.6",
32
- "postcss-cli": "^8.0.0",
33
- "postcss-import": "^16.1.0",
34
- "postcss-loader": "^4.0.4",
35
- "postcss-nesting": "^13.0.1",
36
30
  "pug-plugin": "^6.0.0",
37
- "tailwindcss": "^3.4.17",
38
31
  "webpack": "^5.x",
39
32
  "webpack-cli": ">=4.x"
40
33
  },
41
34
  "dependencies": {
42
35
  "@babel/plugin-transform-class-properties": "^7.27.1",
43
- "@tailwindcss/forms": "^0.1.4",
44
- "@tailwindcss/typography": "^0.5.16",
36
+ "@tailwindcss/cli": "^4.1.11",
45
37
  "autosize": "^5.0.1",
46
38
  "dropzone": "^6.0.0-beta.2",
47
39
  "echarts": "^5.6.0",
@@ -49,18 +41,10 @@
49
41
  "html-minifier-terser": "^7.2.0",
50
42
  "jquery": "^3.6.0",
51
43
  "markdown-it": "^14.1.0",
52
- "postcss-simple-vars": "^7.0.1",
53
44
  "select2": "^4.1.0-rc.0",
45
+ "tailwind": "^4.0.0",
46
+ "tailwindcss": "^4.1.11",
54
47
  "tom-select": "^2.3.1",
55
48
  "trix": "^2.0.7"
56
- },
57
- "peerDependencies": {
58
- "@tailwindcss/postcss": "^4.1.10",
59
- "@tailwindcss/typography": "^0.5.16",
60
- "autoprefixer": "^10.0.0",
61
- "postcss": "^8.1.0",
62
- "postcss-cli": "^9.0.1",
63
- "tailwindcss": "^3.4.17",
64
- "tom-select": "^2.3.1"
65
49
  }
66
50
  }
@@ -43,9 +43,9 @@
43
43
  <!-- Links to information about the author(s) of the document -->
44
44
  <link rel="author" href="humans.txt">
45
45
 
46
- <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
47
- <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
48
- <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
46
+ <link rel="apple-touch-icon" sizes="180x180" href="/assets/images/apple-touch-icon.png">
47
+ <link rel="icon" type="image/png" sizes="32x32" href="/assets/images/favicon-32x32.png">
48
+ <link rel="icon" type="image/png" sizes="16x16" href="/assets/images/favicon-16x16.png">
49
49
  <link rel="manifest" href="/site.webmanifest">
50
50
  <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
51
51
  <meta name="msapplication-TileColor" content="#000000">
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 20 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
+ <rect id="pencil" x="0" y="0.83" width="20" height="20" style="fill:none;"/>
5
+ <clipPath id="_clip1">
6
+ <rect x="0" y="0.83" width="20" height="20"/>
7
+ </clipPath>
8
+ <g clip-path="url(#_clip1)">
9
+ <path d="M4.806,16.72C4.806,16.82 4.706,16.82 4.506,16.82C4.305,16.82 4.205,16.82 4.205,16.72C4.005,16.519 4.005,16.219 4.205,16.018L15.319,4.79C14.919,4.188 14.518,3.587 14.418,2.885L2.303,15.116L0,20.83L5.807,18.524L17.922,6.294C17.222,6.193 16.521,5.792 16.02,5.391L4.806,16.72ZM19.324,1.582C18.323,0.579 16.821,0.579 15.82,1.582L15.319,2.083C15.419,4.088 16.921,5.592 18.824,5.592L19.324,5.191C20.225,4.088 20.225,2.584 19.324,1.582Z" style="fill-rule:nonzero;"/>
10
+ </g>
11
+ </svg>
@@ -1,79 +1,104 @@
1
- @import "components/reset";
2
1
 
3
- @import "tailwindcss/base";
4
- @import "tailwindcss/components";
2
+ @import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');
3
+ @import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap');
5
4
 
6
- @import "tom-select/dist/css/tom-select.css";
7
- @import "select2/dist/css/select2.css";
8
- @import "trix/dist/trix.css";
5
+ @import "tailwindcss";
6
+ @import './tailwind_config.css';
7
+ @import './tailwind_custom_utilities.css';
9
8
 
10
- @import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;0,700;0,900;1,400;1,600;1,700;1,900&display=swap');
11
- @import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap');
9
+ @import './components/reset.css' layer(base);
10
+
11
+ @import 'tom-select/dist/css/tom-select.css' layer(components);
12
+ @import 'select2/dist/css/select2.css' layer(components);
13
+ @import 'trix/dist/trix.css' layer(components);
14
+
15
+
16
+ @import './components/actionbar.css' layer(components);
17
+ @import './components/buttons.css' layer(components);
18
+ @import './components/cards.css' layer(components);
19
+ @import './components/header.css' layer(components);
20
+ @import './components/layout.css' layer(components);
21
+ @import './components/sidebar.css' layer(components);
22
+ @import './components/icons.css' layer(components);
23
+ @import './components/iconfont.css' layer(components);
24
+ @import './components/popover.css' layer(components);
25
+ @import './components/typography.css' layer(components);
26
+ @import './components/lists.css' layer(components);
27
+ @import './components/sections.css' layer(components);
28
+ @import './components/dropdown.css' layer(components);
29
+ @import './components/list_item.css' layer(components);
30
+ @import './components/task_issue_item.css' layer(components);
31
+ @import './components/devices.css' layer(components);
32
+ @import './components/images.css' layer(components);
33
+ @import './components/banner_card.css' layer(components);
34
+ @import './components/toggleswitch.css' layer(components);
35
+ @import './components/selectable_token.css' layer(components);
36
+ @import './components/checkboxes_radiobuttons.css' layer(components);
37
+ @import './components/form_grid.css' layer(components);
38
+ @import './components/form_card.css' layer(components);
39
+ @import './components/forms.css' layer(components);
40
+ @import './components/search.css' layer(components);
41
+ @import './components/tom_select.css' layer(components);
42
+ @import './components/trix_editor.css' layer(components);
43
+ @import './components/uploads.css' layer(components);
44
+ @import './components/radio_tabs.css' layer(components);
45
+ @import './components/user_item.css' layer(components);
46
+ @import './components/alerts.css' layer(components);
47
+ @import './components/tags.css' layer(components);
48
+ @import './components/markdown_trix_styles.css' layer(components);
49
+ @import './components/tabs.css' layer(components);
50
+ @import './components/drawer.css' layer(components);
51
+ @import './components/modals.css' layer(components);
52
+ @import './components/progress.css' layer(components);
53
+ @import './components/loading_spinner.css' layer(components);
54
+ @import './components/test_item.css' layer(components);
55
+ @import './components/metrics.css' layer(components);
56
+ @import './components/resultmodule.css' layer(components);
57
+ @import './components/chat.css' layer(components);
58
+ @import './components/emptystate_message.css' layer(components);
59
+ @import './components/splitview.css' layer(components);
60
+ @import './components/tables.css' layer(components);
61
+ @import './components/metasidebar.css' layer(components);
62
+ @import './components/notifications.css' layer(components);
63
+ @import './components/select2.css' layer(components);
64
+ @import './components/select.css' layer(components);
65
+ @import './components/test_header.css' layer(components);
66
+ @import './components/ratingscale.css' layer(components);
12
67
 
68
+ @import './components/customer/customer_header.css' layer(components);
69
+ @import './components/customer/customer_sidebar.css' layer(components);
70
+ @import './components/customer/customer_productcards.css' layer(components);
13
71
 
14
- @import "components/actionbar";
15
- @import "components/buttons";
16
- @import "components/cards";
17
- @import "components/header";
18
- @import "components/layout";
19
- @import "components/sidebar";
20
- @import "components/icons";
21
- @import "components/iconfont";
22
- @import "components/popover";
23
- @import "components/typography";
24
- @import "components/lists";
25
- @import "components/sections";
26
- @import "components/dropdown";
27
- @import "components/list_item";
28
- @import "components/task_issue_item";
29
- @import "components/devices";
30
- @import "components/images";
31
- @import "components/banner_card";
32
- @import "components/toggleswitch";
33
- @import "components/selectable_token";
34
- @import "components/checkboxes_radiobuttons";
35
- @import "components/form_grid";
36
- @import "components/form_card";
37
- @import "components/forms";
38
- @import "components/search";
39
- @import "components/tom_select";
40
- @import "components/trix_editor";
41
- @import "components/uploads";
42
- @import "components/radio_tabs";
43
- @import "components/user_item";
44
- @import "components/alerts";
45
- @import "components/tags";
46
- @import "components/markdown_trix_styles";
47
- @import "components/tabs";
48
- @import "components/drawer";
49
- @import "components/modals";
50
- @import "components/progress";
51
- @import "components/loading_spinner";
52
- @import "components/test_item";
53
- @import "components/metrics";
54
- @import "components/resultmodule";
55
- @import "components/chat";
56
- @import "components/emptystate_message";
57
- @import "components/splitview";
58
- @import "components/tables";
59
- @import "components/metasidebar";
60
- @import "components/notifications";
61
- @import "components/select2";
62
- @import "components/select";
63
- @import "components/test_header";
64
- @import "components/ratingscale";
72
+ @import './components/tester/tester_header.css' layer(components);
73
+ @import './components/tester/tester_sidebar.css' layer(components);
74
+ @import './components/tester/tester_cards.css' layer(components);
65
75
 
66
- @import "components/customer/customer_header";
67
- @import "components/customer/customer_sidebar";
68
- @import "components/customer/customer_productcards";
76
+ @import './components/manager/manager_header.css' layer(components);
77
+ @import './components/manager/manager_sidebar.css' layer(components);
69
78
 
70
- @import "components/tester/tester_header";
71
- @import "components/tester/tester_sidebar";
72
- @import "components/tester/tester_cards";
79
+ @import './components/designsystem/designsystem-styles.css' layer(components);
73
80
 
74
- @import "components/manager/manager_header";
75
- @import "components/manager/manager_sidebar";
81
+ /*
82
+ The default border color has changed to `currentcolor` in Tailwind CSS v4,
83
+ so we've added these compatibility styles to make sure everything still
84
+ looks the same as it did with Tailwind CSS v3.
76
85
 
77
- @import "components/designsystem/designsystem-styles";
86
+ If we ever want to remove these styles, we need to add an explicit border
87
+ color utility to any element that depends on these defaults.
88
+ */
89
+ @layer base {
90
+ *,
91
+ ::after,
92
+ ::before,
93
+ ::backdrop,
94
+ ::file-selector-button {
95
+ border-color: var(--color-gray-200, currentcolor);
96
+ }
97
+ }
78
98
 
79
- @import "tailwindcss/utilities";
99
+ .source-sans-3-<uniquifier> {
100
+ font-family: "Source Sans 3", sans-serif;
101
+ font-optical-sizing: auto;
102
+ font-weight: <weight>;
103
+ font-style: normal;
104
+ }
@@ -18,7 +18,7 @@
18
18
  }
19
19
 
20
20
  .alert .close:hover, .alert .close:focus {
21
- @apply text-white bg-link-hover outline-none;
21
+ @apply text-white bg-link-hover outline-hidden;
22
22
  .icon {
23
23
  @apply text-white;
24
24
  }
@@ -1,7 +1,7 @@
1
1
  .btn,
2
2
  input.btn,
3
3
  input[type="submit"].btn {
4
- @apply inline-flex justify-start items-center h-btn px-md text-buttons whitespace-nowrap text-primary border-0 rounded cursor-pointer select-none;
4
+ @apply inline-flex justify-start items-center h-btn px-md font-body font-semibold text-buttons whitespace-nowrap text-primary border-0 rounded cursor-pointer select-none;
5
5
 
6
6
  &:hover,
7
7
  &:focus,
@@ -1,13 +1,13 @@
1
1
  .grid-cards-achievements {
2
2
  @apply grid gap-grid-gutter;
3
3
  grid-template-columns: 1fr 1fr;
4
- @screen lg {
4
+ @media (width >= theme(--breakpoint-lg)) {
5
5
  grid-template-columns: 1fr 1fr 1fr;
6
6
  }
7
- @screen xl {
7
+ @media (width >= theme(--breakpoint-xl)) {
8
8
  grid-template-columns: 1fr 1fr 1fr 1fr;
9
9
  }
10
- @screen 2xl {
10
+ @media (width >= theme(--breakpoint-2xl)) {
11
11
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
12
12
  }
13
13
  }
@@ -15,16 +15,16 @@
15
15
  .grid-cards {
16
16
  @apply grid gap-grid-gutter;
17
17
  grid-template-columns: 1fr;
18
- @screen sm {
18
+ @media (width >= theme(--breakpoint-sm)) {
19
19
  grid-template-columns: 1fr 1fr;
20
20
  }
21
- @screen lg {
21
+ @media (width >= theme(--breakpoint-lg)) {
22
22
  grid-template-columns: 1fr 1fr 1fr;
23
23
  }
24
- @screen xl {
24
+ @media (width >= theme(--breakpoint-xl)) {
25
25
  grid-template-columns: 1fr 1fr 1fr 1fr;
26
26
  }
27
- @screen 2xl {
27
+ @media (width >= theme(--breakpoint-2xl)) {
28
28
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
29
29
  }
30
30
  }
@@ -46,14 +46,14 @@
46
46
  }
47
47
 
48
48
  .card-title {
49
- @apply block overflow-ellipsis text-heading-5 leading-5;
49
+ @apply block text-ellipsis text-heading-5 leading-5;
50
50
  }
51
51
 
52
52
  .card.card-sm {
53
53
  @apply w-full sm:w-card-sm;
54
54
 
55
55
  .card-title {
56
- @apply block overflow-ellipsis text-heading-5 leading-5 text-center;
56
+ @apply block text-ellipsis text-heading-5 leading-5 text-center;
57
57
  }
58
58
  }
59
59
 
@@ -70,7 +70,8 @@ img.chat-avatar {
70
70
  justify-content: center;
71
71
  padding: 0;
72
72
  .icon {
73
- @apply h-icon-xs text-icon-xs;
73
+ height: var(--font-size-icon-xs);
74
+ font-size: var(--font-size-icon-xs);
74
75
  }
75
76
  }
76
77
 
@@ -91,7 +92,9 @@ img.chat-avatar {
91
92
  @apply text-white border-0 bg-link-hover;
92
93
  }
93
94
  .icon {
94
- @apply h-icon-xs text-icon-xs mr-xxs;
95
+ @apply mr-xxs;
96
+ height: var(--font-size-icon-xs);
97
+ font-size: var(--font-size-icon-xs);
95
98
  }
96
99
  }
97
100
 
@@ -122,14 +125,14 @@ img.chat-avatar {
122
125
  }
123
126
 
124
127
  .chat-message-item.your-message .chat-message-addons .btn {
125
- @apply text-white bg-gray bg-opacity-25;
128
+ @apply text-white bg-gray;
126
129
  &:hover, &:focus, &:active {
127
130
  @apply text-white bg-link-hover;
128
131
  }
129
132
  }
130
133
 
131
134
  .chat-message-item.your-message .chat-message-addons .tag-item {
132
- @apply text-white bg-gray bg-opacity-25;
135
+ @apply text-white bg-gray;
133
136
  }
134
137
 
135
138
  .chat-message-item.your-message .chat-actions .dropdown-actions[open] .dropdown-menu,
@@ -143,14 +146,14 @@ img.chat-avatar {
143
146
  }
144
147
 
145
148
  .chat-message-item.announcement .chat-message-addons .btn {
146
- @apply text-white bg-gray bg-opacity-25;
149
+ @apply text-white bg-gray backdrop-opacity-25;
147
150
  &:hover, &:focus, &:active {
148
151
  @apply text-white bg-link-hover;
149
152
  }
150
153
  }
151
154
 
152
155
  .chat-message-item.announcement .chat-message-addons .tag-item {
153
- @apply text-white bg-gray bg-opacity-25;
156
+ @apply text-white bg-gray;
154
157
  }
155
158
 
156
159
 
@@ -1,12 +1,12 @@
1
1
  .grid-productcards {
2
2
  @apply grid gap-grid-gutter;
3
- @screen sm {
3
+ @media (width >= theme(--breakpoint-sm)) {
4
4
  grid-template-columns: 1fr 1fr;
5
5
  }
6
- @screen xl {
6
+ @media (width >= theme(--breakpoint-xl)) {
7
7
  grid-template-columns: 1fr 1fr 1fr;
8
8
  }
9
- @screen 3xl {
9
+ @media (width >= theme(--breakpoint-3xl)) {
10
10
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
11
11
  }
12
12
  }
@@ -79,4 +79,8 @@
79
79
 
80
80
  .color-cell {
81
81
  @apply flex flex-col justify-start items-start text-left px-5 py-2.5;
82
+ }
83
+
84
+ .color-cell p {
85
+ @apply first:lowercase last:uppercase;
82
86
  }
@@ -20,7 +20,7 @@
20
20
  }
21
21
 
22
22
  .device.outline {
23
- @apply p-sm border border-bordercolor rounded outline-none;
23
+ @apply p-sm border border-bordercolor rounded outline-hidden;
24
24
  }
25
25
 
26
26
  .device-icon {
@@ -3,7 +3,7 @@
3
3
  }
4
4
 
5
5
  .form-label {
6
- @apply text-label text-label leading-tight;
6
+ @apply text-label leading-tight;
7
7
 
8
8
  &.optional::after {
9
9
  content: "(optional)";
@@ -26,7 +26,7 @@
26
26
 
27
27
  .form-control,
28
28
  .form-control-static {
29
- @apply h-btn w-full text-base border border-bordercolor;
29
+ @apply h-btn w-full px-sm py-xxs text-base border border-bordercolor rounded;
30
30
  }
31
31
 
32
32
  .form-check .field_with_errors input[type="checkbox"],
@@ -71,14 +71,7 @@
71
71
  }
72
72
 
73
73
  textarea.form-control {
74
- @apply h-auto min-h-btn;
75
- }
76
-
77
- .form-control-search {
78
- /* padding-right: ($input-padding-x * 3);
79
- background-repeat: no-repeat;
80
- background-position: center right ($input-height * .25);
81
- background-size: ($input-height * .50) ($input-height * .50); */
74
+ @apply h-auto min-h-btn pt-xs;
82
75
  }
83
76
 
84
77
  .form-control-label {
@@ -1,4 +1,3 @@
1
-
2
1
  .header {
3
2
  @apply h-header flex items-center bg-header;
4
3
  grid-area: header;
@@ -70,7 +69,7 @@
70
69
  content: url("/assets/images/logo-testio/testio_horizontal_tealpurple_white.svg");
71
70
  height: 13px;
72
71
  width: 74px;
73
- @screen sm {
72
+ @media (width >= theme(--breakpoint-sm)) {
74
73
  @apply h-md;
75
74
  width: 128px;
76
75
  }
@@ -2,23 +2,43 @@
2
2
  /*/ Icon sizes and spacing /*/
3
3
 
4
4
  .icon {
5
- @apply h-icon text-icon align-bottom;
5
+ height: var(--font-size-icon);
6
+ font-size: var(--font-size-icon);
7
+ }
8
+
9
+ .icon-xxs {
10
+ height: var(--font-size-icon-xxs);
11
+ font-size: var(--font-size-icon-xxs);
6
12
  }
7
13
 
8
14
  .icon-xs {
9
- @apply h-icon-xs text-icon-xs;
15
+ height: var(--font-size-icon-xs);
16
+ font-size: var(--font-size-icon-xs);
17
+ }
18
+
19
+ .icon-xs {
20
+ height: var(--font-size-icon-xs);
21
+ font-size: var(--font-size-icon-xs);
10
22
  }
11
23
 
12
24
  .icon-sm {
13
- @apply h-icon-sm text-icon-sm;
25
+ height: var(--font-size-icon-sm);
26
+ font-size: var(--font-size-icon-sm);
14
27
  }
15
28
 
16
29
  .icon-lg {
17
- @apply h-icon-lg text-icon-lg;
30
+ height: var(--font-size-icon-lg);
31
+ font-size: var(--font-size-icon-lg);
18
32
  }
19
33
 
20
34
  .icon-xl {
21
- @apply h-icon-xl text-icon-xl;
35
+ height: var(--font-size-icon-xl);
36
+ font-size: var(--font-size-icon-xl);
37
+ }
38
+
39
+ .icon-xxl {
40
+ height: var(--font-size-icon-xxl);
41
+ font-size: var(--font-size-icon-xxl);
22
42
  }
23
43
 
24
44
  .icon-functional {
@@ -1,4 +1,3 @@
1
-
2
1
  .list-listitems .listitem,
3
2
  .list-listitems .listitem-with-footer {
4
3
  @apply mb-xs;
@@ -11,7 +10,7 @@
11
10
  "badge metrics actions";
12
11
  grid-template-columns: auto 1fr auto;
13
12
 
14
- @screen sm {
13
+ @media (width >= theme(--breakpoint-sm)) {
15
14
  grid-template-areas: "badge title metrics actions";
16
15
  }
17
16
  }