@rolemodel/optics 0.4.2 → 0.5.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.
@@ -0,0 +1,94 @@
1
+ %side-panel-global {
2
+ // Public API (allowed to be overridden)
3
+ --_op-side-panel-width: calc(54 * var(--op-size-unit)); // 216px
4
+ --_op-side-panel-header-padding: var(--op-space-medium);
5
+ --_op-side-panel-body-padding: var(--op-space-medium);
6
+ --_op-side-panel-footer-padding: var(--op-space-medium);
7
+ --_op-side-panel-section-padding: var(--op-space-medium);
8
+
9
+ display: flex;
10
+ width: var(--_op-side-panel-width);
11
+ min-width: var(--_op-side-panel-width);
12
+ height: 100vh;
13
+ max-height: 100%;
14
+ flex-direction: column;
15
+ background-color: var(--op-color-background);
16
+ color: var(--op-color-on-background);
17
+
18
+ // Modifiers
19
+ &.side-panel--border-left {
20
+ box-shadow: var(--op-border-left) var(--op-border-color);
21
+ }
22
+
23
+ &.side-panel--border-right {
24
+ box-shadow: var(--op-border-right) var(--op-border-color);
25
+ }
26
+
27
+ &.side-panel--border-left.side-panel--border-right {
28
+ box-shadow: var(--op-border-x);
29
+ }
30
+
31
+ // Elements
32
+ .side-panel__header {
33
+ &.side-panel__header--padded {
34
+ padding: var(--_op-side-panel-header-padding);
35
+ }
36
+
37
+ &.side-panel__header--padded-x {
38
+ padding-inline: var(--_op-side-panel-header-padding);
39
+ }
40
+
41
+ &.side-panel__header--padded-y {
42
+ padding-block: var(--_op-side-panel-header-padding);
43
+ }
44
+ }
45
+
46
+ .side-panel__body {
47
+ flex: 1;
48
+ overflow-y: auto;
49
+
50
+ &.side-panel__body--padded {
51
+ padding: var(--_op-side-panel-body-padding);
52
+ }
53
+
54
+ &.side-panel__body--padded-x {
55
+ padding-inline: var(--_op-side-panel-body-padding);
56
+ }
57
+
58
+ &.side-panel__body--padded-y {
59
+ padding-block: var(--_op-side-panel-body-padding);
60
+ }
61
+ }
62
+
63
+ .side-panel__footer {
64
+ &.side-panel__footer--padded {
65
+ padding: var(--_op-side-panel-footer-padding);
66
+ }
67
+
68
+ &.side-panel__footer--padded-x {
69
+ padding-inline: var(--_op-side-panel-footer-padding);
70
+ }
71
+
72
+ &.side-panel__footer--padded-y {
73
+ padding-block: var(--_op-side-panel-footer-padding);
74
+ }
75
+ }
76
+
77
+ .side-panel__section {
78
+ &.side-panel__section--padded {
79
+ padding: var(--_op-side-panel-section-padding);
80
+ }
81
+
82
+ &.side-panel__section--padded-x {
83
+ padding-inline: var(--_op-side-panel-section-padding);
84
+ }
85
+
86
+ &.side-panel__section--padded-y {
87
+ padding-block: var(--_op-side-panel-section-padding);
88
+ }
89
+ }
90
+ }
91
+
92
+ .side-panel {
93
+ @extend %side-panel-global;
94
+ }
@@ -49,12 +49,12 @@
49
49
  --_op-sidebar-border-color: var(--op-color-neutral-plus-four);
50
50
 
51
51
  // Width
52
- --_op-sidebar-rail-width: 8.8rem;
53
- --_op-sidebar-compact-width: 16.9rem;
54
- --_op-sidebar-drawer-width: 21.6rem;
55
- --_op-sidebar-rail-brand-width: 7.728rem;
56
- --_op-sidebar-compact-brand-width: 9.8rem;
57
- --_op-sidebar-drawer-brand-width: 9.8rem;
52
+ --_op-sidebar-rail-width: calc(22 * var(--op-size-unit)); // 88px
53
+ --_op-sidebar-compact-width: calc(42 * var(--op-size-unit)); // 168px
54
+ --_op-sidebar-drawer-width: calc(54 * var(--op-size-unit)); // 216px
55
+ --_op-sidebar-rail-brand-width: calc(19 * var(--op-size-unit)); // 76px
56
+ --_op-sidebar-compact-brand-width: calc(24 * var(--op-size-unit)); // 96px
57
+ --_op-sidebar-drawer-brand-width: calc(24 * var(--op-size-unit)); // 96px
58
58
 
59
59
  // Spacing
60
60
  --_op-sidebar-spacing: calc(var(--op-space-2x-large) + var(--op-space-2x-small));
@@ -0,0 +1,55 @@
1
+ %spinner-global {
2
+ --_op-spinner-indicator-color: var(--op-color-primary-base);
3
+ --_op-spinner-track-color: var(--op-color-neutral-plus-four);
4
+ --_op-spinner-track-width-x-small: var(--op-border-width);
5
+ --_op-spinner-track-width-small: var(--op-border-width-large);
6
+ --_op-spinner-track-width-medium: calc(var(--op-border-width-large) + var(--op-border-width));
7
+ --_op-spinner-track-width-large: var(--op-border-width-x-large);
8
+ --_op-spinner-diameter-x-small: calc(6 * var(--op-size-unit)); // 24px
9
+ --_op-spinner-diameter-small: calc(10 * var(--op-size-unit)); // 40px
10
+ --_op-spinner-diameter-medium: calc(15 * var(--op-size-unit)); // 60px
11
+ --_op-spinner-diameter-large: calc(20 * var(--op-size-unit)); // 80px
12
+ --_op-spinner-animation-duration: 0.8s;
13
+ --_op-spinner-animation-timing-function: linear;
14
+
15
+ // Private API (don't touch these)
16
+ --__op-spinner-diameter: var(--_op-spinner-diameter-large);
17
+ --__op-spinner-track-width: var(--_op-spinner-track-width-large);
18
+
19
+ width: var(--__op-spinner-diameter);
20
+ height: var(--__op-spinner-diameter);
21
+ border: var(--__op-spinner-track-width) solid var(--_op-spinner-track-color);
22
+ border-radius: var(--__op-spinner-diameter);
23
+ border-top-color: var(--_op-spinner-indicator-color);
24
+ animation: spinner var(--_op-spinner-animation-duration) var(--_op-spinner-animation-timing-function) infinite;
25
+
26
+ &.spinner--x-small {
27
+ --__op-spinner-diameter: var(--_op-spinner-diameter-x-small);
28
+ --__op-spinner-track-width: var(--_op-spinner-track-width-x-small);
29
+ }
30
+
31
+ &.spinner--small {
32
+ --__op-spinner-diameter: var(--_op-spinner-diameter-small);
33
+ --__op-spinner-track-width: var(--_op-spinner-track-width-small);
34
+ }
35
+
36
+ &.spinner--medium {
37
+ --__op-spinner-diameter: var(--_op-spinner-diameter-medium);
38
+ --__op-spinner-track-width: var(--_op-spinner-track-width-medium);
39
+ }
40
+
41
+ &.spinner--large {
42
+ --__op-spinner-diameter: var(--_op-spinner-diameter-large);
43
+ --__op-spinner-track-width: var(--_op-spinner-track-width-large);
44
+ }
45
+ }
46
+
47
+ .spinner {
48
+ @extend %spinner-global;
49
+ }
50
+
51
+ @keyframes spinner {
52
+ to {
53
+ transform: rotate(360deg);
54
+ }
55
+ }
@@ -0,0 +1,111 @@
1
+ %switch-global {
2
+ // Public API (allowed to be overridden)
3
+ --_op-switch-height-small: calc(4 * var(--op-size-unit)); // 16px
4
+ --_op-switch-height-large: calc(6 * var(--op-size-unit)); // 24px
5
+ --_op-switch-width-small: calc(7 * var(--op-size-unit)); // 28px
6
+ --_op-switch-width-large: calc(11 * var(--op-size-unit)); // 44px
7
+ --_op-switch-opacity-disabled: var(--op-opacity-disabled);
8
+ --_op-switch-switch-padding: var(--op-space-2x-small);
9
+
10
+ // Private API (don't touch these)
11
+ --__op-switch-width: var(--_op-switch-width-large);
12
+ --__op-switch-height: var(--_op-switch-height-large);
13
+ --__op-switch-switch-size: calc(var(--__op-switch-height) - var(--_op-switch-switch-padding));
14
+ --__op-switch-half-switch-padding: calc(var(--_op-switch-switch-padding) / 2);
15
+
16
+ position: relative;
17
+ display: flex;
18
+ align-items: center;
19
+
20
+ input {
21
+ width: 0;
22
+ height: 0;
23
+ margin-right: calc(-1 * var(--op-space-x-small));
24
+
25
+ &:disabled {
26
+ visibility: hidden;
27
+ }
28
+
29
+ &:disabled + label {
30
+ cursor: not-allowed;
31
+ opacity: var(--_op-switch-opacity-disabled);
32
+ }
33
+
34
+ &:checked + label {
35
+ background-color: var(--op-color-primary-base);
36
+ box-shadow: none;
37
+
38
+ &::after {
39
+ left: calc(100% - var(--__op-switch-half-switch-padding));
40
+ transform: translateX(-100%);
41
+ }
42
+ }
43
+
44
+ &:hover + label {
45
+ &::after {
46
+ background-color: var(--op-color-primary-plus-five);
47
+ }
48
+ }
49
+
50
+ &:focus-visible + label {
51
+ box-shadow:
52
+ 0 0 0 var(--op-border-width-large) var(--op-color-primary-plus-six),
53
+ inset var(--op-border-all) var(--op-color-primary-minus-three);
54
+
55
+ &::after {
56
+ background-color: var(--op-color-neutral-plus-five);
57
+ box-shadow: var(--op-border-all) var(--op-color-primary-minus-three);
58
+ }
59
+ }
60
+
61
+ &:focus-visible:checked + label {
62
+ &::after {
63
+ background-color: var(--op-color-primary-plus-six);
64
+ box-shadow: var(--op-border-all) var(--op-color-primary-minus-two);
65
+ }
66
+ }
67
+ }
68
+
69
+ label {
70
+ position: relative;
71
+ display: block;
72
+ width: var(--__op-switch-width);
73
+ height: var(--__op-switch-height);
74
+ border-radius: var(--op-radius-pill);
75
+ background: var(--op-color-neutral-base);
76
+ box-shadow: inset var(--op-border-all) var(--op-color-neutral-plus-three);
77
+ text-indent: -9999px; // Normally text would not be put in the label, but this hides it in case you do put text in the label
78
+
79
+ &::after {
80
+ position: absolute;
81
+ top: var(--__op-switch-half-switch-padding);
82
+ left: var(--__op-switch-half-switch-padding);
83
+ width: var(--__op-switch-switch-size);
84
+ height: var(--__op-switch-switch-size);
85
+ border-radius: var(--op-radius-circle);
86
+ background-color: var(--op-color-neutral-plus-eight);
87
+ content: '';
88
+ transition: var(--op-transition-input);
89
+ }
90
+ }
91
+
92
+ // Size Modifiers
93
+ &.switch--small {
94
+ --__op-switch-width: var(--_op-switch-width-small);
95
+ --__op-switch-height: var(--_op-switch-height-small);
96
+ }
97
+
98
+ &.switch--large {
99
+ --__op-switch-width: var(--_op-switch-width-large);
100
+ --__op-switch-height: var(--_op-switch-height-large);
101
+ }
102
+
103
+ // Prevent labels after the toggle being full width
104
+ & + label {
105
+ width: fit-content;
106
+ }
107
+ }
108
+
109
+ .switch {
110
+ @extend %switch-global;
111
+ }
@@ -0,0 +1,84 @@
1
+ %tab-group-global {
2
+ display: flex;
3
+ align-items: center;
4
+ }
5
+
6
+ %tab-global {
7
+ // Public API
8
+ --_op-tab-font-small: var(--op-font-x-small);
9
+ --_op-tab-font-large: var(--op-font-small);
10
+ --_op-tab-padding-small: calc(var(--op-space-2x-small) + var(--op-space-3x-small)) var(--op-space-medium);
11
+ --_op-tab-padding-large: var(--op-space-x-small) var(--op-space-medium) var(--op-space-small) var(--op-space-medium);
12
+ --_op-tab-indicator-width-small: var(--op-border-width-large);
13
+ --_op-tab-indicator-width-large: var(--op-border-width-x-large);
14
+ --_op-tab-disabled-opacity: var(--op-opacity-disabled);
15
+
16
+ // Private API
17
+ --__op-tab-font-size: var(--_op-tab-font-large);
18
+ --__op-tab-padding: var(--_op-tab-padding-large);
19
+ --__op-tab-indicator-width: var(--_op-tab-indicator-width-large);
20
+ --__op-tab-indicator: inset 0 calc(-1 * var(--__op-tab-indicator-width)) 0 0;
21
+
22
+ padding: var(--__op-tab-padding);
23
+ background-color: var(--op-color-background);
24
+ color: var(--op-color-on-background);
25
+ font-size: var(--__op-tab-font-size);
26
+ text-decoration: none;
27
+
28
+ &.tab--active {
29
+ box-shadow: var(--__op-tab-indicator) var(--op-color-primary-plus-one);
30
+ }
31
+
32
+ // Focus State
33
+ &:focus,
34
+ &:focus-within,
35
+ &:focus-visible {
36
+ outline: none;
37
+ }
38
+
39
+ // Focus State
40
+ &:focus-visible:not(.tab--disabled) {
41
+ z-index: 1;
42
+ box-shadow: var(--op-input-focus-primary);
43
+
44
+ &.tab--active {
45
+ box-shadow:
46
+ var(--__op-tab-indicator) var(--op-color-primary-plus-one),
47
+ var(--op-input-focus-primary);
48
+ }
49
+ }
50
+
51
+ // Disabled State
52
+ &.tab--disabled {
53
+ opacity: var(--_op-tab-disabled-opacity);
54
+ pointer-events: none;
55
+ }
56
+
57
+ // Hover State
58
+ &:hover {
59
+ background-color: var(--op-color-primary-plus-seven);
60
+ box-shadow: var(--__op-tab-indicator) var(--op-color-primary-base);
61
+ color: var(--op-color-primary-on-plus-seven);
62
+ }
63
+
64
+ // Size Modifiers
65
+ &.tab--small {
66
+ --__op-tab-padding: var(--_op-tab-padding-small);
67
+ --__op-tab-font-size: var(--_op-tab-font-small);
68
+ --__op-tab-indicator-width: var(--_op-tab-indicator-width-small);
69
+ }
70
+
71
+ &.tab--large {
72
+ --__op-tab-padding: var(--_op-tab-padding-large);
73
+ --__op-tab-font-size: var(--_op-tab-font-large);
74
+ --__op-tab-indicator-width: var(--_op-tab-indicator-width-large);
75
+ }
76
+ }
77
+
78
+ .tab-group {
79
+ @extend %tab-group-global;
80
+ }
81
+
82
+ .tab {
83
+ @extend %tab-global;
84
+ }
@@ -1,9 +1,9 @@
1
1
  %table-global {
2
2
  // Public API
3
3
  // Cells (for height, the appropriate variable is used when using the density modifiers)
4
- --_op-table-cell-height-default: calc(var(--op-space-scale-unit) * 4.4);
5
- --_op-table-cell-height-comfortable: calc(var(--op-space-scale-unit) * 6.4);
6
- --_op-table-cell-height-compact: calc(var(--op-space-scale-unit) * 3.4);
4
+ --_op-table-cell-height-default: calc(11 * var(--op-size-unit)); // 44px
5
+ --_op-table-cell-height-comfortable: calc(16 * var(--op-size-unit)); // 64px
6
+ --_op-table-cell-height-compact: calc(8 * var(--op-size-unit)); // 32px
7
7
 
8
8
  // Private API
9
9
  // These allow for overriding specific padding versions easier.
@@ -0,0 +1,174 @@
1
+ %tag-global {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ padding: var(--op-space-2x-small);
6
+ border-radius: var(--op-radius-pill);
7
+ background-color: var(--op-color-neutral-plus-four);
8
+ color: var(--op-color-neutral-on-plus-four);
9
+ font-size: var(--op-font-x-small);
10
+ font-weight: var(--op-font-weight-bold);
11
+ letter-spacing: var(--op-letter-spacing-label);
12
+ line-height: var(--op-line-height-dense);
13
+ user-select: none;
14
+ white-space: nowrap;
15
+
16
+ .tag__label {
17
+ padding-inline: var(--op-space-2x-small);
18
+ }
19
+
20
+ .btn--icon {
21
+ --__op-btn-height: var(--op-font-medium);
22
+
23
+ // Hover State
24
+ &:hover {
25
+ background-color: var(--op-color-neutral-minus-three);
26
+ box-shadow: none;
27
+ color: var(--op-color-neutral-on-minus-three);
28
+ }
29
+
30
+ // Focus State
31
+ &:focus-visible {
32
+ background-color: var(--op-color-neutral-base);
33
+ box-shadow: var(--op-input-focus-neutral);
34
+ color: var(--op-color-neutral-on-base);
35
+ }
36
+ }
37
+ }
38
+
39
+ .tag-readonly {
40
+ @extend %tag-global;
41
+ }
42
+
43
+ .tag-primary {
44
+ @extend %tag-global;
45
+
46
+ background-color: var(--op-color-primary-base);
47
+ color: var(--op-color-primary-on-base);
48
+
49
+ .btn--icon {
50
+ color: var(--op-color-primary-on-base);
51
+
52
+ // Hover State
53
+ &:hover {
54
+ background-color: var(--op-color-primary-minus-three);
55
+ box-shadow: none;
56
+ color: var(--op-color-primary-on-minus-three);
57
+ }
58
+
59
+ // Focus State
60
+ &:focus-visible {
61
+ background-color: var(--op-color-primary-base);
62
+ box-shadow: var(--op-input-focus-primary);
63
+ color: var(--op-color-primary-on-base);
64
+ }
65
+ }
66
+ }
67
+
68
+ .tag-danger {
69
+ @extend %tag-global;
70
+
71
+ background-color: var(--op-color-alerts-danger-base);
72
+ color: var(--op-color-alerts-danger-on-base);
73
+
74
+ /* stylelint-disable no-descending-specificity */
75
+ .btn--icon {
76
+ color: var(--op-color-alerts-danger-on-base);
77
+
78
+ // Hover State
79
+ &:hover {
80
+ background-color: var(--op-color-alerts-danger-minus-three);
81
+ box-shadow: none;
82
+ color: var(--op-color-alerts-danger-on-minus-three);
83
+ }
84
+
85
+ // Focus State
86
+ &:focus-visible {
87
+ background-color: var(--op-color-alerts-danger-base);
88
+ box-shadow: var(--op-input-focus-danger);
89
+ color: var(--op-color-alerts-danger-on-base);
90
+ }
91
+ }
92
+ /* stylelint-enable no-descending-specificity */
93
+ }
94
+
95
+ .tag-warning {
96
+ @extend %tag-global;
97
+
98
+ background-color: var(--op-color-alerts-warning-base);
99
+ color: var(--op-color-alerts-warning-on-base);
100
+
101
+ /* stylelint-disable no-descending-specificity */
102
+ .btn--icon {
103
+ color: var(--op-color-alerts-warning-on-base);
104
+
105
+ // Hover State
106
+ &:hover {
107
+ background-color: var(--op-color-alerts-warning-minus-three);
108
+ box-shadow: none;
109
+ color: var(--op-color-alerts-warning-on-minus-three);
110
+ }
111
+
112
+ // Focus State
113
+ &:focus-visible {
114
+ background-color: var(--op-color-alerts-warning-base);
115
+ box-shadow: var(--op-input-focus-warning);
116
+ color: var(--op-color-alerts-warning-on-base);
117
+ }
118
+ }
119
+ /* stylelint-enable no-descending-specificity */
120
+ }
121
+
122
+ .tag-info {
123
+ @extend %tag-global;
124
+
125
+ background-color: var(--op-color-alerts-info-base);
126
+ color: var(--op-color-alerts-info-on-base);
127
+
128
+ /* stylelint-disable no-descending-specificity */
129
+ .btn--icon {
130
+ color: var(--op-color-alerts-info-on-base);
131
+
132
+ // Hover State
133
+ &:hover {
134
+ background-color: var(--op-color-alerts-info-minus-three);
135
+ box-shadow: none;
136
+ color: var(--op-color-alerts-info-on-minus-three);
137
+ }
138
+
139
+ // Focus State
140
+ &:focus-visible {
141
+ background-color: var(--op-color-alerts-info-base);
142
+ box-shadow: var(--op-input-focus-info);
143
+ color: var(--op-color-alerts-info-on-base);
144
+ }
145
+ }
146
+ /* stylelint-enable no-descending-specificity */
147
+ }
148
+
149
+ .tag-notice {
150
+ @extend %tag-global;
151
+
152
+ background-color: var(--op-color-alerts-notice-base);
153
+ color: var(--op-color-alerts-notice-on-base);
154
+
155
+ /* stylelint-disable no-descending-specificity */
156
+ .btn--icon {
157
+ color: var(--op-color-alerts-notice-on-base);
158
+
159
+ // Hover State
160
+ &:hover {
161
+ background-color: var(--op-color-alerts-notice-minus-three);
162
+ box-shadow: none;
163
+ color: var(--op-color-alerts-notice-on-minus-three);
164
+ }
165
+
166
+ // Focus State
167
+ &:focus-visible {
168
+ background-color: var(--op-color-alerts-notice-base);
169
+ box-shadow: var(--op-input-focus-notice);
170
+ color: var(--op-color-alerts-notice-on-base);
171
+ }
172
+ }
173
+ /* stylelint-enable no-descending-specificity */
174
+ }
@@ -0,0 +1,59 @@
1
+ %text-pair-global {
2
+ // Public API (allowed to be overridden)
3
+ --_op-text-pair-font-size-small: var(--op-font-small);
4
+ --_op-text-pair-font-size-medium: var(--op-font-medium);
5
+ --_op-text-pair-font-size-large: var(--op-font-large);
6
+
7
+ // Private API (don't touch these)
8
+ --__op-text-pair-title-font-size: var(--_op-text-pair-font-size-medium);
9
+ --__op-text-pair-subtitle-font-size: var(--_op-text-pair-font-size-small);
10
+
11
+ display: flex;
12
+ flex-direction: column;
13
+ gap: var(--op-space-x-small);
14
+
15
+ &.text-pair--inline {
16
+ flex-direction: row;
17
+ align-items: baseline;
18
+ }
19
+
20
+ .text-pair__title {
21
+ font-size: var(--__op-text-pair-title-font-size);
22
+ font-weight: var(--op-font-weight-semi-bold);
23
+ line-height: var(--op-line-height-dense);
24
+
25
+ &.text-pair__title--small {
26
+ --__op-text-pair-title-font-size: var(--_op-text-pair-font-size-small);
27
+ }
28
+
29
+ &.text-pair__title--medium {
30
+ --__op-text-pair-title-font-size: var(--_op-text-pair-font-size-medium);
31
+ }
32
+
33
+ &.text-pair__title--large {
34
+ --__op-text-pair-title-font-size: var(--_op-text-pair-font-size-large);
35
+ }
36
+ }
37
+
38
+ .text-pair__subtitle {
39
+ font-size: var(--__op-text-pair-subtitle-font-size);
40
+ font-weight: var(--op-font-weight-normal);
41
+ line-height: var(--op-line-height-dense);
42
+
43
+ &.text-pair__subtitle--small {
44
+ --__op-text-pair-subtitle-font-size: var(--_op-text-pair-font-size-small);
45
+ }
46
+
47
+ &.text-pair__subtitle--medium {
48
+ --__op-text-pair-subtitle-font-size: var(--_op-text-pair-font-size-medium);
49
+ }
50
+
51
+ &.text-pair__subtitle--large {
52
+ --__op-text-pair-subtitle-font-size: var(--_op-text-pair-font-size-large);
53
+ }
54
+ }
55
+ }
56
+
57
+ .text-pair {
58
+ @extend %text-pair-global;
59
+ }
@@ -1,6 +1,6 @@
1
1
  %tooltip-global {
2
2
  // Public API
3
- --_op-tooltip-max-width: calc(5 * var(--op-space-3x-large));
3
+ --_op-tooltip-max-width: calc(50 * var(--op-size-unit)); // 200px
4
4
  --_op-tooltip-padding: var(--op-space-x-small) var(--op-space-medium);
5
5
  --_op-tooltip-background-color: var(--op-color-neutral-minus-max);
6
6
  --_op-tooltip-text-color: var(--op-color-neutral-on-minus-max);
@@ -13,7 +13,7 @@
13
13
 
14
14
  &::before,
15
15
  &::after {
16
- opacity: 0;
16
+ opacity: var(--op-opacity-none);
17
17
  transition: var(--op-transition-tooltip);
18
18
  visibility: hidden;
19
19
  }
@@ -48,7 +48,7 @@
48
48
  &:hover {
49
49
  &::before,
50
50
  &::after {
51
- opacity: 1;
51
+ opacity: var(--op-opacity-full);
52
52
  visibility: visible;
53
53
  }
54
54
  }
@@ -21,12 +21,19 @@
21
21
 
22
22
  .app__content {
23
23
  width: 100%;
24
- max-width: $breakpoint-medium;
24
+ max-width: var(--op-breakpoint-medium);
25
25
  flex-grow: 1;
26
26
  padding: 0 var(--op-space-large);
27
27
  margin: 0 auto;
28
28
  }
29
29
 
30
+ .app__content-no-margin {
31
+ width: 100%;
32
+ flex-grow: 1;
33
+ padding: 0 var(--op-space-large);
34
+ overflow-y: auto;
35
+ }
36
+
30
37
  .app__footer {
31
38
  position: sticky;
32
39
  z-index: var(--op-z-index-footer);