@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,7 +1,21 @@
1
+
2
+ /**
3
+ * Print Styles - Media query for print layouts
4
+ *
5
+ * Note: Most spacing values use @size-* tokens from the 8px base unit system.
6
+ *
7
+ * Intentionally hardcoded values:
8
+ * - transform: scale(0.97): Scale factor, not spacing
9
+ * - 1px borders: Standard border widths for print
10
+ * - z-index values: Stacking context for print layout
11
+ * - 100vw/99vh: Full viewport dimensions
12
+ * - orphans/widows: Typography print control
13
+ */
14
+
1
15
  @media print {
2
16
  body {
3
17
  --c8y-elevation-sm: 0 0 0 1px rgba(var(--c8y-elevation-color), 0.1);
4
- transform: scale(.97);
18
+ transform: scale(0.97);
5
19
  }
6
20
 
7
21
  *,
@@ -57,9 +71,9 @@
57
71
  }
58
72
 
59
73
  .btn,
60
- .dropup>.btn {
61
- >.caret {
62
- border-top-color: @black !important;
74
+ .dropup > .btn {
75
+ > .caret {
76
+ border-top-color: @black !important;
63
77
  }
64
78
  }
65
79
 
@@ -68,15 +82,14 @@
68
82
 
69
83
  td,
70
84
  th {
71
- background-color: @component-background-default !important;
85
+ background-color: @component-background-default !important;
72
86
  }
73
87
  }
74
88
 
75
89
  .table-bordered {
76
-
77
90
  th,
78
91
  td {
79
- border: 1px solid @gray-90 !important;
92
+ border: 1px solid @gray-90 !important;
80
93
  }
81
94
  }
82
95
 
@@ -93,13 +106,13 @@
93
106
  all: unset;
94
107
  margin-top: 0;
95
108
  margin-left: 0 !important;
96
- padding: 0 24px !important;
109
+ padding: 0 @size-24 !important;
97
110
 
98
111
  &:has(.dashboard) {
99
112
  padding: 0 !important;
100
113
  }
101
114
 
102
- >.container-fluid {
115
+ > .container-fluid {
103
116
  padding-bottom: 0;
104
117
  }
105
118
  }
@@ -116,11 +129,11 @@
116
129
  z-index: 1085 !important;
117
130
  overflow-y: auto;
118
131
  margin: 0 !important;
119
- padding-top: calc(@margin-base * 4) !important;
120
- padding-bottom: 24px !important;
132
+ padding-top: calc(@size-base * 4) !important;
133
+ padding-bottom: @size-24 !important;
121
134
  width: 100vw;
122
135
  height: 99vh;
123
- .c8y-scrollbar();
136
+ &:extend(.c8y-scrollbar);
124
137
 
125
138
  .dashboard {
126
139
  padding-bottom: 0 !important;
@@ -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
+ }