@rolemodel/optics 2.0.1 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/dist/LICENSE +21 -0
  3. package/dist/README.md +78 -0
  4. package/dist/css/addons/fonts/feather_icons.css +939 -0
  5. package/dist/css/addons/fonts/lucide_icons.css +4672 -0
  6. package/dist/css/addons/fonts/material_symbols_outlined_variable.css +10 -0
  7. package/dist/css/addons/fonts/phosphor_icons.css +44 -0
  8. package/dist/css/addons/fonts/tabler_icons.css +11 -0
  9. package/dist/css/optics.css +4964 -7
  10. package/dist/css/optics.min.css +1 -4934
  11. package/dist/package.json +87 -0
  12. package/package.json +6 -4
  13. package/postcss.config.js +6 -3
  14. package/dist/css/components/accordion.css +0 -66
  15. package/dist/css/components/alert.css +0 -171
  16. package/dist/css/components/avatar.css +0 -95
  17. package/dist/css/components/badge.css +0 -73
  18. package/dist/css/components/breadcrumbs.css +0 -37
  19. package/dist/css/components/button.css +0 -273
  20. package/dist/css/components/button_group.css +0 -47
  21. package/dist/css/components/card.css +0 -62
  22. package/dist/css/components/confirm-dialog.css +0 -80
  23. package/dist/css/components/divider.css +0 -55
  24. package/dist/css/components/form.css +0 -360
  25. package/dist/css/components/icon.css +0 -114
  26. package/dist/css/components/index.css +0 -24
  27. package/dist/css/components/modal.css +0 -149
  28. package/dist/css/components/navbar.css +0 -60
  29. package/dist/css/components/pagination.css +0 -24
  30. package/dist/css/components/side_panel.css +0 -90
  31. package/dist/css/components/sidebar.css +0 -139
  32. package/dist/css/components/spinner.css +0 -52
  33. package/dist/css/components/switch.css +0 -107
  34. package/dist/css/components/tab.css +0 -76
  35. package/dist/css/components/table.css +0 -133
  36. package/dist/css/components/tag.css +0 -168
  37. package/dist/css/components/text_pair.css +0 -55
  38. package/dist/css/components/tooltip.css +0 -134
  39. package/dist/css/core/base.css +0 -95
  40. package/dist/css/core/layout.css +0 -43
  41. package/dist/css/core/tokens/base_tokens.css +0 -354
  42. package/dist/css/core/tokens/index.css +0 -2
  43. package/dist/css/core/tokens/scale_color_tokens.css +0 -1498
  44. package/dist/css/core/utilities.css +0 -429
  45. package/dist/css/recipes/16six-sidebar.css +0 -63
  46. package/dist/css/recipes/aligned-header.css +0 -16
  47. package/dist/css/recipes/domains-sidebar.css +0 -40
@@ -1,24 +0,0 @@
1
- .pagination {
2
- display: flex;
3
- align-items: center;
4
- gap: 0;
5
-
6
- /* Showing Dropdown */
7
- .form-group {
8
- align-items: center;
9
-
10
- .form-label {
11
- grid-column: 1;
12
- }
13
-
14
- .form-control {
15
- grid-column: 2;
16
- }
17
- }
18
-
19
- /* ... Gap */
20
- .pagination__divider {
21
- height: 100%;
22
- padding-inline: var(--op-space-x-small);
23
- }
24
- }
@@ -1,90 +0,0 @@
1
- .side-panel {
2
- /* Public API (customizable component options) */
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-color-border);
21
- }
22
-
23
- &.side-panel--border-right {
24
- box-shadow: var(--op-border-right) var(--op-color-border);
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
- }
@@ -1,139 +0,0 @@
1
- .sidebar {
2
- /* Public API (customizable component options) */
3
-
4
- /* Normal */
5
- --_op-sidebar-background-color: var(--op-color-neutral-plus-eight);
6
- --_op-sidebar-text-color: var(--op-color-neutral-on-plus-eight);
7
- --_op-sidebar-border-color: var(--op-color-neutral-plus-four);
8
-
9
- /* Width */
10
- --_op-sidebar-rail-width: calc(22 * var(--op-size-unit)); /* 88px */
11
- --_op-sidebar-compact-width: calc(42 * var(--op-size-unit)); /* 168px */
12
- --_op-sidebar-drawer-width: calc(54 * var(--op-size-unit)); /* 216px */
13
- --_op-sidebar-rail-brand-width: calc(19 * var(--op-size-unit)); /* 76px */
14
- --_op-sidebar-compact-brand-width: calc(24 * var(--op-size-unit)); /* 96px */
15
- --_op-sidebar-drawer-brand-width: calc(24 * var(--op-size-unit)); /* 96px */
16
-
17
- /* Spacing */
18
- --_op-sidebar-spacing: calc(var(--op-space-2x-large) + var(--op-space-2x-small));
19
- --_op-sidebar-brand-spacing: var(--op-space-medium);
20
- --_op-sidebar-content-spacing: var(--op-space-x-small);
21
- --_op-sidebar-content-item-spacing: var(--op-space-2x-small);
22
-
23
- /* Animation */
24
- --_op-sidebar-transition: var(--op-transition-sidebar);
25
-
26
- /* Private API (component option defaults) */
27
- --__op-sidebar-width: var(--_op-sidebar-drawer-width);
28
- --__op-sidebar-brand-width: var(--_op-sidebar-drawer-brand-width);
29
-
30
- z-index: var(--op-z-index-sidebar);
31
- display: flex;
32
- width: var(--__op-sidebar-width);
33
- min-width: var(--__op-sidebar-width);
34
- flex-direction: column;
35
- background-color: var(--_op-sidebar-background-color);
36
- box-shadow: var(--op-border-right) var(--_op-sidebar-border-color);
37
- color: var(--_op-sidebar-text-color);
38
- overflow-y: auto;
39
- transition: var(--_op-sidebar-transition);
40
-
41
- /* Elements */
42
- .sidebar__brand {
43
- height: var(--__op-sidebar-brand-width);
44
- padding: var(--_op-sidebar-brand-spacing);
45
- margin-inline: auto;
46
-
47
- img {
48
- height: 100%;
49
- }
50
- }
51
-
52
- .sidebar__content {
53
- display: flex;
54
- flex-direction: column;
55
- flex-grow: 1;
56
- gap: var(--_op-sidebar-content-item-spacing);
57
- padding-inline: var(--_op-sidebar-content-spacing);
58
-
59
- > * {
60
- justify-content: flex-start;
61
-
62
- .material-symbols-outlined {
63
- --op-mso-optical-sizing: 40;
64
- --op-mso-weight: var(--op-font-weight-bold);
65
-
66
- font-size: var(--op-font-large);
67
- }
68
- }
69
-
70
- &.sidebar__content--start {
71
- justify-content: start;
72
- }
73
-
74
- &.sidebar__content--center {
75
- justify-content: center;
76
- }
77
-
78
- &.sidebar__content--end {
79
- justify-content: end;
80
- }
81
- }
82
-
83
- /* Modifiers */
84
- &.sidebar--padded {
85
- padding-block: var(--_op-sidebar-spacing);
86
- }
87
-
88
- /* Drawer Modifier */
89
- &.sidebar--drawer {
90
- /* Private API */
91
- --__op-sidebar-width: var(--_op-sidebar-drawer-width);
92
- --__op-sidebar-brand-width: var(--_op-sidebar-drawer-brand-width);
93
- }
94
-
95
- /* Compact Modifier */
96
- &.sidebar--compact {
97
- /* Private API (component option defaults) */
98
- --__op-sidebar-width: var(--_op-sidebar-compact-width);
99
- --__op-sidebar-brand-width: var(--_op-sidebar-compact-brand-width);
100
-
101
- /* Elements */
102
- .sidebar__content {
103
- > * {
104
- /* Need to get icon-with-label behavior */
105
- flex-direction: column;
106
- padding: var(--op-space-small);
107
- gap: var(--op-space-3x-small);
108
- }
109
- }
110
- }
111
-
112
- &.sidebar--rail {
113
- /* Private API (component option defaults) */
114
- --__op-sidebar-width: var(--_op-sidebar-rail-width);
115
- --__op-sidebar-brand-width: var(--_op-sidebar-rail-brand-width);
116
-
117
- /* Elements */
118
- .sidebar__content {
119
- align-items: center;
120
-
121
- > * {
122
- /* Need to get icon behavior */
123
- width: var(--__op-btn-height);
124
- min-width: var(--__op-btn-height);
125
- justify-content: center;
126
- padding: 0;
127
- font-size: 0;
128
- gap: 0;
129
- }
130
- }
131
- }
132
-
133
- /* Primary */
134
- &.sidebar--primary {
135
- --_op-sidebar-background-color: var(--op-color-primary-plus-six);
136
- --_op-sidebar-text-color: var(--op-color-primary-on-plus-six);
137
- --_op-sidebar-border-color: var(--op-color-primary-plus-four);
138
- }
139
- }
@@ -1,52 +0,0 @@
1
- .spinner {
2
- /* Public API (customizable component options) */
3
- --_op-spinner-indicator-color: var(--op-color-primary-base);
4
- --_op-spinner-track-color: var(--op-color-neutral-plus-four);
5
- --_op-spinner-track-width-x-small: var(--op-border-width);
6
- --_op-spinner-track-width-small: var(--op-border-width-large);
7
- --_op-spinner-track-width-medium: calc(var(--op-border-width-large) + var(--op-border-width));
8
- --_op-spinner-track-width-large: var(--op-border-width-x-large);
9
- --_op-spinner-diameter-x-small: calc(6 * var(--op-size-unit)); /* 24px */
10
- --_op-spinner-diameter-small: calc(10 * var(--op-size-unit)); /* 40px */
11
- --_op-spinner-diameter-medium: calc(15 * var(--op-size-unit)); /* 60px */
12
- --_op-spinner-diameter-large: calc(20 * var(--op-size-unit)); /* 80px */
13
- --_op-spinner-animation-duration: 0.8s;
14
- --_op-spinner-animation-timing-function: linear;
15
-
16
- /* Private API (component option defaults) */
17
- --__op-spinner-diameter: var(--_op-spinner-diameter-large);
18
- --__op-spinner-track-width: var(--_op-spinner-track-width-large);
19
-
20
- width: var(--__op-spinner-diameter);
21
- height: var(--__op-spinner-diameter);
22
- border: var(--__op-spinner-track-width) solid var(--_op-spinner-track-color);
23
- border-radius: var(--__op-spinner-diameter);
24
- border-top-color: var(--_op-spinner-indicator-color);
25
- animation: spinner var(--_op-spinner-animation-duration) var(--_op-spinner-animation-timing-function) infinite;
26
-
27
- &.spinner--x-small {
28
- --__op-spinner-diameter: var(--_op-spinner-diameter-x-small);
29
- --__op-spinner-track-width: var(--_op-spinner-track-width-x-small);
30
- }
31
-
32
- &.spinner--small {
33
- --__op-spinner-diameter: var(--_op-spinner-diameter-small);
34
- --__op-spinner-track-width: var(--_op-spinner-track-width-small);
35
- }
36
-
37
- &.spinner--medium {
38
- --__op-spinner-diameter: var(--_op-spinner-diameter-medium);
39
- --__op-spinner-track-width: var(--_op-spinner-track-width-medium);
40
- }
41
-
42
- &.spinner--large {
43
- --__op-spinner-diameter: var(--_op-spinner-diameter-large);
44
- --__op-spinner-track-width: var(--_op-spinner-track-width-large);
45
- }
46
- }
47
-
48
- @keyframes spinner {
49
- to {
50
- transform: rotate(360deg);
51
- }
52
- }
@@ -1,107 +0,0 @@
1
- .switch {
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
- label {
21
- position: relative;
22
- display: block;
23
- width: var(--__op-switch-width);
24
- height: var(--__op-switch-height);
25
- border-radius: var(--op-radius-pill);
26
- background: var(--op-color-neutral-base);
27
- box-shadow: inset var(--op-border-all) var(--op-color-neutral-plus-three);
28
- 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 */
29
-
30
- &::after {
31
- position: absolute;
32
- width: var(--__op-switch-switch-size);
33
- height: var(--__op-switch-switch-size);
34
- border-radius: var(--op-radius-circle);
35
- background-color: var(--op-color-neutral-plus-eight);
36
- content: '';
37
- inset-block-start: var(--__op-switch-half-switch-padding);
38
- inset-inline-start: var(--__op-switch-half-switch-padding);
39
- transition: var(--op-transition-input);
40
- }
41
- }
42
-
43
- /* Prevent labels after the toggle being full width */
44
- & + label {
45
- width: fit-content;
46
- }
47
-
48
- input {
49
- width: 0;
50
- height: 0;
51
- margin-inline-end: calc(-1 * var(--op-space-x-small));
52
-
53
- &:disabled {
54
- visibility: hidden;
55
- }
56
-
57
- &:disabled + label {
58
- cursor: not-allowed;
59
- opacity: var(--_op-switch-opacity-disabled);
60
- }
61
-
62
- &:checked + label {
63
- background-color: var(--op-color-primary-base);
64
- box-shadow: none;
65
-
66
- &::after {
67
- left: calc(100% - var(--__op-switch-half-switch-padding));
68
- transform: translateX(-100%);
69
- }
70
- }
71
-
72
- &:hover + label {
73
- &::after {
74
- background-color: var(--op-color-primary-plus-five);
75
- }
76
- }
77
-
78
- &:focus-visible + label {
79
- box-shadow:
80
- 0 0 0 var(--op-border-width-large) var(--op-color-primary-plus-six),
81
- inset var(--op-border-all) var(--op-color-primary-minus-three);
82
-
83
- &::after {
84
- background-color: var(--op-color-neutral-plus-five);
85
- box-shadow: var(--op-border-all) var(--op-color-primary-minus-three);
86
- }
87
- }
88
-
89
- &:focus-visible:checked + label {
90
- &::after {
91
- background-color: var(--op-color-primary-plus-six);
92
- box-shadow: var(--op-border-all) var(--op-color-primary-minus-two);
93
- }
94
- }
95
- }
96
-
97
- /* Size Modifiers */
98
- &.switch--small {
99
- --__op-switch-width: var(--_op-switch-width-small);
100
- --__op-switch-height: var(--_op-switch-height-small);
101
- }
102
-
103
- &.switch--large {
104
- --__op-switch-width: var(--_op-switch-width-large);
105
- --__op-switch-height: var(--_op-switch-height-large);
106
- }
107
- }
@@ -1,76 +0,0 @@
1
- .tab-group {
2
- display: flex;
3
- align-items: center;
4
- }
5
-
6
- .tab {
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
- /* Hover State */
40
- &:hover {
41
- background-color: var(--op-color-primary-plus-seven);
42
- box-shadow: var(--__op-tab-indicator) var(--op-color-primary-base);
43
- color: var(--op-color-primary-on-plus-seven);
44
- }
45
-
46
- /* Focus State */
47
- &:focus-visible:not(.tab--disabled) {
48
- z-index: 1;
49
- box-shadow: var(--op-input-focus-primary);
50
-
51
- &.tab--active {
52
- box-shadow:
53
- var(--__op-tab-indicator) var(--op-color-primary-plus-one),
54
- var(--op-input-focus-primary);
55
- }
56
- }
57
-
58
- /* Disabled State */
59
- &.tab--disabled {
60
- opacity: var(--_op-tab-disabled-opacity);
61
- pointer-events: none;
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
- }
@@ -1,133 +0,0 @@
1
- .table {
2
- /* Public API */
3
-
4
- /* Cells (for height, the appropriate variable is used when using the density modifiers) */
5
- --_op-table-cell-height-default: calc(11 * var(--op-size-unit)); /* 44px */
6
- --_op-table-cell-height-comfortable: calc(16 * var(--op-size-unit)); /* 64px */
7
- --_op-table-cell-height-compact: calc(8 * var(--op-size-unit)); /* 32px */
8
-
9
- /* Private API */
10
-
11
- /* These allow for overriding specific padding versions easier. */
12
- --__op-table-cell-height: var(--_op-table-cell-height-default);
13
-
14
- width: 100%;
15
- border-radius: var(--op-radius-medium);
16
- border-collapse: collapse;
17
- box-shadow: var(--op-border-all) var(--op-color-border);
18
- contain: paint;
19
- table-layout: auto;
20
-
21
- /* Elements */
22
-
23
- thead {
24
- background-color: var(--op-color-neutral-plus-eight);
25
- box-shadow: inset var(--op-border-top) var(--op-color-border);
26
- color: var(--op-color-neutral-on-plus-eight);
27
-
28
- &:has(th input[type='checkbox']:checked) {
29
- background-color: var(--op-color-primary-plus-seven);
30
- color: var(--op-color-primary-on-plus-seven);
31
- }
32
- }
33
-
34
- th {
35
- font-weight: var(--op-font-weight-semi-bold);
36
- text-align: left;
37
- }
38
-
39
- tbody,
40
- tfoot {
41
- background-color: var(--op-color-neutral-plus-max);
42
- color: var(--op-color-neutral-on-plus-max);
43
- }
44
-
45
- th,
46
- td {
47
- height: var(--__op-table-cell-height);
48
- font-size: var(--op-font-small);
49
- padding-block: var(--op-space-2x-small);
50
- padding-inline: var(--op-space-small);
51
- }
52
-
53
- tfoot tr {
54
- box-shadow: var(--op-border-top) var(--op-color-border);
55
- }
56
-
57
- tr:not(:last-child) {
58
- box-shadow: inset var(--op-border-top) var(--op-color-border);
59
- }
60
-
61
- /* Modifiers */
62
-
63
- /* stylelint-disable no-descending-specificity */
64
- &.table--primary {
65
- thead {
66
- background-color: var(--op-color-primary-plus-seven);
67
- color: var(--op-color-primary-on-plus-seven);
68
- }
69
- }
70
-
71
- &.table--danger {
72
- thead {
73
- background-color: var(--op-color-alerts-danger-plus-seven);
74
- color: var(--op-color-alerts-danger-on-plus-seven);
75
- }
76
- }
77
- /* stylelint-enable no-descending-specificity */
78
-
79
- &.table--container {
80
- overflow-y: auto;
81
- }
82
-
83
- /* Layout Modifiers */
84
- &.table--auto-layout {
85
- table-layout: auto;
86
- }
87
-
88
- &.table--fixed-layout {
89
- table-layout: fixed;
90
- }
91
-
92
- /* Table Density Modifiers */
93
- &.table--default-density {
94
- --__op-table-cell-height: var(--_op-table-cell-height-default);
95
- }
96
-
97
- &.table--comfortable-density {
98
- --__op-table-cell-height: var(--_op-table-cell-height-comfortable);
99
- }
100
-
101
- &.table--compact-density {
102
- --__op-table-cell-height: var(--_op-table-cell-height-compact);
103
- }
104
-
105
- /* Striped Modifiers */
106
- &.table--even-striped {
107
- tbody tr:nth-child(even) {
108
- background-color: var(--op-color-neutral-plus-seven);
109
- color: var(--op-color-neutral-on-plus-seven);
110
- }
111
- }
112
-
113
- &.table--odd-striped {
114
- tbody tr:nth-child(odd) {
115
- background-color: var(--op-color-neutral-plus-seven);
116
- color: var(--op-color-neutral-on-plus-seven);
117
- }
118
- }
119
-
120
- /* Sticky Header Row Modifier */
121
- /* stylelint-disable no-descending-specificity */
122
- &.table--sticky-header thead {
123
- position: sticky;
124
- inset-block-start: 0;
125
- }
126
- /* stylelint-enable no-descending-specificity */
127
-
128
- /* Sticky Footer Row Modifier */
129
- &.table--sticky-footer tfoot {
130
- position: sticky;
131
- inset-block-end: 0;
132
- }
133
- }