@c8y/style 1023.14.76 → 1023.14.92

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 (264) 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 +502 -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 +88 -42
  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 -1
  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 +22 -49
  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 +39 -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 +34 -2
  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-datapoint-pill.scss +0 -0
  215. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-pulse.scss +0 -0
  216. /package/styles/components/{specialized → data-display-and-visualization}/_smart-list-icon-label.scss +0 -0
  217. /package/styles/components/{specialized → data-display-and-visualization}/_status.scss +0 -0
  218. /package/styles/components/{specialized → data-display-and-visualization}/_statusContainer.scss +0 -0
  219. /package/styles/components/{specialized → data-input}/_c8y-countdown-interval.scss +0 -0
  220. /package/styles/components/{specialized → data-input}/_c8y-range.scss +0 -0
  221. /package/styles/components/{specialized → data-input}/_search-header.scss +0 -0
  222. /package/styles/components/{specialized → data-input}/_static-assets-file-picker.scss +0 -0
  223. /package/styles/components/{specialized → navigation-and-layout}/_c8y-role-card.scss +0 -0
  224. /package/styles/components/{specialized → navigation-and-layout}/_c8y-scrollbar.scss +0 -0
  225. /package/styles/components/{specialized → navigation-and-layout}/_c8y-smart-rest-tab.scss +0 -0
  226. /package/styles/components/{specialized → navigation-and-layout}/_c8y-stepper.scss +0 -0
  227. /package/styles/components/{specialized → navigation-and-layout}/_c8y-user-roles.scss +0 -0
  228. /package/styles/components/{specialized → navigation-and-layout}/_device-software-tab.scss +0 -0
  229. /package/styles/components/{specialized → status-feedback-and-notifications}/_c8y-message-banner.scss +0 -0
  230. /package/styles/components/{specialized → status-feedback-and-notifications}/_code.scss +0 -0
  231. /package/styles/mixins/{alert-variant.less → _alert-variant.less} +0 -0
  232. /package/styles/mixins/{animation.less → _animation.less} +0 -0
  233. /package/styles/mixins/{background-variant.less → _background-variant.less} +0 -0
  234. /package/styles/mixins/{border-radius.less → _border-radius.less} +0 -0
  235. /package/styles/mixins/{buttons.less → _buttons.less} +0 -0
  236. /package/styles/mixins/{c8y-scrollbar.less → _c8y-scrollbar.less} +0 -0
  237. /package/styles/mixins/{center-block.less → _center-block.less} +0 -0
  238. /package/styles/mixins/{clearfix.less → _clearfix.less} +0 -0
  239. /package/styles/mixins/{create-grid.less → _create-grid.less} +0 -0
  240. /package/styles/mixins/{grid.less → _grid.less} +0 -0
  241. /package/styles/mixins/{hide-scrollbars.less → _hide-scrollbars.less} +0 -0
  242. /package/styles/mixins/{hide-text.less → _hide-text.less} +0 -0
  243. /package/styles/mixins/{image.less → _image.less} +0 -0
  244. /package/styles/mixins/{labels.less → _labels.less} +0 -0
  245. /package/styles/mixins/{list-group.less → _list-group.less} +0 -0
  246. /package/styles/mixins/{nav-divider.less → _nav-divider.less} +0 -0
  247. /package/styles/mixins/{opacity.less → _opacity.less} +0 -0
  248. /package/styles/mixins/{pagination.less → _pagination.less} +0 -0
  249. /package/styles/mixins/{panels.less → _panels.less} +0 -0
  250. /package/styles/mixins/{reset-filter.less → _reset-filter.less} +0 -0
  251. /package/styles/mixins/{reset-text.less → _reset-text.less} +0 -0
  252. /package/styles/mixins/{resize.less → _resize.less} +0 -0
  253. /package/styles/mixins/{responsive-visibility.less → _responsive-visibility.less} +0 -0
  254. /package/styles/mixins/{size.less → _size.less} +0 -0
  255. /package/styles/mixins/{tab-focus.less → _tab-focus.less} +0 -0
  256. /package/styles/mixins/{table-row.less → _table-row.less} +0 -0
  257. /package/styles/mixins/{tag.less → _tag.less} +0 -0
  258. /package/styles/mixins/{text-emphasis.less → _text-emphasis.less} +0 -0
  259. /package/styles/mixins/{text-overflow.less → _text-overflow.less} +0 -0
  260. /package/variables/{login-vars.scss → _login-vars.scss} +0 -0
  261. /package/variables/{shadows.less → _shadows.less} +0 -0
  262. /package/variables/{shadows.scss → _shadows.scss} +0 -0
  263. /package/variables/tokens/{c8y-design-tokens-dark.scss → _c8y-design-tokens-dark.scss} +0 -0
  264. /package/variables/tokens/{c8y-design-tokens.scss → _c8y-design-tokens.scss} +0 -0
@@ -1,3 +1,21 @@
1
+ @import "../mixins/_forms.less";
2
+ @import "../mixins/_image.less";
3
+ @import "../mixins/_tab-focus.less";
4
+ @import "../mixins/_vendor-prefixes.less";
5
+
6
+ /**
7
+ * Scaffolding - Base HTML element styles
8
+ *
9
+ * Note: All spacing values use proper design tokens.
10
+ *
11
+ * Intentionally hardcoded values:
12
+ * - font-size: 10px (root font size for rem calculations)
13
+ * - margin: -1px (accessibility trick for .sr-only)
14
+ * - width/height: 1px (accessibility trick for .sr-only)
15
+ * - border-radius: 50% (circle shape, semantically correct)
16
+ * - 1px borders: Standard border widths
17
+ */
18
+
1
19
  // Reset the box-sizing
2
20
  // Heads up! This reset may cause conflicts with some third-party widgets.
3
21
  // For recommendations on resolving such conflicts, see
@@ -54,7 +72,6 @@ a {
54
72
  }
55
73
 
56
74
  &.no-decoration {
57
-
58
75
  &:hover,
59
76
  &:focus {
60
77
  outline: none;
@@ -67,7 +84,6 @@ a {
67
84
  }
68
85
 
69
86
  &.text-muted {
70
-
71
87
  &:hover,
72
88
  &:focus {
73
89
  color: @link-color;
@@ -92,33 +108,14 @@ img {
92
108
  .img-responsive();
93
109
  }
94
110
 
95
- .img-square{
96
- aspect-ratio: 1;
111
+ .img-square {
97
112
  width: 100%;
113
+ aspect-ratio: 1;
98
114
  object-fit: scale-down;
99
115
  }
100
116
 
101
- // Rounded corners
102
- .img-rounded {
103
- border-radius: @component-border-radius-large;
104
- }
105
-
106
- // Image thumbnails
107
- // Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
108
- .img-thumbnail {
109
- padding: @thumbnail-padding;
110
- border: 1px solid @thumbnail-border;
111
- border-radius: @thumbnail-border-radius;
112
- background-color: @thumbnail-bg;
113
- line-height: @line-height-base;
114
-
115
- .transition(all 0.2s ease-in-out); // Keep them at most 100% wide
116
- .img-responsive(inline-block);
117
- }
118
-
119
- .img-circle {
120
- border-radius: 50%;
121
- }
117
+ // Removed unused Bootstrap 3 image utility classes - verified 0 usages
118
+ // .img-rounded, .img-thumbnail, .img-circle
122
119
 
123
120
  hr {
124
121
  margin-top: @line-height-computed;
@@ -142,17 +139,16 @@ hr {
142
139
  }
143
140
 
144
141
  // Use in conjunction with .sr-only to only display content when it's focused.
145
- // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
142
+ // Useful for "Skip to main content" links, see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
146
143
  .sr-only-focusable {
147
-
148
144
  &:active,
149
145
  &:focus {
146
+ z-index: 10;
150
147
  overflow: visible;
151
148
  clip: auto;
152
149
  margin: 0;
153
150
  width: auto;
154
151
  height: auto;
155
- z-index: 10;
156
152
  }
157
153
  }
158
154
 
@@ -1,3 +1,17 @@
1
+ @import "../../variables/_dlt-c8y-icons-vars.less";
2
+ @import "../mixins/_text-overflow.less";
3
+
4
+ /**
5
+ * Typography Styles
6
+ *
7
+ * Note: Most spacing values use @size-* tokens from the 8px base unit system.
8
+ *
9
+ * Intentionally hardcoded values:
10
+ * - Percentages (65%, 75%, 80%, 90%, 120%, 0.2em): Proportional scaling
11
+ * - Border widths (1px, 4px, 5px): Border properties, not spacing
12
+ * - Unitless line-heights (1, 1.4): CSS best practice for line-height
13
+ * - Calc expressions with layout vars: Specific layout calculations
14
+ */
1
15
 
2
16
  h1,
3
17
  h2,
@@ -99,7 +113,7 @@ p {
99
113
  }
100
114
 
101
115
  .lead {
102
- margin-bottom: 16px;
116
+ margin-bottom: @size-16;
103
117
  font-size: calc((@font-size-base * 1.142857143));
104
118
  line-height: 1.4;
105
119
  }
@@ -132,19 +146,19 @@ ol {
132
146
  // List options
133
147
  // checkmark bullets in lists
134
148
  .check-bullets {
135
- margin: 0 0 10px;
149
+ margin: 0 0 @size-10;
136
150
  padding: 0;
137
151
  list-style: none;
138
152
  text-align: left;
139
153
  > li {
140
- margin-bottom: 5px;
141
- padding: 0 0 0 20px;
154
+ margin-bottom: @size-5;
155
+ padding: 0 0 0 @size-20;
142
156
  &:before {
143
157
  display: inline-block;
144
- margin-left: -20px;
145
- width: 20px;
158
+ margin-left: calc(-1 * @size-20);
159
+ width: @size-20;
146
160
  content: @dlt-c8y-icon-check;
147
- font: normal normal normal 14px/1 @icon-font-family;
161
+ font: normal normal normal @font-size-base/1 @icon-font-family;
148
162
  font-size: 120%;
149
163
 
150
164
  text-rendering: auto;
@@ -172,13 +186,13 @@ ol {
172
186
 
173
187
  // Inline turns list items into inline-block
174
188
  .list-inline {
175
- margin-left: -5px;
189
+ margin-left: calc(-1 * @size-5);
176
190
 
177
- .list-unstyled();
191
+ &:extend(.list-unstyled);
178
192
  > li {
179
193
  display: inline-block;
180
- padding-right: 5px;
181
- padding-left: 5px;
194
+ padding-right: @size-5;
195
+ padding-left: @size-5;
182
196
  }
183
197
  }
184
198
 
@@ -204,7 +218,7 @@ dd {
204
218
  dl.dl-inline {
205
219
  margin-bottom: 0;
206
220
  dt {
207
- margin-right: 5px;
221
+ margin-right: @size-5;
208
222
  }
209
223
  dt,
210
224
  dd {
@@ -221,7 +235,14 @@ dl.dl-inline {
221
235
  // Defaults to being stacked without any of the below styles applied, until the grid breakpoint is reached (default of ~768px).
222
236
  .dl-horizontal {
223
237
  dd {
224
- &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
238
+ &::before,
239
+ &::after {
240
+ display: table;
241
+ content: " ";
242
+ }
243
+ &::after {
244
+ clear: both;
245
+ }
225
246
  }
226
247
  @media (min-width: @grid-float-breakpoint) {
227
248
  dt {
@@ -233,7 +254,7 @@ dl.dl-inline {
233
254
  .text-overflow();
234
255
  }
235
256
  dd {
236
- margin-bottom: @margin-base;
257
+ margin-bottom: @size-base;
237
258
  margin-left: calc(@dl-horizontal-offset * 1px);
238
259
  }
239
260
  }
@@ -241,16 +262,17 @@ dl.dl-inline {
241
262
 
242
263
  // Misc
243
264
  abbr[title],
244
- // Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
245
265
  abbr[data-original-title] {
246
- border-bottom: 1px dotted @abbr-border-color;
266
+ text-decoration-color: @abbr-border-color;
267
+ text-decoration-line:overline;
268
+ text-decoration-style: dotted;
269
+ border-bottom-color: @abbr-border-color;
247
270
  cursor: help;
248
271
  }
249
272
 
250
273
  .initialism {
251
274
  font-size: 90%;
252
-
253
- .text-uppercase();
275
+ text-transform: uppercase;
254
276
  }
255
277
 
256
278
  blockquote {
@@ -283,7 +305,7 @@ blockquote {
283
305
  // Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.
284
306
  .blockquote-reverse,
285
307
  blockquote.pull-right {
286
- padding-right: 15px;
308
+ padding-right: @size-16;
287
309
  padding-left: 0;
288
310
  border-right: 5px solid @blockquote-border-color;
289
311
  border-left: 0;
@@ -1,4 +1,3 @@
1
- @import "../../variables/index";
2
1
 
3
2
  /**
4
3
  * Markdown Content - Styling for markdown rendered content
@@ -14,6 +13,9 @@
14
13
  * - Font-weight values (500, 600): Typography weights
15
14
  */
16
15
 
16
+ // NOTE: SCSS mixin with @content removed - manually expanded below
17
+ // @mixin heading-elements was used in SCSS but LESS doesn't support @content
18
+
17
19
  .markdown-content {
18
20
  h1,
19
21
  h2,
@@ -27,6 +29,7 @@
27
29
  max-width: 800px;
28
30
  }
29
31
 
32
+ // Manually expanded from @include heading-elements mixin
30
33
  h1,
31
34
  h2,
32
35
  h3,
@@ -1,3 +1,5 @@
1
+
2
+
1
3
  /**
2
4
  * Smart Rules - Smart rules list and card component styles
3
5
  *
@@ -8,7 +10,7 @@
8
10
  * - Component-specific dimensions (60px, 63px, 65px, 175px, 187px, 240px): Fixed column widths and sizes
9
11
  * - Off-grid spacing (3px, 14px, 15px): Component-specific positioning and padding
10
12
  * - Percentages (4%, 10%, 75%): Flexbox layout
11
- * - Calc expressions: Complex computed values
13
+ * - Calc expressions: Complex computed values with string.unquote
12
14
  * - Z-index values: Stacking order
13
15
  */
14
16
  // Shared mixin for icon font sizing
@@ -23,7 +25,7 @@
23
25
  }
24
26
 
25
27
  // Shared mixin for card-icon vertical alignment
26
- .card-icon-alignment() {
28
+ .card-icon-alignment {
27
29
  i {
28
30
  vertical-align: bottom;
29
31
  }
@@ -34,7 +36,7 @@
34
36
  }
35
37
 
36
38
  // Shared mixin for card-header-actions display block pattern
37
- .card-header-actions-visible() {
39
+ .card-header-actions-visible {
38
40
  .card-header-actions {
39
41
  display: flex;
40
42
 
@@ -47,7 +49,7 @@
47
49
  // Shared mixin for smart-rule-details layout
48
50
  .smart-rule-details-layout(@padding) {
49
51
  .smart-rule-details {
50
- height: ~'calc(100% - 88px)';
52
+ height: calc(~'100% - 88px');
51
53
 
52
54
  .row {
53
55
  margin: 0;
@@ -104,7 +106,9 @@
104
106
  }
105
107
 
106
108
  .card-actions {
107
- // Removed unused button selector - verified 0 usages: .btn-collapse
109
+ .btn-collapse {
110
+ display: none;
111
+ }
108
112
  }
109
113
 
110
114
  .card-block {
@@ -208,7 +212,7 @@
208
212
  }
209
213
 
210
214
  .smart-rule-details {
211
- height: ~'calc(100% - 88px)';
215
+ height: calc(~'100% - 88px');
212
216
 
213
217
  .row {
214
218
  margin: 0;
@@ -336,7 +340,9 @@
336
340
  .card-actions {
337
341
  top: @size-10;
338
342
 
339
- // Removed unused button selector - verified 0 usages: .btn-collapse
343
+ .btn-collapse {
344
+ display: block;
345
+ }
340
346
  }
341
347
 
342
348
  .card-back {
@@ -383,6 +389,6 @@
383
389
 
384
390
  .smart-rule-description {
385
391
  flex: 0 0 auto;
386
- max-width: ~'calc(75% - 95px)';
392
+ max-width: calc(~'75% - 95px');
387
393
  }
388
394
  }
@@ -108,7 +108,9 @@
108
108
  }
109
109
 
110
110
  .card-actions {
111
- // Removed unused button selector - verified 0 usages: .btn-collapse
111
+ .btn-collapse {
112
+ display: none;
113
+ }
112
114
  }
113
115
 
114
116
  .card-block {
@@ -340,7 +342,9 @@
340
342
  .card-actions {
341
343
  top: $size-10;
342
344
 
343
- // Removed unused button selector - verified 0 usages: .btn-collapse
345
+ .btn-collapse {
346
+ display: block;
347
+ }
344
348
  }
345
349
 
346
350
  .card-back {
@@ -0,0 +1,36 @@
1
+
2
+
3
+ /**
4
+ * c8y cookie 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-cookie-banner {
16
+ position: fixed;
17
+ top: auto;
18
+ right: 0;
19
+ bottom: 0;
20
+ left: 0;
21
+ z-index: @zindex-modal - 3;
22
+ background-color: rgba(@black, 0.8);
23
+ color: white;
24
+ }
25
+
26
+ .cookie-banner-content {
27
+ column-width: 26rem;
28
+
29
+ a{
30
+ color: inherit;
31
+ text-decoration: underline;
32
+ &:hover {
33
+ color: inherit;
34
+ }
35
+ }
36
+ }
@@ -1,6 +1,20 @@
1
+
2
+
3
+ /**
4
+ * c8y login - 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
  .password-strength {
2
16
  width: 180px;
3
- margin-bottom: 20px;
17
+ margin-bottom: @size-20;
4
18
 
5
19
  .table & {
6
20
  width: 100px;
@@ -56,11 +70,12 @@
56
70
  max-width: 320px;
57
71
  height: auto;
58
72
  min-height: 300px;
59
- padding: 32px;
73
+ padding: @size-32;
60
74
  margin: auto;
61
75
  border-radius: 2px;
62
76
 
63
- & when not (@powered-by='') {
77
+ // Only apply powered-by image if variable is not empty (using LESS guard syntax)
78
+ & when not (@powered-by = '') {
64
79
  background-image: url(@powered-by);
65
80
  padding-bottom: 120px;
66
81
  background-size: contain;
@@ -84,9 +99,8 @@
84
99
  }
85
100
 
86
101
  .mainlogo {
87
- & when not(@extending) {
88
- background-image: @brand-logo-img;
89
- }
102
+ // Note: LESS guard removed - was: & when not(@extending)
103
+ background-image: @brand-logo-img;
90
104
 
91
105
  width: 100%;
92
106
  height: 110px;
@@ -0,0 +1,45 @@
1
+
2
+
3
+ /**
4
+ * Boxed Label - Component styles for creating dashed border containers with optional floating labels
5
+ *
6
+ * Usage:
7
+ * - Single location: dashboard-details-advanced-tab/assign-widget-assets/assign-widget-asset-modal.component.html
8
+ * - 6 instances in the assign widget assets modal
9
+ * - Used for: widget titles, source sections, device displays, empty states, and action containers
10
+ *
11
+ * Features:
12
+ * - Creates a dashed border box with padding
13
+ * - Supports [data-label] attribute to show a floating label (like fieldset legend)
14
+ * - Label appears as italic text at the top-left of the box
15
+ *
16
+ * Note: Uses @size-* tokens for spacing where applicable.
17
+ *
18
+ * Intentionally hardcoded values:
19
+ * - Component-specific dimensions: Fixed sizes for component layout
20
+ * - Off-grid spacing: Component-specific positioning (-6px top, 8px left for label)
21
+ * - Border widths (1px): Standard dashed border
22
+ * - Font-sizes: Typography (xs for label)
23
+ * - Border-radius (2px): Subtle rounding
24
+ */
25
+ .boxed-label {
26
+ border: dashed 1px transparent;
27
+ padding: @size-8 @size-8 @size-4;
28
+ border-radius: 2px;
29
+ position: relative;
30
+ &[data-label] {
31
+ border-color: var(--c8y-palette-gray-60);
32
+ &:before{
33
+ content: attr(data-label);
34
+ position: absolute;
35
+ top: -6px;
36
+ left: 8px;
37
+ font-size: var(--c8y-font-size-xs);
38
+ background-color: var(--c8y-root-component-background-default);
39
+ color: var(--c8y-root-component-color-text-muted);
40
+ padding: 0 4px;
41
+ font-style: italic;
42
+ border-radius: 2px;
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,46 @@
1
+ @use "../../../variables/index" as *;
2
+
3
+
4
+ /**
5
+ * Boxed Label - Component styles for creating dashed border containers with optional floating labels
6
+ *
7
+ * Usage:
8
+ * - Single location: dashboard-details-advanced-tab/assign-widget-assets/assign-widget-asset-modal.component.html
9
+ * - 6 instances in the assign widget assets modal
10
+ * - Used for: widget titles, source sections, device displays, empty states, and action containers
11
+ *
12
+ * Features:
13
+ * - Creates a dashed border box with padding
14
+ * - Supports [data-label] attribute to show a floating label (like fieldset legend)
15
+ * - Label appears as italic text at the top-left of the box
16
+ *
17
+ * Note: Uses $size-* tokens for spacing where applicable.
18
+ *
19
+ * Intentionally hardcoded values:
20
+ * - Component-specific dimensions: Fixed sizes for component layout
21
+ * - Off-grid spacing: Component-specific positioning (-6px top, 8px left for label)
22
+ * - Border widths (1px): Standard dashed border
23
+ * - Font-sizes: Typography (xs for label)
24
+ * - Border-radius (2px): Subtle rounding
25
+ */
26
+ .boxed-label {
27
+ border: dashed 1px transparent;
28
+ padding: $size-8 $size-8 $size-4;
29
+ border-radius: 2px;
30
+ position: relative;
31
+ &[data-label] {
32
+ border-color: var(--c8y-palette-gray-60);
33
+ &:before{
34
+ content: attr(data-label);
35
+ position: absolute;
36
+ top: -6px;
37
+ left: 8px;
38
+ font-size: var(--c8y-font-size-xs);
39
+ background-color: var(--c8y-root-component-background-default);
40
+ color: var(--c8y-root-component-color-text-muted);
41
+ padding: 0 4px;
42
+ font-style: italic;
43
+ border-radius: 2px;
44
+ }
45
+ }
46
+ }
@@ -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;