@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,3 +1,20 @@
1
+
2
+ @import "../../../mixins/_c8y-scrollbar.less";
3
+
4
+ /**
5
+ * C8Y Asset Selector - Tree-based asset selector component
6
+ *
7
+ * Note: Uses @size-* tokens; @size-base for calculations, and @form-control-* variables.
8
+ *
9
+ * Intentionally hardcoded values:
10
+ * - Off-token spacing (6px, 22px): Tree indentation and positioning not in token system
11
+ * - Border widths (1px, 2px): Standard borders and outlines
12
+ * - Negative offsets (-2px): Fine-tuning
13
+ * - Percentages (100%): Layout
14
+ * - Transform rotation (90deg): Icon rotation
15
+ * - Z-index values (1, 10): Stacking order
16
+ */
17
+
1
18
  c8y-asset-selector{
2
19
  .c8y-scrollbar();
3
20
  overflow-y: auto;
@@ -7,12 +24,12 @@ c8y-asset-selector{
7
24
 
8
25
  .collapse .c8y-asset-selector__item {
9
26
  position: relative;
10
- padding-left: 8px;
27
+ padding-left: @size-8;
11
28
  &::after {
12
29
  position: absolute;
13
- top: 32px;
30
+ top: @size-32;
14
31
  left: 22px;
15
- bottom: 32px;
32
+ bottom: @size-32;
16
33
  display: block;
17
34
  border-left: 1px solid @component-icon-dark-color-light;
18
35
  content: '';
@@ -24,10 +41,10 @@ c8y-asset-selector{
24
41
  border-bottom: 1px solid @component-icon-dark-color-light;
25
42
  border-top: 0;
26
43
  content: "";
27
- height: 16px;
44
+ height: @size-16;
28
45
  position: absolute;
29
- transform: translate(-10px,0);
30
- width: 24px;
46
+ transform: translate(calc(-1 * @size-10), 0);
47
+ width: @size-24;
31
48
  z-index: 1;
32
49
  }
33
50
  }
@@ -43,12 +60,12 @@ c8y-asset-selector{
43
60
  }
44
61
  .btn.btn-default::before {
45
62
  position: absolute;
46
- top: -16px;
47
- left: -4px;
63
+ top: calc(-1 * @size-16);
64
+ left: calc(-1 * @size-4);
48
65
  z-index: 10;
49
66
  display: block;
50
- width: 5px;
51
- height: 32px;
67
+ width: @size-5;
68
+ height: @size-32;
52
69
  background: @component-background-default;
53
70
  content: '';
54
71
  }
@@ -57,11 +74,11 @@ c8y-asset-selector{
57
74
  .c8y-asset-selector {
58
75
  &__node {
59
76
  display: flex;
60
- max-height: 32px;
77
+ max-height: @size-32;
61
78
  min-width:fit-content;
62
79
  .collapse-btn {
63
- height: 32px;
64
- width: 32px;
80
+ height: @size-32;
81
+ width: @size-32;
65
82
  opacity: 1;
66
83
 
67
84
  &:focus {
@@ -70,7 +87,7 @@ c8y-asset-selector{
70
87
  }
71
88
  }
72
89
  &__btn-spacer{
73
- width: 32px;
90
+ width: @size-32;
74
91
  z-index: 1;
75
92
  }
76
93
 
@@ -95,7 +112,7 @@ c8y-asset-selector{
95
112
  align-items: center;
96
113
  flex-grow: 1;
97
114
  margin-bottom: 0;
98
- padding: 6px 8px;
115
+ padding: 6px @size-8;
99
116
  max-width: 100%;
100
117
  border: 0;
101
118
  background-color: transparent;
@@ -1,10 +1,30 @@
1
+
2
+ @import "../../../icons/_c8y-glyphs.less";
3
+ @import "../../../mixins/_c8y-scrollbar.less";
4
+ @import "../../../mixins/_forms.less";
5
+ @import "../../../mixins/_icon-base.less";
6
+
7
+ /**
8
+ * C8Y Child Assets Selector - Multi-select dropdown for child assets
9
+ *
10
+ * Note: Uses @size-* tokens; @form-control-* variables for styling.
11
+ *
12
+ * Intentionally hardcoded values:
13
+ * - Off-token spacing (5px, 12px, 30px): Padding and margins not in token system
14
+ * - Component-specific dimensions (240px, 278px): Dropdown dimensions
15
+ * - Typography sizes (12px, 18px): Font sizes
16
+ * - Percentages (50%, 100%): Layout and positioning
17
+ * - Transition duration (0.15s): Animation timing
18
+ * - Opacity values: Visual states
19
+ */
20
+
1
21
  c8y-item-selector {
2
22
  display: block;
3
23
  @media (min-width: @screen-xs-max) {
4
24
  .c8y-list__item & {
5
25
  &.form-group-sm {
6
- margin-top: -4px;
7
- margin-bottom: -4px;
26
+ margin-top: calc(-1 * @size-4);
27
+ margin-bottom: calc(-1 * @size-4);
8
28
  }
9
29
  }
10
30
  }
@@ -22,11 +42,72 @@ c8y-item-selector {
22
42
  background-image: none;
23
43
  text-align: left;
24
44
 
25
- .form-control();
45
+ // Form control base styles (from .form-control in forms.less)
46
+ padding: @form-control-padding-base-vertical @form-control-padding-base-horizontal;
47
+ width: 100%;
48
+ height: @form-control-height-base;
49
+ border: 0;
50
+ border-radius: @form-control-border-radius;
51
+ background-color: @form-control-background-default;
52
+ box-shadow: inset 0 0 0 @form-control-border-width @form-control-border-color-default;
53
+ color: @form-control-color-default;
54
+ font-weight: @form-control-font-weight;
55
+ font-size: @font-size-base;
56
+ font-family: @form-control-font-family;
57
+ line-height: @form-control-line-height;
58
+ transition:
59
+ border-color 0.15s ease-in-out,
60
+ box-shadow 0.15s ease-in-out;
61
+
26
62
  appearance: none;
27
63
  -webkit-appearance: none;
28
64
  -moz-appearance: none;
29
65
  .form-control-focus();
66
+
67
+ // Placeholder styles
68
+ &::-moz-placeholder {
69
+ color: @form-control-placeholder-color;
70
+ opacity: 1;
71
+ font-style: @form-control-placeholder-font-style;
72
+ }
73
+ &:-ms-input-placeholder {
74
+ color: @form-control-placeholder-color;
75
+ font-style: @form-control-placeholder-font-style;
76
+ }
77
+ &::-webkit-input-placeholder {
78
+ color: @form-control-placeholder-color;
79
+ font-style: @form-control-placeholder-font-style;
80
+ }
81
+
82
+ // States
83
+ &:has(.c8y-colorpicker) {
84
+ width: auto;
85
+ }
86
+ &[disabled],
87
+ fieldset[disabled] & {
88
+ opacity: @form-control-disabled-opacity;
89
+ }
90
+ &[readonly],
91
+ &[readonly]:focus {
92
+ background-color: @form-control-background-default;
93
+ color: @text-muted;
94
+ opacity: 1;
95
+ }
96
+ &[disabled],
97
+ fieldset[disabled] & {
98
+ cursor: @cursor-disabled;
99
+ }
100
+ textarea & {
101
+ height: auto;
102
+ }
103
+
104
+ &:not(:first-child):not(:last-child) {
105
+ border-radius: 0;
106
+ }
107
+ .btn {
108
+ border-radius: @form-control-border-radius;
109
+ }
110
+
30
111
  &[aria-expanded='true'] {
31
112
  border-color: @component-color-focus;
32
113
  }
@@ -37,7 +118,7 @@ c8y-item-selector {
37
118
  right: 5px;
38
119
  color: @component-brand-primary;
39
120
  content: @c8y-glyph-caret;
40
- font-size: 18px;
121
+ font-size: @font-size-h4;
41
122
  transform: translate(0, -50%);
42
123
  pointer-events: none;
43
124
 
@@ -79,15 +160,15 @@ c8y-item-selector {
79
160
  }
80
161
  .multiselect-item {
81
162
  display: flex;
82
- padding: 8px 12px;
83
- border-bottom: 1px solid var(--c8y-dropdown-border-color, @component-border-color);
84
- background-color: var(--c8y-dropdown-background-default, @component-background-default);
163
+ padding: @size-8 12px;
164
+ border-bottom: 1px solid var(--c8y-dropdown-border-color; @component-border-color);
165
+ background-color: var(--c8y-dropdown-background-default; @component-background-default);
85
166
  label.c8y-checkbox.input-sm {
86
167
  flex-grow: 1;
87
168
  margin-right: 30px;
88
169
  height: auto;
89
- font-size: 12px;
90
- line-height: 20px;
170
+ font-size: @font-size-small;
171
+ line-height: @size-20;
91
172
  padding: 0;
92
173
  align-items: center;
93
174
  display: flex;
@@ -1,7 +1,26 @@
1
+
2
+
3
+ /**
4
+ * c8y schema form - 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
  c8y-schema-form.widget {
2
- padding-top: @margin-16;
16
+ padding-top: @size-16;
17
+
18
+ // Inline list-group base styles (mixin doesn't exist)
19
+ position: relative;
20
+ margin-bottom: @size-16;
21
+ padding-left: 0;
22
+ box-shadow: inset 0 1px 0 @component-border-color;
3
23
 
4
- .list-group();
5
24
  bootstrap-decorator,
6
25
  sf-decorator {
7
26
  display: block;
@@ -9,12 +28,12 @@ c8y-schema-form.widget {
9
28
  .form-group,
10
29
  .legend,
11
30
  .help-block {
12
- padding-right: @margin-16;
13
- padding-left: @margin-16;
31
+ padding-right: @size-16;
32
+ padding-left: @size-16;
14
33
  }
15
34
  .form-group {
16
35
  margin-bottom: -1px;
17
- padding: 3px @margin-16 20px;
36
+ padding: 3px @size-16 @size-20;
18
37
 
19
38
  .form-control[disabled],
20
39
  .form-control[readonly],
@@ -24,11 +43,19 @@ c8y-schema-form.widget {
24
43
  }
25
44
  }
26
45
  bootstrap-decorator + ng-form {
46
+ // Inline list-group-item base styles (mixin doesn't exist)
47
+ position: relative;
27
48
  display: block;
28
- margin-bottom: 0; //.list-group-item();
49
+ margin-bottom: 0;
50
+ padding: @size-base @component-padding;
51
+ min-height: calc(@size-base * 5);
52
+ width: 100%;
53
+ border: 0;
54
+ box-shadow: inset 0 -1px 0 @component-border-color;
55
+
29
56
  > .form-group {
30
57
  margin-bottom: 0;
31
- padding: 3px @margin-16 20px;
58
+ padding: 3px @size-16 @size-20;
32
59
  .form-control[disabled],
33
60
  .form-control[readonly],
34
61
  fieldset[disabled] .form-control {
@@ -38,8 +65,8 @@ c8y-schema-form.widget {
38
65
  }
39
66
  bootstrap-decorator {
40
67
  .legend {
41
- margin-top: 20px;
42
- margin-bottom: 8px;
68
+ margin-top: @size-20;
69
+ margin-bottom: @size-8;
43
70
  }
44
71
  }
45
72
  sf-decorator {
@@ -67,10 +94,10 @@ c8y-schema-form.widget {
67
94
  display: flex;
68
95
  align-items: center;
69
96
  flex-flow: row wrap;
70
- padding: 3px @margin-16;
97
+ padding: 3px @size-16;
71
98
  label {
72
99
  flex: 1 0 30%;
73
- margin: 0 @margin-8 0 0;
100
+ margin: 0 @size-8 0 0;
74
101
  line-height: 1.3;
75
102
  align-self: flex-start;
76
103
  }
@@ -106,7 +133,7 @@ c8y-schema-form.widget {
106
133
  .form-group.uib-time {
107
134
  padding: 0;
108
135
  .form-control {
109
- width: 20px;
136
+ width: @size-20;
110
137
  cursor: not-allowed;
111
138
  pointer-events: none;
112
139
  }
@@ -114,10 +141,10 @@ c8y-schema-form.widget {
114
141
  }
115
142
  }
116
143
  .schema-form-checkbox {
117
- padding: 0 0 16px 16px !important;
144
+ padding: 0 0 @size-16 16px !important;
118
145
  }
119
146
  .schema-form-textarea {
120
- padding: 16px;
147
+ padding: @size-16;
121
148
  }
122
149
  .c8y-schema-form-empty {
123
150
  display: none;
@@ -127,7 +154,7 @@ c8y-schema-form.widget {
127
154
  padding-bottom: 0;
128
155
  border-bottom: 0;
129
156
  & .schema-form-checkbox {
130
- padding: 0 0 16px 16px !important;
157
+ padding: 0 0 @size-16 16px !important;
131
158
  }
132
159
  }
133
160
  }
@@ -142,7 +169,7 @@ c8y-schema-form.generic-ui {
142
169
  .c8y-checkbox {
143
170
  display: flex;
144
171
  input + span {
145
- margin-right: @margin-base;
172
+ margin-right: @size-base;
146
173
  }
147
174
  }
148
175
 
@@ -173,5 +200,5 @@ c8y-schema-form.generic-ui {
173
200
  }
174
201
 
175
202
  .schema-form-checkbox {
176
- padding-bottom: @margin-base;
203
+ padding-bottom: @size-base;
177
204
  }
@@ -16,8 +16,12 @@
16
16
  c8y-schema-form.widget {
17
17
  padding-top: $size-16;
18
18
 
19
- // Note: list-group() mixin doesn't exist, removed during LESS to SCSS migration
20
- // @include list-group();
19
+ // Inline list-group base styles (mixin doesn't exist)
20
+ position: relative;
21
+ margin-bottom: $size-16;
22
+ padding-left: 0;
23
+ box-shadow: inset 0 1px 0 $component-border-color;
24
+
21
25
  bootstrap-decorator,
22
26
  sf-decorator {
23
27
  display: block;
@@ -40,8 +44,16 @@ c8y-schema-form.widget {
40
44
  }
41
45
  }
42
46
  bootstrap-decorator + ng-form {
47
+ // Inline list-group-item base styles (mixin doesn't exist)
48
+ position: relative;
43
49
  display: block;
44
- margin-bottom: 0; //.list-group-item();
50
+ margin-bottom: 0;
51
+ padding: $size-base $component-padding;
52
+ min-height: calc($size-base * 5);
53
+ width: 100%;
54
+ border: 0;
55
+ box-shadow: inset 0 -1px 0 $component-border-color;
56
+
45
57
  > .form-group {
46
58
  margin-bottom: 0;
47
59
  padding: 3px $size-16 $size-20;
@@ -1,11 +1,27 @@
1
+
2
+ @import "../../mixins/_vendor-prefixes.less";
3
+
4
+
5
+ /**
6
+ * c8y role card - 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
  .role-card {
2
18
  position: relative;
3
- padding-bottom: 40px;
19
+ padding-bottom: @size-40;
4
20
 
5
21
  .transition(all 0.25s ease-in-out);
6
22
  &:hover {
7
23
  z-index: 1;
8
- box-shadow: 0 20px 15px rgba(0, 0, 0, 0.1);
24
+ box-shadow: 0 @size-20 15px rgba(0, 0, 0, 0.1);
9
25
  transform: scale(1.05);
10
26
  }
11
27
  h4 {
@@ -25,7 +41,7 @@
25
41
  position: relative;
26
42
  margin-right: 80px;
27
43
  margin-bottom: 1px;
28
- padding: 10px @component-padding;
44
+ padding: @size-10 @component-padding;
29
45
  min-height: 54px;
30
46
  background-color: @component-background-default;
31
47
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
@@ -41,10 +57,10 @@
41
57
  // Removed unused button selectors - verified 0 usages: .btn-add, .btn-remove
42
58
  @media (min-width: @grid-float-breakpoint) {
43
59
  .form-group + .form-group {
44
- margin-left: 10px;
60
+ margin-left: @size-10;
45
61
  }
46
62
  .add-remove-btns {
47
- top: 10px;
63
+ top: @size-10;
48
64
  display: flex;
49
65
  }
50
66
  }
@@ -1,3 +1,19 @@
1
+
2
+ @import "../../mixins/_c8y-scrollbar.less";
3
+
4
+
5
+ /**
6
+ * c8y scrolluar - Component styles
7
+ *
8
+ * Note: Uses @size-* tokens for spacing where applicable.
9
+ *
10
+ * Intentionally hardcoded values:
11
+ * - Component-specific dimensions: Fixed sizes for component layout
12
+ * - Off-grid spacing: Component-specific positioning
13
+ * - Border widths (1px, 2px, 3px): Standard borders
14
+ * - Font-sizes: Typography
15
+ * - Percentages: Layout
16
+ */
1
17
  .navigatorContent,
2
18
  .c8y-right-drawer {
3
19
  &::-webkit-scrollbar {
@@ -54,11 +70,12 @@
54
70
 
55
71
  /* fix for firefox position sticky bottom bug
56
72
  https://bugzilla.mozilla.org/show_bug.cgi?id=1488080
73
+ Note: @-moz-document is not supported in Dart Sass, commented out
57
74
  */
58
- @media (min-width: @screen-md-min) {
59
- @-moz-document url-prefix() {
60
- .ff-scroll-fix {
61
- padding-bottom: 64px !important;
62
- }
63
- }
64
- }
75
+ // @media (min-width: @screen-md-min) {
76
+ // @-moz-document url-prefix() {
77
+ // .ff-scroll-fix {
78
+ // padding-bottom: 64px !important;
79
+ // }
80
+ // }
81
+ // }
@@ -1,16 +1,31 @@
1
+
2
+ @import "../../mixins/_vendor-prefixes.less";
3
+
4
+
5
+ /**
6
+ * c8y smart rest tab - 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-smart-rest-tab {
2
18
  -webkit-box-flex: 1;
3
19
  -ms-flex: 1 1 100%;
4
20
  flex: 1 1 100%;
5
- padding: 20px;
21
+ padding: @size-20;
6
22
  background-color: @component-background-default;
7
-
8
- .box-shadow(0 1px 1px fade(@black, 10%));
23
+ box-shadow: 0 1px 1px rgba(@black, 0.1);
9
24
  .transition(all 0.25s ease-in-out);
10
25
  .row {
11
26
  display: block;
12
- margin-right: -5px;
13
- margin-left: -5px;
27
+ margin-right: calc(-1 * @size-5);
28
+ margin-left: calc(-1 * @size-5);
14
29
  > [class^='col-xs-'],
15
30
  > [class*=' col-xs'],
16
31
  > [class^='col-sm-'],
@@ -19,7 +34,7 @@
19
34
  > [class*=' col-md'],
20
35
  > [class^='col-lg-'],
21
36
  > [class*=' col-lg'] {
22
- padding-right: 5px;
37
+ padding-right: @size-5;
23
38
  padding-left: 5px;
24
39
  }
25
40
  }
@@ -1,9 +1,23 @@
1
+
2
+
3
+ /**
4
+ * c8y stepper - 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
  .c8y-stepper {
2
16
  position: relative;
3
17
  display: flex;
4
18
  margin-top: 0;
5
19
  margin-bottom: 0;
6
- padding: @margin-base;
20
+ padding: @size-base;
7
21
  list-style: none;
8
22
 
9
23
  &:before {