@scania/tegel-lite 0.0.3-rules-beta.7 → 0.1.0-beta.globals-test

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 (48) hide show
  1. package/README.md +0 -29
  2. package/dist/assets/icons/scania/microphone.svg +4 -0
  3. package/dist/assets/icons/scania/microphone_inactive.svg +7 -0
  4. package/dist/assets/icons/scania/notification_snooze.svg +6 -0
  5. package/dist/assets/icons/scania/paperclip.svg +3 -0
  6. package/dist/components.css +2107 -1653
  7. package/dist/global.css +4048 -4693
  8. package/dist/scania-variables.css +8 -0
  9. package/dist/tl-badge.css +15 -0
  10. package/dist/tl-button.css +19 -0
  11. package/dist/tl-card.css +10 -0
  12. package/dist/tl-dropdown.css +54 -2
  13. package/dist/tl-folder-tabs.css +64 -0
  14. package/dist/tl-footer.css +64 -0
  15. package/dist/tl-header.css +206 -50
  16. package/dist/tl-icon.css +16 -0
  17. package/dist/tl-inline-tabs.css +81 -0
  18. package/dist/tl-modal.css +35 -0
  19. package/dist/tl-navigation-tabs.css +81 -0
  20. package/dist/tl-radio-button.css +1 -1
  21. package/dist/tl-side-menu.css +71 -0
  22. package/dist/tl-slider.css +1024 -1485
  23. package/dist/tl-spinner.css +8 -0
  24. package/dist/tl-step.css +8 -0
  25. package/dist/tl-stepper.css +8 -0
  26. package/dist/tl-table.css +17 -20
  27. package/dist/tl-text-field.css +32 -13
  28. package/package.json +3 -14
  29. package/.ai/rules/01-design-tokens.mdc +0 -318
  30. package/.ai/rules/02-components-forms.mdc +0 -396
  31. package/.ai/rules/03-components-display.mdc +0 -474
  32. package/.ai/rules/04-components-navigation.mdc +0 -358
  33. package/.ai/rules/05-guidelines.mdc +0 -144
  34. package/.ai/rules/06-patterns.mdc +0 -352
  35. package/.cursor/rules/tegel-lite/01-design-tokens.mdc +0 -317
  36. package/.cursor/rules/tegel-lite/02-components-forms.mdc +0 -395
  37. package/.cursor/rules/tegel-lite/03-components-display.mdc +0 -473
  38. package/.cursor/rules/tegel-lite/04-components-navigation.mdc +0 -357
  39. package/.cursor/rules/tegel-lite/05-guidelines.mdc +0 -143
  40. package/.cursor/rules/tegel-lite/06-patterns.mdc +0 -351
  41. package/.github/copilot-instructions.md +0 -2045
  42. package/AGENTS.md +0 -2045
  43. package/CLAUDE.md +0 -2045
  44. package/bin/setup-ai-rules.js +0 -368
  45. package/dist/tl-folder-tab.css +0 -87
  46. package/dist/tl-inline-tab.css +0 -80
  47. package/dist/tl-navigation-tab.css +0 -114
  48. package/dist/tl-textarea-mixins.css +0 -0
@@ -1345,6 +1345,8 @@ h6 {
1345
1345
  --scania-icon-merge-svg: url(./assets/icons/scania/merge.svg);
1346
1346
  --scania-icon-message_inactive-svg: url(./assets/icons/scania/message_inactive.svg);
1347
1347
  --scania-icon-message-svg: url(./assets/icons/scania/message.svg);
1348
+ --scania-icon-microphone_inactive-svg: url(./assets/icons/scania/microphone_inactive.svg);
1349
+ --scania-icon-microphone-svg: url(./assets/icons/scania/microphone.svg);
1348
1350
  --scania-icon-mileage_inactive-svg: url(./assets/icons/scania/mileage_inactive.svg);
1349
1351
  --scania-icon-mileage-svg: url(./assets/icons/scania/mileage.svg);
1350
1352
  --scania-icon-minimize_fullscreen-svg: url(./assets/icons/scania/minimize_fullscreen.svg);
@@ -1352,9 +1354,11 @@ h6 {
1352
1354
  --scania-icon-navigate_inactive-svg: url(./assets/icons/scania/navigate_inactive.svg);
1353
1355
  --scania-icon-navigate-svg: url(./assets/icons/scania/navigate.svg);
1354
1356
  --scania-icon-notification_inactive-svg: url(./assets/icons/scania/notification_inactive.svg);
1357
+ --scania-icon-notification_snooze-svg: url(./assets/icons/scania/notification_snooze.svg);
1355
1358
  --scania-icon-notification-svg: url(./assets/icons/scania/notification.svg);
1356
1359
  --scania-icon-oil_level_inactive-svg: url(./assets/icons/scania/oil_level_inactive.svg);
1357
1360
  --scania-icon-oil_level-svg: url(./assets/icons/scania/oil_level.svg);
1361
+ --scania-icon-paperclip-svg: url(./assets/icons/scania/paperclip.svg);
1358
1362
  --scania-icon-pause_inactive-svg: url(./assets/icons/scania/pause_inactive.svg);
1359
1363
  --scania-icon-pause-svg: url(./assets/icons/scania/pause.svg);
1360
1364
  --scania-icon-phone_inactive-svg: url(./assets/icons/scania/phone_inactive.svg);
@@ -1601,6 +1605,8 @@ h6 {
1601
1605
  --icon-merge-svg: var(--scania-icon-merge-svg);
1602
1606
  --icon-message_inactive-svg: var(--scania-icon-message_inactive-svg);
1603
1607
  --icon-message-svg: var(--scania-icon-message-svg);
1608
+ --icon-microphone_inactive-svg: var(--scania-icon-microphone_inactive-svg);
1609
+ --icon-microphone-svg: var(--scania-icon-microphone-svg);
1604
1610
  --icon-mileage_inactive-svg: var(--scania-icon-mileage_inactive-svg);
1605
1611
  --icon-mileage-svg: var(--scania-icon-mileage-svg);
1606
1612
  --icon-minimize_fullscreen-svg: var(--scania-icon-minimize_fullscreen-svg);
@@ -1608,9 +1614,11 @@ h6 {
1608
1614
  --icon-navigate_inactive-svg: var(--scania-icon-navigate_inactive-svg);
1609
1615
  --icon-navigate-svg: var(--scania-icon-navigate-svg);
1610
1616
  --icon-notification_inactive-svg: var(--scania-icon-notification_inactive-svg);
1617
+ --icon-notification_snooze-svg: var(--scania-icon-notification_snooze-svg);
1611
1618
  --icon-notification-svg: var(--scania-icon-notification-svg);
1612
1619
  --icon-oil_level_inactive-svg: var(--scania-icon-oil_level_inactive-svg);
1613
1620
  --icon-oil_level-svg: var(--scania-icon-oil_level-svg);
1621
+ --icon-paperclip-svg: var(--scania-icon-paperclip-svg);
1614
1622
  --icon-pause_inactive-svg: var(--scania-icon-pause_inactive-svg);
1615
1623
  --icon-pause-svg: var(--scania-icon-pause-svg);
1616
1624
  --icon-phone_inactive-svg: var(--scania-icon-phone_inactive-svg);
package/dist/tl-badge.css CHANGED
@@ -1,3 +1,18 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ .tl-badge,
5
+ tds-badge {
6
+ --component-badge-text: var(--color-brand-neutral-white);
7
+ --component-badge-background: var(--color-system-danger-subtle);
8
+ }
9
+
10
+ .traton .tl-badge,
11
+ .traton tds-badge {
12
+ --component-badge-text: var(--color-brand-neutral-black);
13
+ --component-badge-background: var(--color-system-warning-subtle);
14
+ }
15
+
1
16
  .tl-badge {
2
17
  --badge-background-color: var(--component-badge-background);
3
18
  --badge-color-text: var(--component-badge-text);
@@ -1,3 +1,22 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ .tl-button,
5
+ tds-button,
6
+ .tds-mode-light tds-button {
7
+ --component-button-primary-text: var(--color-brand-neutral-white);
8
+ }
9
+
10
+ .scania .tds-mode-dark tds-button,
11
+ .scania .tds-mode-dark .tl-button {
12
+ --component-button-primary-text: var(--color-brand-neutral-white);
13
+ }
14
+
15
+ .tds-mode-dark tds-button,
16
+ .tds-mode-dark .tl-button {
17
+ --component-button-primary-text: var(--color-brand-neutral-black);
18
+ }
19
+
1
20
  .tl-button {
2
21
  --button-transparent: transparent;
3
22
  --button-white: var(--color-brand-neutral-white);
package/dist/tl-card.css CHANGED
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ .tl-card,
5
+ tds-card {
6
+ --component-card-secondary: var(--color-background-layer-02);
7
+ --component-card-primary: var(--color-background-layer-01);
8
+ --component-card-padding-padding: var(--scania-unit-16);
9
+ }
10
+
1
11
  .tl-card {
2
12
  --card-background: var(--tds-white);
3
13
  --card-background-primary: var(--component-card-primary);
@@ -1,3 +1,18 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ .tl-dropdown,
5
+ tds-dropdown {
6
+ --component-dropdown-list-item-secondary-hover: var(--color-background-layer-03);
7
+ --component-dropdown-list-item-secondary-focus: var(--color-background-layer-03);
8
+ --component-dropdown-list-item-focus: var(--color-background-layer-02);
9
+ --component-dropdown-list-item-hover: var(--color-background-layer-02);
10
+ --component-dropdown-secondary-hover: var(--color-background-layer-03);
11
+ --component-dropdown-secondary-focus: var(--color-background-layer-03);
12
+ --component-dropdown-focus: var(--color-background-surface-300);
13
+ --component-dropdown-hover: var(--color-background-surface-100);
14
+ }
15
+
1
16
  .tl-dropdown-option {
2
17
  --dropdown-option-background: var(--color-background-layer-01);
3
18
  --dropdown-option-background-hover: var(--component-dropdown-hover);
@@ -6,6 +21,9 @@
6
21
  --dropdown-option-border: var(--color-foreground-border-discrete);
7
22
  }
8
23
 
24
+ .tl-dropdown {
25
+ --dropdown-background: var(--color-background-layer-01);
26
+ }
9
27
  .tl-dropdown--primary {
10
28
  --dropdown-background: var(--color-background-layer-01);
11
29
  }
@@ -13,7 +31,6 @@
13
31
  --dropdown-background: var(--color-background-layer-02);
14
32
  }
15
33
  .tl-dropdown {
16
- --dropdown-background: var(--color-background-layer-01);
17
34
  --dropdown-text: var(--color-foreground-text-strong);
18
35
  --dropdown-helper-text: var(--color-foreground-text-defined);
19
36
  --dropdown-placeholder: var(--color-foreground-text-subtle);
@@ -166,7 +183,6 @@ body {
166
183
 
167
184
  .tl-dropdown__select {
168
185
  padding-top: 2px;
169
- padding-left: calc(var(--tds-spacing-element-16) - 1px);
170
186
  cursor: pointer;
171
187
  display: block;
172
188
  }
@@ -286,6 +302,10 @@ body {
286
302
  transition: transform 0.2s;
287
303
  }
288
304
 
305
+ .tl-dropdown--lg:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
306
+ background-color: var(--dropdown-disabled);
307
+ }
308
+
289
309
  .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
290
310
  content: "";
291
311
  position: absolute;
@@ -303,6 +323,10 @@ body {
303
323
  transition: transform 0.2s;
304
324
  }
305
325
 
326
+ .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
327
+ background-color: var(--dropdown-disabled);
328
+ }
329
+
306
330
  .tl-dropdown--sm:not(.tl-dropdown--label-inside):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
307
331
  content: "";
308
332
  position: absolute;
@@ -320,6 +344,10 @@ body {
320
344
  transition: transform 0.2s;
321
345
  }
322
346
 
347
+ .tl-dropdown--sm:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
348
+ background-color: var(--dropdown-disabled);
349
+ }
350
+
323
351
  .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(:is(.tl-dropdown__button, .tl-dropdown__input)) .tl-dropdown__button::after,
324
352
  .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(:is(.tl-dropdown__button, .tl-dropdown__input)) .tl-dropdown__input-wrapper::after {
325
353
  top: calc(50% + 1px);
@@ -342,6 +370,10 @@ body {
342
370
  transition: transform 0.2s;
343
371
  }
344
372
 
373
+ .tl-dropdown--label-inside:has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
374
+ background-color: var(--dropdown-disabled);
375
+ }
376
+
345
377
  .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
346
378
  content: "";
347
379
  position: absolute;
@@ -359,6 +391,10 @@ body {
359
391
  transition: transform 0.2s;
360
392
  }
361
393
 
394
+ .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
395
+ background-color: var(--dropdown-disabled);
396
+ }
397
+
362
398
  .tl-dropdown--label-inside:has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
363
399
  content: "";
364
400
  position: absolute;
@@ -376,6 +412,10 @@ body {
376
412
  transition: transform 0.2s;
377
413
  }
378
414
 
415
+ .tl-dropdown--label-inside:has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
416
+ background-color: var(--dropdown-disabled);
417
+ }
418
+
379
419
  .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
380
420
  content: "";
381
421
  position: absolute;
@@ -393,6 +433,10 @@ body {
393
433
  transition: transform 0.2s;
394
434
  }
395
435
 
436
+ .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
437
+ background-color: var(--dropdown-disabled);
438
+ }
439
+
396
440
  .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
397
441
  content: "";
398
442
  position: absolute;
@@ -410,6 +454,10 @@ body {
410
454
  transition: transform 0.2s;
411
455
  }
412
456
 
457
+ .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
458
+ background-color: var(--dropdown-disabled);
459
+ }
460
+
413
461
  .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
414
462
  top: calc(50% + 1px);
415
463
  }
@@ -763,6 +811,10 @@ body {
763
811
  transition: box-shadow 0.2s;
764
812
  }
765
813
 
814
+ .tl-dropdown:has(.tl-dropdown__select option[value=""]:checked) .tl-dropdown__select {
815
+ padding-top: 3px;
816
+ }
817
+
766
818
  .tl-dropdown:has(.tl-dropdown__select option[value=""]:checked) .tl-dropdown__select:disabled {
767
819
  color: var(--dropdown-disabled);
768
820
  cursor: not-allowed;
@@ -24,6 +24,70 @@
24
24
  --folder-tab-surface-selected: var(--color-background-layer-02);
25
25
  }
26
26
 
27
+ /* tl-folder-tabs.scss (overlay buttons, no JS) */
28
+ /* Typography Usage mixins */
29
+ .tl-folder-tabs__tab {
30
+ all: unset;
31
+ font-family: var(--headline-07-font-family);
32
+ font-size: var(--headline-07-font-size);
33
+ line-height: var(--headline-07-line-height);
34
+ font-weight: var(--headline-07-font-weight);
35
+ letter-spacing: var(--headline-07-letter-spacing);
36
+ text-transform: var(--headline-07-text-transform);
37
+ box-sizing: border-box;
38
+ position: relative;
39
+ display: inline-flex;
40
+ align-items: center;
41
+ min-inline-size: 142px;
42
+ inline-size: auto;
43
+ flex: 0 0 auto;
44
+ white-space: nowrap;
45
+ padding: 16px;
46
+ text-align: left;
47
+ cursor: pointer;
48
+ border-left: 1px solid transparent;
49
+ border-top: 2px solid var(--folder-tab-surface);
50
+ background-color: var(--folder-tab-surface);
51
+ color: var(--folder-tab-text);
52
+ }
53
+ .tl-folder-tabs__tab + .tl-folder-tabs__tab {
54
+ border-left-color: var(--folder-tab-divider);
55
+ }
56
+ .tl-folder-tabs__tab:focus-visible {
57
+ outline: 2px solid currentcolor;
58
+ outline-offset: -4px;
59
+ box-shadow: none;
60
+ }
61
+ .tl-folder-tabs__tab:hover:not(.tl-folder-tabs__tab--disabled):not(.tl-folder-tabs__tab--selected) {
62
+ background-color: var(--folder-tab-surface-hover);
63
+ border-top-color: var(--folder-tab-surface-hover);
64
+ color: var(--folder-tab-text);
65
+ }
66
+ .tl-folder-tabs__tab--selected {
67
+ background-color: var(--folder-tab-surface-selected);
68
+ border-top-color: var(--folder-tab-border-selected);
69
+ color: var(--folder-tab-text);
70
+ }
71
+ .tl-folder-tabs__tab--selected::after {
72
+ content: "";
73
+ position: absolute;
74
+ top: 0;
75
+ right: -1px;
76
+ bottom: 0;
77
+ width: 1px;
78
+ background-color: var(--folder-tab-surface-selected);
79
+ z-index: 1;
80
+ }
81
+ .tl-folder-tabs__tab--disabled {
82
+ color: var(--folder-tab-text-disabled);
83
+ cursor: not-allowed;
84
+ user-select: none;
85
+ }
86
+ .tl-folder-tabs__tab--disabled:focus-visible {
87
+ outline: none;
88
+ box-shadow: none;
89
+ }
90
+
27
91
  .tl-folder-tabs {
28
92
  box-sizing: border-box;
29
93
  }
@@ -1,4 +1,68 @@
1
1
  /* Typography Usage mixins */
2
+ /**
3
+ * Do not edit directly, this file was auto-generated.
4
+ */
5
+ .tl-footer,
6
+ tds-footer {
7
+ --component-footer-text-color-copyright: var(--color-foreground-text-soft);
8
+ --component-footer-text-color-link-text: var(--color-brand-primary-50);
9
+ --component-footer-primary: var(--scania-color-blue-900);
10
+ --component-footer-border: var(--scania-color-blue-800);
11
+ }
12
+
13
+ :root .tl-footer,
14
+ :root tds-footer,
15
+ .scania .tl-footer,
16
+ .scania tds-footer {
17
+ --component-footer-primary: var(--scania-color-blue-900);
18
+ --component-footer-border: var(--scania-color-blue-700);
19
+ --component-footer-text-color-copyright: var(--color-foreground-text-inverse-soft);
20
+ --component-footer-text-color-link-text: var(--color-foreground-text-brand);
21
+ --component-footer-logotype-cdn: var(--tds-background-image-scania-wordmark-white-svg);
22
+ --component-footer-logotype-local: var(--tds-background-image-scania-wordmark-white-svg-local);
23
+ }
24
+ :root .tds-mode-light tds-footer,
25
+ :root .tds-mode-light .tl-footer,
26
+ .scania .tds-mode-light tds-footer,
27
+ .scania .tds-mode-light .tl-footer {
28
+ --component-footer-text-color-copyright: var(--color-foreground-text-inverse-soft);
29
+ --component-footer-text-color-link-text: var(--color-foreground-text-brand);
30
+ --component-footer-logotype-cdn: var(--tds-background-image-scania-wordmark-white-svg);
31
+ --component-footer-logotype-local: var(--tds-background-image-scania-wordmark-white-svg-local);
32
+ }
33
+ :root .tds-mode-dark tds-footer,
34
+ :root .tds-mode-dark .tl-footer,
35
+ .scania .tds-mode-dark tds-footer,
36
+ .scania .tds-mode-dark .tl-footer {
37
+ --component-footer-text-color-copyright: var(--color-foreground-text-soft);
38
+ --component-footer-text-color-link-text: var(--color-brand-primary-50);
39
+ --component-footer-logotype-cdn: var(--tds-background-image-scania-wordmark-white-svg);
40
+ --component-footer-logotype-local: var(--tds-background-image-scania-wordmark-white-svg-local);
41
+ }
42
+
43
+ .traton tds-footer,
44
+ .traton .tl-footer {
45
+ --component-footer-primary: var(--traton-color-grey-50);
46
+ --component-footer-border: var(--traton-color-transparent-invisible-light);
47
+ --component-footer-text-color-copyright: var(--traton-color-transparent-600);
48
+ --component-footer-text-color-link-text: var(--color-foreground-text-strong);
49
+ --component-footer-logotype-cdn: var(--traton-logotype-black-svg);
50
+ --component-footer-logotype-local: var(--traton-logotype-black-svg-local);
51
+ }
52
+ .traton .tds-mode-light tds-footer,
53
+ .traton .tds-mode-light .tl-footer {
54
+ --component-footer-text-color-copyright: var(--traton-color-transparent-600);
55
+ --component-footer-logotype-cdn: var(--traton-logotype-black-svg);
56
+ --component-footer-logotype-local: var(--traton-logotype-black-svg-local);
57
+ }
58
+ .traton .tds-mode-dark tds-footer,
59
+ .traton .tds-mode-dark .tl-footer {
60
+ --component-footer-text-color-copyright: var(--traton-color-transparent-inverse-600);
61
+ --component-footer-primary: var(--traton-color-blue-1000);
62
+ --component-footer-logotype-cdn: var(--traton-logotype-white-svg);
63
+ --component-footer-logotype-local: var(--traton-logotype-white-svg-local);
64
+ }
65
+
2
66
  .tl-footer {
3
67
  --footer-top-background-primary: var(--color-background-layer-01);
4
68
  --footer-top-background-secondary: var(--color-background-base);