@c8y/style 1023.30.0 → 1023.42.1

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 (265) 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/img/pie-chart-widget-pr.png +0 -0
  11. package/markdown-files/MANUAL-SYNC-FILES.md +56 -0
  12. package/package.json +2 -2
  13. package/styles/_login-app.less +34 -0
  14. package/styles/_login-app.scss +2 -2
  15. package/styles/_mixins.less +47 -0
  16. package/styles/_utilities.less +21 -0
  17. package/styles/_utilities.scss +1 -0
  18. package/styles/animations/_animate.less +18 -13
  19. package/styles/animations/_component-animations.less +18 -16
  20. package/styles/animations/_realtime-animation-list.less +11 -1
  21. package/styles/animations/_spinner-snake.less +17 -2
  22. package/styles/animations/_spinner.less +24 -6
  23. package/styles/base/_normalize.less +14 -0
  24. package/styles/base/_print.less +25 -12
  25. package/styles/base/_scaffolding.less +24 -28
  26. package/styles/base/_type.less +41 -19
  27. package/styles/components/_markdown-content.less +4 -1
  28. package/styles/components/_smartrules.less +14 -8
  29. package/styles/components/_smartrules.scss +6 -2
  30. package/styles/components/application-and-system/_c8y-cookie-banner.less +36 -0
  31. package/styles/components/{specialized → application-and-system}/_c8y-login.less +20 -6
  32. package/styles/components/data-display-and-visualization/_boxed-label.less +45 -0
  33. package/styles/components/data-display-and-visualization/_boxed-label.scss +46 -0
  34. package/styles/components/{specialized → data-display-and-visualization}/_c8y-data-explorer.less +37 -23
  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 +18 -14
  93. package/styles/components/navigation-and-layout/navigation/_tabs.scss +2 -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 +115 -23
  142. package/styles/layout/_split-scroll.less +16 -4
  143. package/styles/layout/_split-view.less +19 -5
  144. package/styles/login-app-use.scss +2 -2
  145. package/styles/login-app.less +4 -4
  146. package/styles/mixins/_buttons.scss +1 -0
  147. package/styles/mixins/{color-mixins.less → _color-mixins.less} +2 -2
  148. package/styles/mixins/{element-queries.less → _element-queries.less} +2 -2
  149. package/styles/mixins/{forms.less → _forms.less} +1 -1
  150. package/styles/mixins/_gradients.less +117 -0
  151. package/styles/mixins/{grid-framework.less → _grid-framework.less} +21 -21
  152. package/styles/mixins/_icon-base.less +29 -0
  153. package/styles/mixins/{nav-vertical-align.less → _nav-vertical-align.less} +6 -2
  154. package/styles/mixins/_nav-vertical-align.scss +5 -2
  155. package/styles/mixins/{progress-bar.less → _progress-bar.less} +1 -1
  156. package/styles/mixins/{shadows-helper.less → _shadows-helper.less} +3 -5
  157. package/styles/mixins/_shadows-helper.scss +1 -4
  158. package/styles/mixins/{vendor-prefixes.less → _vendor-prefixes.less} +7 -22
  159. package/styles/mixins/_vendor-prefixes.scss +1 -17
  160. package/styles/utilities/_borders.less +21 -11
  161. package/styles/{components/specialized → utilities}/_c8y-utils.less +14 -0
  162. package/styles/{components/specialized → utilities}/_c8y-utils.scss +1 -1
  163. package/styles/utilities/_caret.less +18 -4
  164. package/styles/utilities/_container-queries.less +11 -3
  165. package/styles/utilities/_contextual-colors.less +48 -119
  166. package/styles/utilities/_display.less +26 -41
  167. package/styles/utilities/_elevation.less +17 -7
  168. package/styles/utilities/_flex-containers.less +10 -0
  169. package/styles/utilities/_flex-items.less +11 -0
  170. package/styles/utilities/_icon-utils.less +15 -3
  171. package/styles/utilities/_margins-paddings.less +23 -4
  172. package/styles/utilities/_overflows.less +10 -0
  173. package/styles/utilities/_position.less +11 -0
  174. package/styles/utilities/_quickfloats.less +20 -1
  175. package/styles/utilities/_separators.less +11 -0
  176. package/styles/utilities/_shadows.less +5 -49
  177. package/styles/{utilities.less → utilities/_sizing.less} +13 -21
  178. package/styles/utilities/_text-utils.less +35 -24
  179. package/styles/vendor/ace-editor/_ace-editor.less +1 -0
  180. package/styles/vendor/angular/_loading-bar.less +1 -0
  181. package/styles/vendor/angular/_ui-sortable.less +2 -1
  182. package/styles/vendor/angular/_uib-accordion.less +1 -0
  183. package/styles/{angular-ui-select/select.less → vendor/angular/angular-ui-select/_select.less} +2 -10
  184. package/styles/vendor/cdk/_cdk-drag.less +3 -0
  185. package/styles/vendor/cdk/_cdk-tree.less +6 -3
  186. package/styles/vendor/cdk/_cdk-virtual-scroll-window.less +1 -0
  187. package/styles/vendor/datepicker/_bs-datepicker.less +26 -6
  188. package/styles/vendor/datepicker/_uib-datepicker.less +37 -4
  189. package/styles/vendor/leaflet/_c8y-map-internal.less +44 -54
  190. package/styles/vendor/leaflet/_leaflet.less +4 -1
  191. package/styles/vendor/other/_colorpicker.less +3 -2
  192. package/styles/vendor/selectize/_c8y-selectize.less +33 -10
  193. package/variables/_color-defaults.less +29 -10
  194. package/variables/_color-defaults.scss +29 -10
  195. package/variables/_color-vars.less +37 -89
  196. package/variables/_color-vars.scss +19 -77
  197. package/variables/{login-vars.less → _login-vars.less} +3 -5
  198. package/variables/index.less +3 -3
  199. package/variables/tokens/{c8y-design-tokens-dark.less → _c8y-design-tokens-dark.less} +5 -1
  200. package/variables/tokens/{c8y-design-tokens.less → _c8y-design-tokens.less} +5 -1
  201. package/styles/components/specialized/_boxed-label.less +0 -21
  202. package/styles/components/specialized/_boxed-label.scss +0 -36
  203. package/styles/components/specialized/_c8y-cookie-banner.less +0 -22
  204. package/styles/components/specialized/_static-assets-file-picker.less +0 -8
  205. package/styles/dashboard/welcome-widget.less +0 -50
  206. package/styles/mixins/gradients.less +0 -142
  207. package/styles/mixins.less +0 -45
  208. package/styles/steps-navbar.less +0 -97
  209. package/styles/timeline-list.less +0 -210
  210. package/styles/vendor/angular/angular-ui-select/select.less +0 -161
  211. package/styles/welcome.less +0 -128
  212. /package/styles/components/{specialized → application-and-system}/_c8y-cookie-banner.scss +0 -0
  213. /package/styles/components/{specialized → application-and-system}/_c8y-login.scss +0 -0
  214. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-data-explorer.scss +0 -0
  215. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-datapoint-pill.scss +0 -0
  216. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-pulse.scss +0 -0
  217. /package/styles/components/{specialized → data-display-and-visualization}/_smart-list-icon-label.scss +0 -0
  218. /package/styles/components/{specialized → data-display-and-visualization}/_status.scss +0 -0
  219. /package/styles/components/{specialized → data-display-and-visualization}/_statusContainer.scss +0 -0
  220. /package/styles/components/{specialized → data-input}/_c8y-countdown-interval.scss +0 -0
  221. /package/styles/components/{specialized → data-input}/_c8y-range.scss +0 -0
  222. /package/styles/components/{specialized → data-input}/_search-header.scss +0 -0
  223. /package/styles/components/{specialized → data-input}/_static-assets-file-picker.scss +0 -0
  224. /package/styles/components/{specialized → navigation-and-layout}/_c8y-role-card.scss +0 -0
  225. /package/styles/components/{specialized → navigation-and-layout}/_c8y-scrollbar.scss +0 -0
  226. /package/styles/components/{specialized → navigation-and-layout}/_c8y-smart-rest-tab.scss +0 -0
  227. /package/styles/components/{specialized → navigation-and-layout}/_c8y-stepper.scss +0 -0
  228. /package/styles/components/{specialized → navigation-and-layout}/_c8y-user-roles.scss +0 -0
  229. /package/styles/components/{specialized → navigation-and-layout}/_device-software-tab.scss +0 -0
  230. /package/styles/components/{specialized → status-feedback-and-notifications}/_c8y-message-banner.scss +0 -0
  231. /package/styles/components/{specialized → status-feedback-and-notifications}/_code.scss +0 -0
  232. /package/styles/mixins/{alert-variant.less → _alert-variant.less} +0 -0
  233. /package/styles/mixins/{animation.less → _animation.less} +0 -0
  234. /package/styles/mixins/{background-variant.less → _background-variant.less} +0 -0
  235. /package/styles/mixins/{border-radius.less → _border-radius.less} +0 -0
  236. /package/styles/mixins/{buttons.less → _buttons.less} +0 -0
  237. /package/styles/mixins/{c8y-scrollbar.less → _c8y-scrollbar.less} +0 -0
  238. /package/styles/mixins/{center-block.less → _center-block.less} +0 -0
  239. /package/styles/mixins/{clearfix.less → _clearfix.less} +0 -0
  240. /package/styles/mixins/{create-grid.less → _create-grid.less} +0 -0
  241. /package/styles/mixins/{grid.less → _grid.less} +0 -0
  242. /package/styles/mixins/{hide-scrollbars.less → _hide-scrollbars.less} +0 -0
  243. /package/styles/mixins/{hide-text.less → _hide-text.less} +0 -0
  244. /package/styles/mixins/{image.less → _image.less} +0 -0
  245. /package/styles/mixins/{labels.less → _labels.less} +0 -0
  246. /package/styles/mixins/{list-group.less → _list-group.less} +0 -0
  247. /package/styles/mixins/{nav-divider.less → _nav-divider.less} +0 -0
  248. /package/styles/mixins/{opacity.less → _opacity.less} +0 -0
  249. /package/styles/mixins/{pagination.less → _pagination.less} +0 -0
  250. /package/styles/mixins/{panels.less → _panels.less} +0 -0
  251. /package/styles/mixins/{reset-filter.less → _reset-filter.less} +0 -0
  252. /package/styles/mixins/{reset-text.less → _reset-text.less} +0 -0
  253. /package/styles/mixins/{resize.less → _resize.less} +0 -0
  254. /package/styles/mixins/{responsive-visibility.less → _responsive-visibility.less} +0 -0
  255. /package/styles/mixins/{size.less → _size.less} +0 -0
  256. /package/styles/mixins/{tab-focus.less → _tab-focus.less} +0 -0
  257. /package/styles/mixins/{table-row.less → _table-row.less} +0 -0
  258. /package/styles/mixins/{tag.less → _tag.less} +0 -0
  259. /package/styles/mixins/{text-emphasis.less → _text-emphasis.less} +0 -0
  260. /package/styles/mixins/{text-overflow.less → _text-overflow.less} +0 -0
  261. /package/variables/{login-vars.scss → _login-vars.scss} +0 -0
  262. /package/variables/{shadows.less → _shadows.less} +0 -0
  263. /package/variables/{shadows.scss → _shadows.scss} +0 -0
  264. /package/variables/tokens/{c8y-design-tokens-dark.scss → _c8y-design-tokens-dark.scss} +0 -0
  265. /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
@@ -111,7 +125,7 @@ c8y-chart {
111
125
 
112
126
  .c8y-chart .clock {
113
127
  color: @component-form-legend-color;
114
- font-size: 12px;
128
+ font-size: @font-size-small;
115
129
  }
116
130
 
117
131
  .c8y-chart .axis {
@@ -128,7 +142,7 @@ c8y-chart {
128
142
  bottom: 3px;
129
143
  left: 15px;
130
144
  right: 7px;
131
- font-size: 12px;
145
+ font-size: @font-size-small;
132
146
  }
133
147
 
134
148
  .chart-loading {
@@ -148,8 +162,8 @@ c8y-chart {
148
162
 
149
163
  .chart-load-more{
150
164
  position: absolute;
151
- left: 16px;
152
- right: 16px;
165
+ left: @size-16;
166
+ right: @size-16;
153
167
  bottom: 3px;
154
168
  z-index: 20;
155
169
  }
@@ -161,7 +175,7 @@ c8y-chart {
161
175
  }
162
176
 
163
177
  .meausurements2 .measurement-icon-bar {
164
- padding-left: 10px;
178
+ padding-left: @size-10;
165
179
  position: relative;
166
180
  z-index: 120;
167
181
  }
@@ -170,23 +184,23 @@ c8y-chart {
170
184
  padding: 3px;
171
185
  margin: 1px;
172
186
  position: static;
173
- font-size: 12px;
187
+ font-size: @font-size-small;
174
188
  background: none;
175
189
  }
176
190
 
177
191
  .meausurements2 .timeField input {
178
192
  height: 30px;
179
193
  padding: 5px 10px;
180
- font-size: 12px;
194
+ font-size: @font-size-small;
181
195
  line-height: 1.5;
182
196
  border-radius: 3px;
183
197
  }
184
198
 
185
199
  .meausurements2 .timeField table {
186
- margin-top: -24px;
200
+ margin-top: calc(-1 * @size-24);
187
201
  }
188
202
  .meausurements2 .timeField .btn {
189
- height: 24px;
203
+ height: @size-24;
190
204
  }
191
205
 
192
206
  .meausurements2 .timeField .btn-link {
@@ -205,7 +219,7 @@ c8y-chart {
205
219
  .meausurements2 .measurements-time-control {
206
220
  position: absolute;
207
221
  bottom: 1px;
208
- right: 5px;
222
+ right: @size-5;
209
223
  left: 5px;
210
224
  z-index: 100;
211
225
  min-width: 404px;
@@ -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,
@@ -1,3 +1,17 @@
1
+
2
+ /**
3
+ * C8Y Empty State - Empty state component for lists and containers
4
+ *
5
+ * Note: Uses @size-* tokens for spacing; @size-base for calculations, and @component-padding.
6
+ *
7
+ * Intentionally hardcoded values:
8
+ * - Component-specific dimensions (600px, 280px, 45px): Max widths and flex basis
9
+ * - Typography sizes (30px, 90px): Large icon font sizes
10
+ * - Opacity values (0.6): Visual effects
11
+ * - Percentages (100%): Layout
12
+ * - Rem values (8rem, 4rem): Responsive padding using rem units
13
+ */
14
+
1
15
  .c8y-empty-state {
2
16
  margin: 0 auto;
3
17
  max-width: 600px;
@@ -7,7 +21,7 @@
7
21
  > .c8y-icon,
8
22
  > [class^='dlt-c8y-icon-'],
9
23
  > [class*=' dlt-c8y-icon-'] {
10
- margin-bottom: @margin-base;
24
+ margin-bottom: @size-base;
11
25
  color: @component-color-text-muted;
12
26
  font-size: 90px;
13
27
  opacity: 0.6;
@@ -19,16 +33,16 @@
19
33
  }
20
34
  }
21
35
  .btn-link {
22
- .btn-primary();
36
+ &:extend(.btn-primary);
23
37
  }
24
38
 
25
39
  p, .btn{
26
- margin-bottom: @margin-base;
40
+ margin-bottom: @size-base;
27
41
  }
28
42
 
29
43
  .dashboard.dashboard-theme-branded & {
30
44
  .btn-primary {
31
- .btn-default();
45
+ &:extend(.btn-default);
32
46
  }
33
47
  a {
34
48
  color: @component-color-default;
@@ -44,7 +58,7 @@
44
58
  > [class^='dlt-c8y-icon-'],
45
59
  > [class*=' dlt-c8y-icon-'] {
46
60
  flex: 0 0 auto;
47
- margin-right: 5px;
61
+ margin-right: @size-5;
48
62
  color: @component-color-text-muted;
49
63
  font-size: 30px;
50
64
  }
@@ -59,14 +73,14 @@
59
73
  display: flex;
60
74
  flex-flow: row nowrap;
61
75
  margin: 0;
62
- padding: @margin-base;
76
+ padding: @size-base;
63
77
  max-width: 100%;
64
78
  text-align: left !important;
65
79
  > .c8y-icon,
66
80
  > [class^='dlt-c8y-icon-'],
67
81
  > [class*=' dlt-c8y-icon-'] {
68
82
  flex: 0 0 auto;
69
- margin-right: 4px;
83
+ margin-right: @size-4;
70
84
  margin-bottom: 0;
71
85
  font-size: 30px;
72
86
  }
@@ -82,7 +96,7 @@
82
96
  }
83
97
  }
84
98
  .card-block .c8y-empty-state {
85
- padding: @margin-base 0;
99
+ padding: @size-base 0;
86
100
  }
87
101
  }
88
102
 
@@ -97,19 +111,19 @@ td,
97
111
  display: flex;
98
112
  flex-flow: row nowrap;
99
113
  margin-left: 0;
100
- padding: @margin-base;
114
+ padding: @size-base;
101
115
  text-align: left !important;
102
116
  > .c8y-icon,
103
117
  > [class^='dlt-c8y-icon-'],
104
118
  > [class*=' dlt-c8y-icon-'] {
105
119
  flex: 0 0 45px;
106
- margin-right: 5px;
120
+ margin-right: @size-5;
107
121
  margin-bottom: 0;
108
122
  font-size: 30px;
109
123
  }
110
124
  h3 {
111
125
  align-self: center;
112
- margin-right: 5px;
126
+ margin-right: @size-5;
113
127
  font-weight: bold;
114
128
  font-size: inherit;
115
129
  }
@@ -121,7 +135,7 @@ td,
121
135
  }
122
136
  }
123
137
  .card-block .c8y-empty-state {
124
- padding: @margin-base 0;
138
+ padding: @size-base 0;
125
139
  }
126
140
  }
127
141