@c8y/style 1023.30.0 → 1023.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/branding-login.less +1 -1
  2. package/helper-scripts/README-variable-imports.md +155 -0
  3. package/helper-scripts/README.md +104 -0
  4. package/helper-scripts/convert-scss-to-less.sh +512 -0
  5. package/helper-scripts/convert-stroke-icons-to-less.js +115 -0
  6. package/helper-scripts/remove-redundant-variable-imports.sh +80 -0
  7. package/helper-scripts/scss-to-less-skip +20 -0
  8. package/{sync-scss-to-less.sh → helper-scripts/sync-scss-to-less.sh} +2 -2
  9. package/helper-scripts/test-compile.sh +71 -0
  10. package/img/pie-chart-widget-pr.png +0 -0
  11. package/markdown-files/MANUAL-SYNC-FILES.md +56 -0
  12. package/package.json +2 -2
  13. package/styles/_login-app.less +34 -0
  14. package/styles/_login-app.scss +2 -2
  15. package/styles/_mixins.less +47 -0
  16. package/styles/_utilities.less +21 -0
  17. package/styles/_utilities.scss +1 -0
  18. package/styles/animations/_animate.less +18 -13
  19. package/styles/animations/_component-animations.less +18 -16
  20. package/styles/animations/_realtime-animation-list.less +11 -1
  21. package/styles/animations/_spinner-snake.less +17 -2
  22. package/styles/animations/_spinner.less +24 -6
  23. package/styles/base/_normalize.less +14 -0
  24. package/styles/base/_print.less +25 -12
  25. package/styles/base/_scaffolding.less +24 -28
  26. package/styles/base/_type.less +41 -19
  27. package/styles/components/_markdown-content.less +4 -1
  28. package/styles/components/_smartrules.less +14 -8
  29. package/styles/components/_smartrules.scss +6 -2
  30. package/styles/components/application-and-system/_c8y-cookie-banner.less +36 -0
  31. package/styles/components/{specialized → application-and-system}/_c8y-login.less +20 -6
  32. package/styles/components/data-display-and-visualization/_boxed-label.less +45 -0
  33. package/styles/components/data-display-and-visualization/_boxed-label.scss +46 -0
  34. package/styles/components/{specialized → data-display-and-visualization}/_c8y-data-explorer.less +37 -23
  35. package/styles/components/{specialized → data-display-and-visualization}/_c8y-datapoint-pill.less +29 -13
  36. package/styles/components/{specialized → data-display-and-visualization}/_c8y-pulse.less +33 -6
  37. package/styles/components/data-display-and-visualization/_range-display.less +25 -16
  38. package/styles/components/{specialized → data-display-and-visualization}/_smart-list-icon-label.less +19 -5
  39. package/styles/components/{specialized → data-display-and-visualization}/_status.less +16 -2
  40. package/styles/components/{specialized → data-display-and-visualization}/_statusContainer.less +16 -2
  41. package/styles/components/data-display-and-visualization/_timelines-chart.less +2 -0
  42. package/styles/components/data-display-and-visualization/lists/_c8y-data-point-list.less +10 -0
  43. package/styles/components/data-display-and-visualization/lists/_c8y-empty-state.less +26 -12
  44. package/styles/components/data-display-and-visualization/lists/_c8y-list-group.less +83 -43
  45. package/styles/components/data-display-and-visualization/lists/_cards-layout.less +38 -16
  46. package/styles/components/data-display-and-visualization/lists/_list-group.less +46 -28
  47. package/styles/components/data-display-and-visualization/lists/_smart-rules-template-list.less +12 -1
  48. package/styles/components/data-display-and-visualization/lists/{timeline-list.less → _timeline-list.less} +46 -24
  49. package/styles/components/data-display-and-visualization/tables/_data-grid.less +45 -25
  50. package/styles/components/data-display-and-visualization/tables/_resizable-grid.less +18 -5
  51. package/styles/components/data-display-and-visualization/tables/_tables.less +25 -9
  52. package/styles/components/data-input/_c8y-ai-chat.less +1 -0
  53. package/styles/components/{specialized → data-input}/_c8y-countdown-interval.less +15 -13
  54. package/styles/components/{specialized → data-input}/_c8y-range.less +22 -6
  55. package/styles/components/{specialized → data-input}/_dtm-icon-selector.less +17 -2
  56. package/styles/components/{specialized → data-input}/_dtm-icon-selector.scss +1 -2
  57. package/styles/components/{specialized → data-input}/_measurements-time-control.less +34 -6
  58. package/styles/components/{specialized → data-input}/_measurements-time-control.scss +14 -2
  59. package/styles/components/{specialized → data-input}/_search-header.less +22 -6
  60. package/styles/components/data-input/_static-assets-file-picker.less +22 -0
  61. package/styles/components/data-input/assets/_asset-property-list.less +38 -23
  62. package/styles/components/data-input/assets/_asset-table.less +21 -3
  63. package/styles/components/data-input/assets/_c8y-asset-notes.less +13 -1
  64. package/styles/components/data-input/assets/_c8y-asset-selector-miller.less +27 -8
  65. package/styles/components/data-input/assets/_c8y-asset-selector.less +32 -15
  66. package/styles/components/data-input/assets/_c8y-child-assets-selector.less +90 -9
  67. package/styles/components/{specialized → forms}/_c8y-schema-form.less +44 -17
  68. package/styles/components/{specialized → forms}/_c8y-schema-form.scss +15 -3
  69. package/styles/components/{specialized → navigation-and-layout}/_c8y-role-card.less +21 -5
  70. package/styles/components/{specialized → navigation-and-layout}/_c8y-scrollbar.less +24 -7
  71. package/styles/components/{specialized → navigation-and-layout}/_c8y-smart-rest-tab.less +21 -6
  72. package/styles/components/{specialized → navigation-and-layout}/_c8y-stepper.less +15 -1
  73. package/styles/components/{specialized → navigation-and-layout}/_c8y-user-roles.less +45 -28
  74. package/styles/components/{specialized → navigation-and-layout}/_device-software-tab.less +14 -0
  75. package/styles/components/navigation-and-layout/action-bars/_app-switcher.less +27 -5
  76. package/styles/components/navigation-and-layout/action-bars/_c8y-action-bar.less +49 -21
  77. package/styles/components/navigation-and-layout/cards/_card-dashboard.less +25 -4
  78. package/styles/components/navigation-and-layout/cards/_card-flip.less +41 -14
  79. package/styles/components/navigation-and-layout/cards/_card-grid.less +20 -4
  80. package/styles/components/navigation-and-layout/cards/_card.less +90 -75
  81. package/styles/components/navigation-and-layout/cards/_panels.less +38 -20
  82. package/styles/components/navigation-and-layout/navigation/_breadcrumbs.less +21 -39
  83. package/styles/components/navigation-and-layout/navigation/_c8y-nav-stacked.less +26 -14
  84. package/styles/components/navigation-and-layout/navigation/_main-header.less +41 -13
  85. package/styles/components/navigation-and-layout/navigation/_main-header.scss +1 -1
  86. package/styles/components/navigation-and-layout/navigation/_navbar.less +22 -25
  87. package/styles/components/navigation-and-layout/navigation/_navbar.scss +7 -7
  88. package/styles/components/navigation-and-layout/navigation/_navigator.less +71 -69
  89. package/styles/components/navigation-and-layout/navigation/_navs.less +13 -0
  90. package/styles/components/navigation-and-layout/navigation/_pagination.less +24 -5
  91. package/styles/components/navigation-and-layout/navigation/{steps-navbar.less → _steps-navbar.less} +7 -6
  92. package/styles/components/navigation-and-layout/navigation/_tabs.less +18 -14
  93. package/styles/components/navigation-and-layout/navigation/_tabs.scss +2 -2
  94. package/styles/components/{specialized → status-feedback-and-notifications}/_c8y-message-banner.less +14 -0
  95. package/styles/components/{specialized → status-feedback-and-notifications}/_code.less +18 -2
  96. package/styles/core/buttons/_button-groups.less +29 -79
  97. package/styles/core/buttons/_buttons.less +229 -198
  98. package/styles/core/buttons/_buttons.scss +6 -10
  99. package/styles/core/feedback/_alerts.less +52 -41
  100. package/styles/core/feedback/_badges.less +29 -17
  101. package/styles/core/feedback/_close.less +24 -7
  102. package/styles/core/feedback/_labels.less +21 -8
  103. package/styles/core/feedback/_progress-bars.less +24 -7
  104. package/styles/core/feedback/_tag.less +23 -6
  105. package/styles/core/feedback/_tooltip.less +44 -20
  106. package/styles/core/forms/_c8y-switch.less +39 -19
  107. package/styles/core/forms/_c8y-switch.scss +37 -29
  108. package/styles/core/forms/_file-picker.less +79 -61
  109. package/styles/core/forms/_forms.less +130 -133
  110. package/styles/core/forms/_input-groups.less +110 -59
  111. package/styles/core/forms/_input-groups.scss +21 -3
  112. package/styles/core/overlays/_c8y-dashboard-modal.less +25 -29
  113. package/styles/core/overlays/_c8y-wizard.less +38 -15
  114. package/styles/core/overlays/_dropdowns.less +86 -63
  115. package/styles/core/overlays/_modals.less +58 -40
  116. package/styles/core/overlays/_popovers.less +25 -9
  117. package/styles/dashboard/_availability-pie.less +3 -0
  118. package/styles/dashboard/_c8y-dashboard-style.less +61 -34
  119. package/styles/dashboard/_c8y-gauges.less +20 -4
  120. package/styles/dashboard/_dashboard-widgets.less +17 -4
  121. package/styles/dashboard/_info-gauge.less +20 -5
  122. package/styles/dashboard/_quick-links-widget.less +13 -3
  123. package/styles/{welcome-widget.less → dashboard/_welcome-widget.less} +21 -4
  124. package/styles/dashboard/{welcome.less → _welcome.less} +54 -45
  125. package/styles/icons/_c8y-glyphs.less +12 -1
  126. package/styles/icons/_c8y-glyphs.scss +2 -1
  127. package/styles/icons/_c8y-icons.less +214 -199
  128. package/styles/icons/_dlt-c8y-icons-stroke.less +7238 -1834
  129. package/styles/icons/_dlt-c8y-icons.less +14 -0
  130. package/styles/icons/_marker-icons.less +10 -0
  131. package/styles/index.less +160 -134
  132. package/styles/index.scss +53 -29
  133. package/styles/layout/_bottom-drawer.less +21 -7
  134. package/styles/layout/_c8y-help-drawer.less +30 -9
  135. package/styles/layout/_c8y-right-drawer.less +34 -19
  136. package/styles/layout/_c8y-top-drawer.less +43 -28
  137. package/styles/layout/_grid.less +18 -4
  138. package/styles/layout/_group-info.less +14 -2
  139. package/styles/layout/_layouts.less +48 -30
  140. package/styles/layout/_mcontainer.less +26 -12
  141. package/styles/layout/_page-tabs.less +115 -23
  142. package/styles/layout/_split-scroll.less +16 -4
  143. package/styles/layout/_split-view.less +19 -5
  144. package/styles/login-app-use.scss +2 -2
  145. package/styles/login-app.less +4 -4
  146. package/styles/mixins/_buttons.scss +1 -0
  147. package/styles/mixins/{color-mixins.less → _color-mixins.less} +2 -2
  148. package/styles/mixins/{element-queries.less → _element-queries.less} +2 -2
  149. package/styles/mixins/{forms.less → _forms.less} +1 -1
  150. package/styles/mixins/_gradients.less +117 -0
  151. package/styles/mixins/{grid-framework.less → _grid-framework.less} +21 -21
  152. package/styles/mixins/_icon-base.less +29 -0
  153. package/styles/mixins/{nav-vertical-align.less → _nav-vertical-align.less} +6 -2
  154. package/styles/mixins/_nav-vertical-align.scss +5 -2
  155. package/styles/mixins/{progress-bar.less → _progress-bar.less} +1 -1
  156. package/styles/mixins/{shadows-helper.less → _shadows-helper.less} +3 -5
  157. package/styles/mixins/_shadows-helper.scss +1 -4
  158. package/styles/mixins/{vendor-prefixes.less → _vendor-prefixes.less} +7 -22
  159. package/styles/mixins/_vendor-prefixes.scss +1 -17
  160. package/styles/utilities/_borders.less +21 -11
  161. package/styles/{components/specialized → utilities}/_c8y-utils.less +14 -0
  162. package/styles/{components/specialized → utilities}/_c8y-utils.scss +1 -1
  163. package/styles/utilities/_caret.less +18 -4
  164. package/styles/utilities/_container-queries.less +11 -3
  165. package/styles/utilities/_contextual-colors.less +48 -119
  166. package/styles/utilities/_display.less +26 -41
  167. package/styles/utilities/_elevation.less +17 -7
  168. package/styles/utilities/_flex-containers.less +10 -0
  169. package/styles/utilities/_flex-items.less +11 -0
  170. package/styles/utilities/_icon-utils.less +15 -3
  171. package/styles/utilities/_margins-paddings.less +23 -4
  172. package/styles/utilities/_overflows.less +10 -0
  173. package/styles/utilities/_position.less +11 -0
  174. package/styles/utilities/_quickfloats.less +20 -1
  175. package/styles/utilities/_separators.less +11 -0
  176. package/styles/utilities/_shadows.less +5 -49
  177. package/styles/{utilities.less → utilities/_sizing.less} +13 -21
  178. package/styles/utilities/_text-utils.less +35 -24
  179. package/styles/vendor/ace-editor/_ace-editor.less +1 -0
  180. package/styles/vendor/angular/_loading-bar.less +1 -0
  181. package/styles/vendor/angular/_ui-sortable.less +2 -1
  182. package/styles/vendor/angular/_uib-accordion.less +1 -0
  183. package/styles/{angular-ui-select/select.less → vendor/angular/angular-ui-select/_select.less} +2 -10
  184. package/styles/vendor/cdk/_cdk-drag.less +3 -0
  185. package/styles/vendor/cdk/_cdk-tree.less +6 -3
  186. package/styles/vendor/cdk/_cdk-virtual-scroll-window.less +1 -0
  187. package/styles/vendor/datepicker/_bs-datepicker.less +26 -6
  188. package/styles/vendor/datepicker/_uib-datepicker.less +37 -4
  189. package/styles/vendor/leaflet/_c8y-map-internal.less +44 -54
  190. package/styles/vendor/leaflet/_leaflet.less +4 -1
  191. package/styles/vendor/other/_colorpicker.less +3 -2
  192. package/styles/vendor/selectize/_c8y-selectize.less +33 -10
  193. package/variables/_color-defaults.less +29 -10
  194. package/variables/_color-defaults.scss +29 -10
  195. package/variables/_color-vars.less +37 -89
  196. package/variables/_color-vars.scss +19 -77
  197. package/variables/{login-vars.less → _login-vars.less} +3 -5
  198. package/variables/index.less +3 -3
  199. package/variables/tokens/{c8y-design-tokens-dark.less → _c8y-design-tokens-dark.less} +5 -1
  200. package/variables/tokens/{c8y-design-tokens.less → _c8y-design-tokens.less} +5 -1
  201. package/styles/components/specialized/_boxed-label.less +0 -21
  202. package/styles/components/specialized/_boxed-label.scss +0 -36
  203. package/styles/components/specialized/_c8y-cookie-banner.less +0 -22
  204. package/styles/components/specialized/_static-assets-file-picker.less +0 -8
  205. package/styles/dashboard/welcome-widget.less +0 -50
  206. package/styles/mixins/gradients.less +0 -142
  207. package/styles/mixins.less +0 -45
  208. package/styles/steps-navbar.less +0 -97
  209. package/styles/timeline-list.less +0 -210
  210. package/styles/vendor/angular/angular-ui-select/select.less +0 -161
  211. package/styles/welcome.less +0 -128
  212. /package/styles/components/{specialized → application-and-system}/_c8y-cookie-banner.scss +0 -0
  213. /package/styles/components/{specialized → application-and-system}/_c8y-login.scss +0 -0
  214. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-data-explorer.scss +0 -0
  215. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-datapoint-pill.scss +0 -0
  216. /package/styles/components/{specialized → data-display-and-visualization}/_c8y-pulse.scss +0 -0
  217. /package/styles/components/{specialized → data-display-and-visualization}/_smart-list-icon-label.scss +0 -0
  218. /package/styles/components/{specialized → data-display-and-visualization}/_status.scss +0 -0
  219. /package/styles/components/{specialized → data-display-and-visualization}/_statusContainer.scss +0 -0
  220. /package/styles/components/{specialized → data-input}/_c8y-countdown-interval.scss +0 -0
  221. /package/styles/components/{specialized → data-input}/_c8y-range.scss +0 -0
  222. /package/styles/components/{specialized → data-input}/_search-header.scss +0 -0
  223. /package/styles/components/{specialized → data-input}/_static-assets-file-picker.scss +0 -0
  224. /package/styles/components/{specialized → navigation-and-layout}/_c8y-role-card.scss +0 -0
  225. /package/styles/components/{specialized → navigation-and-layout}/_c8y-scrollbar.scss +0 -0
  226. /package/styles/components/{specialized → navigation-and-layout}/_c8y-smart-rest-tab.scss +0 -0
  227. /package/styles/components/{specialized → navigation-and-layout}/_c8y-stepper.scss +0 -0
  228. /package/styles/components/{specialized → navigation-and-layout}/_c8y-user-roles.scss +0 -0
  229. /package/styles/components/{specialized → navigation-and-layout}/_device-software-tab.scss +0 -0
  230. /package/styles/components/{specialized → status-feedback-and-notifications}/_c8y-message-banner.scss +0 -0
  231. /package/styles/components/{specialized → status-feedback-and-notifications}/_code.scss +0 -0
  232. /package/styles/mixins/{alert-variant.less → _alert-variant.less} +0 -0
  233. /package/styles/mixins/{animation.less → _animation.less} +0 -0
  234. /package/styles/mixins/{background-variant.less → _background-variant.less} +0 -0
  235. /package/styles/mixins/{border-radius.less → _border-radius.less} +0 -0
  236. /package/styles/mixins/{buttons.less → _buttons.less} +0 -0
  237. /package/styles/mixins/{c8y-scrollbar.less → _c8y-scrollbar.less} +0 -0
  238. /package/styles/mixins/{center-block.less → _center-block.less} +0 -0
  239. /package/styles/mixins/{clearfix.less → _clearfix.less} +0 -0
  240. /package/styles/mixins/{create-grid.less → _create-grid.less} +0 -0
  241. /package/styles/mixins/{grid.less → _grid.less} +0 -0
  242. /package/styles/mixins/{hide-scrollbars.less → _hide-scrollbars.less} +0 -0
  243. /package/styles/mixins/{hide-text.less → _hide-text.less} +0 -0
  244. /package/styles/mixins/{image.less → _image.less} +0 -0
  245. /package/styles/mixins/{labels.less → _labels.less} +0 -0
  246. /package/styles/mixins/{list-group.less → _list-group.less} +0 -0
  247. /package/styles/mixins/{nav-divider.less → _nav-divider.less} +0 -0
  248. /package/styles/mixins/{opacity.less → _opacity.less} +0 -0
  249. /package/styles/mixins/{pagination.less → _pagination.less} +0 -0
  250. /package/styles/mixins/{panels.less → _panels.less} +0 -0
  251. /package/styles/mixins/{reset-filter.less → _reset-filter.less} +0 -0
  252. /package/styles/mixins/{reset-text.less → _reset-text.less} +0 -0
  253. /package/styles/mixins/{resize.less → _resize.less} +0 -0
  254. /package/styles/mixins/{responsive-visibility.less → _responsive-visibility.less} +0 -0
  255. /package/styles/mixins/{size.less → _size.less} +0 -0
  256. /package/styles/mixins/{tab-focus.less → _tab-focus.less} +0 -0
  257. /package/styles/mixins/{table-row.less → _table-row.less} +0 -0
  258. /package/styles/mixins/{tag.less → _tag.less} +0 -0
  259. /package/styles/mixins/{text-emphasis.less → _text-emphasis.less} +0 -0
  260. /package/styles/mixins/{text-overflow.less → _text-overflow.less} +0 -0
  261. /package/variables/{login-vars.scss → _login-vars.scss} +0 -0
  262. /package/variables/{shadows.less → _shadows.less} +0 -0
  263. /package/variables/{shadows.scss → _shadows.scss} +0 -0
  264. /package/variables/tokens/{c8y-design-tokens-dark.scss → _c8y-design-tokens-dark.scss} +0 -0
  265. /package/variables/tokens/{c8y-design-tokens.scss → _c8y-design-tokens.scss} +0 -0
@@ -1,31 +1,72 @@
1
+ @import "../../mixins/_buttons.less";
2
+ @import "../../mixins/_gradients.less";
3
+ @import "../../mixins/_opacity.less";
4
+ @import "../../mixins/_tab-focus.less";
5
+
6
+ /**
7
+ * Buttons - Button component styles with multiple variants
8
+ *
9
+ * Note: Uses @btn-* variables for sizing, @size-* for spacing. Uses CSS custom properties for colors.
10
+ *
11
+ * Intentionally hardcoded values:
12
+ * - Border/outline widths (1px, 2px): Standard borders and focus indicators
13
+ * - Outline-offsets (-2px): Focus indicator positioning
14
+ * - Small positioning offsets (2px, 3px, 6px, -6px): Fine-tuning for icons and pseudo-elements
15
+ * - Component-specific heights and font-sizes (16px, 20px, 24px, 50px): Button variants
16
+ * - Padding 7px (off-grid): Small button specific
17
+ * - Calc expressions with px: Dynamic sizing calculations
18
+ * - Background patterns and masks: Visual effects
19
+ */
20
+
21
+ // Shared button mixins
22
+ .btn-focus-outline() {
23
+ outline: 2px solid @component-brand-primary !important;
24
+ outline-offset: -2px;
25
+ }
26
+
27
+ .btn-appearance-reset() {
28
+ -webkit-appearance: none;
29
+ -moz-appearance: none;
30
+ appearance: none;
31
+ }
32
+
33
+ .btn-base-reset() {
34
+ margin-bottom: 0;
35
+ padding: 0;
36
+ border: 0;
37
+ background-color: transparent;
38
+ background-image: none;
39
+ cursor: pointer;
40
+ touch-action: manipulation;
41
+ }
42
+
1
43
  .btn {
2
44
  display: inline-block;
3
45
  margin-bottom: 0; // For input.btn
4
46
  border: 1px solid transparent;
5
47
  background-color: transparent;
6
- background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
48
+ background-image: none; // Reset unusual Firefox-on-Android default style,see https://github.com/necolas/normalize.css/issues/214
7
49
  vertical-align: middle;
8
50
  text-align: center;
9
51
  white-space: nowrap;
10
52
  font-weight: @btn-font-weight;
53
+ font-family: @btn-font-family;
11
54
  cursor: pointer;
12
55
  touch-action: manipulation;
13
56
  transition: @btn-transition;
14
57
  text-decoration: none;
15
58
 
16
- .button-size(@btn-padding-vertical; calc(@btn-padding-horizontal * 2); @btn-font-size-base; @btn-line-height-base;
17
- @btn-border-radius-base; @form-control-height-base );
18
- .user-select(none);
59
+ .button-size(@btn-padding-vertical; calc(@btn-padding-horizontal * 2); @btn-font-size-base; @btn-line-height-base; @btn-border-radius-base; @form-control-height-base);
60
+ user-select: none;
19
61
 
20
62
  // btns containing just an icon
21
- >i {
63
+ > i {
22
64
  vertical-align: text-top;
23
65
  }
24
66
 
25
67
  &,
26
68
  &:active,
27
69
  &.active {
28
-
29
70
  &:focus,
30
71
  &.focus {
31
72
  outline: none;
@@ -45,18 +86,16 @@
45
86
  &.disabled,
46
87
  &[disabled],
47
88
  fieldset[disabled] & {
48
-
49
89
  &,
50
90
  &:hover,
51
91
  &:focus {
52
- cursor: @cursor-disabled !important;
92
+ cursor: @cursor-disabled !important;
53
93
  opacity: var(--c8y-root-component-opacity-disabled);
54
- .box-shadow(none);
94
+ box-shadow: none;
55
95
  }
56
96
  }
57
97
 
58
98
  a & {
59
-
60
99
  &.disabled,
61
100
  fieldset[disabled] & {
62
101
  pointer-events: none; // Future-proof disabling of clicks on `<a>` elements
@@ -65,42 +104,34 @@
65
104
 
66
105
  &:has(.badge) {
67
106
  display: inline-flex;
68
- gap: 4px;
107
+ gap: @size-4;
69
108
  align-items: center;
70
109
  }
71
110
  }
72
111
 
73
112
  .btn-icon {
74
- padding-left: @btn-padding-icon-horizontal !important;
75
- padding-right: @btn-padding-icon-horizontal !important;
113
+ padding-left: @btn-padding-icon-horizontal !important;
114
+ padding-right: @btn-padding-icon-horizontal !important;
76
115
  height: @form-control-height-base;
116
+ align-items: center;
77
117
 
78
118
  &:hover,
79
119
  &:focus,
80
120
  &:active {
81
- outline: 2px solid @component-brand-primary !important;
82
- outline-offset: -2px;
121
+ .btn-focus-outline();
83
122
  }
84
123
 
85
124
  &:focus {
86
- border-radius: @component-border-radius-focus !important;
125
+ border-radius: @component-border-radius-focus !important;
87
126
  opacity: 1 !important;
88
127
  }
89
128
  }
90
129
 
91
130
  .btn-dot {
92
- margin-bottom: 0;
93
- padding: 0;
94
- border: 0;
95
- background-color: transparent;
96
- background-image: none;
131
+ .btn-base-reset();
132
+ .btn-appearance-reset();
97
133
  white-space: nowrap;
98
- cursor: pointer;
99
- touch-action: manipulation;
100
134
  max-width: 100%;
101
- -webkit-appearance: none;
102
- -moz-appearance: none;
103
- appearance: none;
104
135
  text-align: center;
105
136
  font-size: 16px;
106
137
  line-height: 1;
@@ -110,34 +141,30 @@
110
141
  justify-content: center;
111
142
  min-width: @form-control-height-base;
112
143
  color: var(--brand-primary, var(--c8y-brand-primary));
113
-
144
+ border-radius: @btn-border-radius-base;
114
145
  &.btn {
115
146
  height: @form-control-height-base;
116
147
  transition: none;
117
-
118
148
  .c8y-list__item &,
119
149
  .cdk-cell & {
120
- &:not(.c8y-list__item__body * *) {
121
- height: calc(@margin-base * 5);
122
- margin-top: -10px;
123
- margin-bottom: -10px;
124
- display: flex;
125
- }
150
+ height: calc(@size-base * 5);
151
+ margin-top: calc(-1 * @size-10);
152
+ margin-bottom: calc(-1 * @size-10);
153
+ display: flex;
126
154
  }
127
155
  }
128
156
 
129
157
  &:hover,
130
158
  &:focus,
131
159
  &:active {
132
- outline: 2px solid @component-brand-primary !important;
133
- outline-offset: -2px;
160
+ .btn-focus-outline();
134
161
  }
135
162
 
136
163
  &:focus {
137
- border-radius: @component-border-radius-focus !important;
164
+ border-radius: @component-border-radius-focus !important;
138
165
  opacity: 1 !important;
139
166
 
140
- >* {
167
+ > * {
141
168
  outline: 0 !important;
142
169
  }
143
170
  }
@@ -150,17 +177,8 @@
150
177
  color: var(--palette-status-danger, var(--c8y-palette-status-danger));
151
178
  }
152
179
 
153
- &.btn-dot--warning {
154
- color: var(--palette-status-warning, var(--c8y-palette-status-warning));
155
- }
156
-
157
- &.btn-dot--info {
158
- color: var(--palette-status-info, var(--c8y-palette-status-info));
159
- }
160
-
161
- &.btn-dot--success {
162
- color: var(--palette-status-success, var(--c8y-palette-status-success));
163
- }
180
+ // Removed unused btn-dot color variants - verified 0 usages:
181
+ // .btn-dot--warning, .btn-dot--info, .btn-dot--success
164
182
 
165
183
  &.small {
166
184
  font-size: @font-size-small;
@@ -172,45 +190,88 @@
172
190
  }
173
191
  }
174
192
 
175
- .btn-icon-dot__item{
176
- display: flex;
193
+ .btn-icon-dot {
194
+ display: flex;
195
+ background: @component-background-default;
196
+ color: @text-color;
197
+ justify-content: center;
198
+ align-items: center;
199
+ aspect-ratio: 1;
200
+ height: 100%;
201
+ border-radius: 50%;
202
+ border: 0;
203
+ padding: 0;
204
+ &:not(.active) {
205
+ background: var(--c8y-level-4);
206
+ color: @text-muted;
207
+ }
208
+ &:hover,
209
+ &:focus,
210
+ &:active {
211
+ .btn-focus-outline();
212
+ }
213
+ &:not(button) {
214
+ height: 20px;
215
+ }
216
+ &.active, &:not(button) {
217
+ &.default {
218
+ background: @component-background-default;
219
+ color: @component-color-default;
220
+ }
221
+ &.auto-refresh {
222
+ background: var(--c8y-brand-primary);
223
+ color: var(--c8y-palette-high);
224
+ }
225
+ &.time-context {
226
+ background: var(--palette-status-info, var(--c8y-palette-status-info));
227
+ color: var(--c8y-palette-high);
228
+ }
229
+ &.aggregation {
230
+ background: var(--c8y-palette-status-warning-light);
231
+ color: var(--c8y-palette-gray-10);
232
+ }
233
+ }
234
+ }
235
+
236
+ .btn-icon-dot__item {
237
+ display: flex;
177
238
  justify-content: center;
178
239
  align-items: center;
179
240
  aspect-ratio: 1;
180
241
  height: 100%;
181
- border-radius: @margin-16!important;
242
+ border-radius: @size-16 !important;
182
243
  border: 0;
183
244
  padding: 0;
184
245
  font-size: @font-size-small;
185
246
  background: var(--c8y-level-4);
186
247
  color: @text-muted;
187
-
188
- &:not(button){
248
+
249
+ &:not(button) {
189
250
  height: 20px;
190
251
  }
191
- &.standalone{
192
- &.default{
252
+ &.standalone {
253
+ &.default {
193
254
  background: @component-background-default;
194
255
  color: @component-color-default;
195
256
  }
196
- &.auto-refresh{
257
+ &.auto-refresh {
197
258
  background: @component-pulse-color;
198
259
  color: var(--c8y-palette-high);
199
260
  }
200
- &.time-context{
261
+ &.time-context {
201
262
  background: var(--palette-status-info, var(--c8y-palette-status-info));
202
263
  color: var(--c8y-palette-high);
203
264
  }
204
- &.aggregation{
265
+ &.aggregation {
205
266
  background: var(--c8y-palette-status-warning-high);
206
267
  color: var(--c8y-palette-gray-10);
207
268
  }
208
269
  }
209
270
  }
210
271
 
211
- .btn-icon-dot-set{
272
+ .btn-icon-dot-set {
212
273
  display: flex;
213
- gap: 8px;
274
+ gap: @size-8;
214
275
  background-color: transparent;
215
276
  background-image: none;
216
277
  box-shadow: none;
@@ -224,30 +285,30 @@
224
285
  -webkit-user-select: none;
225
286
  user-select: none;
226
287
  border: 1px solid @form-control-border-color-default;
227
- border-radius: @margin-16!important;
288
+ border-radius: @size-16 !important;
228
289
  font-size: @font-size-small;
229
- padding: 5px @margin-8;
290
+ padding: @size-5 @size-8;
230
291
  transition: all 0.25s ease;
231
292
  &:hover,
232
293
  &:focus,
233
294
  &:active {
234
295
  outline-offset: -2px;
235
- outline: 2px solid @form-control-border-color-focus!important;
296
+ outline: 2px solid @form-control-border-color-focus !important;
236
297
  }
237
- &.active{
238
- .default{
298
+ &.active {
299
+ .default {
239
300
  background: @component-background-default;
240
301
  color: @component-color-default;
241
302
  }
242
- .auto-refresh{
303
+ .auto-refresh {
243
304
  background: @component-pulse-color;
244
305
  color: var(--c8y-palette-high);
245
306
  }
246
- .time-context{
307
+ .time-context {
247
308
  background: @status-info;
248
309
  color: var(--c8y-palette-high);
249
310
  }
250
- .aggregation{
311
+ .aggregation {
251
312
  background: var(--c8y-palette-status-warning-high);
252
313
  color: var(--c8y-palette-gray-10);
253
314
  }
@@ -255,13 +316,12 @@
255
316
  }
256
317
 
257
318
  // spacing buttons outside btn-group
258
- .btn+.btn:not(.btn-block) {
259
- margin-left: @margin-base;
319
+ .btn + .btn:not(.btn-block) {
320
+ margin-left: @size-base;
260
321
  }
261
322
 
262
- .d-flex,
263
- .d-col {
264
- >.btn+.btn:not(.btn-block) {
323
+ .d-flex, .d-col {
324
+ > .btn + .btn:not(.btn-block) {
265
325
  margin: 0;
266
326
  }
267
327
  }
@@ -269,7 +329,6 @@
269
329
  // Alternate buttons
270
330
  .btn-default {
271
331
  .button-variant(c8y-btn-default);
272
-
273
332
  .datetime-picker & {
274
333
  --c8y-btn-default-background-default: var(--c8y-form-control-background-default);
275
334
  }
@@ -281,7 +340,7 @@
281
340
 
282
341
  .btn-accent {
283
342
  .button-variant(c8y-btn-accent);
284
- border-radius: @btn-border-radius-pill !important;
343
+ border-radius: @btn-border-radius-pill !important;
285
344
  }
286
345
 
287
346
  .btn-danger {
@@ -319,7 +378,7 @@
319
378
  background-repeat: no-repeat;
320
379
  background-size: 100% 100%, 50%50%;
321
380
  background-position: 0 0, 100% 0, 100% 100%, 0 100%;
322
- background-image: conic-gradient(@brand-primary, @status-danger, @status-warning, @status-info, @brand-primary);
381
+ background-image: conic-gradient(@brand-primary; @status-danger, @status-warning; @status-info, @brand-primary);
323
382
  transform: translate(-50%, -50%);
324
383
  opacity: .7;
325
384
  }
@@ -331,7 +390,7 @@
331
390
 
332
391
  >span {
333
392
  position: relative;
334
- padding-left: @margin-16;
393
+ padding-left: @size-16;
335
394
  height: 100%;
336
395
  overflow: visible;
337
396
  opacity: 1;
@@ -417,7 +476,7 @@
417
476
  >span::before {
418
477
  mask-size: 2.3ch;
419
478
  mask-position: -1px center;
420
- background-image: linear-gradient(90deg, @brand-primary, @status-danger, @status-warning, @status-info, @brand-primary);
479
+ background-image: linear-gradient(90deg, @brand-primary; @status-danger, @status-warning; @status-info, @brand-primary);
421
480
  background-size: 50px 50px;
422
481
  animation: symbolAnimation 2s linear infinite;
423
482
  animation-direction: alternate-reverse;
@@ -438,7 +497,7 @@
438
497
 
439
498
  .btn-ai-hint, .btn-ai-hint.btn-dot {
440
499
  pointer-events: none;
441
- border-radius: @margin-16 !important;
500
+ border-radius: @size-16 !important;
442
501
  overflow: hidden;
443
502
  color: @text-muted;
444
503
  display: inline-flex;
@@ -462,7 +521,7 @@
462
521
  }
463
522
 
464
523
  &::after {
465
- border-radius: @margin-16 !important;
524
+ border-radius: @size-16 !important;
466
525
  }
467
526
 
468
527
  &.btn-lg {
@@ -506,30 +565,20 @@
506
565
  }
507
566
  }
508
567
 
509
-
510
-
511
568
  // btn without any padding or styling
512
- .btn-clean {
569
+ .btn-clean() {
570
+ .btn-base-reset();
571
+ .btn-appearance-reset();
513
572
  display: inline-block;
514
- margin-bottom: 0;
515
- border: 0;
516
- background-color: transparent;
517
- background-image: none;
518
- box-shadow: none;
519
573
  text-align: left;
520
574
  white-space: nowrap;
521
- cursor: pointer;
522
- touch-action: manipulation;
523
575
  color: inherit;
524
576
  max-width: 100%;
525
- -webkit-appearance: none;
526
- -moz-appearance: none;
527
- appearance: none;
528
- .user-select(none);
577
+ user-select: none;
529
578
  transition: all 0.25s ease;
530
-
531
- &:not(.btn) {
532
- padding: 0;
579
+
580
+ &:not(.form-control){
581
+ box-shadow: none;
533
582
  }
534
583
 
535
584
  &:hover {
@@ -542,22 +591,29 @@
542
591
  .c8y-focus-inset();
543
592
  }
544
593
 
545
- &.text-truncate {
546
- max-width: 100%;
547
- }
548
-
549
594
  &[disabled] {
550
-
551
595
  &,
552
596
  &:hover,
553
597
  &:focus {
554
598
  cursor: @cursor-disabled;
555
599
  .opacity(0.65);
556
- .box-shadow(none);
600
+ box-shadow: none;
557
601
  }
558
602
  }
559
603
  }
560
604
 
605
+ .btn-clean {
606
+ .btn-clean();
607
+
608
+ &:not(.btn) {
609
+ padding: 0;
610
+ }
611
+
612
+ &.text-truncate {
613
+ max-width: 100%;
614
+ }
615
+ }
616
+
561
617
  .btn-no-focus {
562
618
  &:focus {
563
619
  outline: none !important;
@@ -565,7 +621,7 @@
565
621
  }
566
622
 
567
623
  // inside labels (e.g. for help icon)
568
- label>.btn-clean {
624
+ label > .btn-clean {
569
625
  vertical-align: baseline;
570
626
  }
571
627
 
@@ -579,26 +635,25 @@ label>.btn-clean {
579
635
  color: @link-color;
580
636
  font-weight: normal;
581
637
  height: auto;
582
- .box-shadow(none);
638
+ box-shadow: none;
583
639
  transition: @btn-transition;
584
640
 
585
641
  &.c8y-realtime {
586
642
  color: inherit;
587
643
  }
588
-
589
644
  &:not(.btn-xs):not(.btn-sm) {
590
645
  padding: @btn-padding-vertical @btn-padding-horizontal;
591
646
  min-height: @form-control-height-base;
592
647
  }
593
648
 
594
- [class^='dlt-c8y-icon-']~span,
595
- [class*=' dlt-c8y-icon-']~span,
596
- [class^='dlt-c8y-icon-']~translate,
597
- [class*=' dlt-c8y-icon-']~translate {
649
+ [class^='dlt-c8y-icon-'] ~ span,
650
+ [class*=' dlt-c8y-icon-'] ~ span,
651
+ [class^='dlt-c8y-icon-'] ~ translate,
652
+ [class*=' dlt-c8y-icon-'] ~ translate {
598
653
  color: inherit;
599
654
  }
600
655
 
601
- >i {
656
+ > i {
602
657
  vertical-align: text-top;
603
658
  }
604
659
 
@@ -608,7 +663,7 @@ label>.btn-clean {
608
663
  &[disabled],
609
664
  fieldset[disabled] & {
610
665
  background-color: transparent;
611
- .box-shadow(none);
666
+ box-shadow: none;
612
667
  }
613
668
 
614
669
  &,
@@ -633,7 +688,6 @@ label>.btn-clean {
633
688
 
634
689
  &[disabled],
635
690
  fieldset[disabled] & {
636
-
637
691
  &:hover,
638
692
  &:focus {
639
693
  color: @btn-link-disabled-color;
@@ -666,8 +720,8 @@ label>.btn-clean {
666
720
  --help-info-color: var(--palette-status-info, var(--c8y-palette-status-info));
667
721
  color: var(--palette-status-info, var(--c8y-palette-status-info));
668
722
 
669
- >[class^='dlt-c8y-icon-'],
670
- >[class*=' dlt-c8y-icon-'] {
723
+ > [class^='dlt-c8y-icon-'],
724
+ > [class*=' dlt-c8y-icon-'] {
671
725
  display: none;
672
726
  }
673
727
 
@@ -684,15 +738,14 @@ label>.btn-clean {
684
738
  .c8y-dark-theme & {
685
739
  outline: 1px solid var(--palette-status-info, var(--c8y-palette-status-info));
686
740
  background-color: var(--palette-status-info, var(--c8y-palette-status-info));
687
- --help-info-color: @palette-high;
741
+ --help-info-color: @{palette-high};
688
742
  color: @palette-high;
689
743
  }
690
-
691
744
  .c8y-system-theme & {
692
745
  @media (prefers-color-scheme: dark) {
693
- outline: 1px solid @status-info;
694
- background-color: @status-info;
695
- --help-info-color: @palette-high;
746
+ outline: 1px solid var(--palette-status-info, var(--c8y-palette-status-info));
747
+ background-color: var(--palette-status-info, var(--c8y-palette-status-info));
748
+ --help-info-color: @{palette-high};
696
749
  color: @palette-high;
697
750
  }
698
751
  }
@@ -702,13 +755,13 @@ label>.btn-clean {
702
755
  outline: 1px solid var(--palette-status-info, var(--c8y-palette-status-info));
703
756
  outline-offset: 0;
704
757
  background-color: var(--palette-status-info, var(--c8y-palette-status-info));
705
- --help-info-color: @palette-high;
758
+ --help-info-color: @{palette-high};
706
759
  }
707
760
 
708
761
  &:focus {
709
762
  outline: 1px solid var(--palette-status-info, var(--c8y-palette-status-info));
710
763
  background-color: var(--palette-status-info, var(--c8y-palette-status-info));
711
- --help-info-color: @palette-high;
764
+ --help-info-color: @{palette-high};
712
765
  color: @palette-high;
713
766
  }
714
767
 
@@ -719,20 +772,17 @@ label>.btn-clean {
719
772
  align-self: center;
720
773
  height: 14px;
721
774
  width: 14px;
722
-
723
775
  &::before {
724
776
  inset: 0;
725
777
  }
726
778
  }
727
779
  }
728
780
 
729
- label+.btn-help,
730
- label .btn-help {
781
+ label + .btn-help, label .btn-help {
731
782
  display: inline;
732
783
  align-self: center;
733
784
  height: 14px;
734
785
  width: 14px;
735
-
736
786
  &::before {
737
787
  inset: 0;
738
788
  }
@@ -740,29 +790,25 @@ label .btn-help {
740
790
 
741
791
  // Button Sizes
742
792
  .btn-lg {
743
- .button-size(@btn-padding-large-vertical; @btn-padding-large-horizontal; @btn-font-size-large; @btn-line-height-large;
744
- @btn-border-radius-large; @form-control-height-lg;
745
- );
793
+ .button-size(@btn-padding-large-vertical; @btn-padding-large-horizontal; @btn-font-size-large; @btn-line-height-large; @btn-border-radius-large; @form-control-height-lg);
746
794
  }
747
795
 
748
796
  .btn-sm {
749
- .button-size(@btn-padding-small-vertical; @btn-padding-small-horizontal; @btn-font-size-small;
750
- @btn-line-height-small; @btn-border-radius-small; @form-control-height-sm );
797
+ .button-size(@btn-padding-small-vertical; @btn-padding-small-horizontal; @btn-font-size-small; @btn-line-height-small; @btn-border-radius-small; @form-control-height-sm);
751
798
  }
752
799
 
753
800
  .btn-xs {
754
- .button-size(@btn-padding-xs-vertical; @btn-padding-xs-horizontal; @btn-font-size-xs;
755
- @btn-line-height-xs; @btn-border-radius-xs; @checkbox-size );
801
+ .button-size(@btn-padding-xs-vertical; @btn-padding-xs-horizontal; @btn-font-size-xs; @btn-line-height-xs; @btn-border-radius-xs; @checkbox-size);
756
802
  position: relative;
757
803
 
758
- >.icon-spin {
804
+ > .icon-spin {
759
805
  line-height: 10px;
760
806
  }
761
807
 
762
808
  .list-group &,
763
809
  .c8y-list__item & {
764
810
  &:not(:hover) {
765
- .btn-default();
811
+ &:extend(.btn-default);
766
812
 
767
813
  &.btn-link {
768
814
  background-color: transparent;
@@ -777,11 +823,7 @@ label .btn-help {
777
823
  }
778
824
  }
779
825
 
780
- .btn-40 {
781
- .button-size(@btn-padding-vertical; @btn-padding-horizontal; @btn-font-size-base;
782
- @btn-line-height-base; 0; @margin-40 );
783
- min-width: 40px;
784
- }
826
+ // Removed unused button sizing variant - verified 0 usages: .btn-40
785
827
 
786
828
  .btn-block {
787
829
  display: block;
@@ -789,8 +831,8 @@ label .btn-help {
789
831
  }
790
832
 
791
833
  // Vertically space out multiple block buttons
792
- .btn-block+.btn-block {
793
- margin: @margin-base 0 0 0;
834
+ .btn-block + .btn-block {
835
+ margin: @size-base 0 0 0;
794
836
  }
795
837
 
796
838
  // Specificity overrides
@@ -804,32 +846,27 @@ input[type='button'] {
804
846
 
805
847
  // BUTTON PENDING
806
848
  .btn-pending {
807
-
808
849
  &,
809
850
  &:hover,
810
851
  &:focus {
811
- #gradient>.striped();
852
+ .gradient-striped();
812
853
  background-size: 40px 40px;
813
- .animation(progress-bar-stripes 0.5s linear infinite);
854
+ animation: progress-bar-stripes 0.5s linear infinite;
814
855
  pointer-events: none !important;
815
856
  outline: none !important;
816
857
  }
817
-
818
858
  &.btn-default {
819
-
820
859
  &,
821
860
  &:hover,
822
861
  &:focus {
823
- #gradient>.striped(var(--c8y-brand-70));
862
+ .gradient-striped(var(--c8y-brand-70));
824
863
  }
825
864
  }
826
-
827
865
  &.btn-danger {
828
-
829
866
  &,
830
867
  &:hover,
831
868
  &:focus {
832
- #gradient>.striped(var(--c8y-palette-status-danger-light));
869
+ .gradient-striped(var(--c8y-palette-status-danger-light));
833
870
  }
834
871
  }
835
872
  }
@@ -861,8 +898,8 @@ input[type='button'] {
861
898
 
862
899
  .collapse-btn {
863
900
  padding: 0;
864
- width: calc(@margin-base * 5);
865
- height: calc(@margin-base * 5);
901
+ width: calc(@size-base * 5);
902
+ height: calc(@size-base * 5);
866
903
  display: inline-flex;
867
904
  justify-content: center;
868
905
  align-items: center;
@@ -871,16 +908,15 @@ input[type='button'] {
871
908
  background-image: none;
872
909
  color: @component-color-actions;
873
910
  opacity: @component-actions-opacity;
874
- .user-select(none);
911
+ user-select: none;
875
912
  touch-action: manipulation;
876
- .transition(all 0.25s ease);
877
-
913
+ transition: all 0.25s ease;
878
914
  &:not(.btn-dot) {
879
915
  font-size: 14px;
880
916
  }
881
917
 
882
- >i {
883
- .transition(all 0.25s ease);
918
+ > i {
919
+ transition: all 0.25s ease;
884
920
  }
885
921
 
886
922
  &:hover,
@@ -901,25 +937,24 @@ input[type='button'] {
901
937
  color: @component-brand-primary;
902
938
  opacity: 1 !important;
903
939
 
904
- >i {
905
- .rotate(180deg);
906
-
940
+ > i {
941
+ transform: rotate(180deg);
907
942
  &.dlt-c8y-icon-chevron-right {
908
- .rotate(90deg);
943
+ transform: rotate(90deg);
909
944
  }
910
945
  }
911
946
  }
912
947
  }
913
948
 
914
949
  .btn-navbar {
915
- padding: 3px @margin-base;
950
+ padding: 3px @size-base;
916
951
  color: @action-bar-color-actions;
917
952
  opacity: 1;
918
953
  background-color: transparent;
919
954
 
920
955
  @media (max-width: @screen-xs-max) {
921
956
  display: block;
922
- padding: calc(@margin-base + 2) @margin-16;
957
+ padding: calc(@size-base + 2) @size-16;
923
958
  width: 100%;
924
959
  max-width: 100%;
925
960
  text-align: left;
@@ -944,7 +979,7 @@ input[type='button'] {
944
979
  text-decoration: none;
945
980
 
946
981
  .c8y-icon,
947
- >[class^='dlt-c8y-icon-'],
982
+ > [class^='dlt-c8y-icon-'],
948
983
  [class*=' dlt-c8y-icon-'] {
949
984
  color: @action-bar-color-actions-hover;
950
985
  opacity: 1;
@@ -956,8 +991,8 @@ input[type='button'] {
956
991
  .btn-add-block {
957
992
  display: flex;
958
993
  align-items: center;
959
- margin-bottom: @margin-16;
960
- padding: calc(@margin-base + @margin-4) @margin-16;
994
+ margin-bottom: @size-16;
995
+ padding: calc(@size-base + @size-4) @size-16;
961
996
  width: 100%;
962
997
  border: 0;
963
998
  background-color: @component-background-default;
@@ -965,7 +1000,7 @@ input[type='button'] {
965
1000
  color: @component-brand-primary;
966
1001
  text-decoration: none !important;
967
1002
  box-shadow: @elevation-sm;
968
- .transition(all 0.35s ease);
1003
+ transition: all 0.35s ease;
969
1004
 
970
1005
  &[disabled],
971
1006
  &.disabled {
@@ -978,16 +1013,16 @@ input[type='button'] {
978
1013
  [class*=' dlt-c8y-icon-'] {
979
1014
  color: @component-brand-primary;
980
1015
  font-size: 2em;
981
- .transition(transform 0.35s ease);
982
- margin-right: @margin-base;
1016
+ transition: transform 0.35s ease;
1017
+ margin-right: @size-base;
983
1018
  }
984
1019
 
985
1020
  &:hover {
986
1021
  box-shadow: @elevation-hover;
987
1022
 
988
- >[class^='dlt-c8y-icon-'],
1023
+ > [class^='dlt-c8y-icon-'],
989
1024
  [class*=' dlt-c8y-icon-'] {
990
- .scale(1.1);
1025
+ transform: scale(1.1);
991
1026
  }
992
1027
  }
993
1028
 
@@ -1005,7 +1040,7 @@ input[type='button'] {
1005
1040
  margin-top: @component-padding;
1006
1041
  min-height: 56px;
1007
1042
 
1008
- >[class^='dlt-c8y-icon-'],
1043
+ > [class^='dlt-c8y-icon-'],
1009
1044
  [class*=' dlt-c8y-icon-'] {
1010
1045
  color: inherit;
1011
1046
  }
@@ -1018,7 +1053,6 @@ input[type='button'] {
1018
1053
 
1019
1054
  // btn checkbox
1020
1055
  .btn {
1021
-
1022
1056
  &[btnCheckbox],
1023
1057
  &[uib-btn-checkbox],
1024
1058
  &.c8y-btn-checkbox {
@@ -1032,8 +1066,8 @@ input[type='button'] {
1032
1066
  background-color: transparent;
1033
1067
  line-height: 1;
1034
1068
  color: var(--c8y-switch-handle-color);
1035
- .box-shadow(none);
1036
- .transition(all 0.25s ease) !important;
1069
+ box-shadow: none;
1070
+ transition: all 0.25s ease;
1037
1071
 
1038
1072
  * {
1039
1073
  position: relative;
@@ -1065,7 +1099,7 @@ input[type='button'] {
1065
1099
  background-color: @switch-background-default;
1066
1100
  content: '';
1067
1101
 
1068
- .transition(background 0.25s ease);
1102
+ transition: background 0.25s ease;
1069
1103
  }
1070
1104
 
1071
1105
  &::after {
@@ -1078,32 +1112,32 @@ input[type='button'] {
1078
1112
  z-index: -1;
1079
1113
  border-radius: calc(@switch-height / 2) !important;
1080
1114
  background-color: var(--c8y-switch-handle-background, @form-control-background-default);
1081
- .box-shadow(0 2px 3px fade(black, 20%));
1082
- .transition(all 0.25s ease) !important;
1115
+ box-shadow: 0 2px 3px rgba(@black, 0.2);
1116
+ transition: all 0.25s ease;
1083
1117
  }
1084
1118
 
1085
1119
  &.active {
1086
1120
  padding: 0 16px 0 32px;
1087
1121
  border: 0 !important;
1088
1122
  background-color: transparent;
1089
- .box-shadow(none);
1090
- .transition(all 0.25s ease);
1123
+ box-shadow: none;
1124
+ transition: all 0.25s ease;
1091
1125
 
1092
1126
  &::before {
1093
1127
  background-color: @switch-background-active;
1094
- .transition(background 0.25s ease);
1128
+ transition: background 0.25s ease;
1095
1129
  }
1096
1130
 
1097
1131
  &::after {
1098
1132
  right: 2px;
1099
1133
  left: 18px;
1100
- .transition(all 0.25s ease);
1134
+ transition: all 0.25s ease;
1101
1135
  }
1102
1136
  }
1103
1137
  }
1104
1138
 
1105
1139
  &.c8y-btn-checkbox--inline {
1106
- margin: -5px 0;
1140
+ margin: calc(-1 * @size-5) 0;
1107
1141
  vertical-align: unset;
1108
1142
  }
1109
1143
  }
@@ -1124,7 +1158,7 @@ input[type='button'] {
1124
1158
  max-width: 100%;
1125
1159
  height: 45px;
1126
1160
 
1127
- >span,
1161
+ > span,
1128
1162
  c8y-cell-renderer {
1129
1163
  white-space: nowrap;
1130
1164
  overflow: hidden;
@@ -1149,7 +1183,7 @@ input[type='button'] {
1149
1183
  }
1150
1184
 
1151
1185
  .filtered & {
1152
- color: @brand-primary !important;
1186
+ color: var(--brand-primary, var(--c8y-brand-primary)) !important;
1153
1187
  }
1154
1188
 
1155
1189
  &.c8y-dropdown {
@@ -1161,7 +1195,7 @@ input[type='button'] {
1161
1195
 
1162
1196
  .dropdown.open & {
1163
1197
  background: white;
1164
- // .boxShadowHelper(4) !important;
1198
+ .boxShadowHelper(md, right);
1165
1199
  }
1166
1200
  }
1167
1201
  }
@@ -1169,7 +1203,7 @@ input[type='button'] {
1169
1203
  .btn-sort {
1170
1204
  opacity: 0;
1171
1205
 
1172
- >.dlt-c8y-icon-exchange {
1206
+ > .dlt-c8y-icon-exchange {
1173
1207
  transform: rotate(90deg);
1174
1208
  margin-top: 4px;
1175
1209
  }
@@ -1197,10 +1231,9 @@ input[type='button'] {
1197
1231
  }
1198
1232
 
1199
1233
  .btnbar {
1200
-
1201
1234
  .btnbar-btn,
1202
1235
  .dropdown .c8y-dropdown {
1203
- padding: calc(@margin-16 - 2px) @margin-base;
1236
+ padding: calc(@size-16 - 2px) @size-base;
1204
1237
  color: @action-bar-color-default;
1205
1238
  opacity: 1;
1206
1239
  background: none;
@@ -1210,7 +1243,7 @@ input[type='button'] {
1210
1243
 
1211
1244
  @media (max-width: @screen-xs-max) {
1212
1245
  display: block;
1213
- padding: calc(@margin-base + 2px) @margin-16;
1246
+ padding: calc(@size-base + 2px) @size-16;
1214
1247
  max-width: 100%;
1215
1248
  text-align: left;
1216
1249
  }
@@ -1222,7 +1255,7 @@ input[type='button'] {
1222
1255
  }
1223
1256
 
1224
1257
  .c8y-icon,
1225
- >[class^='dlt-c8y-icon-'],
1258
+ > [class^='dlt-c8y-icon-'],
1226
1259
  [class*=' dlt-c8y-icon-'] {
1227
1260
  opacity: 0.9;
1228
1261
  }
@@ -1233,7 +1266,7 @@ input[type='button'] {
1233
1266
  text-decoration: none;
1234
1267
 
1235
1268
  .c8y-icon,
1236
- >[class^='dlt-c8y-icon-'],
1269
+ > [class^='dlt-c8y-icon-'],
1237
1270
  [class*=' dlt-c8y-icon-'] {
1238
1271
  opacity: 1;
1239
1272
  }
@@ -1253,9 +1286,8 @@ input[type='button'] {
1253
1286
  color: var(--c8y-brand-7);
1254
1287
  text-decoration: none;
1255
1288
  outline: 1px solid @component-background-active;
1256
-
1257
1289
  .c8y-icon,
1258
- >[class^='dlt-c8y-icon-'],
1290
+ > [class^='dlt-c8y-icon-'],
1259
1291
  [class*=' dlt-c8y-icon-'] {
1260
1292
  opacity: 1;
1261
1293
  }
@@ -1267,8 +1299,7 @@ input[type='button'] {
1267
1299
  .btn--caret {
1268
1300
  display: flex;
1269
1301
  align-items: center;
1270
-
1271
- >i {
1302
+ > i {
1272
1303
  transform: translateX(-7px);
1273
1304
  }
1274
1305
  }