@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.
- package/branding-login.less +1 -1
- package/helper-scripts/README-variable-imports.md +155 -0
- package/helper-scripts/README.md +104 -0
- package/helper-scripts/convert-scss-to-less.sh +502 -0
- package/helper-scripts/convert-stroke-icons-to-less.js +115 -0
- package/helper-scripts/remove-redundant-variable-imports.sh +80 -0
- package/helper-scripts/scss-to-less-skip +20 -0
- package/{sync-scss-to-less.sh → helper-scripts/sync-scss-to-less.sh} +2 -2
- package/helper-scripts/test-compile.sh +71 -0
- package/markdown-files/MANUAL-SYNC-FILES.md +56 -0
- package/package.json +2 -2
- package/styles/_login-app.less +34 -0
- package/styles/_login-app.scss +2 -2
- package/styles/_mixins.less +47 -0
- package/styles/_utilities.less +21 -0
- package/styles/_utilities.scss +1 -0
- package/styles/animations/_animate.less +18 -13
- package/styles/animations/_component-animations.less +18 -16
- package/styles/animations/_realtime-animation-list.less +11 -1
- package/styles/animations/_spinner-snake.less +17 -2
- package/styles/animations/_spinner.less +24 -6
- package/styles/base/_normalize.less +14 -0
- package/styles/base/_print.less +25 -12
- package/styles/base/_scaffolding.less +24 -28
- package/styles/base/_type.less +41 -19
- package/styles/components/_markdown-content.less +4 -1
- package/styles/components/_smartrules.less +14 -8
- package/styles/components/_smartrules.scss +6 -2
- package/styles/components/application-and-system/_c8y-cookie-banner.less +36 -0
- package/styles/components/{specialized → application-and-system}/_c8y-login.less +20 -6
- package/styles/components/data-display-and-visualization/_boxed-label.less +45 -0
- package/styles/components/data-display-and-visualization/_boxed-label.scss +46 -0
- package/styles/components/{specialized → data-display-and-visualization}/_c8y-data-explorer.less +76 -24
- package/styles/components/{specialized → data-display-and-visualization}/_c8y-data-explorer.scss +39 -1
- package/styles/components/{specialized → data-display-and-visualization}/_c8y-datapoint-pill.less +29 -13
- package/styles/components/{specialized → data-display-and-visualization}/_c8y-pulse.less +33 -6
- package/styles/components/data-display-and-visualization/_range-display.less +25 -16
- package/styles/components/{specialized → data-display-and-visualization}/_smart-list-icon-label.less +19 -5
- package/styles/components/{specialized → data-display-and-visualization}/_status.less +16 -2
- package/styles/components/{specialized → data-display-and-visualization}/_statusContainer.less +16 -2
- package/styles/components/data-display-and-visualization/_timelines-chart.less +2 -0
- package/styles/components/data-display-and-visualization/lists/_c8y-data-point-list.less +10 -0
- package/styles/components/data-display-and-visualization/lists/_c8y-empty-state.less +26 -12
- package/styles/components/data-display-and-visualization/lists/_c8y-list-group.less +88 -42
- package/styles/components/data-display-and-visualization/lists/_cards-layout.less +38 -16
- package/styles/components/data-display-and-visualization/lists/_list-group.less +46 -28
- package/styles/components/data-display-and-visualization/lists/_smart-rules-template-list.less +12 -1
- package/styles/components/data-display-and-visualization/lists/{timeline-list.less → _timeline-list.less} +46 -24
- package/styles/components/data-display-and-visualization/tables/_data-grid.less +45 -25
- package/styles/components/data-display-and-visualization/tables/_resizable-grid.less +18 -1
- package/styles/components/data-display-and-visualization/tables/_tables.less +25 -9
- package/styles/components/data-input/_c8y-ai-chat.less +1 -0
- package/styles/components/{specialized → data-input}/_c8y-countdown-interval.less +15 -13
- package/styles/components/{specialized → data-input}/_c8y-range.less +22 -6
- package/styles/components/{specialized → data-input}/_dtm-icon-selector.less +17 -2
- package/styles/components/{specialized → data-input}/_dtm-icon-selector.scss +1 -2
- package/styles/components/{specialized → data-input}/_measurements-time-control.less +34 -6
- package/styles/components/{specialized → data-input}/_measurements-time-control.scss +14 -2
- package/styles/components/{specialized → data-input}/_search-header.less +22 -6
- package/styles/components/data-input/_static-assets-file-picker.less +22 -0
- package/styles/components/data-input/assets/_asset-property-list.less +38 -23
- package/styles/components/data-input/assets/_asset-table.less +21 -3
- package/styles/components/data-input/assets/_c8y-asset-notes.less +13 -1
- package/styles/components/data-input/assets/_c8y-asset-selector-miller.less +27 -8
- package/styles/components/data-input/assets/_c8y-asset-selector.less +32 -15
- package/styles/components/data-input/assets/_c8y-child-assets-selector.less +90 -9
- package/styles/components/{specialized → forms}/_c8y-schema-form.less +44 -17
- package/styles/components/{specialized → forms}/_c8y-schema-form.scss +15 -3
- package/styles/components/{specialized → navigation-and-layout}/_c8y-role-card.less +21 -5
- package/styles/components/{specialized → navigation-and-layout}/_c8y-scrollbar.less +24 -7
- package/styles/components/{specialized → navigation-and-layout}/_c8y-smart-rest-tab.less +21 -6
- package/styles/components/{specialized → navigation-and-layout}/_c8y-stepper.less +15 -1
- package/styles/components/{specialized → navigation-and-layout}/_c8y-user-roles.less +45 -28
- package/styles/components/{specialized → navigation-and-layout}/_device-software-tab.less +14 -0
- package/styles/components/navigation-and-layout/action-bars/_app-switcher.less +27 -5
- package/styles/components/navigation-and-layout/action-bars/_c8y-action-bar.less +49 -21
- package/styles/components/navigation-and-layout/cards/_card-dashboard.less +25 -4
- package/styles/components/navigation-and-layout/cards/_card-flip.less +41 -14
- package/styles/components/navigation-and-layout/cards/_card-grid.less +20 -4
- package/styles/components/navigation-and-layout/cards/_card.less +90 -75
- package/styles/components/navigation-and-layout/cards/_panels.less +38 -20
- package/styles/components/navigation-and-layout/navigation/_breadcrumbs.less +22 -49
- package/styles/components/navigation-and-layout/navigation/_c8y-nav-stacked.less +26 -14
- package/styles/components/navigation-and-layout/navigation/_main-header.less +39 -13
- package/styles/components/navigation-and-layout/navigation/_main-header.scss +1 -1
- package/styles/components/navigation-and-layout/navigation/_navbar.less +22 -25
- package/styles/components/navigation-and-layout/navigation/_navbar.scss +7 -7
- package/styles/components/navigation-and-layout/navigation/_navigator.less +71 -69
- package/styles/components/navigation-and-layout/navigation/_navs.less +13 -0
- package/styles/components/navigation-and-layout/navigation/_pagination.less +24 -5
- package/styles/components/navigation-and-layout/navigation/{steps-navbar.less → _steps-navbar.less} +7 -6
- package/styles/components/navigation-and-layout/navigation/_tabs.less +18 -14
- package/styles/components/navigation-and-layout/navigation/_tabs.scss +2 -2
- package/styles/components/{specialized → status-feedback-and-notifications}/_c8y-message-banner.less +14 -0
- package/styles/components/{specialized → status-feedback-and-notifications}/_code.less +18 -2
- package/styles/core/buttons/_button-groups.less +29 -79
- package/styles/core/buttons/_buttons.less +229 -198
- package/styles/core/buttons/_buttons.scss +6 -10
- package/styles/core/feedback/_alerts.less +52 -41
- package/styles/core/feedback/_badges.less +29 -17
- package/styles/core/feedback/_close.less +24 -7
- package/styles/core/feedback/_labels.less +21 -8
- package/styles/core/feedback/_progress-bars.less +24 -7
- package/styles/core/feedback/_tag.less +23 -6
- package/styles/core/feedback/_tooltip.less +44 -20
- package/styles/core/forms/_c8y-switch.less +39 -19
- package/styles/core/forms/_c8y-switch.scss +37 -29
- package/styles/core/forms/_file-picker.less +79 -61
- package/styles/core/forms/_forms.less +130 -133
- package/styles/core/forms/_input-groups.less +110 -59
- package/styles/core/forms/_input-groups.scss +21 -3
- package/styles/core/overlays/_c8y-dashboard-modal.less +25 -29
- package/styles/core/overlays/_c8y-wizard.less +38 -15
- package/styles/core/overlays/_dropdowns.less +86 -63
- package/styles/core/overlays/_modals.less +58 -40
- package/styles/core/overlays/_popovers.less +25 -9
- package/styles/dashboard/_availability-pie.less +3 -0
- package/styles/dashboard/_c8y-dashboard-style.less +61 -34
- package/styles/dashboard/_c8y-gauges.less +20 -4
- package/styles/dashboard/_dashboard-widgets.less +17 -4
- package/styles/dashboard/_info-gauge.less +20 -5
- package/styles/dashboard/_quick-links-widget.less +13 -3
- package/styles/{welcome-widget.less → dashboard/_welcome-widget.less} +21 -4
- package/styles/dashboard/{welcome.less → _welcome.less} +54 -45
- package/styles/icons/_c8y-glyphs.less +12 -1
- package/styles/icons/_c8y-glyphs.scss +2 -1
- package/styles/icons/_c8y-icons.less +214 -199
- package/styles/icons/_dlt-c8y-icons-stroke.less +7238 -1834
- package/styles/icons/_dlt-c8y-icons.less +14 -0
- package/styles/icons/_marker-icons.less +10 -0
- package/styles/index.less +160 -134
- package/styles/index.scss +53 -29
- package/styles/layout/_bottom-drawer.less +21 -7
- package/styles/layout/_c8y-help-drawer.less +30 -9
- package/styles/layout/_c8y-right-drawer.less +34 -19
- package/styles/layout/_c8y-top-drawer.less +43 -28
- package/styles/layout/_grid.less +18 -4
- package/styles/layout/_group-info.less +14 -2
- package/styles/layout/_layouts.less +48 -30
- package/styles/layout/_mcontainer.less +26 -12
- package/styles/layout/_page-tabs.less +115 -23
- package/styles/layout/_split-scroll.less +16 -4
- package/styles/layout/_split-view.less +34 -2
- package/styles/login-app-use.scss +2 -2
- package/styles/login-app.less +4 -4
- package/styles/mixins/_buttons.scss +1 -0
- package/styles/mixins/{color-mixins.less → _color-mixins.less} +2 -2
- package/styles/mixins/{element-queries.less → _element-queries.less} +2 -2
- package/styles/mixins/{forms.less → _forms.less} +1 -1
- package/styles/mixins/_gradients.less +117 -0
- package/styles/mixins/{grid-framework.less → _grid-framework.less} +21 -21
- package/styles/mixins/_icon-base.less +29 -0
- package/styles/mixins/{nav-vertical-align.less → _nav-vertical-align.less} +6 -2
- package/styles/mixins/_nav-vertical-align.scss +5 -2
- package/styles/mixins/{progress-bar.less → _progress-bar.less} +1 -1
- package/styles/mixins/{shadows-helper.less → _shadows-helper.less} +3 -5
- package/styles/mixins/_shadows-helper.scss +1 -4
- package/styles/mixins/{vendor-prefixes.less → _vendor-prefixes.less} +7 -22
- package/styles/mixins/_vendor-prefixes.scss +1 -17
- package/styles/utilities/_borders.less +21 -11
- package/styles/{components/specialized → utilities}/_c8y-utils.less +14 -0
- package/styles/{components/specialized → utilities}/_c8y-utils.scss +1 -1
- package/styles/utilities/_caret.less +18 -4
- package/styles/utilities/_container-queries.less +11 -3
- package/styles/utilities/_contextual-colors.less +48 -119
- package/styles/utilities/_display.less +26 -41
- package/styles/utilities/_elevation.less +17 -7
- package/styles/utilities/_flex-containers.less +10 -0
- package/styles/utilities/_flex-items.less +11 -0
- package/styles/utilities/_icon-utils.less +15 -3
- package/styles/utilities/_margins-paddings.less +23 -4
- package/styles/utilities/_overflows.less +10 -0
- package/styles/utilities/_position.less +11 -0
- package/styles/utilities/_quickfloats.less +20 -1
- package/styles/utilities/_separators.less +11 -0
- package/styles/utilities/_shadows.less +5 -49
- package/styles/{utilities.less → utilities/_sizing.less} +13 -21
- package/styles/utilities/_text-utils.less +35 -24
- package/styles/vendor/ace-editor/_ace-editor.less +1 -0
- package/styles/vendor/angular/_loading-bar.less +1 -0
- package/styles/vendor/angular/_ui-sortable.less +2 -1
- package/styles/vendor/angular/_uib-accordion.less +1 -0
- package/styles/{angular-ui-select/select.less → vendor/angular/angular-ui-select/_select.less} +2 -10
- package/styles/vendor/cdk/_cdk-drag.less +3 -0
- package/styles/vendor/cdk/_cdk-tree.less +6 -3
- package/styles/vendor/cdk/_cdk-virtual-scroll-window.less +1 -0
- package/styles/vendor/datepicker/_bs-datepicker.less +26 -6
- package/styles/vendor/datepicker/_uib-datepicker.less +37 -4
- package/styles/vendor/leaflet/_c8y-map-internal.less +44 -54
- package/styles/vendor/leaflet/_leaflet.less +4 -1
- package/styles/vendor/other/_colorpicker.less +3 -2
- package/styles/vendor/selectize/_c8y-selectize.less +33 -10
- package/variables/_color-defaults.less +29 -10
- package/variables/_color-defaults.scss +29 -10
- package/variables/_color-vars.less +37 -89
- package/variables/_color-vars.scss +19 -77
- package/variables/{login-vars.less → _login-vars.less} +3 -5
- package/variables/index.less +3 -3
- package/variables/tokens/{c8y-design-tokens-dark.less → _c8y-design-tokens-dark.less} +5 -1
- package/variables/tokens/{c8y-design-tokens.less → _c8y-design-tokens.less} +5 -1
- package/styles/components/specialized/_boxed-label.less +0 -21
- package/styles/components/specialized/_boxed-label.scss +0 -36
- package/styles/components/specialized/_c8y-cookie-banner.less +0 -22
- package/styles/components/specialized/_static-assets-file-picker.less +0 -8
- package/styles/dashboard/welcome-widget.less +0 -50
- package/styles/mixins/gradients.less +0 -142
- package/styles/mixins.less +0 -45
- package/styles/steps-navbar.less +0 -97
- package/styles/timeline-list.less +0 -210
- package/styles/vendor/angular/angular-ui-select/select.less +0 -161
- package/styles/welcome.less +0 -128
- /package/styles/components/{specialized → application-and-system}/_c8y-cookie-banner.scss +0 -0
- /package/styles/components/{specialized → application-and-system}/_c8y-login.scss +0 -0
- /package/styles/components/{specialized → data-display-and-visualization}/_c8y-datapoint-pill.scss +0 -0
- /package/styles/components/{specialized → data-display-and-visualization}/_c8y-pulse.scss +0 -0
- /package/styles/components/{specialized → data-display-and-visualization}/_smart-list-icon-label.scss +0 -0
- /package/styles/components/{specialized → data-display-and-visualization}/_status.scss +0 -0
- /package/styles/components/{specialized → data-display-and-visualization}/_statusContainer.scss +0 -0
- /package/styles/components/{specialized → data-input}/_c8y-countdown-interval.scss +0 -0
- /package/styles/components/{specialized → data-input}/_c8y-range.scss +0 -0
- /package/styles/components/{specialized → data-input}/_search-header.scss +0 -0
- /package/styles/components/{specialized → data-input}/_static-assets-file-picker.scss +0 -0
- /package/styles/components/{specialized → navigation-and-layout}/_c8y-role-card.scss +0 -0
- /package/styles/components/{specialized → navigation-and-layout}/_c8y-scrollbar.scss +0 -0
- /package/styles/components/{specialized → navigation-and-layout}/_c8y-smart-rest-tab.scss +0 -0
- /package/styles/components/{specialized → navigation-and-layout}/_c8y-stepper.scss +0 -0
- /package/styles/components/{specialized → navigation-and-layout}/_c8y-user-roles.scss +0 -0
- /package/styles/components/{specialized → navigation-and-layout}/_device-software-tab.scss +0 -0
- /package/styles/components/{specialized → status-feedback-and-notifications}/_c8y-message-banner.scss +0 -0
- /package/styles/components/{specialized → status-feedback-and-notifications}/_code.scss +0 -0
- /package/styles/mixins/{alert-variant.less → _alert-variant.less} +0 -0
- /package/styles/mixins/{animation.less → _animation.less} +0 -0
- /package/styles/mixins/{background-variant.less → _background-variant.less} +0 -0
- /package/styles/mixins/{border-radius.less → _border-radius.less} +0 -0
- /package/styles/mixins/{buttons.less → _buttons.less} +0 -0
- /package/styles/mixins/{c8y-scrollbar.less → _c8y-scrollbar.less} +0 -0
- /package/styles/mixins/{center-block.less → _center-block.less} +0 -0
- /package/styles/mixins/{clearfix.less → _clearfix.less} +0 -0
- /package/styles/mixins/{create-grid.less → _create-grid.less} +0 -0
- /package/styles/mixins/{grid.less → _grid.less} +0 -0
- /package/styles/mixins/{hide-scrollbars.less → _hide-scrollbars.less} +0 -0
- /package/styles/mixins/{hide-text.less → _hide-text.less} +0 -0
- /package/styles/mixins/{image.less → _image.less} +0 -0
- /package/styles/mixins/{labels.less → _labels.less} +0 -0
- /package/styles/mixins/{list-group.less → _list-group.less} +0 -0
- /package/styles/mixins/{nav-divider.less → _nav-divider.less} +0 -0
- /package/styles/mixins/{opacity.less → _opacity.less} +0 -0
- /package/styles/mixins/{pagination.less → _pagination.less} +0 -0
- /package/styles/mixins/{panels.less → _panels.less} +0 -0
- /package/styles/mixins/{reset-filter.less → _reset-filter.less} +0 -0
- /package/styles/mixins/{reset-text.less → _reset-text.less} +0 -0
- /package/styles/mixins/{resize.less → _resize.less} +0 -0
- /package/styles/mixins/{responsive-visibility.less → _responsive-visibility.less} +0 -0
- /package/styles/mixins/{size.less → _size.less} +0 -0
- /package/styles/mixins/{tab-focus.less → _tab-focus.less} +0 -0
- /package/styles/mixins/{table-row.less → _table-row.less} +0 -0
- /package/styles/mixins/{tag.less → _tag.less} +0 -0
- /package/styles/mixins/{text-emphasis.less → _text-emphasis.less} +0 -0
- /package/styles/mixins/{text-overflow.less → _text-overflow.less} +0 -0
- /package/variables/{login-vars.scss → _login-vars.scss} +0 -0
- /package/variables/{shadows.less → _shadows.less} +0 -0
- /package/variables/{shadows.scss → _shadows.scss} +0 -0
- /package/variables/tokens/{c8y-design-tokens-dark.scss → _c8y-design-tokens-dark.scss} +0 -0
- /package/variables/tokens/{c8y-design-tokens.scss → _c8y-design-tokens.scss} +0 -0
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
@import "../mixins/_c8y-scrollbar.less";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Page Tabs - Horizontal and vertical tab navigation
|
|
6
|
+
*
|
|
7
|
+
* Note: Uses design tokens for spacing (@size-*), colors, and layout vars.
|
|
8
|
+
*
|
|
9
|
+
* Intentionally hardcoded values:
|
|
10
|
+
* - -6px top: Negative offset for mobile positioning
|
|
11
|
+
* - 12px: Off-grid legacy value in calc expression
|
|
12
|
+
* - 30px, 31px: Specific dimensions for tab slider controls
|
|
13
|
+
* - 3px padding: Fine-tuning for icon alignment
|
|
14
|
+
* - Transition durations (0.35s, 0.25s): Animation timing
|
|
15
|
+
* - Z-index values: Stacking order
|
|
16
|
+
* - 1px borders: Standard border widths
|
|
17
|
+
* - 2px box-shadow: Focus indicator width
|
|
18
|
+
* - 10000px, 2000px: Large clip values for overflow management
|
|
19
|
+
* - Percentages and em units: Relative sizing
|
|
20
|
+
*/
|
|
21
|
+
|
|
1
22
|
.page-tabs {
|
|
2
23
|
position: fixed;
|
|
3
24
|
right: 0;
|
|
@@ -14,7 +35,7 @@
|
|
|
14
35
|
transition: top 0.35s ease;
|
|
15
36
|
|
|
16
37
|
.head-open & {
|
|
17
|
-
top: calc(@
|
|
38
|
+
top: calc(@size-base * 10 + calc(@size-base * 1.5));
|
|
18
39
|
}
|
|
19
40
|
}
|
|
20
41
|
}
|
|
@@ -31,12 +52,25 @@
|
|
|
31
52
|
left: 0;
|
|
32
53
|
z-index: @zindex-navbar-fixed;
|
|
33
54
|
clip: rect(0, 10000px, 2000px, 0);
|
|
34
|
-
min-height: calc(@
|
|
55
|
+
min-height: calc(@size-base * 6);
|
|
35
56
|
box-shadow: inset 0 -1px 0 0 @component-border-color, @header-shadow;
|
|
36
|
-
|
|
57
|
+
&:has(.component-tabs) {
|
|
58
|
+
box-shadow: inset 0 -1px 0 0 @component-border-color;
|
|
59
|
+
.component-tabs {
|
|
60
|
+
min-width: unset !important;
|
|
61
|
+
padding: 0;
|
|
62
|
+
&.nav-tabs > div, &.nav-tabs li {
|
|
63
|
+
flex: 0;
|
|
64
|
+
align-self: stretch;
|
|
65
|
+
> a {
|
|
66
|
+
height: 100%;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
37
71
|
&,
|
|
38
72
|
&:after {
|
|
39
|
-
|
|
73
|
+
transition: left @open-menu-time-type;
|
|
40
74
|
}
|
|
41
75
|
}
|
|
42
76
|
|
|
@@ -50,7 +84,11 @@
|
|
|
50
84
|
overflow-x: auto;
|
|
51
85
|
// box-shadow: inset 0 calc(@nav-tabs-border-width-active * -1) 0 0 @nav-tabs-border-color-default;
|
|
52
86
|
scroll-behavior: smooth;
|
|
53
|
-
|
|
87
|
+
overflow: -moz-scrollbars-none; // Firefox
|
|
88
|
+
-ms-overflow-style: none; // IE 10+
|
|
89
|
+
&::-webkit-scrollbar {
|
|
90
|
+
display: none; // Safari and Chrome
|
|
91
|
+
}
|
|
54
92
|
|
|
55
93
|
.nav-tabs {
|
|
56
94
|
padding-right: 30px;
|
|
@@ -70,18 +108,6 @@
|
|
|
70
108
|
position: relative;
|
|
71
109
|
}
|
|
72
110
|
|
|
73
|
-
c8y-widget-config-section{
|
|
74
|
-
.component-tabs{
|
|
75
|
-
min-width: unset!important;
|
|
76
|
-
> div, > li{
|
|
77
|
-
flex-shrink: 1;
|
|
78
|
-
.tab-description{
|
|
79
|
-
display: none;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
111
|
.tabs-slider {
|
|
86
112
|
position: absolute;
|
|
87
113
|
top: 0;
|
|
@@ -100,7 +126,7 @@ c8y-widget-config-section{
|
|
|
100
126
|
[class*=' dlt-c8y-icon-'] {
|
|
101
127
|
position: relative;
|
|
102
128
|
z-index: 3;
|
|
103
|
-
font-size:
|
|
129
|
+
font-size: @size-20;
|
|
104
130
|
}
|
|
105
131
|
|
|
106
132
|
&:hover,
|
|
@@ -150,10 +176,67 @@ c8y-widget-config-section{
|
|
|
150
176
|
}
|
|
151
177
|
|
|
152
178
|
.nav-tabs {
|
|
153
|
-
.nav-tabs-vertical()
|
|
179
|
+
// Styles from .nav-tabs-vertical class (LESS uses mixin)
|
|
180
|
+
display: block;
|
|
181
|
+
&:not(.component-tabs) {
|
|
182
|
+
padding-top: @size-48;
|
|
183
|
+
}
|
|
184
|
+
width: @nav-tabs-vertical-width;
|
|
185
|
+
border: 0;
|
|
186
|
+
box-shadow: none;
|
|
187
|
+
&.nav-tabs-vertical--wide {
|
|
188
|
+
width: unset;
|
|
189
|
+
}
|
|
154
190
|
> div,
|
|
155
191
|
> li {
|
|
156
192
|
position: relative;
|
|
193
|
+
> a, > button {
|
|
194
|
+
display: flex;
|
|
195
|
+
align-items: center;
|
|
196
|
+
flex-direction: row;
|
|
197
|
+
margin: 0;
|
|
198
|
+
padding: @nav-tabs-vertical-padding;
|
|
199
|
+
height: auto;
|
|
200
|
+
border: 0;
|
|
201
|
+
box-shadow: inset 0 -1px 0 @nav-tabs-border-color-default;
|
|
202
|
+
text-transform: none;
|
|
203
|
+
font-size: inherit;
|
|
204
|
+
transition: all 0.25s ease;
|
|
205
|
+
|
|
206
|
+
[class^='dlt-c8y-icon-'],
|
|
207
|
+
[class*=' dlt-c8y-icon-'],
|
|
208
|
+
.c8y-icon {
|
|
209
|
+
margin: 0 @size-8 0 0;
|
|
210
|
+
width: 1.25em;
|
|
211
|
+
~ span {
|
|
212
|
+
display: inline-block;
|
|
213
|
+
overflow: hidden;
|
|
214
|
+
max-width: 100%;
|
|
215
|
+
vertical-align: middle;
|
|
216
|
+
text-overflow: ellipsis;
|
|
217
|
+
white-space: nowrap;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
&.active {
|
|
222
|
+
> a, > button {
|
|
223
|
+
&, &:hover {
|
|
224
|
+
border-left: @size-4 solid @nav-tabs-color-active;
|
|
225
|
+
background-color: @nav-tabs-background-active;
|
|
226
|
+
box-shadow: inset 0 -1px 0 @nav-tabs-border-color-default !important;
|
|
227
|
+
border-radius: 0 !important;
|
|
228
|
+
pointer-events: none;
|
|
229
|
+
&::before {
|
|
230
|
+
width: 100%;
|
|
231
|
+
}
|
|
232
|
+
&::after {
|
|
233
|
+
left: 100%;
|
|
234
|
+
height: 100%;
|
|
235
|
+
border-width: calc(@size-16 + @size-4) 0 calc(@size-16 + @size-4) @size-base;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
157
240
|
a {
|
|
158
241
|
> [class^='dlt-c8y-icon-'],
|
|
159
242
|
> [class*=' dlt-c8y-icon-'],
|
|
@@ -173,7 +256,7 @@ c8y-widget-config-section{
|
|
|
173
256
|
overflow: visible;
|
|
174
257
|
padding-right: calc(@grid-gutter-width / 2);
|
|
175
258
|
|
|
176
|
-
|
|
259
|
+
transition: left @open-menu-time-type;
|
|
177
260
|
|
|
178
261
|
&:before {
|
|
179
262
|
position: absolute;
|
|
@@ -208,14 +291,23 @@ body:not(:has(.app-main-header)) {
|
|
|
208
291
|
}
|
|
209
292
|
}
|
|
210
293
|
}
|
|
211
|
-
&:has(.has-action-bar){
|
|
294
|
+
&:has(.has-action-bar) {
|
|
212
295
|
.page-tabs-vertical {
|
|
213
|
-
top:
|
|
296
|
+
top: @size-48;
|
|
214
297
|
}
|
|
215
298
|
}
|
|
216
|
-
&:not(:has(.has-action-bar)){
|
|
299
|
+
&:not(:has(.has-action-bar)) {
|
|
217
300
|
.page-tabs-vertical {
|
|
218
301
|
top: 0;
|
|
219
302
|
}
|
|
220
303
|
}
|
|
221
304
|
}
|
|
305
|
+
|
|
306
|
+
body:not(:has(.has-action-bar)) {
|
|
307
|
+
.page-tabs-vertical {
|
|
308
|
+
.nav-tabs {
|
|
309
|
+
padding-top: 0;
|
|
310
|
+
border-top: 1px solid @component-border-color;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Split Scroll - DEPRECATED split-column scrolling layout
|
|
5
|
+
*
|
|
6
|
+
* Note: DEPRECATED - Remove after updating opcua-address-space.component. Still used in 2 places.
|
|
7
|
+
* Uses @size-16 and @size-8 for spacing.
|
|
8
|
+
*
|
|
9
|
+
* Intentionally hardcoded values:
|
|
10
|
+
* - Layout heights (80px, 118px, 150px, 165px): Viewport calculations
|
|
11
|
+
* - Percentages (50%, 33.33%, 25%): Fractional row heights
|
|
12
|
+
* - Z-index values: Stacking order
|
|
13
|
+
*/
|
|
2
14
|
|
|
3
15
|
.split-scroll {
|
|
4
16
|
position: relative;
|
|
@@ -31,7 +43,7 @@
|
|
|
31
43
|
}
|
|
32
44
|
|
|
33
45
|
.scroll-column-footer {
|
|
34
|
-
padding: @
|
|
46
|
+
padding: @size-16 0 0 0;
|
|
35
47
|
.btn-add-block {
|
|
36
48
|
margin-bottom: 0;
|
|
37
49
|
}
|
|
@@ -43,7 +55,7 @@
|
|
|
43
55
|
.scroll-column + .scroll-column {
|
|
44
56
|
position: absolute;
|
|
45
57
|
top: 0;
|
|
46
|
-
bottom: calc(@
|
|
58
|
+
bottom: calc(@size-16 * -1);
|
|
47
59
|
left: 0;
|
|
48
60
|
z-index: 10;
|
|
49
61
|
padding: 0;
|
|
@@ -75,7 +87,7 @@
|
|
|
75
87
|
|
|
76
88
|
.split-scroll {
|
|
77
89
|
.input-group-search {
|
|
78
|
-
margin: -
|
|
90
|
+
margin: calc(@size-8 * -1) 0 !important;
|
|
79
91
|
}
|
|
80
92
|
.split-row-2 {
|
|
81
93
|
height: 50%;
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* Split View - Two-column layout component
|
|
4
|
+
*
|
|
5
|
+
* Note: Uses design tokens for spacing (@size-*) and colors.
|
|
6
|
+
*
|
|
7
|
+
* Intentionally hardcoded values:
|
|
8
|
+
* - Layout heights (108px, 168px, 166px, 200px, 82px): Viewport calculations
|
|
9
|
+
* - Grid fractions (4fr, 5fr, 7fr, 8fr): CSS grid fractional units
|
|
10
|
+
* - Transition duration (0.35s): Animation timing
|
|
11
|
+
* - Z-index values: Stacking order
|
|
12
|
+
* - Percentages: Relative sizing
|
|
13
|
+
*/
|
|
14
|
+
|
|
1
15
|
.split-view {
|
|
2
16
|
&__list,
|
|
3
17
|
&__detail {
|
|
@@ -6,7 +20,7 @@
|
|
|
6
20
|
background-color: @component-background-default;
|
|
7
21
|
}
|
|
8
22
|
&__list {
|
|
9
|
-
.border-right
|
|
23
|
+
&:extend(.border-right);
|
|
10
24
|
}
|
|
11
25
|
|
|
12
26
|
@media (max-width: @screen-sm-max) {
|
|
@@ -29,7 +43,7 @@
|
|
|
29
43
|
height: calc(100vh - 108px);
|
|
30
44
|
}
|
|
31
45
|
|
|
32
|
-
&--8-4,
|
|
46
|
+
&--8-4, &--4-8 {
|
|
33
47
|
height: calc(100vh - 166px);
|
|
34
48
|
}
|
|
35
49
|
|
|
@@ -91,3 +105,21 @@
|
|
|
91
105
|
}
|
|
92
106
|
}
|
|
93
107
|
}
|
|
108
|
+
|
|
109
|
+
c8y-sv-details,
|
|
110
|
+
c8y-sv-list {
|
|
111
|
+
.inner-scroll {
|
|
112
|
+
>.card-header{
|
|
113
|
+
min-height: @size-56;;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
.card-dashboard c8y-sv-list {
|
|
118
|
+
.inner-scroll {
|
|
119
|
+
>.card-header{
|
|
120
|
+
min-height: 0;
|
|
121
|
+
padding-top: @size-4;
|
|
122
|
+
padding-bottom: @size-4;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
@use 'core/buttons/_buttons';
|
|
18
18
|
@use 'core/feedback/_close';
|
|
19
19
|
@use 'core/buttons/_button-groups';
|
|
20
|
-
@use 'components/
|
|
20
|
+
@use 'components/status-feedback-and-notifications/_code';
|
|
21
21
|
@use 'core/feedback/_tag';
|
|
22
22
|
@use 'core/forms/_forms';
|
|
23
23
|
@use 'core/forms/_c8y-switch';
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
@use 'layout/_grid';
|
|
26
26
|
|
|
27
27
|
@use 'core/forms/_input-groups';
|
|
28
|
-
@use 'components/
|
|
28
|
+
@use 'components/application-and-system/_c8y-cookie-banner';
|
|
29
29
|
|
|
30
30
|
@use 'icons/_c8y-glyphs';
|
|
31
31
|
@use 'icons/_c8y-icons';
|
package/styles/login-app.less
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@import '../variables/index.less';
|
|
2
|
-
@import '
|
|
2
|
+
@import '_mixins.less';
|
|
3
3
|
@import 'base/_normalize.less';
|
|
4
4
|
@import 'base/_print.less';
|
|
5
5
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
@import 'core/buttons/_buttons.less';
|
|
15
15
|
@import 'core/feedback/_close.less';
|
|
16
16
|
@import 'core/buttons/_button-groups.less';
|
|
17
|
-
@import 'components/
|
|
17
|
+
@import 'components/status-feedback-and-notifications/_code.less';
|
|
18
18
|
@import 'core/feedback/_tag.less';
|
|
19
19
|
@import 'core/forms/_forms.less';
|
|
20
20
|
@import 'core/forms/_c8y-switch.less';
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
// @import 'layout/_grid.less';
|
|
25
25
|
|
|
26
26
|
@import 'core/forms/_input-groups.less';
|
|
27
|
-
@import 'components/
|
|
27
|
+
@import 'components/application-and-system/_c8y-cookie-banner.less';
|
|
28
28
|
|
|
29
29
|
@import 'icons/_c8y-glyphs.less';
|
|
30
30
|
@import 'icons/_c8y-icons.less';
|
|
31
31
|
@import 'icons/_dlt-c8y-icons.less';
|
|
32
32
|
// @import 'icons/_dlt-c8y-icons-stroke.less';
|
|
33
|
-
@import '
|
|
33
|
+
@import '_utilities.less';
|
|
34
34
|
|
|
35
35
|
@import 'components/navigation-and-layout/action-bars/_app-switcher.less';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// darkens the @color by adding
|
|
2
2
|
// black on top with @alpha opacity (0 - 1)
|
|
3
|
-
.darken(@color
|
|
3
|
+
.darken(@color; @alpha) {
|
|
4
4
|
background: linear-gradient(to top, rgba(0, 0, 0, @alpha), rgba(0, 0, 0, @alpha)) @color;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
// Lighten the @color by adding
|
|
8
8
|
// white on top with @alpha opacity (0 - 1)
|
|
9
|
-
.lighten(@color
|
|
9
|
+
.lighten(@color; @alpha) {
|
|
10
10
|
background: linear-gradient(to top, rgba(255, 255, 255, @alpha), rgba(255, 255, 255, @alpha))
|
|
11
11
|
@color;
|
|
12
12
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
.make-flex-cols(@n: 12
|
|
1
|
+
.make-flex-cols(@n: 12; @i: 1) when (@i =< @n) {
|
|
2
2
|
.col-@{i} {
|
|
3
3
|
min-width: calc((8.333333333% * @i) - (var(--c8y-margin) * 2));
|
|
4
4
|
}
|
|
5
5
|
.make-flex-cols(@n, (@i + 1));
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
.make-flex-cols-container(@n: 150
|
|
8
|
+
.make-flex-cols-container(@n: 150; @i: 20) when (@i =< @n) {
|
|
9
9
|
.content-flex-@{i}{
|
|
10
10
|
--c8y-multiplier: calc((@i * 1rem) - 100%);
|
|
11
11
|
}
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
//
|
|
67
67
|
// Example usage: change the default blue border and shadow to white for better
|
|
68
68
|
// contrast against a dark gray background.
|
|
69
|
-
.form-control-focus(@border: @form-control-border-color-focus
|
|
69
|
+
.form-control-focus(@border: @form-control-border-color-focus; @bg: @form-control-background-focus; @color: @form-control-color-focus) {
|
|
70
70
|
&:focus {
|
|
71
71
|
border-color: @border;
|
|
72
72
|
outline: 0;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
|
|
2
|
+
// Horizontal gradient, from left to right
|
|
3
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
|
4
|
+
// Color stops are not available in IE9 and below.
|
|
5
|
+
.gradient-horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
|
|
6
|
+
background-image: -webkit-linear-gradient(
|
|
7
|
+
left;
|
|
8
|
+
@start-color @start-percent;
|
|
9
|
+
@end-color @end-percent
|
|
10
|
+
); // Safari 5.1-6, Chrome 10+
|
|
11
|
+
background-image: -o-linear-gradient(
|
|
12
|
+
left;
|
|
13
|
+
@start-color @start-percent;
|
|
14
|
+
@end-color @end-percent
|
|
15
|
+
); // Opera 12
|
|
16
|
+
background-image: linear-gradient(
|
|
17
|
+
to right;
|
|
18
|
+
@start-color @start-percent;
|
|
19
|
+
@end-color @end-percent
|
|
20
|
+
); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
|
21
|
+
background-repeat: repeat-x;
|
|
22
|
+
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#{color.ie-hex-str(@start-color)}', endColorstr='#{color.ie-hex-str(@end-color)}', GradientType=1)"; // IE9 and down
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Vertical gradient, from top to bottom
|
|
26
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
|
27
|
+
// Color stops are not available in IE9 and below.
|
|
28
|
+
.gradient-vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
|
|
29
|
+
background-image: -webkit-linear-gradient(
|
|
30
|
+
top;
|
|
31
|
+
@start-color @start-percent;
|
|
32
|
+
@end-color @end-percent
|
|
33
|
+
); // Safari 5.1-6, Chrome 10+
|
|
34
|
+
background-image: -o-linear-gradient(
|
|
35
|
+
top;
|
|
36
|
+
@start-color @start-percent;
|
|
37
|
+
@end-color @end-percent
|
|
38
|
+
); // Opera 12
|
|
39
|
+
background-image: linear-gradient(
|
|
40
|
+
to bottom;
|
|
41
|
+
@start-color @start-percent;
|
|
42
|
+
@end-color @end-percent
|
|
43
|
+
); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
|
44
|
+
background-repeat: repeat-x;
|
|
45
|
+
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#{color.ie-hex-str(@start-color)}', endColorstr='#{color.ie-hex-str(@end-color)}', GradientType=0)"; // IE9 and down
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.gradient-directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
|
|
49
|
+
background-repeat: repeat-x;
|
|
50
|
+
background-image: -webkit-linear-gradient(
|
|
51
|
+
@deg;
|
|
52
|
+
@start-color;
|
|
53
|
+
@end-color
|
|
54
|
+
); // Safari 5.1-6, Chrome 10+
|
|
55
|
+
background-image: -o-linear-gradient(@deg; @start-color; @end-color); // Opera 12
|
|
56
|
+
background-image: linear-gradient(
|
|
57
|
+
@deg;
|
|
58
|
+
@start-color;
|
|
59
|
+
@end-color
|
|
60
|
+
); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
|
61
|
+
}
|
|
62
|
+
.gradient-horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
|
|
63
|
+
background-image: -webkit-linear-gradient(
|
|
64
|
+
left;
|
|
65
|
+
@start-color;
|
|
66
|
+
@mid-color @color-stop;
|
|
67
|
+
@end-color
|
|
68
|
+
);
|
|
69
|
+
background-image: -o-linear-gradient(left; @start-color; @mid-color @color-stop; @end-color);
|
|
70
|
+
background-image: linear-gradient(to right; @start-color; @mid-color @color-stop; @end-color);
|
|
71
|
+
background-repeat: no-repeat;
|
|
72
|
+
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#{color.ie-hex-str(@start-color)}', endColorstr='#{color.ie-hex-str(@end-color)}', GradientType=1)"; // IE9 and down, gets no color-stop at all for proper fallback
|
|
73
|
+
}
|
|
74
|
+
.gradient-vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
|
|
75
|
+
background-image: -webkit-linear-gradient(@start-color; @mid-color @color-stop; @end-color);
|
|
76
|
+
background-image: -o-linear-gradient(@start-color; @mid-color @color-stop; @end-color);
|
|
77
|
+
background-image: linear-gradient(@start-color; @mid-color @color-stop; @end-color);
|
|
78
|
+
background-repeat: no-repeat;
|
|
79
|
+
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='#{color.ie-hex-str(@start-color)}', endColorstr='#{color.ie-hex-str(@end-color)}', GradientType=0)"; // IE9 and down, gets no color-stop at all for proper fallback
|
|
80
|
+
}
|
|
81
|
+
.gradient-radial(@inner-color: #555; @outer-color: #333) {
|
|
82
|
+
background-image: -webkit-radial-gradient(circle; @inner-color; @outer-color);
|
|
83
|
+
background-image: radial-gradient(circle; @inner-color; @outer-color);
|
|
84
|
+
background-repeat: no-repeat;
|
|
85
|
+
}
|
|
86
|
+
.gradient-striped(@color: rgba(255,255,255,0.15); @angle: 45deg) {
|
|
87
|
+
background-image: -webkit-linear-gradient(
|
|
88
|
+
@angle;
|
|
89
|
+
@color 25%,
|
|
90
|
+
transparent 25%,
|
|
91
|
+
transparent 50%;
|
|
92
|
+
@color 50%;
|
|
93
|
+
@color 75%,
|
|
94
|
+
transparent 75%,
|
|
95
|
+
transparent
|
|
96
|
+
);
|
|
97
|
+
background-image: -o-linear-gradient(
|
|
98
|
+
@angle;
|
|
99
|
+
@color 25%,
|
|
100
|
+
transparent 25%,
|
|
101
|
+
transparent 50%;
|
|
102
|
+
@color 50%;
|
|
103
|
+
@color 75%,
|
|
104
|
+
transparent 75%,
|
|
105
|
+
transparent
|
|
106
|
+
);
|
|
107
|
+
background-image: linear-gradient(
|
|
108
|
+
@angle;
|
|
109
|
+
@color 25%,
|
|
110
|
+
transparent 25%,
|
|
111
|
+
transparent 50%;
|
|
112
|
+
@color 50%;
|
|
113
|
+
@color 75%,
|
|
114
|
+
transparent 75%,
|
|
115
|
+
transparent
|
|
116
|
+
);
|
|
117
|
+
}
|
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
.col(@index) {
|
|
8
8
|
// initial
|
|
9
9
|
@item: ~'.col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}';
|
|
10
|
-
.col((@index + 1)
|
|
10
|
+
.col((@index + 1); @item);
|
|
11
11
|
}
|
|
12
|
-
.col(@index
|
|
12
|
+
.col(@index; @list) when (@index =< @grid-columns) {
|
|
13
13
|
// general; "=<" isn't a typo
|
|
14
14
|
@item: ~'.col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}';
|
|
15
|
-
.col((@index + 1)
|
|
15
|
+
.col((@index + 1); ~'@{list}, @{item}');
|
|
16
16
|
}
|
|
17
|
-
.col(@index
|
|
17
|
+
.col(@index; @list) when (@index > @grid-columns) {
|
|
18
18
|
// terminal
|
|
19
19
|
@{list} {
|
|
20
20
|
position: relative;
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
.col(@index) {
|
|
33
33
|
// initial
|
|
34
34
|
@item: ~'.col-@{class}-@{index}';
|
|
35
|
-
.col((@index + 1)
|
|
35
|
+
.col((@index + 1); @item);
|
|
36
36
|
}
|
|
37
|
-
.col(@index
|
|
37
|
+
.col(@index; @list) when (@index =< @grid-columns) {
|
|
38
38
|
// general
|
|
39
39
|
@item: ~'.col-@{class}-@{index}';
|
|
40
|
-
.col((@index + 1)
|
|
40
|
+
.col((@index + 1); ~'@{list}, @{item}');
|
|
41
41
|
}
|
|
42
|
-
.col(@index
|
|
42
|
+
.col(@index; @list) when (@index > @grid-columns) {
|
|
43
43
|
// terminal
|
|
44
44
|
@{list} {
|
|
45
45
|
float: left;
|
|
@@ -48,49 +48,49 @@
|
|
|
48
48
|
.col(1); // kickstart it
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
.calc-grid-column(@index
|
|
51
|
+
.calc-grid-column(@index; @class; @type) when (@type = width) and (@index > 0) {
|
|
52
52
|
.col-@{class}-@{index} {
|
|
53
53
|
width: percentage((@index / @grid-columns));
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
.calc-grid-column(@index
|
|
56
|
+
.calc-grid-column(@index; @class; @type) when (@type = push) and (@index > 0) {
|
|
57
57
|
.col-@{class}-push-@{index} {
|
|
58
58
|
left: percentage((@index / @grid-columns));
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
.calc-grid-column(@index
|
|
61
|
+
.calc-grid-column(@index; @class; @type) when (@type = push) and (@index = 0) {
|
|
62
62
|
.col-@{class}-push-0 {
|
|
63
63
|
left: auto;
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
.calc-grid-column(@index
|
|
66
|
+
.calc-grid-column(@index; @class; @type) when (@type = pull) and (@index > 0) {
|
|
67
67
|
.col-@{class}-pull-@{index} {
|
|
68
68
|
right: percentage((@index / @grid-columns));
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
.calc-grid-column(@index
|
|
71
|
+
.calc-grid-column(@index; @class; @type) when (@type = pull) and (@index = 0) {
|
|
72
72
|
.col-@{class}-pull-0 {
|
|
73
73
|
right: auto;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
.calc-grid-column(@index
|
|
76
|
+
.calc-grid-column(@index; @class; @type) when (@type = offset) {
|
|
77
77
|
.col-@{class}-offset-@{index} {
|
|
78
78
|
margin-left: percentage((@index / @grid-columns));
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
// Basic looping in LESS
|
|
83
|
-
.loop-grid-columns(@index
|
|
84
|
-
.calc-grid-column(@index
|
|
83
|
+
.loop-grid-columns(@index; @class; @type) when (@index >= 0) {
|
|
84
|
+
.calc-grid-column(@index; @class; @type);
|
|
85
85
|
// next iteration
|
|
86
|
-
.loop-grid-columns((@index - 1)
|
|
86
|
+
.loop-grid-columns((@index - 1); @class; @type);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
// Create grid for specific class
|
|
90
90
|
.make-grid(@class) {
|
|
91
91
|
.float-grid-columns(@class);
|
|
92
|
-
.loop-grid-columns(@grid-columns
|
|
93
|
-
.loop-grid-columns(@grid-columns
|
|
94
|
-
.loop-grid-columns(@grid-columns
|
|
95
|
-
.loop-grid-columns(@grid-columns
|
|
92
|
+
.loop-grid-columns(@grid-columns; @class; width);
|
|
93
|
+
.loop-grid-columns(@grid-columns; @class; pull);
|
|
94
|
+
.loop-grid-columns(@grid-columns; @class; push);
|
|
95
|
+
.loop-grid-columns(@grid-columns; @class; offset);
|
|
96
96
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
|
|
2
|
+
// Icon font base styles
|
|
3
|
+
// These mixins replace @extend for better performance
|
|
4
|
+
|
|
5
|
+
.c8y-glyph() {
|
|
6
|
+
display: inline-block;
|
|
7
|
+
text-decoration: inherit;
|
|
8
|
+
text-transform: none;
|
|
9
|
+
font-weight: normal;
|
|
10
|
+
font-style: normal;
|
|
11
|
+
font-variant: normal;
|
|
12
|
+
font-family: 'c8y-glyphs' !important;
|
|
13
|
+
line-height: 1;
|
|
14
|
+
text-rendering: optimizeLegibility;
|
|
15
|
+
-moz-osx-font-smoothing: grayscale;
|
|
16
|
+
-webkit-font-smoothing: antialiased;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.dlt-c8y-icon() {
|
|
20
|
+
display: inline-block;
|
|
21
|
+
text-transform: none;
|
|
22
|
+
font-weight: normal;
|
|
23
|
+
font-style: normal;
|
|
24
|
+
font-variant: normal;
|
|
25
|
+
font-family: 'dlt-c8y-icons' !important;
|
|
26
|
+
line-height: 1;
|
|
27
|
+
-webkit-font-smoothing: antialiased;
|
|
28
|
+
-moz-osx-font-smoothing: grayscale;
|
|
29
|
+
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
|
|
1
2
|
// Vertically center elements in the navbar.
|
|
2
3
|
// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
|
|
3
4
|
|
|
4
5
|
.navbar-vertical-align(@element-height) {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
// Wrap in & {} to opt into new SCSS behavior for mixed declarations
|
|
7
|
+
& {
|
|
8
|
+
margin-top: calc((@navbar-height - @element-height) / 2);
|
|
9
|
+
margin-bottom: calc((@navbar-height - @element-height) / 2);
|
|
10
|
+
}
|
|
7
11
|
}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
|
|
5
5
|
|
|
6
6
|
@mixin navbar-vertical-align($element-height) {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
// Wrap in & {} to opt into new SCSS behavior for mixed declarations
|
|
8
|
+
& {
|
|
9
|
+
margin-top: calc(($navbar-height - $element-height) / 2);
|
|
10
|
+
margin-bottom: calc(($navbar-height - $element-height) / 2);
|
|
11
|
+
}
|
|
9
12
|
}
|