@c8y/style 1023.14.76 → 1023.14.94

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
@@ -31,7 +31,13 @@ c8y-measurements-icon-bar {
31
31
  &.input-sm {
32
32
  padding: 0;
33
33
  input {
34
- // @extend .input-sm; // Removed for performance
34
+ // Inline .input-sm styles (was @extend .input-sm)
35
+ &:not(.c8y-radio):not(.c8y-checkbox) {
36
+ padding: $form-control-padding-small-vertical $form-control-padding-small-horizontal;
37
+ height: $form-control-height-sm !important;
38
+ font-size: $font-size-small;
39
+ line-height: $line-height-small;
40
+ }
35
41
  }
36
42
  }
37
43
  }
@@ -45,7 +51,13 @@ c8y-measurements-icon-bar {
45
51
  padding: 5px !important;
46
52
  width: 30px;
47
53
 
48
- // @extend .input-sm; // Removed for performance
54
+ // Inline .input-sm styles (was @extend .input-sm)
55
+ &:not(.c8y-radio):not(.c8y-checkbox) {
56
+ padding: $form-control-padding-small-vertical $form-control-padding-small-horizontal;
57
+ height: $form-control-height-sm !important;
58
+ font-size: $font-size-small;
59
+ line-height: $line-height-small;
60
+ }
49
61
  }
50
62
  }
51
63
  .measurements-date-to {
@@ -1,3 +1,19 @@
1
+
2
+ @import "../../mixins/_shadows-helper.less";
3
+
4
+
5
+ /**
6
+ * search header - 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
  // main header search component
2
18
  .search-header-menu {
3
19
  top: 92px;
@@ -8,15 +24,15 @@
8
24
 
9
25
  .c8y-search-form .c8y-search-dropdown {
10
26
  .input-group {
11
- padding: @margin-16;
27
+ padding: @size-16;
12
28
  background-color: @component-background-default;
13
29
 
14
30
  .input-group-btn {
15
- top: @margin-16;
16
- right: @margin-16;
31
+ top: @size-16;
32
+ right: @size-16;
17
33
  max-height: none;
18
34
  height: auto;
19
- bottom: @margin-16;
35
+ bottom: @size-16;
20
36
  }
21
37
  }
22
38
  }
@@ -41,7 +57,7 @@
41
57
  border-radius: var(--c8y-form-control-height-base)!important;
42
58
  border: 0;
43
59
  height: auto;
44
- padding: 16px 54px 16px 24px !important;
60
+ padding: @size-16 54px @size-16 @size-24 !important;
45
61
  background-color: @headerColor;
46
62
  color: @header-text-color;
47
63
  font-size: @font-size-large;
@@ -51,7 +67,7 @@
51
67
 
52
68
  .input-group-btn {
53
69
  .btn {
54
- font-size: 20px;
70
+ font-size: @size-20;
55
71
  height: auto !important;
56
72
  padding: 14px 16px;
57
73
  color: @header-text-color;
@@ -0,0 +1,22 @@
1
+
2
+
3
+ /**
4
+ * static assets file picker - 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-static-assets-file-picker{
16
+ display: block;
17
+ padding: var(--c8y-root-component-padding-default);
18
+ border: 1px solid var(--c8y-form-control-border-color-default);
19
+ img{
20
+ border: 1px dashed var(--c8y-root-component-border-color);
21
+ }
22
+ }
@@ -1,3 +1,18 @@
1
+
2
+ /**
3
+ * Asset Property List - Tree view component for asset properties
4
+ *
5
+ * Note: Uses @size-* tokens for spacing and @size-base for calculations.
6
+ *
7
+ * Intentionally hardcoded values:
8
+ * - Off-token spacing (6px, 7px, 14px, 18px, 42px, 44px, 96px): Tree indentation and positioning not in token system
9
+ * - Border widths (1px): Standard borders
10
+ * - Percentages (50%, 100%): Layout and positioning
11
+ * - Font size (0.7em): Relative size for drag handle
12
+ * - Transition duration (0.15s): Animation timing
13
+ * - Calc expressions: Complex computed values for tree structure
14
+ */
15
+
1
16
  c8y-asset-property-list {
2
17
  .cdk-tree {
3
18
  background: inherit;
@@ -6,7 +21,7 @@ c8y-asset-property-list {
6
21
  overflow: hidden;
7
22
 
8
23
  &:has(.drag-handle-wrapper) {
9
- padding-left: 8px;
24
+ padding-left: @size-8;
10
25
  }
11
26
  }
12
27
 
@@ -14,13 +29,13 @@ c8y-asset-property-list {
14
29
  .select-all-container {
15
30
  > .separator-bottom,
16
31
  > .overflow-hidden {
17
- padding-left: 8px;
32
+ padding-left: @size-8;
18
33
  }
19
34
  }
20
35
  }
21
36
 
22
37
  .cdk-tree-node {
23
- height: 40px;
38
+ height: @size-40;
24
39
  background: inherit;
25
40
 
26
41
  .drag-handle-wrapper {
@@ -46,14 +61,14 @@ c8y-asset-property-list {
46
61
  content: '';
47
62
  top: 0;
48
63
  left: -6px;
49
- width: 20px;
64
+ width: @size-20;
50
65
  bottom: 0;
51
66
  display: block;
52
67
  border-left: 1px solid
53
68
  var(
54
69
  --c8y-component-icon-dark-color-light,
55
70
  var(--c8y-root-component-icon-dark-color-light, var(--brand-light, var(--c8y-brand-light)))
56
- );
71
+ );
57
72
  z-index: 1;
58
73
  }
59
74
 
@@ -66,8 +81,8 @@ c8y-asset-property-list {
66
81
  content: '';
67
82
  top: 50%;
68
83
  left: -6px;
69
- width: 20px;
70
- /* bottom: 0; */
84
+ width: @size-20;
85
+ /* bottom: 0,*/
71
86
  display: block;
72
87
  border-bottom: 1px solid
73
88
  var(
@@ -75,8 +90,8 @@ c8y-asset-property-list {
75
90
  var(
76
91
  --c8y-root-component-icon-dark-color-light,
77
92
  var(--brand-light, var(--c8y-brand-light))
78
- )
79
- );
93
+ )
94
+ );
80
95
  z-index: 1;
81
96
  position: absolute;
82
97
  pointer-events: none;
@@ -84,12 +99,12 @@ c8y-asset-property-list {
84
99
 
85
100
  &.nonSelectable {
86
101
  > .d-flex::after {
87
- width: 40px;
102
+ width: @size-40;
88
103
  }
89
104
  }
90
105
 
91
106
  .drag-handle-wrapper {
92
- left: -24px;
107
+ left: calc(-1 * @size-24);
93
108
  }
94
109
  }
95
110
 
@@ -101,7 +116,7 @@ c8y-asset-property-list {
101
116
  content: '';
102
117
  top: 0;
103
118
  left: 18px;
104
- width: 20px;
119
+ width: @size-20;
105
120
  bottom: 0;
106
121
  display: block;
107
122
  border-left: 1px solid
@@ -110,8 +125,8 @@ c8y-asset-property-list {
110
125
  var(
111
126
  --c8y-root-component-icon-dark-color-light,
112
127
  var(--brand-light, var(--c8y-brand-light))
113
- )
114
- );
128
+ )
129
+ );
115
130
  z-index: 1;
116
131
  }
117
132
 
@@ -121,7 +136,7 @@ c8y-asset-property-list {
121
136
  content: '';
122
137
  top: 0;
123
138
  left: 42px;
124
- width: 20px;
139
+ width: @size-20;
125
140
  bottom: 0;
126
141
  display: block;
127
142
  border-left: 1px solid
@@ -130,8 +145,8 @@ c8y-asset-property-list {
130
145
  var(
131
146
  --c8y-root-component-icon-dark-color-light,
132
147
  var(--brand-light, var(--c8y-brand-light))
133
- )
134
- );
148
+ )
149
+ );
135
150
  z-index: 1;
136
151
  }
137
152
  }
@@ -139,12 +154,12 @@ c8y-asset-property-list {
139
154
 
140
155
  .cdk-tree-node.nonCollapsible:not([aria-level='1']) {
141
156
  > .d-flex::before {
142
- left: -5px;
157
+ left: calc(-1 * @size-5);
143
158
  }
144
159
 
145
160
  > .d-flex::after {
146
161
  width: 14px;
147
- left: -5px;
162
+ left: calc(-1 * @size-5);
148
163
  }
149
164
 
150
165
  &.nonSelectable {
@@ -153,7 +168,7 @@ c8y-asset-property-list {
153
168
  }
154
169
 
155
170
  > .d-flex::after {
156
- width: 10px;
171
+ width: @size-10;
157
172
  left: 0;
158
173
  }
159
174
  }
@@ -205,7 +220,7 @@ c8y-asset-property-list {
205
220
 
206
221
  &[aria-level='2'] {
207
222
  &::before {
208
- left: 24px;
223
+ left: @size-24;
209
224
  z-index: 1;
210
225
  }
211
226
 
@@ -220,7 +235,7 @@ c8y-asset-property-list {
220
235
 
221
236
  &[aria-level='3'] {
222
237
  &::before {
223
- left: 48px;
238
+ left: @size-48;
224
239
  z-index: 1;
225
240
  }
226
241
 
@@ -243,7 +258,7 @@ c8y-asset-property-list {
243
258
  .cdk-tree-node .c8y-list__item__radio {
244
259
  padding-top: 7px !important;
245
260
  padding-bottom: 7px !important;
246
- max-height: 40px !important;
261
+ max-height: @size-40 !important;
247
262
  min-height: unset !important;
248
263
  }
249
264
 
@@ -1,3 +1,21 @@
1
+
2
+ @import "../../../mixins/_color-mixins.less";
3
+ @import "../../../mixins/_forms.less";
4
+
5
+ /**
6
+ * Asset Table - Table component for asset properties
7
+ *
8
+ * Note: Uses @size-* tokens for spacing where applicable.
9
+ *
10
+ * Intentionally hardcoded values:
11
+ * - Off-token spacing (3px, 6px, 9px, 9.5px, 12px): Form control padding and positioning not in token system
12
+ * - Typography sizes (10px): Font size
13
+ * - Line-heights (1.1em, 23px, 34px): Text line heights
14
+ * - Percentages (50%): Positioning
15
+ * - Transition duration (0.2s): Animation timing
16
+ * - Darken percentages (0.03, 0.05): Color adjustments
17
+ */
18
+
1
19
  .property-label {
2
20
  padding: 0;
3
21
  border-color: transparent;
@@ -40,7 +58,7 @@ div .property.bg-info:nth-child(odd) {
40
58
  .spin-up,
41
59
  .spin-down {
42
60
  display: block;
43
- height: 5px;
61
+ height: @size-5;
44
62
  color: @gray-80;
45
63
  }
46
64
 
@@ -51,7 +69,7 @@ div .property.bg-info:nth-child(odd) {
51
69
  // Removed unused icon class - verified 0 usages: .icon-sort-down
52
70
 
53
71
  .asset-table .btn-xs {
54
- font-size: 10px;
72
+ font-size: @font-size-xs;
55
73
  line-height: 1.1em;
56
74
  }
57
75
 
@@ -68,7 +86,7 @@ div .property.bg-info:nth-child(odd) {
68
86
  }
69
87
 
70
88
  .asset-table .headers .column-name {
71
- margin-right: 8px;
89
+ margin-right: @size-8;
72
90
  line-height: 1.1em;
73
91
  &:hover {
74
92
  color: var(--brand-primary, var(--c8y-brand-primary));
@@ -1,3 +1,15 @@
1
+
2
+ /**
3
+ * C8Y Asset Notes - Asset notes component
4
+ *
5
+ * Note: Uses @component-padding and @size-* tokens for spacing.
6
+ *
7
+ * Intentionally hardcoded values:
8
+ * - Component-specific dimensions (200px): Flex basis
9
+ * - Typography size (62px): Icon font size
10
+ * - Percentages (100%): Layout
11
+ */
12
+
1
13
  c8y-asset-notes {
2
14
  position: relative;
3
15
  display: block;
@@ -5,7 +17,7 @@ c8y-asset-notes {
5
17
  height: 100%;
6
18
  .asset-notes-icon {
7
19
  align-self: flex-start;
8
- margin-right: 10px;
20
+ margin-right: @size-10;
9
21
  font-size: 62px;
10
22
  }
11
23
  .asset-notes-content {
@@ -1,3 +1,22 @@
1
+
2
+ @import "../../../mixins/_c8y-scrollbar.less";
3
+
4
+ /**
5
+ * C8Y Asset Selector Miller - Miller column view for asset selection
6
+ *
7
+ * Note: Uses @size-* tokens and @size-base for spacing and dimensions.
8
+ *
9
+ * Intentionally hardcoded values:
10
+ * - Component-specific dimensions (200px, 312px): Column widths and heights
11
+ * - Off-token spacing (30px): Width calculation
12
+ * - CSS custom property (--c8y-root-component-padding: 8): Unitless value for calculations
13
+ * - Percentages (33.333%, 100%): Layout and flex values
14
+ * - Border widths (1px, 2px): Standard borders and outlines
15
+ * - Negative offsets (-2px): Fine-tuning
16
+ * - Z-index values (10, 20): Stacking order
17
+ * - Box-shadow values: Border effects
18
+ */
19
+
1
20
  c8y-asset-selector-miller {
2
21
  display: block;
3
22
  position: relative;
@@ -40,7 +59,7 @@ c8y-asset-selector-miller {
40
59
 
41
60
  &__header {
42
61
  background-color: @component-background-default;
43
- padding: @margin-base;
62
+ padding: @size-base;
44
63
  box-shadow: inset 0 -1px 0 @component-border-color;
45
64
  &.sticky-top {
46
65
  z-index: 20;
@@ -55,15 +74,15 @@ c8y-asset-selector-miller {
55
74
  &__selection{
56
75
  width: 100%;
57
76
  top:0;
58
- min-height: 40px!important;
59
-
77
+ min-height: @size-40!important;
78
+
60
79
  }
61
80
  &__search{
62
81
  align-items: flex-start;
63
82
  flex-wrap: wrap;
64
- min-height: 48px!important;
83
+ min-height: @size-48!important;
65
84
  &.miller-column__show-selected{
66
- min-height: 72px!important;
85
+ min-height: @size-72!important;
67
86
  }
68
87
  }
69
88
 
@@ -72,7 +91,7 @@ c8y-asset-selector-miller {
72
91
  background-color: @component-background-default;
73
92
  display: flex;
74
93
  align-items: center;
75
- min-height: calc(@margin-base * 4);
94
+ min-height: calc(@size-base * 4);
76
95
 
77
96
  &:hover:not(.miller-column__item--more) {
78
97
  box-shadow: inset 2px 0 0 0 @component-color-focus;
@@ -103,11 +122,11 @@ c8y-asset-selector-miller {
103
122
  }
104
123
 
105
124
  &__checkbox {
106
- padding-left: 4px;
125
+ padding-left: @size-4;
107
126
 
108
127
  + .miller-column__item__btn {
109
128
  width: calc(100% - 30px);
110
- padding-left: 4px;
129
+ padding-left: @size-4;
111
130
  }
112
131
  }
113
132
  }
@@ -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;