@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,258 +0,0 @@
1
- @import "../../mixins/_tab-focus.less";
2
- /**
3
- * C8Y AI Chat - AI chat widget component
4
- *
5
- * Note: Uses @size-* tokens for spacing and @font-size-* tokens for typography.
6
- *
7
- * Intentionally hardcoded values:
8
- * - Component-specific dimensions (400px): Minimum chat height
9
- * - Border radius (20px): Pill-shaped input and list items
10
- * - Border widths (1px): Standard borders
11
- * - Percentages (85%, 100%): Layout and width constraints
12
- * - Negative calc expressions: Complex computed heights
13
- * - Font-size em values (1.2em, 1.5em, 2em): Relative heading sizes
14
- * - Line-height values (1.7): Unitless ratio
15
- * - Z-index values: Stacking order
16
- */
17
-
18
- c8y-widget-ai-chat-section {
19
- display: flex;
20
- max-height: calc(100vh - 400px);
21
- min-height: 400px;
22
- background-color: @component-background-default;
23
- border: 1px solid var(--c8y-root-component-border-color);
24
- border-radius: @size-base;
25
- padding: 0;
26
-
27
- .chat-input {
28
- border-bottom-left-radius: @size-base;
29
- border-bottom-right-radius: @size-base;
30
- }
31
- }
32
-
33
- c8y-agent-chat {
34
- width: 100%;
35
- }
36
-
37
- .chat-input {
38
- display: flex;
39
- width: 100%;
40
- flex-direction: column;
41
- gap: @size-8;
42
- padding: @size-16 @size-16 @size-4 @size-16;
43
- background-color: @component-background-default;
44
- border-top: 1px solid var(--c8y-root-component-border-color);
45
- margin-top: auto;
46
- position: sticky;
47
- bottom: 0;
48
-
49
- .chat-input-group {
50
- position: relative;
51
- width: 100%;
52
-
53
- textarea {
54
- border-radius: 20px !important;
55
- min-height: @size-40;
56
- padding-top: @size-10;
57
- padding-right: @size-40;
58
- padding-bottom: @size-10;
59
- padding-left: @size-16;
60
-
61
- &::-webkit-scrollbar {
62
- width: unset;
63
- /* for vertical scrollbars */
64
- height: unset;
65
- /* for horizontal scrollbars */
66
- }
67
-
68
- &::-webkit-scrollbar-track {
69
- background: unset;
70
- }
71
-
72
- &::-webkit-scrollbar-thumb {
73
- width: unset;
74
- border-radius: unset;
75
- background: unset;
76
- }
77
-
78
- &:hover {
79
- &::-webkit-scrollbar-thumb {
80
- background: unset;
81
- }
82
- }
83
- }
84
-
85
- .chat-input-group-btn {
86
- position: absolute;
87
- right: @size-4;
88
- bottom: @size-4;
89
-
90
- .btn-dot {
91
- margin: 0 !important;
92
- height: @form-control-height-base !important;
93
- border-radius: 50%;
94
- }
95
- }
96
- }
97
- }
98
-
99
- .chat-message {
100
- line-height: 1.7;
101
-
102
- .message-content {
103
- overflow-wrap: break-word;
104
- word-break: break-word;
105
- max-width: 100%;
106
- min-width: 0;
107
-
108
- p {
109
- margin-bottom: @size-8;
110
-
111
- &:last-child {
112
- margin-bottom: 0;
113
- }
114
- }
115
- }
116
- }
117
-
118
- .agent-message {
119
- align-self: flex-start;
120
- min-width: 0;
121
- width: 100%;
122
- margin-top: @size-16;
123
- padding: @size-16 @size-24 @size-16 @size-16;
124
-
125
- h1 {
126
- margin-top: @size-24;
127
- margin-bottom: @size-16;
128
- font-size: 2em;
129
- font-weight: 600;
130
- }
131
-
132
- h2 {
133
- margin-top: @size-24;
134
- margin-bottom: @size-16;
135
- font-size: 1.5em;
136
- font-weight: 600;
137
- }
138
-
139
- h3 {
140
- margin-top: @size-16;
141
- margin-bottom: @size-16;
142
- font-size: 1.2em;
143
- font-weight: 600;
144
- }
145
- }
146
-
147
- .user-message {
148
- background-color: var(--c8y-brand-70);
149
- color: var(--c8y-palette-low);
150
- align-self: flex-end;
151
- border-radius: @size-base;
152
- max-width: 85%;
153
- min-width: 0;
154
- padding: @size-base @size-16;
155
- order: 2;
156
- }
157
-
158
- .message-action {
159
- display: flex;
160
- align-items: center;
161
- gap: @size-base;
162
- padding: @size-base 0 @size-16 0;
163
-
164
- &:empty {
165
- display: none;
166
- }
167
-
168
- &.user-action {
169
- display: inline-block;
170
- align-self: flex-end;
171
- width: auto;
172
- padding: 0;
173
- margin-top: 0;
174
- margin-right: 0;
175
- order: 1;
176
- }
177
-
178
- &.agent-action {
179
- justify-content: flex-start;
180
- border-top: 1px dashed var(--c8y-root-component-border-color);
181
- }
182
-
183
- .btn-dot {
184
- margin: 0 !important;
185
- height: @form-control-height-base !important;
186
- border-radius: 50% !important;
187
- }
188
- }
189
-
190
- .message-timestamp {
191
- display: block;
192
- font-size: @font-size-xs;
193
- color: var(--c8y-text-muted);
194
-
195
- .user-message & {
196
- text-align: right;
197
- }
198
- }
199
-
200
-
201
- c8y-ai-chat {
202
-
203
- // Visually hidden label included when users copy-paste from the chat, e.g. to report issues.
204
- .hidden-copy-label {
205
- display: block;
206
- font-size: 0;
207
- line-height: 0;
208
- user-select: text;
209
- }
210
-
211
- .ai-tool-call {
212
- &__fieldset {
213
- display: inline-flex;
214
- max-inline-size: min-content;
215
- flex-direction: column;
216
- max-width: 100%;
217
- min-inline-size: 1rem;
218
- transition: all .35s ease;
219
-
220
- &:has([aria-expanded="true"]) {
221
- min-inline-size: 100%;
222
- transition: all .35s ease;
223
- }
224
-
225
- &:focus-within {
226
- .c8y-focus-inset();
227
- border-radius: var(--c8y-unit-base) !important;
228
- }
229
- }
230
-
231
- &__btn {
232
- display: inline-flex;
233
- align-items: center;
234
- gap: 4px;
235
-
236
- &:focus {
237
- outline: 0;
238
- box-shadow: none;
239
- }
240
- }
241
- }
242
-
243
- .reasoning-content {
244
- font-style: italic;
245
- font-size: @font-size-small;
246
-
247
- p {
248
- margin-bottom: @size-4;
249
-
250
- &:last-child {
251
- margin-bottom: 0;
252
- }
253
- }
254
-
255
- }
256
-
257
-
258
- }
@@ -1,22 +0,0 @@
1
-
2
-
3
- /**
4
- * static assets file picker - Component styles
5
- *
6
- * Note: Uses @size-* tokens for spacing where applicable.
7
- *
8
- * Intentionally hardcoded values:
9
- * - Component-specific dimensions: Fixed sizes for component layout
10
- * - Off-grid spacing: Component-specific positioning
11
- * - Border widths (1px, 2px, 3px): Standard borders
12
- * - Font-sizes: Typography
13
- * - Percentages: Layout
14
- */
15
- c8y-static-assets-file-picker{
16
- display: block;
17
- padding: var(--c8y-root-component-padding-default);
18
- border: 1px solid var(--c8y-form-control-border-color-default);
19
- img{
20
- border: 1px dashed var(--c8y-root-component-border-color);
21
- }
22
- }
@@ -1,118 +0,0 @@
1
-
2
- @import "../../mixins/_c8y-scrollbar.less";
3
-
4
-
5
- /**
6
- * c8y scrolluar - Component styles
7
- *
8
- * Note: Uses @size-* tokens for spacing where applicable.
9
- *
10
- * Intentionally hardcoded values:
11
- * - Component-specific dimensions: Fixed sizes for component layout
12
- * - Off-grid spacing: Component-specific positioning
13
- * - Border widths (1px, 2px, 3px): Standard borders
14
- * - Font-sizes: Typography
15
- * - Percentages: Layout
16
- */
17
- .navigatorContent,
18
- .c8y-right-drawer {
19
- &::-webkit-scrollbar {
20
- width: 4px;
21
- height: 4px;
22
- transition: all 0.5s ease;
23
- }
24
- &::-webkit-scrollbar-track {
25
- background: @navigator-scrollbar-track-color;
26
- }
27
- &::-webkit-scrollbar-thumb {
28
- background: @navigator-scrollbar-thumb-color;
29
- }
30
- scrollbar-width: thin; /* for Firefox */
31
- scrollbar-color: @navigator-scrollbar-thumb-color transparent;
32
- transition: scrollbar-color .2s ease;
33
- &:hover {
34
- &::-webkit-scrollbar-thumb {
35
- background: @navigator-scrollbar-thumb-color-hover;
36
- }
37
- scrollbar-color: @navigator-scrollbar-thumb-color-hover transparent;
38
- }
39
- }
40
-
41
- .panel.panel-dashboard > .panel-heading + .panel-body,
42
- .panel.panel-dashboard > .panel-heading + .fixed-header + .panel-body,
43
- .modal-inner-scroll-sm,
44
- .modal-inner-scroll,
45
- .card-inner-scroll,
46
- .data-grid__dropdown,
47
- .dropdown-menu-action-bar,
48
- .user-picker-scroll,
49
- .multiselect-item-container,
50
- .c8y-list__group.dropdown-menu,
51
- .selectize-dropdown-content,
52
- .inner-scroll,
53
- .table-data-grid-scroll,
54
- .flex-scroll .flex-content-scroll,
55
- .card--grid__inner-scroll,
56
- .panel-inner-scroll {
57
- overflow: auto;
58
-
59
- .c8y-scrollbar();
60
-
61
- &.scrollbar-only-on-hover {
62
- // Force scrollbar space to always be present
63
- overflow-y: scroll;
64
- scrollbar-width: thin; // Firefox
65
- scrollbar-color: transparent transparent; // Firefox - invisible by default
66
-
67
- &::-webkit-scrollbar {
68
- width: 8px; // Webkit browsers - always reserve space
69
- }
70
-
71
- // Hide scrollbar thumb when not hovering
72
- &::-webkit-scrollbar-thumb {
73
- background-color: transparent;
74
- }
75
-
76
- &::-webkit-scrollbar-track {
77
- background-color: transparent;
78
- }
79
-
80
- &:hover {
81
- scrollbar-color: @component-scrollbar-thumb-hover transparent; // Firefox
82
-
83
- &::-webkit-scrollbar-thumb {
84
- background-color: @component-scrollbar-thumb-hover;
85
- border-radius: 4px;
86
- }
87
-
88
- &::-webkit-scrollbar-track {
89
- background-color: @component-scrollbar-track;
90
- }
91
- }
92
- }
93
- }
94
-
95
- .table-responsive {
96
- .c8y-scrollbar();
97
- }
98
-
99
- // avoid double scrollbars in dashboard widgets
100
- .card-inner-scroll .card-inner-scroll {
101
- overflow: visible;
102
- padding: 0;
103
- > p {
104
- padding: 0;
105
- }
106
- }
107
-
108
- /* fix for firefox position sticky bottom bug
109
- https://bugzilla.mozilla.org/show_bug.cgi?id=1488080
110
- Note: @-moz-document is not supported in Dart Sass, commented out
111
- */
112
- // @media (min-width: @screen-md-min) {
113
- // @-moz-document url-prefix() {
114
- // .ff-scroll-fix {
115
- // padding-bottom: 64px !important;
116
- // }
117
- // }
118
- // }
@@ -1,60 +0,0 @@
1
-
2
- @import "../../../mixins/_shadows-helper.less";
3
-
4
- /**
5
- * Breadcrumbs - Navigation breadcrumb trail component
6
- *
7
- * Note: Uses @size-* tokens where applicable and @breadcrumb-* variables for colors.
8
- *
9
- * Intentionally hardcoded values:
10
- * - Percentages (100%): Layout
11
- * - Opacity values: Visual effects
12
- */
13
-
14
- .breadcrumbs-container {
15
- display: block;
16
- overflow: visible;
17
- color: @breadcrumb-text-color;
18
- font-size: @breadcrumbs-font-size;
19
-
20
- .breadcrumbs.text-muted {
21
- color: inherit;
22
- }
23
- .text-muted {
24
- opacity: 1 !important;
25
- }
26
- }
27
-
28
- .breadcrumbs {
29
- overflow: hidden;
30
- margin: 0 !important;
31
- padding: 0 !important;
32
- list-style: none;
33
- font-size: @breadcrumbs-font-size;
34
- display: flex;
35
- align-items: center;
36
- > li {
37
- overflow: hidden;
38
- max-width: 100%;
39
- text-overflow: ellipsis ;
40
- white-space: nowrap;
41
- display: inline-flex;
42
- align-items: center;
43
-
44
- > a, > span {
45
- text-overflow: ellipsis;
46
- overflow: hidden;
47
- display: inline-block;
48
- min-width: @font-size-base;
49
- vertical-align: top;
50
- text-align: center;
51
- }
52
- > a{
53
- color: @breadcrumb-text-color;
54
- &:hover {
55
- color: @breadcrumb-text-color-hover;
56
- text-decoration: underline;
57
- }
58
- }
59
- }
60
- }
@@ -1,46 +0,0 @@
1
-
2
-
3
- /**
4
- * c8y message uanner - Component styles
5
- *
6
- * Note: Uses @size-* tokens for spacing where applicable.
7
- *
8
- * Intentionally hardcoded values:
9
- * - Component-specific dimensions: Fixed sizes for component layout
10
- * - Off-grid spacing: Component-specific positioning
11
- * - Border widths (1px, 2px, 3px): Standard borders
12
- * - Font-sizes: Typography
13
- * - Percentages: Layout
14
- */
15
- .c8y-message-banner{
16
- position: fixed;
17
- z-index: 10000;
18
- width: 100%;
19
- pointer-events: none;
20
- .alert{
21
- margin: @size-16 auto;
22
- box-shadow: var(--c8y-elevation-lg);
23
- pointer-events: auto;
24
- .close{
25
- margin: calc(-1 * @size-4) calc(-1 * @size-4) 0 @size-8;
26
- }
27
- > span{
28
- white-space: normal;
29
- }
30
- &.alert-info{
31
- border: 2px solid var(--palette-status-info, var(--c8y-palette-status-info));
32
- }
33
- &.alert-warning{
34
- border: 2px solid var(--palette-status-warning, var(--c8y-palette-status-warning));
35
- }
36
- &.alert-danger{
37
- border: 2px solid var(--palette-status-danger, var(--c8y-palette-status-danger));
38
- }
39
- &.alert-success{
40
- border: 2px solid var(--palette-status-success, var(--c8y-palette-status-success));
41
- }
42
- &.alert-system{
43
- border: 2px solid var(--brand-primary, var(--c8y-brand-primary));
44
- }
45
- }
46
- }