@c8y/style 1024.10.8 → 1024.14.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 (38) hide show
  1. package/README.md +30 -259
  2. package/package.json +2 -2
  3. package/styles/core/overlays/_dropdowns.scss +3 -3
  4. package/variables/dashboard-themes/_branded-dashboard.scss +290 -296
  5. package/helper-scripts/README-variable-imports.md +0 -155
  6. package/helper-scripts/convert-scss-to-less.sh +0 -527
  7. package/helper-scripts/convert-stroke-icons-to-less.js +0 -115
  8. package/helper-scripts/remove-redundant-variable-imports.sh +0 -80
  9. package/helper-scripts/scss-to-less-skip +0 -20
  10. package/helper-scripts/sync-scss-to-less.sh +0 -75
  11. package/markdown-files/MANUAL-SYNC-FILES.md +0 -56
  12. package/styles/_login-app.less +0 -34
  13. package/styles/_mixins.less +0 -47
  14. package/styles/_utilities.less +0 -21
  15. package/styles/animations/_animate.less +0 -653
  16. package/styles/animations/_realtime-animation-list.less +0 -20
  17. package/styles/components/_markdown-content.less +0 -95
  18. package/styles/components/application-and-system/_c8y-cookie-banner.less +0 -36
  19. package/styles/components/data-display-and-visualization/_boxed-label.less +0 -45
  20. package/styles/components/data-display-and-visualization/_c8y-datapoint-pill.less +0 -104
  21. package/styles/components/data-display-and-visualization/_status.less +0 -105
  22. package/styles/components/data-display-and-visualization/lists/_c8y-data-point-list.less +0 -31
  23. package/styles/components/data-display-and-visualization/tables/_responsive-grid-table.less +0 -189
  24. package/styles/components/data-input/_c8y-ai-chat.less +0 -258
  25. package/styles/components/data-input/_static-assets-file-picker.less +0 -22
  26. package/styles/components/navigation-and-layout/_c8y-scrollbar.less +0 -118
  27. package/styles/components/navigation-and-layout/navigation/_breadcrumbs.less +0 -60
  28. package/styles/components/status-feedback-and-notifications/_c8y-message-banner.less +0 -46
  29. package/styles/dashboard/_c8y-dashboard-style.less +0 -565
  30. package/styles/dashboard/_dashboard-widgets.less +0 -46
  31. package/styles/icons/_dlt-c8y-icons-stroke.less +0 -7260
  32. package/styles/icons/_marker-icons.less +0 -32
  33. package/styles/layout/_bottom-drawer.less +0 -70
  34. package/styles/layout/_group-info.less +0 -26
  35. package/styles/mixins/_gradients.less +0 -117
  36. package/styles/mixins/_icon-base.less +0 -29
  37. package/styles/mixins/_vendor-prefixes.less +0 -131
  38. package/variables/_color-defaults.less +0 -110
@@ -1,32 +0,0 @@
1
-
2
- /**
3
- * Marker Icons - Map marker icon styles for different severity levels
4
- *
5
- * Note: Defines background images for normal, critical, major, minor, and warning markers.
6
- *
7
- * Intentionally hardcoded values:
8
- * - None - only contains background-image URLs
9
- */
10
-
11
- // Local path definition for correct relative path from styles/icons/
12
- @marker-icon-path: if(@use-relative-paths, '../../img', 'img');
13
-
14
- .normal-marker-icon {
15
- background-image: url('@{marker-icon-path}/normal-marker-icon.png');
16
- }
17
-
18
- .critical-marker-icon {
19
- background-image: url('@{marker-icon-path}/critical-marker-icon.png');
20
- }
21
-
22
- .major-marker-icon {
23
- background-image: url('@{marker-icon-path}/major-marker-icon.png');
24
- }
25
-
26
- .minor-marker-icon {
27
- background-image: url('@{marker-icon-path}/minor-marker-icon.png');
28
- }
29
-
30
- .warning-marker-icon {
31
- background-image: url('@{marker-icon-path}/warning-marker-icon.png');
32
- }
@@ -1,70 +0,0 @@
1
-
2
- @import "../mixins/_shadows-helper.less";
3
-
4
- /**
5
- * Bottom Drawer - Fixed bottom panel
6
- *
7
- * Note: Uses design tokens for spacing (@size-*) and layout vars.
8
- *
9
- * Intentionally hardcoded values:
10
- * - 6px: Off-grid positioning offset
11
- * - 100vh: Full viewport height for transform
12
- * - Z-index calculations: Stacking order
13
- */
14
-
15
- .bottom-drawer {
16
- position: fixed;
17
- top: calc(@header-bar-height + 6px);
18
- right: @size-10;
19
- bottom: 0;
20
- z-index: @zindex-navbar-fixed + 5;
21
- overflow-y: auto;
22
- width: calc(100vw - @size-20);
23
- background-color: @component-background-default;
24
- transition:
25
- transform @open-menu-time-type,
26
- width @open-menu-time-type;
27
-
28
- transform: translate(0, 100vh);
29
-
30
- .drawerOpen & {
31
- transform: translate(0, 0);
32
- .boxShadowHelper(md, top);
33
- }
34
-
35
- @media (min-width: @grid-float-breakpoint) {
36
- right: @size-24;
37
- width: calc(100vw - @size-48);
38
-
39
- .open & {
40
- width: calc(100vw - @navigatorWidth - @size-48);
41
- }
42
- }
43
- }
44
-
45
- .drawerOpen {
46
- &:has(.bottom-drawer.has-backdrop) {
47
- &:before {
48
- content: '';
49
- position: fixed;
50
- top: 0;
51
- right: 0;
52
- bottom: 0;
53
- left: 0;
54
- z-index: @zindex-navbar-fixed + 4;
55
- cursor: not-allowed;
56
- }
57
- }
58
- }
59
-
60
- // for when there are two bottom drawers open
61
- c8y-bottom-drawer + c8y-bottom-drawer {
62
- .bottom-drawer {
63
- margin-top: 40px;
64
- }
65
- }
66
- c8y-bottom-drawer + c8y-bottom-drawer + c8y-bottom-drawer {
67
- .bottom-drawer {
68
- margin-top: 80px;
69
- }
70
- }
@@ -1,26 +0,0 @@
1
-
2
- /**
3
- * Group Info - Information display component
4
- *
5
- * Note: Uses @size-20 for padding.
6
- *
7
- * Intentionally hardcoded values:
8
- * - 30px/-30px: Specific horizontal spacing for layout
9
- * - Transition duration (0.25s): Animation timing
10
- * - Z-index: Stacking order
11
- */
12
-
13
- .group-info {
14
- margin: 0 -30px 0;
15
- padding: 0 30px @size-20;
16
-
17
- transition: all 0.25s ease;
18
- .form-editable {
19
- z-index: 999;
20
- align-self: flex-start;
21
- padding-top: 0;
22
- &.form-read-only {
23
- padding-top: 0;
24
- }
25
- }
26
- }
@@ -1,117 +0,0 @@
1
-
2
- // Horizontal gradient, from left to right
3
- // Creates two color stops, start and end, by specifying a color and position for each color stop.
4
- // Color stops are not available in IE9 and below.
5
- .gradient-horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
6
- background-image: -webkit-linear-gradient(
7
- left;
8
- @start-color @start-percent;
9
- @end-color @end-percent
10
- ); // Safari 5.1-6, Chrome 10+
11
- background-image: -o-linear-gradient(
12
- left;
13
- @start-color @start-percent;
14
- @end-color @end-percent
15
- ); // Opera 12
16
- background-image: linear-gradient(
17
- to right;
18
- @start-color @start-percent;
19
- @end-color @end-percent
20
- ); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
21
- background-repeat: repeat-x;
22
- filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#{color.ie-hex-str(@start-color)}', endColorstr='#{color.ie-hex-str(@end-color)}', GradientType=1)"; // IE9 and down
23
- }
24
-
25
- // Vertical gradient, from top to bottom
26
- // Creates two color stops, start and end, by specifying a color and position for each color stop.
27
- // Color stops are not available in IE9 and below.
28
- .gradient-vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
29
- background-image: -webkit-linear-gradient(
30
- top;
31
- @start-color @start-percent;
32
- @end-color @end-percent
33
- ); // Safari 5.1-6, Chrome 10+
34
- background-image: -o-linear-gradient(
35
- top;
36
- @start-color @start-percent;
37
- @end-color @end-percent
38
- ); // Opera 12
39
- background-image: linear-gradient(
40
- to bottom;
41
- @start-color @start-percent;
42
- @end-color @end-percent
43
- ); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
44
- background-repeat: repeat-x;
45
- filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#{color.ie-hex-str(@start-color)}', endColorstr='#{color.ie-hex-str(@end-color)}', GradientType=0)"; // IE9 and down
46
- }
47
-
48
- .gradient-directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
49
- background-repeat: repeat-x;
50
- background-image: -webkit-linear-gradient(
51
- @deg;
52
- @start-color;
53
- @end-color
54
- ); // Safari 5.1-6, Chrome 10+
55
- background-image: -o-linear-gradient(@deg; @start-color; @end-color); // Opera 12
56
- background-image: linear-gradient(
57
- @deg;
58
- @start-color;
59
- @end-color
60
- ); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
61
- }
62
- .gradient-horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
63
- background-image: -webkit-linear-gradient(
64
- left;
65
- @start-color;
66
- @mid-color @color-stop;
67
- @end-color
68
- );
69
- background-image: -o-linear-gradient(left; @start-color; @mid-color @color-stop; @end-color);
70
- background-image: linear-gradient(to right; @start-color; @mid-color @color-stop; @end-color);
71
- background-repeat: no-repeat;
72
- filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#{color.ie-hex-str(@start-color)}', endColorstr='#{color.ie-hex-str(@end-color)}', GradientType=1)"; // IE9 and down, gets no color-stop at all for proper fallback
73
- }
74
- .gradient-vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
75
- background-image: -webkit-linear-gradient(@start-color; @mid-color @color-stop; @end-color);
76
- background-image: -o-linear-gradient(@start-color; @mid-color @color-stop; @end-color);
77
- background-image: linear-gradient(@start-color; @mid-color @color-stop; @end-color);
78
- background-repeat: no-repeat;
79
- filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#{color.ie-hex-str(@start-color)}', endColorstr='#{color.ie-hex-str(@end-color)}', GradientType=0)"; // IE9 and down, gets no color-stop at all for proper fallback
80
- }
81
- .gradient-radial(@inner-color: #555; @outer-color: #333) {
82
- background-image: -webkit-radial-gradient(circle; @inner-color; @outer-color);
83
- background-image: radial-gradient(circle; @inner-color; @outer-color);
84
- background-repeat: no-repeat;
85
- }
86
- .gradient-striped(@color: rgba(255,255,255,0.15); @angle: 45deg) {
87
- background-image: -webkit-linear-gradient(
88
- @angle;
89
- @color 25%,
90
- transparent 25%,
91
- transparent 50%;
92
- @color 50%;
93
- @color 75%,
94
- transparent 75%,
95
- transparent
96
- );
97
- background-image: -o-linear-gradient(
98
- @angle;
99
- @color 25%,
100
- transparent 25%,
101
- transparent 50%;
102
- @color 50%;
103
- @color 75%,
104
- transparent 75%,
105
- transparent
106
- );
107
- background-image: linear-gradient(
108
- @angle;
109
- @color 25%,
110
- transparent 25%,
111
- transparent 50%;
112
- @color 50%;
113
- @color 75%,
114
- transparent 75%,
115
- transparent
116
- );
117
- }
@@ -1,29 +0,0 @@
1
-
2
- // Icon font base styles
3
- // These mixins replace @extend for better performance
4
-
5
- .c8y-glyph() {
6
- display: inline-block;
7
- text-decoration: inherit;
8
- text-transform: none;
9
- font-weight: normal;
10
- font-style: normal;
11
- font-variant: normal;
12
- font-family: 'c8y-glyphs' !important;
13
- line-height: 1;
14
- text-rendering: optimizeLegibility;
15
- -moz-osx-font-smoothing: grayscale;
16
- -webkit-font-smoothing: antialiased;
17
- }
18
-
19
- .dlt-c8y-icon() {
20
- display: inline-block;
21
- text-transform: none;
22
- font-weight: normal;
23
- font-style: normal;
24
- font-variant: normal;
25
- font-family: 'dlt-c8y-icons' !important;
26
- line-height: 1;
27
- -webkit-font-smoothing: antialiased;
28
- -moz-osx-font-smoothing: grayscale;
29
- }
@@ -1,131 +0,0 @@
1
-
2
- // Vendor prefixes are now handled automatically by Autoprefixer.
3
- // These mixins remain for backward compatibility but no longer add vendor prefixes.
4
-
5
- // Animations
6
- .animation(@animation) {
7
- animation: @animation;
8
- }
9
- .animation-name(@name) {
10
- animation-name: @name;
11
- }
12
- .animation-duration(@duration) {
13
- animation-duration: @duration;
14
- }
15
- .animation-timing-function(@timing-function) {
16
- animation-timing-function: @timing-function;
17
- }
18
- .animation-delay(@delay) {
19
- animation-delay: @delay;
20
- }
21
- .animation-iteration-count(@iteration-count) {
22
- animation-iteration-count: @iteration-count;
23
- }
24
- .animation-direction(@direction) {
25
- animation-direction: @direction;
26
- }
27
- .animation-fill-mode(@fill-mode) {
28
- animation-fill-mode: @fill-mode;
29
- }
30
-
31
- // Backface visibility
32
- // Prevent browsers from flickering when using CSS 3D transforms.
33
- // Default value is `visible`, but can be changed to `hidden`
34
-
35
- .backface-visibility(@visibility) {
36
- backface-visibility: @visibility;
37
- }
38
-
39
- // Drop shadows
40
- .box-shadow(@shadow) {
41
- box-shadow: @shadow;
42
- }
43
-
44
- // Box sizing
45
- .box-sizing(@boxmodel) {
46
- box-sizing: @boxmodel;
47
- }
48
-
49
- // CSS3 Content Columns
50
- .content-columns(@column-count; @column-gap: @grid-gutter-width) {
51
- column-count: @column-count;
52
- column-gap: @column-gap;
53
- }
54
-
55
- // Optional hyphenation
56
- .hyphens(@mode: auto) {
57
- overflow-wrap: break-word;
58
- hyphens: @mode;
59
- }
60
-
61
- // Placeholder text - REMOVED: Duplicate mixin, use placeholder() from _forms.scss instead
62
-
63
- // Transformations
64
- .scale(@ratioX) {
65
- transform: scale(@ratioX);
66
- }
67
- .scale(@ratioX; @ratioY) {
68
- transform: scale(@ratioX; @ratioY);
69
- }
70
- .scaleX(@ratio) {
71
- transform: scaleX(@ratio);
72
- }
73
- .scaleY(@ratio) {
74
- transform: scaleY(@ratio);
75
- }
76
- .skew(@x; @y) {
77
- transform: skewX(@x) skewY(@y);
78
- }
79
- .translate(@x:0; @y:0) {
80
- transform: translate(@x, @y);
81
- }
82
- .translate3d(@x; @y; @z) {
83
- transform: translate3d(@x, @y, @z);
84
- }
85
- .rotate(@degrees) {
86
- transform: rotate(@degrees);
87
- }
88
- .rotateX(@degrees) {
89
- transform: rotateX(@degrees);
90
- }
91
- .rotateY(@degrees) {
92
- transform: rotateY(@degrees);
93
- }
94
- .perspective(@perspective) {
95
- perspective: @perspective;
96
- }
97
- .perspective-origin(@perspective) {
98
- perspective-origin: @perspective;
99
- }
100
- .transform-origin(@origin) {
101
- transform-origin: @origin;
102
- }
103
-
104
- // Transitions
105
- .transition(@transition) {
106
- transition: @transition;
107
- }
108
- .transition-property(@transition-property) {
109
- transition-property: @transition-property;
110
- }
111
- .transition-delay(@transition-delay) {
112
- transition-delay: @transition-delay;
113
- }
114
- .transition-duration(@transition-duration) {
115
- transition-duration: @transition-duration;
116
- }
117
- .transition-timing-function(@timing-function) {
118
- transition-timing-function: @timing-function;
119
- }
120
- .transition-transform(@transition) {
121
- transition: transform @transition;
122
- }
123
-
124
- // User select for selecting text on the page
125
- .user-select(@select) {
126
- user-select: @select;
127
- }
128
-
129
- .filter(@filter) {
130
- filter: @filter;
131
- }
@@ -1,110 +0,0 @@
1
- /**
2
- * ⚠️ DEPRECATED: SCSS/LESS Variable Defaults
3
- *
4
- * This file is DEPRECATED and no longer functionally used in the branding system.
5
- * It is kept only for backward compatibility and will be removed in a future major release.
6
- *
7
- * WHY DEPRECATED:
8
- * - The LESS/SCSS variable override system has been replaced with CSS custom properties
9
- * - Values defined here are immediately overwritten in _color-vars.scss (line 26)
10
- * - The conditional guards that used these "-default" values are now disabled
11
- *
12
- * MIGRATION PATH:
13
- * Use CSS custom properties instead:
14
- *
15
- * ```css
16
- * :root {
17
- * --brand-primary: #8e9de1;
18
- * --navigator-bg-color: #2c3e50;
19
- * }
20
- * ```
21
- *
22
- * Or use application options at runtime:
23
- * ```typescript
24
- * export const options: ApplicationOptions = {
25
- * brandingCssVars: {
26
- * '--brand-primary': '#8e9de1'
27
- * }
28
- * };
29
- * ```
30
- *
31
- * See README.md for more information.
32
- *
33
- * DO NOT ADD NEW VARIABLES TO THIS FILE.
34
- * DO NOT RELY ON THESE VALUES - they are not used in the compiled output.
35
- */
36
-
37
- /* Palette defaults - these match the design tokens */
38
- @palette-blue-40-default: #559ae3;
39
- @palette-green-10-default: #084708;
40
- @palette-green-20-default: #0a5c0a;
41
- @palette-green-30-default: #0f880f;
42
- @palette-green-40-default: #119d11;
43
- @palette-green-50-default: #6ac26a;
44
- @palette-green-60-default: #a5daa5;
45
- @palette-green-70-default: #d1ecd1;
46
- @palette-green-80-default: #eff9ef;
47
- @palette-gray-10-default: #212121;
48
- @palette-gray-20-default: #2A3846;
49
- @palette-gray-40-default: #657381;
50
- @palette-yellow-60-default: #ffbe00;
51
- @palette-yellow-10-default: #4e3a00;
52
- @palette-yellow-80-default: #fff6db;
53
- @palette-orange-50-default: #ff8800;
54
-
55
- /* Brand defaults - can be overridden by users */
56
- @brand-primary-default: @palette-green-40-default;
57
- @brand-primary-light-default: @palette-green-60-default;
58
- @brand-primary-dark-default: @palette-gray-20-default;
59
- @brand-complementary-default: @palette-blue-40-default;
60
- @brand-10-default: @palette-green-10-default;
61
- @brand-20-default: @palette-green-20-default;
62
- @brand-30-default: @palette-green-30-default;
63
- @brand-40-default: @palette-green-40-default;
64
- @brand-50-default: @palette-green-50-default;
65
- @brand-60-default: @palette-green-60-default;
66
- @brand-70-default: @palette-green-70-default;
67
- @brand-80-default: @palette-green-80-default;
68
-
69
- @brand-accent-default: @palette-yellow-60-default;
70
- @brand-accent-dark-default: @palette-yellow-10-default;
71
- @brand-accent-light-default: @palette-yellow-80-default;
72
-
73
- /* Status defaults */
74
- @status-success-default: #71A112;
75
- @status-info-default: #056ad6;
76
- @status-danger-default: #d70f0f;
77
- @status-warning-default: @palette-orange-50-default;
78
-
79
- /*
80
- * Variable initialization with conditional guard system
81
- * Users can override by defining @brand-primary etc. AFTER importing extend.less
82
- *
83
- * How it works:
84
- * 1. These variables are defined with default values
85
- * 2. Users import extend.less, then override: @brand-primary: #yourcolor;
86
- * 3. Conditional guards in _color-vars.less detect overrides (value != default)
87
- * 4. CSS custom properties are generated with the overridden values
88
- */
89
-
90
- @brand-primary: @brand-primary-default;
91
- @brand-primary-light: @brand-primary-light-default;
92
- @brand-primary-dark: @brand-primary-dark-default;
93
- @brand-complementary: @brand-complementary-default;
94
- @brand-10: @brand-10-default;
95
- @brand-20: @brand-20-default;
96
- @brand-30: @brand-30-default;
97
- @brand-40: @brand-40-default;
98
- @brand-50: @brand-50-default;
99
- @brand-60: @brand-60-default;
100
- @brand-70: @brand-70-default;
101
- @brand-80: @brand-80-default;
102
-
103
- @brand-accent: @brand-accent-default;
104
- @brand-accent-dark: @brand-accent-dark-default;
105
- @brand-accent-light: @brand-accent-light-default;
106
-
107
- @status-success: @status-success-default;
108
- @status-info: @status-info-default;
109
- @status-danger: @status-danger-default;
110
- @status-warning: @status-warning-default;