@c8y/style 1023.37.0 → 1023.43.2

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 (266) hide show
  1. package/branding-login.less +1 -1
  2. package/helper-scripts/README-variable-imports.md +155 -0
  3. package/helper-scripts/README.md +104 -0
  4. package/helper-scripts/convert-scss-to-less.sh +512 -0
  5. package/helper-scripts/convert-stroke-icons-to-less.js +115 -0
  6. package/helper-scripts/remove-redundant-variable-imports.sh +80 -0
  7. package/helper-scripts/scss-to-less-skip +20 -0
  8. package/{sync-scss-to-less.sh → helper-scripts/sync-scss-to-less.sh} +2 -2
  9. package/helper-scripts/test-compile.sh +71 -0
  10. package/markdown-files/MANUAL-SYNC-FILES.md +56 -0
  11. package/package.json +2 -2
  12. package/styles/_login-app.less +34 -0
  13. package/styles/_login-app.scss +2 -2
  14. package/styles/_mixins.less +47 -0
  15. package/styles/_utilities.less +21 -0
  16. package/styles/_utilities.scss +1 -0
  17. package/styles/animations/_animate.less +18 -13
  18. package/styles/animations/_component-animations.less +18 -16
  19. package/styles/animations/_realtime-animation-list.less +11 -1
  20. package/styles/animations/_spinner-snake.less +17 -2
  21. package/styles/animations/_spinner.less +24 -6
  22. package/styles/base/_normalize.less +14 -0
  23. package/styles/base/_print.less +25 -12
  24. package/styles/base/_scaffolding.less +24 -28
  25. package/styles/base/_type.less +41 -19
  26. package/styles/components/_markdown-content.less +4 -1
  27. package/styles/components/_smartrules.less +14 -8
  28. package/styles/components/_smartrules.scss +6 -2
  29. package/styles/components/application-and-system/_c8y-cookie-banner.less +36 -0
  30. package/styles/components/{specialized → application-and-system}/_c8y-login.less +20 -6
  31. package/styles/components/data-display-and-visualization/_boxed-label.less +45 -0
  32. package/styles/components/data-display-and-visualization/_boxed-label.scss +46 -0
  33. package/styles/components/{specialized → data-display-and-visualization}/_c8y-data-explorer.less +76 -24
  34. package/styles/components/{specialized → data-display-and-visualization}/_c8y-data-explorer.scss +39 -1
  35. package/styles/components/{specialized → data-display-and-visualization}/_c8y-datapoint-pill.less +29 -13
  36. package/styles/components/{specialized → data-display-and-visualization}/_c8y-pulse.less +33 -6
  37. package/styles/components/data-display-and-visualization/_range-display.less +25 -16
  38. package/styles/components/{specialized → data-display-and-visualization}/_smart-list-icon-label.less +19 -5
  39. package/styles/components/{specialized → data-display-and-visualization}/_status.less +16 -2
  40. package/styles/components/{specialized → data-display-and-visualization}/_statusContainer.less +16 -2
  41. package/styles/components/data-display-and-visualization/_timelines-chart.less +2 -0
  42. package/styles/components/data-display-and-visualization/lists/_c8y-data-point-list.less +10 -0
  43. package/styles/components/data-display-and-visualization/lists/_c8y-empty-state.less +26 -12
  44. package/styles/components/data-display-and-visualization/lists/_c8y-list-group.less +83 -43
  45. package/styles/components/data-display-and-visualization/lists/_cards-layout.less +38 -16
  46. package/styles/components/data-display-and-visualization/lists/_list-group.less +46 -28
  47. package/styles/components/data-display-and-visualization/lists/_smart-rules-template-list.less +12 -1
  48. package/styles/components/data-display-and-visualization/lists/{timeline-list.less → _timeline-list.less} +46 -24
  49. package/styles/components/data-display-and-visualization/tables/_data-grid.less +45 -25
  50. package/styles/components/data-display-and-visualization/tables/_resizable-grid.less +18 -5
  51. package/styles/components/data-display-and-visualization/tables/_tables.less +25 -9
  52. package/styles/components/data-input/_c8y-ai-chat.less +1 -0
  53. package/styles/components/{specialized → data-input}/_c8y-countdown-interval.less +15 -13
  54. package/styles/components/{specialized → data-input}/_c8y-range.less +22 -6
  55. package/styles/components/{specialized → data-input}/_dtm-icon-selector.less +17 -2
  56. package/styles/components/{specialized → data-input}/_dtm-icon-selector.scss +1 -2
  57. package/styles/components/{specialized → data-input}/_measurements-time-control.less +34 -6
  58. package/styles/components/{specialized → data-input}/_measurements-time-control.scss +14 -2
  59. package/styles/components/{specialized → data-input}/_search-header.less +22 -6
  60. package/styles/components/data-input/_static-assets-file-picker.less +22 -0
  61. package/styles/components/data-input/assets/_asset-property-list.less +38 -23
  62. package/styles/components/data-input/assets/_asset-table.less +21 -3
  63. package/styles/components/data-input/assets/_c8y-asset-notes.less +13 -1
  64. package/styles/components/data-input/assets/_c8y-asset-selector-miller.less +27 -8
  65. package/styles/components/data-input/assets/_c8y-asset-selector.less +32 -15
  66. package/styles/components/data-input/assets/_c8y-child-assets-selector.less +90 -9
  67. package/styles/components/{specialized → forms}/_c8y-schema-form.less +44 -17
  68. package/styles/components/{specialized → forms}/_c8y-schema-form.scss +15 -3
  69. package/styles/components/{specialized → navigation-and-layout}/_c8y-role-card.less +21 -5
  70. package/styles/components/{specialized → navigation-and-layout}/_c8y-scrollbar.less +24 -7
  71. package/styles/components/{specialized → navigation-and-layout}/_c8y-smart-rest-tab.less +21 -6
  72. package/styles/components/{specialized → navigation-and-layout}/_c8y-stepper.less +15 -1
  73. package/styles/components/{specialized → navigation-and-layout}/_c8y-user-roles.less +45 -28
  74. package/styles/components/{specialized → navigation-and-layout}/_device-software-tab.less +14 -0
  75. package/styles/components/navigation-and-layout/action-bars/_app-switcher.less +27 -5
  76. package/styles/components/navigation-and-layout/action-bars/_c8y-action-bar.less +49 -21
  77. package/styles/components/navigation-and-layout/cards/_card-dashboard.less +25 -4
  78. package/styles/components/navigation-and-layout/cards/_card-flip.less +41 -14
  79. package/styles/components/navigation-and-layout/cards/_card-grid.less +20 -4
  80. package/styles/components/navigation-and-layout/cards/_card.less +90 -75
  81. package/styles/components/navigation-and-layout/cards/_panels.less +38 -20
  82. package/styles/components/navigation-and-layout/navigation/_breadcrumbs.less +21 -39
  83. package/styles/components/navigation-and-layout/navigation/_c8y-nav-stacked.less +26 -14
  84. package/styles/components/navigation-and-layout/navigation/_main-header.less +41 -13
  85. package/styles/components/navigation-and-layout/navigation/_main-header.scss +1 -1
  86. package/styles/components/navigation-and-layout/navigation/_navbar.less +22 -25
  87. package/styles/components/navigation-and-layout/navigation/_navbar.scss +7 -7
  88. package/styles/components/navigation-and-layout/navigation/_navigator.less +71 -69
  89. package/styles/components/navigation-and-layout/navigation/_navs.less +13 -0
  90. package/styles/components/navigation-and-layout/navigation/_pagination.less +24 -5
  91. package/styles/components/navigation-and-layout/navigation/{steps-navbar.less → _steps-navbar.less} +7 -6
  92. package/styles/components/navigation-and-layout/navigation/_tabs.less +19 -14
  93. package/styles/components/navigation-and-layout/navigation/_tabs.scss +3 -2
  94. package/styles/components/{specialized → status-feedback-and-notifications}/_c8y-message-banner.less +14 -0
  95. package/styles/components/{specialized → status-feedback-and-notifications}/_code.less +18 -2
  96. package/styles/core/buttons/_button-groups.less +29 -79
  97. package/styles/core/buttons/_buttons.less +229 -198
  98. package/styles/core/buttons/_buttons.scss +6 -10
  99. package/styles/core/feedback/_alerts.less +52 -41
  100. package/styles/core/feedback/_badges.less +29 -17
  101. package/styles/core/feedback/_close.less +24 -7
  102. package/styles/core/feedback/_labels.less +21 -8
  103. package/styles/core/feedback/_progress-bars.less +24 -7
  104. package/styles/core/feedback/_tag.less +23 -6
  105. package/styles/core/feedback/_tooltip.less +44 -20
  106. package/styles/core/forms/_c8y-switch.less +39 -19
  107. package/styles/core/forms/_c8y-switch.scss +37 -29
  108. package/styles/core/forms/_file-picker.less +79 -61
  109. package/styles/core/forms/_forms.less +130 -133
  110. package/styles/core/forms/_input-groups.less +110 -59
  111. package/styles/core/forms/_input-groups.scss +21 -3
  112. package/styles/core/overlays/_c8y-dashboard-modal.less +25 -29
  113. package/styles/core/overlays/_c8y-wizard.less +38 -15
  114. package/styles/core/overlays/_dropdowns.less +86 -63
  115. package/styles/core/overlays/_modals.less +58 -40
  116. package/styles/core/overlays/_popovers.less +25 -9
  117. package/styles/dashboard/_availability-pie.less +3 -0
  118. package/styles/dashboard/_c8y-dashboard-style.less +61 -34
  119. package/styles/dashboard/_c8y-gauges.less +20 -4
  120. package/styles/dashboard/_dashboard-widgets.less +17 -4
  121. package/styles/dashboard/_info-gauge.less +20 -5
  122. package/styles/dashboard/_quick-links-widget.less +13 -3
  123. package/styles/{welcome-widget.less → dashboard/_welcome-widget.less} +21 -4
  124. package/styles/dashboard/{welcome.less → _welcome.less} +54 -45
  125. package/styles/icons/_c8y-glyphs.less +12 -1
  126. package/styles/icons/_c8y-glyphs.scss +2 -1
  127. package/styles/icons/_c8y-icons.less +214 -199
  128. package/styles/icons/_dlt-c8y-icons-stroke.less +7238 -1834
  129. package/styles/icons/_dlt-c8y-icons.less +14 -0
  130. package/styles/icons/_marker-icons.less +10 -0
  131. package/styles/index.less +160 -134
  132. package/styles/index.scss +53 -29
  133. package/styles/layout/_bottom-drawer.less +21 -7
  134. package/styles/layout/_c8y-help-drawer.less +30 -9
  135. package/styles/layout/_c8y-right-drawer.less +34 -19
  136. package/styles/layout/_c8y-top-drawer.less +43 -28
  137. package/styles/layout/_grid.less +18 -4
  138. package/styles/layout/_group-info.less +14 -2
  139. package/styles/layout/_layouts.less +48 -30
  140. package/styles/layout/_mcontainer.less +26 -12
  141. package/styles/layout/_page-tabs.less +126 -21
  142. package/styles/layout/_page-tabs.scss +14 -1
  143. package/styles/layout/_split-scroll.less +16 -4
  144. package/styles/layout/_split-view.less +19 -5
  145. package/styles/login-app-use.scss +2 -2
  146. package/styles/login-app.less +4 -4
  147. package/styles/mixins/_buttons.scss +1 -0
  148. package/styles/mixins/{color-mixins.less → _color-mixins.less} +2 -2
  149. package/styles/mixins/{element-queries.less → _element-queries.less} +2 -2
  150. package/styles/mixins/{forms.less → _forms.less} +1 -1
  151. package/styles/mixins/_gradients.less +117 -0
  152. package/styles/mixins/{grid-framework.less → _grid-framework.less} +21 -21
  153. package/styles/mixins/_grid-framework.scss +1 -1
  154. package/styles/mixins/_icon-base.less +29 -0
  155. package/styles/mixins/{nav-vertical-align.less → _nav-vertical-align.less} +6 -2
  156. package/styles/mixins/_nav-vertical-align.scss +5 -2
  157. package/styles/mixins/{progress-bar.less → _progress-bar.less} +1 -1
  158. package/styles/mixins/{shadows-helper.less → _shadows-helper.less} +3 -5
  159. package/styles/mixins/_shadows-helper.scss +1 -4
  160. package/styles/mixins/{vendor-prefixes.less → _vendor-prefixes.less} +7 -22
  161. package/styles/mixins/_vendor-prefixes.scss +1 -17
  162. package/styles/utilities/_borders.less +21 -11
  163. package/styles/{components/specialized → utilities}/_c8y-utils.less +14 -0
  164. package/styles/{components/specialized → utilities}/_c8y-utils.scss +1 -1
  165. package/styles/utilities/_caret.less +18 -4
  166. package/styles/utilities/_container-queries.less +11 -3
  167. package/styles/utilities/_contextual-colors.less +48 -119
  168. package/styles/utilities/_display.less +26 -41
  169. package/styles/utilities/_elevation.less +17 -7
  170. package/styles/utilities/_flex-containers.less +10 -0
  171. package/styles/utilities/_flex-items.less +11 -0
  172. package/styles/utilities/_icon-utils.less +15 -3
  173. package/styles/utilities/_margins-paddings.less +23 -4
  174. package/styles/utilities/_overflows.less +10 -0
  175. package/styles/utilities/_position.less +11 -0
  176. package/styles/utilities/_quickfloats.less +20 -1
  177. package/styles/utilities/_separators.less +11 -0
  178. package/styles/utilities/_shadows.less +5 -49
  179. package/styles/{utilities.less → utilities/_sizing.less} +13 -21
  180. package/styles/utilities/_text-utils.less +35 -24
  181. package/styles/vendor/ace-editor/_ace-editor.less +1 -0
  182. package/styles/vendor/angular/_loading-bar.less +1 -0
  183. package/styles/vendor/angular/_ui-sortable.less +2 -1
  184. package/styles/vendor/angular/_uib-accordion.less +1 -0
  185. package/styles/{angular-ui-select/select.less → vendor/angular/angular-ui-select/_select.less} +2 -10
  186. package/styles/vendor/cdk/_cdk-drag.less +3 -0
  187. package/styles/vendor/cdk/_cdk-tree.less +6 -3
  188. package/styles/vendor/cdk/_cdk-virtual-scroll-window.less +1 -0
  189. package/styles/vendor/datepicker/_bs-datepicker.less +26 -6
  190. package/styles/vendor/datepicker/_uib-datepicker.less +37 -4
  191. package/styles/vendor/leaflet/_c8y-map-internal.less +44 -54
  192. package/styles/vendor/leaflet/_leaflet.less +4 -1
  193. package/styles/vendor/other/_colorpicker.less +3 -2
  194. package/styles/vendor/selectize/_c8y-selectize.less +33 -10
  195. package/variables/_color-defaults.less +29 -10
  196. package/variables/_color-defaults.scss +29 -10
  197. package/variables/_color-vars.less +37 -89
  198. package/variables/_color-vars.scss +19 -77
  199. package/variables/{login-vars.less → _login-vars.less} +3 -5
  200. package/variables/index.less +3 -3
  201. package/variables/tokens/{c8y-design-tokens-dark.less → _c8y-design-tokens-dark.less} +5 -1
  202. package/variables/tokens/{c8y-design-tokens.less → _c8y-design-tokens.less} +5 -1
  203. package/styles/components/specialized/_boxed-label.less +0 -21
  204. package/styles/components/specialized/_boxed-label.scss +0 -36
  205. package/styles/components/specialized/_c8y-cookie-banner.less +0 -22
  206. package/styles/components/specialized/_static-assets-file-picker.less +0 -8
  207. package/styles/dashboard/welcome-widget.less +0 -50
  208. package/styles/mixins/gradients.less +0 -142
  209. package/styles/mixins.less +0 -45
  210. package/styles/steps-navbar.less +0 -97
  211. package/styles/timeline-list.less +0 -210
  212. package/styles/vendor/angular/angular-ui-select/select.less +0 -161
  213. package/styles/welcome.less +0 -128
  214. /package/styles/components/{specialized → application-and-system}/_c8y-cookie-banner.scss +0 -0
  215. /package/styles/components/{specialized → application-and-system}/_c8y-login.scss +0 -0
  216. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-datapoint-pill.scss +0 -0
  217. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-pulse.scss +0 -0
  218. /package/styles/components/{specialized → data-display-and-visualization}/_smart-list-icon-label.scss +0 -0
  219. /package/styles/components/{specialized → data-display-and-visualization}/_status.scss +0 -0
  220. /package/styles/components/{specialized → data-display-and-visualization}/_statusContainer.scss +0 -0
  221. /package/styles/components/{specialized → data-input}/_c8y-countdown-interval.scss +0 -0
  222. /package/styles/components/{specialized → data-input}/_c8y-range.scss +0 -0
  223. /package/styles/components/{specialized → data-input}/_search-header.scss +0 -0
  224. /package/styles/components/{specialized → data-input}/_static-assets-file-picker.scss +0 -0
  225. /package/styles/components/{specialized → navigation-and-layout}/_c8y-role-card.scss +0 -0
  226. /package/styles/components/{specialized → navigation-and-layout}/_c8y-scrollbar.scss +0 -0
  227. /package/styles/components/{specialized → navigation-and-layout}/_c8y-smart-rest-tab.scss +0 -0
  228. /package/styles/components/{specialized → navigation-and-layout}/_c8y-stepper.scss +0 -0
  229. /package/styles/components/{specialized → navigation-and-layout}/_c8y-user-roles.scss +0 -0
  230. /package/styles/components/{specialized → navigation-and-layout}/_device-software-tab.scss +0 -0
  231. /package/styles/components/{specialized → status-feedback-and-notifications}/_c8y-message-banner.scss +0 -0
  232. /package/styles/components/{specialized → status-feedback-and-notifications}/_code.scss +0 -0
  233. /package/styles/mixins/{alert-variant.less → _alert-variant.less} +0 -0
  234. /package/styles/mixins/{animation.less → _animation.less} +0 -0
  235. /package/styles/mixins/{background-variant.less → _background-variant.less} +0 -0
  236. /package/styles/mixins/{border-radius.less → _border-radius.less} +0 -0
  237. /package/styles/mixins/{buttons.less → _buttons.less} +0 -0
  238. /package/styles/mixins/{c8y-scrollbar.less → _c8y-scrollbar.less} +0 -0
  239. /package/styles/mixins/{center-block.less → _center-block.less} +0 -0
  240. /package/styles/mixins/{clearfix.less → _clearfix.less} +0 -0
  241. /package/styles/mixins/{create-grid.less → _create-grid.less} +0 -0
  242. /package/styles/mixins/{grid.less → _grid.less} +0 -0
  243. /package/styles/mixins/{hide-scrollbars.less → _hide-scrollbars.less} +0 -0
  244. /package/styles/mixins/{hide-text.less → _hide-text.less} +0 -0
  245. /package/styles/mixins/{image.less → _image.less} +0 -0
  246. /package/styles/mixins/{labels.less → _labels.less} +0 -0
  247. /package/styles/mixins/{list-group.less → _list-group.less} +0 -0
  248. /package/styles/mixins/{nav-divider.less → _nav-divider.less} +0 -0
  249. /package/styles/mixins/{opacity.less → _opacity.less} +0 -0
  250. /package/styles/mixins/{pagination.less → _pagination.less} +0 -0
  251. /package/styles/mixins/{panels.less → _panels.less} +0 -0
  252. /package/styles/mixins/{reset-filter.less → _reset-filter.less} +0 -0
  253. /package/styles/mixins/{reset-text.less → _reset-text.less} +0 -0
  254. /package/styles/mixins/{resize.less → _resize.less} +0 -0
  255. /package/styles/mixins/{responsive-visibility.less → _responsive-visibility.less} +0 -0
  256. /package/styles/mixins/{size.less → _size.less} +0 -0
  257. /package/styles/mixins/{tab-focus.less → _tab-focus.less} +0 -0
  258. /package/styles/mixins/{table-row.less → _table-row.less} +0 -0
  259. /package/styles/mixins/{tag.less → _tag.less} +0 -0
  260. /package/styles/mixins/{text-emphasis.less → _text-emphasis.less} +0 -0
  261. /package/styles/mixins/{text-overflow.less → _text-overflow.less} +0 -0
  262. /package/variables/{login-vars.scss → _login-vars.scss} +0 -0
  263. /package/variables/{shadows.less → _shadows.less} +0 -0
  264. /package/variables/{shadows.scss → _shadows.scss} +0 -0
  265. /package/variables/tokens/{c8y-design-tokens-dark.scss → _c8y-design-tokens-dark.scss} +0 -0
  266. /package/variables/tokens/{c8y-design-tokens.scss → _c8y-design-tokens.scss} +0 -0
@@ -1,16 +1,33 @@
1
- .checkBG(@check) when not (@check=inherit) {
2
- padding: @margin-base;
3
- .form-control:not(:focus),
4
- .c8y-select-wrapper {
5
- background-color: transparent;
6
- color: inherit;
7
- }
8
- }
1
+
2
+ @import "../../mixins/_shadows-helper.less";
3
+
4
+
5
+ /**
6
+ * c8y data explorer - 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
+ // Note: LESS mixin with guard removed - was never used
18
+ // checkBG(@check) when not (@check=inherit) {
19
+ // padding: @size-base;
20
+ // .form-control:not(:focus),
21
+ // .c8y-select-wrapper {
22
+ // background-color: transparent;
23
+ // color: inherit;
24
+ // }
25
+ // }
9
26
 
10
27
  .c8y-data-explorer {
11
28
  background-color: inherit;
12
29
  color: inherit;
13
- margin-top: 10px;
30
+ margin-top: @size-10;
14
31
  }
15
32
 
16
33
  c8y-chart {
@@ -64,9 +81,6 @@ c8y-chart {
64
81
  }
65
82
 
66
83
  // Removed unused utility usage: .has-aggregation .measurement-icon-bar .c8y-realtime
67
- //.has-aggregation .measurement-icon-bar .c8y-realtime {
68
- // display: none;
69
- //}
70
84
 
71
85
  .c8y-timelines-chart,
72
86
  .chart-container {
@@ -94,7 +108,7 @@ c8y-chart {
94
108
  .measurements-tab .fragment-chart {
95
109
  .realtime-form {
96
110
  position: absolute;
97
- top: 10px;
111
+ top: @size-10;
98
112
  right: @component-padding;
99
113
  }
100
114
  // Removed unused control utility class - verified 0 usages: .top-chart-bar
@@ -107,11 +121,49 @@ c8y-chart {
107
121
  }
108
122
  }
109
123
 
110
- // Removed unused deprecated component class - verified 0 usages: .c8y-chart-hover-box
124
+ .c8y-chart-hover-box {
125
+ position: absolute;
126
+ display: inline-block;
127
+ background-color: @popover-background-default;
128
+ padding: @size-10;
129
+ top: 0;
130
+ z-index: 1100;
131
+ pointer-events: none;
132
+ .boxShadowHelper(md, right);
133
+ }
134
+
135
+ .c8y-chart-hover-box {
136
+ .dlt-c8y-icon-circle {
137
+ font-size: @size-10;
138
+ }
139
+ }
140
+
141
+ .c8y-chart-hover-box .label {
142
+ padding: 0 5px 0 0;
143
+ color: @popover-label-color;
144
+ margin: 0;
145
+ font-weight: bold;
146
+ font-size: 100%;
147
+ }
148
+
149
+ .c8y-chart-hover-box .value {
150
+ color: @popover-color-default;
151
+ }
152
+
153
+ .c8y-chart-hover-box .value-holder {
154
+ font-size: @font-size-small;
155
+ margin-top: 3px;
156
+ line-height: @size-10;
157
+ }
158
+
159
+ .c8y-chart-hover-box .time-holder {
160
+ color: @component-color-text-muted;
161
+ font-size: @size-10;
162
+ }
111
163
 
112
164
  .c8y-chart .clock {
113
165
  color: @component-form-legend-color;
114
- font-size: 12px;
166
+ font-size: @font-size-small;
115
167
  }
116
168
 
117
169
  .c8y-chart .axis {
@@ -128,7 +180,7 @@ c8y-chart {
128
180
  bottom: 3px;
129
181
  left: 15px;
130
182
  right: 7px;
131
- font-size: 12px;
183
+ font-size: @font-size-small;
132
184
  }
133
185
 
134
186
  .chart-loading {
@@ -148,8 +200,8 @@ c8y-chart {
148
200
 
149
201
  .chart-load-more{
150
202
  position: absolute;
151
- left: 16px;
152
- right: 16px;
203
+ left: @size-16;
204
+ right: @size-16;
153
205
  bottom: 3px;
154
206
  z-index: 20;
155
207
  }
@@ -161,7 +213,7 @@ c8y-chart {
161
213
  }
162
214
 
163
215
  .meausurements2 .measurement-icon-bar {
164
- padding-left: 10px;
216
+ padding-left: @size-10;
165
217
  position: relative;
166
218
  z-index: 120;
167
219
  }
@@ -170,23 +222,23 @@ c8y-chart {
170
222
  padding: 3px;
171
223
  margin: 1px;
172
224
  position: static;
173
- font-size: 12px;
225
+ font-size: @font-size-small;
174
226
  background: none;
175
227
  }
176
228
 
177
229
  .meausurements2 .timeField input {
178
230
  height: 30px;
179
231
  padding: 5px 10px;
180
- font-size: 12px;
232
+ font-size: @font-size-small;
181
233
  line-height: 1.5;
182
234
  border-radius: 3px;
183
235
  }
184
236
 
185
237
  .meausurements2 .timeField table {
186
- margin-top: -24px;
238
+ margin-top: calc(-1 * @size-24);
187
239
  }
188
240
  .meausurements2 .timeField .btn {
189
- height: 24px;
241
+ height: @size-24;
190
242
  }
191
243
 
192
244
  .meausurements2 .timeField .btn-link {
@@ -205,7 +257,7 @@ c8y-chart {
205
257
  .meausurements2 .measurements-time-control {
206
258
  position: absolute;
207
259
  bottom: 1px;
208
- right: 5px;
260
+ right: @size-5;
209
261
  left: 5px;
210
262
  z-index: 100;
211
263
  min-width: 404px;
@@ -122,7 +122,45 @@ c8y-chart {
122
122
  }
123
123
  }
124
124
 
125
- // Removed unused deprecated component class - verified 0 usages: .c8y-chart-hover-box
125
+ .c8y-chart-hover-box {
126
+ position: absolute;
127
+ display: inline-block;
128
+ background-color: $popover-background-default;
129
+ padding: $size-10;
130
+ top: 0;
131
+ z-index: 1100;
132
+ pointer-events: none;
133
+ @include shadows-helper.boxShadowHelper(md, right);
134
+ }
135
+
136
+ .c8y-chart-hover-box {
137
+ .dlt-c8y-icon-circle {
138
+ font-size: $size-10;
139
+ }
140
+ }
141
+
142
+ .c8y-chart-hover-box .label {
143
+ padding: 0 5px 0 0;
144
+ color: $popover-label-color;
145
+ margin: 0;
146
+ font-weight: bold;
147
+ font-size: 100%;
148
+ }
149
+
150
+ .c8y-chart-hover-box .value {
151
+ color: $popover-color-default;
152
+ }
153
+
154
+ .c8y-chart-hover-box .value-holder {
155
+ font-size: $font-size-small;
156
+ margin-top: 3px;
157
+ line-height: $size-10;
158
+ }
159
+
160
+ .c8y-chart-hover-box .time-holder {
161
+ color: $component-color-text-muted;
162
+ font-size: $size-10;
163
+ }
126
164
 
127
165
  .c8y-chart .clock {
128
166
  color: $component-form-legend-color;
@@ -1,10 +1,26 @@
1
+
2
+ @import "../../core/buttons/_buttons.less";
3
+
4
+
5
+ /**
6
+ * c8y datapoint pill - 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
+ */
1
17
  .c8y-datapoint-pill, .c8y-alarm-pill, .c8y-event-pill {
2
18
  display: flex;
3
19
  overflow: hidden;
4
20
  align-items: center;
5
- min-height: 24px;
21
+ min-height: @size-24;
6
22
  max-width: 100%;
7
- border-radius: @margin-16;
23
+ border-radius: @size-16;
8
24
  background-color: @component-background-default;
9
25
  box-shadow: none;
10
26
  border: 1px solid @component-color-text-muted;
@@ -13,7 +29,7 @@
13
29
  &__btn {
14
30
  .btn-clean();
15
31
  align-self: stretch;
16
- padding: @margin-4 @margin-4 @margin-4 @margin-base;
32
+ padding: @size-4 @size-4 @size-4 @size-base;
17
33
  border-right: 1px solid @component-color-text-muted;
18
34
  color: @text-muted;
19
35
  line-height: 1;
@@ -22,7 +38,7 @@
22
38
  display: flex;
23
39
  overflow: hidden;
24
40
  align-items: center;
25
- padding: @margin-4 calc(@margin-base + @margin-4) @margin-4 @margin-4;
41
+ padding: @size-4 calc(@size-base + @size-4) @size-4 @size-4;
26
42
  line-height: 1;
27
43
  }
28
44
  }
@@ -30,24 +46,24 @@
30
46
  .c8y-datapoint-pill{
31
47
  &__btn {
32
48
  &, &:not(.btn){
33
- padding: @margin-4;
49
+ padding: @size-4;
34
50
  &:first-child{
35
- border-bottom-left-radius: @margin-16!important;
36
- border-top-left-radius: @margin-16!important;
51
+ border-bottom-left-radius: @size-16!important;
52
+ border-top-left-radius: @size-16!important;
37
53
  }
38
54
  + .c8y-datapoint-pill__btn{
39
55
  border-right: 0;
40
- padding-right: @margin-base;
56
+ padding-right: @size-base;
41
57
  }
42
58
  }
43
59
  }
44
60
  }
45
61
 
46
62
  .c8y-alarm-pill {
47
- border-radius: @margin-4;
63
+ border-radius: @size-4;
48
64
  &__btn {
49
65
  &, &:not(.btn){
50
- padding: @margin-4!important;
66
+ padding: @size-4!important;
51
67
  + .c8y-alarm-pill__btn{
52
68
  border-right: 0;
53
69
  }
@@ -61,7 +77,7 @@
61
77
  &__btn {
62
78
  &, &:not(.btn){
63
79
  border-right: 1px dotted @component-color-text-muted;
64
- padding: @margin-4 !important;
80
+ padding: @size-4 !important;
65
81
  + .c8y-event-pill__btn{
66
82
  border-right: 0;
67
83
  }
@@ -74,12 +90,12 @@
74
90
  &__btn {
75
91
  &, &:not(.btn){
76
92
  font-size: 11px;
77
- padding: 1px @margin-8 1px @margin-4!important;
93
+ padding: 1px @size-8 1px @size-4!important;
78
94
  + .c8y-datapoint-pill__btn,
79
95
  + .c8y-alarm-pill__btn,
80
96
  + .c8y-event-pill__btn {
81
97
  border-right: 0;
82
- padding-right: @margin-base;
98
+ padding-right: @size-base;
83
99
  }
84
100
  }
85
101
  }
@@ -1,11 +1,32 @@
1
+
2
+ @import "../../mixins/_vendor-prefixes.less";
3
+
4
+
5
+ /**
6
+ * c8y pulse - 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
+ */
1
17
  .c8y-pulse {
2
18
  position: relative;
3
19
  display: inline-block !important;
4
20
  margin: 0 5px 0 0 !important;
5
- width: 8px;
21
+ width: @size-8;
6
22
  height: 8px;
7
23
  border-radius: 50%;
8
24
  background: @component-pulse-color;
25
+ &.inactive{
26
+ &::before{
27
+ background: @component-color-disabled;
28
+ }
29
+ }
9
30
  &:before {
10
31
  position: absolute;
11
32
  top: 0;
@@ -17,11 +38,17 @@
17
38
  background-color: @component-pulse-color;
18
39
  content: '';
19
40
  transform: rotateZ(360deg);
20
- animation: c8ypulse 2s infinite;
41
+ }
42
+ &.active{
43
+ border: 1px solid @component-background-default;
44
+ background-color: @component-pulse-color;
45
+ &:before {
46
+ animation: c8ypulse 2s infinite;
47
+ }
21
48
  }
22
49
  &--md{
23
- width: @margin-16;
24
- height: @margin-16;
50
+ width: @size-16;
51
+ height: @size-16;
25
52
  &.active {
26
53
  border: 1px solid @component-background-default;
27
54
  background-color: @component-pulse-color;
@@ -31,8 +58,8 @@
31
58
  }
32
59
  }
33
60
  &--lg{
34
- width: @margin-24;
35
- height: @margin-24;
61
+ width: @size-24;
62
+ height: @size-24;
36
63
  &.active {
37
64
  border: 1px solid @component-background-default;
38
65
  background-color: @component-pulse-color;
@@ -1,7 +1,10 @@
1
+
2
+
1
3
  /**
2
4
  * Range Display - Visual range/gauge display component
3
5
  *
4
- * Note: Uses @size-* tokens for spacing and positioning, @component-* variables for colors.
6
+ * Note: Uses @size-* tokens for spacing and positioning; @component-* variables for colors.
7
+ * File has been optimized with mixins for repeated selector patterns (lines 3-32).
5
8
  *
6
9
  * Intentionally hardcoded values:
7
10
  * - Component-specific dimensions (240px, 300px, 44px, 80px): Fixed component sizes
@@ -15,6 +18,16 @@
15
18
  * - Opacity values: Visual effects
16
19
  * - Transition durations: Animation timing
17
20
  */
21
+ // NOTE: SCSS mixins with @content removed - manually expanded where used
22
+
23
+ // Shared mixin for range min/max base properties
24
+ .range-min-max-base {
25
+ position: absolute;
26
+ top: calc(-1 * @size-4);
27
+ max-width: 100%;
28
+ height: @size-8;
29
+ border-radius: 0;
30
+ }
18
31
 
19
32
  .range-display {
20
33
  position: relative;
@@ -87,31 +100,27 @@
87
100
  font-weight: bold;
88
101
 
89
102
  .range-display--compact:not(.range-display--vertical) &,
90
- .range-display--inline:not(.range-display--vertical) & {
103
+ .range-display--inline:not(.range-display--vertical) & {
91
104
  display: none;
92
105
  }
93
106
  }
94
107
 
95
108
  &__max,
96
109
  &__min {
97
- position: absolute;
98
- top: calc(-1 * @size-4);
99
- max-width: 100%;
100
- height: @size-8;
101
- border-radius: 0;
110
+ .range-min-max-base();
102
111
  }
103
112
 
104
113
  &__max {
105
114
  left: var(--range-r-min);
106
115
  width: calc(var(--range-r-max) - var(--range-r-min));
107
- background-color: var(--input-validation-error, @status-danger);
116
+ background-color: var(--input-validation-error; @status-danger);
108
117
  }
109
118
 
110
119
  &__min {
111
120
  left: var(--range-y-min);
112
121
  width: calc(var(--range-y-max) - var(--range-y-min));
113
122
  border-right: 1px solid @component-background-default;
114
- background-color: var(--input-validation-warning, @status-warning);
123
+ background-color: var(--input-validation-warning; @status-warning);
115
124
  }
116
125
 
117
126
  &__target {
@@ -122,7 +131,7 @@
122
131
  pointer-events: none;
123
132
 
124
133
  .range-display--compact:not(.range-display--vertical) &,
125
- .range-display--inline:not(.range-display--vertical) & {
134
+ .range-display--inline:not(.range-display--vertical) & {
126
135
  display: none;
127
136
  }
128
137
 
@@ -169,7 +178,7 @@
169
178
  z-index: 12;
170
179
  width: var(--measurement-current);
171
180
  height: calc(@size-base * 1.5);
172
- border-top: @size-4 solid var(--brand-light, @brand-primary-light);
181
+ border-top: @size-4 solid var(--brand-light; @brand-primary-light);
173
182
  background-color: transparent;
174
183
  opacity: 1;
175
184
  transition: width 0.15s ease;
@@ -286,15 +295,15 @@
286
295
  }
287
296
 
288
297
  &:first-child::after {
289
- transform: translate(0, @size-5);
298
+ transform: translate(0; @size-5);
290
299
  }
291
300
 
292
301
  &:nth-child(6)::after {
293
- transform: translate(-50%, @size-5);
302
+ transform: translate(-50%; @size-5);
294
303
  }
295
304
 
296
305
  &:last-child::after {
297
- transform: translate(-100%, @size-5);
306
+ transform: translate(-100%; @size-5);
298
307
  }
299
308
  }
300
309
  }
@@ -350,7 +359,7 @@
350
359
  top: calc(100% - var(--range-r-max));
351
360
  left: unset;
352
361
  height: calc(var(--range-r-max) - var(--range-r-min));
353
- background-color: var(--input-validation-error, @status-danger);
362
+ background-color: var(--input-validation-error; @status-danger);
354
363
  }
355
364
 
356
365
  &__min {
@@ -392,7 +401,7 @@
392
401
  width: calc(@size-base * 1.5);
393
402
  height: var(--measurement-current);
394
403
  border-top: unset;
395
- border-left: @size-4 solid var(--brand-light, @brand-primary-light);
404
+ border-left: @size-4 solid var(--brand-light; @brand-primary-light);
396
405
  background-color: transparent;
397
406
  opacity: 1;
398
407
 
@@ -1,3 +1,17 @@
1
+
2
+
3
+ /**
4
+ * smart list icon lauel - 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
+ */
1
15
  .smart-list-icon-label {
2
16
  display: inline-block;
3
17
  -webkit-box-flex: 0;
@@ -20,13 +34,13 @@
20
34
  .card-header-actions,
21
35
  .edit-smart-rule-details {
22
36
  .smart-list-icon-label {
23
- margin: 0 10px 0 0;
37
+ margin: 0 @size-10 0 0;
24
38
 
25
39
  .dot {
26
40
  width: 30px;
27
41
  height: 30px;
28
42
  font-size: 14px;
29
- line-height: 32px;
43
+ line-height: @size-32;
30
44
  }
31
45
  }
32
46
  }
@@ -39,7 +53,7 @@
39
53
  .dot {
40
54
  width: 34px;
41
55
  height: 34px;
42
- font-size: 16px;
56
+ font-size: @size-16;
43
57
  line-height: 36px;
44
58
  }
45
59
  }
@@ -48,12 +62,12 @@
48
62
 
49
63
  .smart-rule-templates-list {
50
64
  .smart-list-icon-label {
51
- margin: 10px 2px;
65
+ margin: @size-10 2px;
52
66
 
53
67
  .dot {
54
68
  width: 34px;
55
69
  height: 34px;
56
- font-size: 16px;
70
+ font-size: @size-16;
57
71
  line-height: 36px;
58
72
  }
59
73
  }
@@ -1,3 +1,17 @@
1
+
2
+
3
+ /**
4
+ * status - 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
+ */
1
15
  .statusOk {
2
16
  color: var(--palette-status-success-dark, var(--c8y-palette-status-success-dark));
3
17
  }
@@ -76,7 +90,7 @@ path.statusNok {
76
90
 
77
91
  .alarm-icons {
78
92
  position: relative;
79
- font-size: 20px;
93
+ font-size: @size-20;
80
94
  width: 28px;
81
95
  .btn-clean.severity {
82
96
  position: absolute !important;
@@ -86,6 +100,6 @@ path.statusNok {
86
100
  }
87
101
  .btn-clean.status {
88
102
  margin-top: 8px;
89
- font-size: 24px;
103
+ font-size: @size-24;
90
104
  }
91
105
  }
@@ -1,3 +1,17 @@
1
+
2
+
3
+ /**
4
+ * statusContainer - 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
+ */
1
15
  .statusContainer {
2
16
  position: relative;
3
17
  display: inline-block;
@@ -5,8 +19,8 @@
5
19
  text-align: center;
6
20
  font-size: 14px;
7
21
  overflow: hidden;
8
- height: 20px;
9
- width: 20px;
22
+ height: @size-20;
23
+ width: @size-20;
10
24
  border-radius: 50%;
11
25
  border: 0;
12
26
  background-image: none;
@@ -1,3 +1,5 @@
1
+ @import "../../mixins/_shadows-helper.less";
2
+
1
3
  /**
2
4
  * Timelines Chart - Timeline visualization chart component
3
5
  *
@@ -1,3 +1,13 @@
1
+
2
+ /**
3
+ * C8Y Data Point List - Data point selection list component
4
+ *
5
+ * Note: Uses @size-* tokens for spacing and @component-padding.
6
+ *
7
+ * Intentionally hardcoded values:
8
+ * - None - all values use design tokens
9
+ */
10
+
1
11
  // Removed unused deprecated component class - verified 0 usages: .c8y-data-point-list
2
12
 
3
13
  c8y-datapoint-selection-list,