@rolemodel/optics 2.1.0 → 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 (45) 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/optics.css +4963 -9
  5. package/dist/css/optics.min.css +1 -4970
  6. package/dist/package.json +87 -0
  7. package/package.json +6 -4
  8. package/postcss.config.js +6 -3
  9. package/dist/css/components/accordion.css +0 -66
  10. package/dist/css/components/alert.css +0 -171
  11. package/dist/css/components/avatar.css +0 -95
  12. package/dist/css/components/badge.css +0 -73
  13. package/dist/css/components/breadcrumbs.css +0 -37
  14. package/dist/css/components/button.css +0 -273
  15. package/dist/css/components/button_group.css +0 -47
  16. package/dist/css/components/card.css +0 -62
  17. package/dist/css/components/confirm-dialog.css +0 -80
  18. package/dist/css/components/divider.css +0 -55
  19. package/dist/css/components/form.css +0 -360
  20. package/dist/css/components/icon.css +0 -121
  21. package/dist/css/components/index.css +0 -24
  22. package/dist/css/components/modal.css +0 -149
  23. package/dist/css/components/navbar.css +0 -60
  24. package/dist/css/components/pagination.css +0 -24
  25. package/dist/css/components/side_panel.css +0 -90
  26. package/dist/css/components/sidebar.css +0 -138
  27. package/dist/css/components/spinner.css +0 -52
  28. package/dist/css/components/switch.css +0 -107
  29. package/dist/css/components/tab.css +0 -76
  30. package/dist/css/components/table.css +0 -133
  31. package/dist/css/components/tag.css +0 -168
  32. package/dist/css/components/text_pair.css +0 -55
  33. package/dist/css/components/tooltip.css +0 -134
  34. package/dist/css/core/base.css +0 -95
  35. package/dist/css/core/fonts/icon_fonts.css +0 -8
  36. package/dist/css/core/fonts/index.css +0 -8
  37. package/dist/css/core/fonts/text_fonts.css +0 -16
  38. package/dist/css/core/layout.css +0 -43
  39. package/dist/css/core/tokens/base_tokens.css +0 -338
  40. package/dist/css/core/tokens/index.css +0 -2
  41. package/dist/css/core/tokens/scale_color_tokens.css +0 -1498
  42. package/dist/css/core/utilities.css +0 -429
  43. package/dist/css/recipes/16six-sidebar.css +0 -63
  44. package/dist/css/recipes/aligned-header.css +0 -16
  45. package/dist/css/recipes/domains-sidebar.css +0 -40
@@ -1,360 +0,0 @@
1
- .form-control {
2
- /* Public API (customizable component options) */
3
- --_op-form-control-height-small: var(--op-input-height-small);
4
- --_op-form-control-height-medium: var(--op-input-height-medium);
5
- --_op-form-control-height-large: var(--op-input-height-large);
6
- --_op-form-control-font-small: var(--op-font-x-small);
7
- --_op-form-control-font-medium: var(--op-font-small);
8
- --_op-form-control-font-large: var(--op-font-small);
9
-
10
- /* Private API (component option defaults) */
11
- --__op-form-control-height: var(--_op-form-control-height-large);
12
- --__op-form-control-font-size: var(--_op-form-control-font-large);
13
-
14
- min-width: var(--__op-form-control-height);
15
- height: var(--__op-form-control-height);
16
-
17
- /* Size Modifiers */
18
- &.form-control--small {
19
- --__op-form-control-height: var(--_op-form-control-height-small);
20
- --__op-form-control-font-size: var(--_op-form-control-font-small);
21
- }
22
-
23
- &.form-control--medium {
24
- --__op-form-control-height: var(--_op-form-control-height-medium);
25
- --__op-form-control-font-size: var(--_op-form-control-font-medium);
26
- }
27
-
28
- &.form-control--large {
29
- --__op-form-control-height: var(--_op-form-control-height-large);
30
- --__op-form-control-font-size: var(--_op-form-control-font-large);
31
- }
32
-
33
- /* Disabled State */
34
- &:disabled {
35
- cursor: not-allowed;
36
- opacity: var(--_op-form-control-opacity-disabled);
37
- }
38
-
39
- /* Readonly State */
40
- &[readonly] {
41
- padding: 0;
42
- background: transparent;
43
- box-shadow: none;
44
- color: var(--op-color-on-background);
45
- pointer-events: none;
46
- user-select: none;
47
-
48
- /* stylelint-disable selector-no-vendor-prefix */
49
- &::-webkit-input-placeholder {
50
- color: var(--op-color-on-background);
51
- }
52
- /* stylelint-enable selector-no-vendor-prefix */
53
- }
54
- }
55
-
56
- /* Radio or Checkbox Form Control */
57
- .form-control:is([type='radio'], [type='checkbox']) {
58
- /* Public API (customizable component options) */
59
- --_op-form-control-height-small: var(--op-space-medium);
60
- --_op-form-control-height-medium: var(--op-space-large);
61
- --_op-form-control-height-large: var(--op-space-x-large);
62
-
63
- width: var(--__op-form-control-height);
64
- height: var(--__op-form-control-height);
65
- align-self: center;
66
- margin: 0;
67
- accent-color: var(--op-color-primary-base);
68
- cursor: pointer;
69
-
70
- & + label {
71
- align-self: center;
72
- }
73
- }
74
-
75
- /* Any Form Control that is not a radio or checkbox */
76
- .form-control:not([type='radio'], [type='checkbox']) {
77
- /* Public API (customizable component options) */
78
- --_op-form-control-opacity-disabled: var(--op-opacity-disabled);
79
-
80
- /* Private API (component option defaults) */
81
- --__op-form-control-border-color: var(--op-color-neutral-plus-four);
82
-
83
- display: block;
84
- width: 100%;
85
- min-width: var(--__op-form-control-height);
86
- height: var(--__op-form-control-height);
87
- border: none;
88
- border-radius: var(--op-radius-medium);
89
- appearance: none;
90
- background-color: var(--op-color-neutral-plus-eight);
91
- box-shadow: var(--op-border-all) var(--__op-form-control-border-color);
92
- color: var(--op-color-neutral-on-plus-eight);
93
- cursor: text;
94
- font-size: var(--__op-form-control-font-size);
95
- line-height: var(--op-line-height-base);
96
- padding-block: var(--op-space-2x-small);
97
- padding-inline: var(--op-space-small) var(--op-space-x-small);
98
-
99
- /* Focus State */
100
- &:focus,
101
- &:focus-within,
102
- &:focus-visible {
103
- outline: none;
104
- }
105
-
106
- /* Hover State */
107
- &:hover:not(:disabled, [readonly]) {
108
- box-shadow: var(--op-border-all) var(--op-color-primary-plus-three);
109
- }
110
-
111
- &:focus-visible:not([readonly]) {
112
- background-color: var(--op-color-primary-plus-seven);
113
- box-shadow: var(--op-input-focus-primary);
114
- color: var(--op-color-primary-on-plus-seven);
115
- }
116
-
117
- /* Borderless State */
118
- &.form-control--no-border {
119
- background-color: transparent;
120
- box-shadow: none;
121
- color: var(--op-color-primary-on-plus-max);
122
-
123
- &:focus-visible:not([readonly]) {
124
- background-color: var(--op-color-primary-plus-seven);
125
- box-shadow: var(--op-input-focus-primary);
126
- color: var(--op-color-primary-on-plus-seven);
127
- }
128
-
129
- /* Borderless + Hover State */
130
- &:hover:not(:disabled, [readonly]) {
131
- background-color: var(--op-color-primary-plus-eight);
132
- box-shadow: inset var(--op-border-all) var(--op-color-primary-plus-two);
133
- color: var(--op-color-primary-on-plus-eight);
134
- }
135
- }
136
- }
137
-
138
- /* Color Form Control */
139
- .form-control[type='color'] {
140
- padding: var(--op-space-2x-small);
141
- cursor: pointer;
142
-
143
- &::-webkit-color-swatch-wrapper {
144
- padding: 0;
145
- }
146
-
147
- &::-webkit-color-swatch {
148
- border: none;
149
- border-radius: var(--op-radius-medium);
150
- }
151
- }
152
-
153
- /* File Form Control */
154
- .form-control[type='file'] {
155
- padding-block: 0;
156
-
157
- &::file-selector-button {
158
- --__op-btn-base-height: var(--op-input-height-small);
159
- --__op-btn-height: var(--__op-btn-base-height);
160
-
161
- display: inline-flex;
162
- min-height: var(--__op-btn-height);
163
- align-items: center;
164
- justify-content: center;
165
- border: none;
166
- border-radius: var(--op-radius-medium);
167
- appearance: none;
168
- background-color: var(--op-color-neutral-plus-eight);
169
- box-shadow: inset var(--op-border-all) var(--op-color-neutral-plus-four);
170
- color: var(--op-color-neutral-on-plus-eight);
171
- cursor: pointer;
172
- font-size: var(--op-font-x-small);
173
- font-weight: var(--op-font-weight-normal);
174
- gap: var(--op-space-x-small);
175
- margin-block: calc((var(--__op-form-control-height) / 2) - (var(--__op-btn-height) / 2));
176
- padding-block: 0;
177
- padding-inline: var(--op-space-x-small);
178
- text-align: center;
179
- text-decoration: none;
180
- transition: var(--op-transition-input);
181
- white-space: nowrap;
182
- }
183
-
184
- &.form-control--small::file-selector-button {
185
- --__op-btn-height: calc(var(--__op-btn-base-height) - var(--op-space-x-small));
186
- }
187
- }
188
-
189
- select.form-control:not([multiple], [type='radio'], [type='checkbox']) {
190
- appearance: none;
191
- background-image: var(--op-encoded-images-dropdown-arrow);
192
- background-position: center right;
193
- background-position-x: calc(
194
- 100% - ((var(--op-space-3x-large) / 2) - (var(--op-encoded-images-dropdown-arrow-width) / 2))
195
- );
196
- background-repeat: no-repeat;
197
- cursor: pointer;
198
- padding-inline-end: var(--op-space-3x-large);
199
- }
200
-
201
- select.form-control[multiple] {
202
- min-height: calc(2 * var(--__op-form-control-height));
203
- }
204
-
205
- textarea.form-control:not([type='radio'], [type='checkbox']) {
206
- max-width: 100%;
207
- height: calc(2 * var(--__op-form-control-height));
208
- min-height: var(--__op-form-control-height);
209
- }
210
-
211
- .form-label {
212
- color: var(--op-color-on-background);
213
- font-size: var(--op-font-x-small);
214
- font-weight: var(--op-font-weight-normal);
215
- letter-spacing: var(--op-letter-spacing-label);
216
- line-height: var(--op-line-height-base);
217
- }
218
-
219
- .form-error {
220
- width: fit-content;
221
- color: var(--op-color-alerts-danger-base);
222
- font-size: var(--op-font-x-small);
223
- }
224
-
225
- .form-hint {
226
- display: block;
227
- font-size: var(--op-font-small);
228
- font-style: italic;
229
- }
230
-
231
- .form-error-summary {
232
- padding: var(--op-space-large);
233
- border-radius: var(--op-radius-large);
234
- background-color: var(--op-color-alerts-danger-plus-seven);
235
- box-shadow: var(--op-border-all) var(--op-color-alerts-danger-on-plus-seven);
236
- color: var(--op-color-alerts-danger-on-plus-seven);
237
- margin-block-end: var(--op-space-large);
238
-
239
- h2 {
240
- font-size: var(--op-font-medium);
241
- }
242
-
243
- ul {
244
- margin-block-end: 0;
245
- }
246
- }
247
-
248
- .form-group {
249
- display: grid;
250
- align-content: baseline;
251
- gap: var(--op-space-x-small);
252
- grid-auto-rows: auto;
253
- grid-template-columns: auto 1fr;
254
- padding-block: var(--op-space-small);
255
- padding-inline: 0;
256
-
257
- /* Group Alignment */
258
- /* stylelint-disable no-descending-specificity */
259
- .form-label,
260
- .form-error,
261
- .form-hint,
262
- .form-control:not([type='radio'], [type='checkbox']) {
263
- grid-column: 1 / 3;
264
- }
265
- /* stylelint-enable no-descending-specificity */
266
-
267
- .form-control[type='radio'],
268
- .form-control[type='checkbox'] {
269
- grid-column: 1 / 1;
270
-
271
- & + .form-label {
272
- grid-column: 2 / 3;
273
- grid-row: 1;
274
- }
275
- }
276
- }
277
-
278
- .form-group--inline {
279
- align-items: center;
280
-
281
- /* Group Alignment */
282
-
283
- /* stylelint-disable no-descending-specificity */
284
- .form-label {
285
- grid-column: unset;
286
- }
287
-
288
- .form-error,
289
- .form-hint {
290
- grid-column: 1 / 3;
291
- }
292
-
293
- .form-control:not([type='radio'], [type='checkbox']),
294
- .switch {
295
- grid-column: unset;
296
- }
297
- /* stylelint-enable no-descending-specificity */
298
- }
299
-
300
- .form-group--error {
301
- /* stylelint-disable no-descending-specificity */
302
- .form-control {
303
- box-shadow: var(--op-border-all) var(--op-color-alerts-danger-base);
304
-
305
- &[type='radio'],
306
- &[type='checkbox'] {
307
- box-shadow: none;
308
-
309
- & + label {
310
- color: var(--op-color-alerts-danger-minus-three);
311
- font-weight: var(--op-font-weight-bold);
312
- }
313
- }
314
-
315
- /* Error + Hover State */
316
- &:hover:not(:disabled, [readonly]) {
317
- background-color: var(--op-color-alerts-danger-plus-seven);
318
- box-shadow: var(--op-border-all) var(--op-color-alerts-danger-minus-two);
319
- color: var(--op-color-alerts-danger-on-plus-seven);
320
- }
321
-
322
- /* Readonly State */
323
- &[readonly] {
324
- box-shadow: none;
325
- }
326
-
327
- /* Error + Focus State */
328
- &:focus-visible:not([readonly]) {
329
- background-color: var(--op-color-alerts-danger-plus-seven);
330
- box-shadow: var(--op-input-focus-danger);
331
- color: var(--op-color-alerts-danger-on-plus-seven);
332
- }
333
-
334
- /* Borderless State */
335
- &.form-control--no-border {
336
- border-radius: 0;
337
- box-shadow: var(--op-border-bottom) var(--op-color-alerts-danger-base);
338
-
339
- /* Readonly State */
340
- &[readonly] {
341
- box-shadow: none;
342
- }
343
-
344
- /* Borderless + Focus State */
345
- &:focus-visible:not([readonly]) {
346
- background-color: var(--op-color-alerts-danger-plus-seven);
347
- box-shadow: var(--op-border-bottom) var(--op-color-alerts-danger-base);
348
- color: var(--op-color-alerts-danger-on-plus-seven);
349
- }
350
-
351
- /* Borderless + Hover State */
352
- &:hover:not(:disabled, [readonly]) {
353
- background-color: var(--op-color-alerts-danger-plus-eight);
354
- box-shadow: var(--op-border-bottom) var(--op-color-alerts-danger-base);
355
- color: var(--op-color-alerts-danger-on-plus-eight);
356
- }
357
- }
358
- }
359
- /* stylelint-enable no-descending-specificity */
360
- }
@@ -1,121 +0,0 @@
1
- .icon {
2
- /* Public API (customizable component options) */
3
-
4
- /* Weight */
5
- --_op-icon-weight-light: var(--op-font-weight-light);
6
- --_op-icon-weight-normal: var(--op-font-weight-normal);
7
- --_op-icon-weight-semi-bold: var(--op-font-weight-semi-bold);
8
- --_op-icon-weight-bold: var(--op-font-weight-bold);
9
-
10
- /* Fill */
11
- --_op-icon-fill-outlined: 0;
12
- --_op-icon-fill-filled: 1;
13
-
14
- /* Emphasis */
15
- --_op-icon-emphasis-low: -20;
16
- --_op-icon-emphasis-normal: 0;
17
- --_op-icon-emphasis-high: 200;
18
-
19
- /* Size */
20
- --_op-icon-font-size-small: var(--op-font-small);
21
- --_op-icon-font-size-medium: var(--op-font-medium);
22
- --_op-icon-font-size-large: var(--op-font-large);
23
- --_op-icon-font-size-x-large: var(--op-font-2x-large);
24
- --_op-icon-optical-size-small: 20;
25
- --_op-icon-optical-size-medium: 20;
26
- --_op-icon-optical-size-large: 40;
27
- --_op-icon-optical-size-x-large: 48;
28
-
29
- /* Private API (component option defaults) */
30
- --__op-icon-weight: var(--_op-icon-weight-normal);
31
- --__op-icon-fill: var(--_op-icon-fill-outlined);
32
- --__op-icon-emphasis: var(--_op-icon-emphasis-normal);
33
- --__op-icon-font-size: var(--_op-icon-font-size-medium);
34
- --__op-icon-optical-size: var(--_op-icon-optical-size-medium);
35
-
36
- display: inline-block;
37
- width: var(--__op-icon-font-size);
38
- height: var(--__op-icon-font-size);
39
- font-size: var(--__op-icon-font-size);
40
- font-weight: var(--__op-icon-weight);
41
- line-height: var(--op-line-height-densest);
42
- vertical-align: middle;
43
-
44
- /* Fill Modifiers */
45
- &.icon--outlined {
46
- --__op-icon-fill: var(--_op-icon-fill-outlined);
47
- }
48
-
49
- &.icon--filled {
50
- --__op-icon-fill: var(--_op-icon-fill-filled);
51
- }
52
-
53
- /* Weight Modifiers */
54
- &.icon--weight-light {
55
- --__op-icon-weight: var(--_op-icon-weight-light);
56
- }
57
-
58
- &.icon--weight-normal {
59
- --__op-icon-weight: var(--_op-icon-weight-normal);
60
- }
61
-
62
- &.icon--weight-semi-bold {
63
- --__op-icon-weight: var(--_op-icon-weight-semi-bold);
64
- }
65
-
66
- &.icon--weight-bold {
67
- --__op-icon-weight: var(--_op-icon-weight-bold);
68
- }
69
-
70
- /* Emphasis */
71
- &.icon--low-emphasis {
72
- --__op-icon-emphasis: var(--_op-icon-emphasis-low);
73
- }
74
-
75
- &.icon--normal-emphasis {
76
- --__op-icon-emphasis: var(--_op-icon-emphasis-normal);
77
- }
78
-
79
- &.icon--high-emphasis {
80
- --__op-icon-emphasis: var(--_op-icon-emphasis-high);
81
- }
82
-
83
- /* Size Modifiers */
84
- &.icon--small {
85
- --__op-icon-font-size: var(--_op-icon-font-size-small);
86
- --__op-icon-optical-size: var(--_op-icon-optical-size-small);
87
- }
88
-
89
- &.icon--medium {
90
- --__op-icon-font-size: var(--_op-icon-font-size-medium);
91
- --__op-icon-optical-size: var(--_op-icon-optical-size-medium);
92
- }
93
-
94
- &.icon--large {
95
- --__op-icon-font-size: var(--_op-icon-font-size-large);
96
- --__op-icon-optical-size: var(--_op-icon-optical-size-large);
97
- }
98
-
99
- &.icon--x-large {
100
- --__op-icon-font-size: var(--_op-icon-font-size-x-large);
101
- --__op-icon-optical-size: var(--_op-icon-optical-size-x-large);
102
- }
103
- }
104
-
105
- /* Material Icons class provided by the Google Fonts CDN */
106
- .material-symbols-outlined {
107
- font-variation-settings:
108
- 'FILL' var(--__op-icon-fill),
109
- 'wght' var(--__op-icon-weight),
110
- 'GRAD' var(--__op-icon-emphasis),
111
- 'opsz' var(--__op-icon-optical-size);
112
- font-weight: unset;
113
- }
114
-
115
- /* Custom SVG Icons app specific */
116
- .custom-icons {
117
- svg {
118
- width: 100%;
119
- height: 100%;
120
- }
121
- }
@@ -1,24 +0,0 @@
1
- @import 'accordion';
2
- @import 'alert';
3
- @import 'avatar';
4
- @import 'badge';
5
- @import 'breadcrumbs';
6
- @import 'button';
7
- @import 'button_group';
8
- @import 'card';
9
- @import 'confirm-dialog';
10
- @import 'divider';
11
- @import 'form';
12
- @import 'icon';
13
- @import 'modal';
14
- @import 'navbar';
15
- @import 'pagination';
16
- @import 'sidebar';
17
- @import 'side_panel';
18
- @import 'spinner';
19
- @import 'switch';
20
- @import 'tab';
21
- @import 'table';
22
- @import 'tag';
23
- @import 'text_pair';
24
- @import 'tooltip';
@@ -1,149 +0,0 @@
1
- .modal-wrapper {
2
- /* Public API (customizable component options) */
3
- --_op-modal-backdrop-active-opacity: var(--op-opacity-half);
4
-
5
- position: fixed;
6
- z-index: var(--op-z-index-dialog);
7
- display: flex;
8
- overflow: hidden;
9
- align-items: center;
10
- justify-content: center;
11
- inset: 0;
12
- outline: 0;
13
- visibility: hidden;
14
-
15
- /* Elements */
16
-
17
- .modal-wrapper__backdrop {
18
- position: fixed;
19
- z-index: var(--op-z-index-dialog-backdrop);
20
- background: var(--op-color-black);
21
- inset: 0;
22
- opacity: var(--op-opacity-none);
23
- transition: var(--op-transition-modal);
24
- visibility: hidden;
25
- }
26
-
27
- /* Modifiers */
28
-
29
- &.modal-wrapper--active {
30
- visibility: visible;
31
-
32
- .modal {
33
- opacity: var(--op-opacity-full);
34
- transform: scale(1);
35
- }
36
-
37
- .modal-wrapper__backdrop {
38
- opacity: var(--_op-modal-backdrop-active-opacity);
39
- visibility: visible;
40
- }
41
- }
42
- }
43
-
44
- /* stylelint-disable no-descending-specificity */
45
- .modal {
46
- /* Public API (customizable component options) */
47
- --_op-modal-width: calc(141 * var(--op-size-unit)); /* 564px */
48
- --_op-modal-max-height: calc(125 * var(--op-size-unit)); /* 500px */
49
-
50
- z-index: var(--op-z-index-dialog-content);
51
- width: var(--_op-modal-width);
52
- border-radius: var(--op-radius-medium);
53
- background-color: var(--op-color-background);
54
- box-shadow: var(--op-border-all) var(--op-color-border);
55
- color: var(--op-color-on-background);
56
- contain: paint;
57
- font-size: var(--op-font-medium);
58
- line-height: var(--op-line-height-base);
59
- opacity: var(--op-opacity-none);
60
- transform: scale(0.7);
61
- transition: var(--op-transition-modal);
62
-
63
- .modal__header,
64
- .modal__body,
65
- .modal__footer {
66
- padding: var(--op-space-medium);
67
- }
68
-
69
- .modal__header {
70
- display: flex;
71
- align-items: center;
72
- justify-content: space-between;
73
- font-size: var(--op-font-large);
74
- font-weight: var(--op-font-weight-semi-bold);
75
- }
76
-
77
- .modal__body {
78
- max-height: var(--_op-modal-max-height);
79
- box-shadow: var(--op-border-all) var(--op-color-border);
80
- overflow-y: auto;
81
- }
82
-
83
- .modal__footer {
84
- display: flex;
85
- align-items: center;
86
- justify-content: flex-end;
87
- gap: var(--op-space-small);
88
- }
89
- }
90
- /* stylelint-enable no-descending-specificity */
91
-
92
- dialog.modal {
93
- position: fixed;
94
- display: block;
95
- padding: 0;
96
- border: none;
97
- inset: 0;
98
-
99
- &::backdrop {
100
- /* The Dialog backdrop does not inheret from :root so these need to be duplicated here. */
101
- --op-color-black: hsl(0deg 0% 0%);
102
- --_op-modal-backdrop-active-opacity: 0.5;
103
- --op-opacity-none: 0;
104
- --op-opacity-full: 1;
105
-
106
- animation: show-backdrop 300ms ease-in;
107
- background: var(--op-color-black);
108
- opacity: var(--_op-modal-backdrop-active-opacity);
109
- }
110
-
111
- &[open] {
112
- opacity: var(--op-opacity-full);
113
- transform: scale(1);
114
- }
115
-
116
- &.modal--closing {
117
- opacity: var(--op-opacity-none);
118
- transform: scale(0.7);
119
-
120
- &::backdrop {
121
- animation: hide-backdrop 300ms ease-in;
122
- opacity: var(--op-opacity-none);
123
- }
124
- }
125
- }
126
-
127
- /* Using the Dialog element */
128
-
129
- /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog */
130
-
131
- @keyframes show-backdrop {
132
- from {
133
- opacity: var(--op-opacity-none);
134
- }
135
-
136
- to {
137
- opacity: var(--_op-modal-backdrop-active-opacity);
138
- }
139
- }
140
-
141
- @keyframes hide-backdrop {
142
- from {
143
- opacity: var(--_op-modal-backdrop-active-opacity);
144
- }
145
-
146
- to {
147
- opacity: var(--op-opacity-none);
148
- }
149
- }
@@ -1,60 +0,0 @@
1
- .navbar {
2
- /* Public API (customizable component options) */
3
-
4
- /* Normal */
5
- --_op-navbar-background-color: var(--op-color-neutral-plus-eight);
6
- --_op-navbar-text-color: var(--op-color-neutral-on-plus-eight);
7
- --_op-navbar-border-color: var(--op-color-neutral-plus-four);
8
- --_op-navbar-brand-height: calc(12 * var(--op-size-unit)); /* 48px */
9
-
10
- /* Spacing */
11
- --_op-navbar-horizontal-spacing: var(--op-space-x-large);
12
- --_op-navbar-content-spacing: var(--op-space-x-small);
13
- --_op-navbar-content-item-spacing: var(--op-space-2x-small);
14
-
15
- display: flex;
16
- align-items: center;
17
- padding: var(--op-space-small) var(--_op-navbar-horizontal-spacing);
18
- background-color: var(--_op-navbar-background-color);
19
- box-shadow: var(--op-border-bottom) var(--_op-navbar-border-color);
20
- color: var(--_op-navbar-text-color);
21
- gap: var(--_op-navbar-content-spacing);
22
-
23
- /* Elements */
24
-
25
- .navbar__brand {
26
- height: var(--_op-navbar-brand-height);
27
- margin-right: var(--_op-navbar-horizontal-spacing);
28
-
29
- img {
30
- height: 100%;
31
- }
32
- }
33
-
34
- .navbar__content {
35
- display: flex;
36
- flex-wrap: wrap;
37
- align-items: center;
38
- gap: var(--_op-navbar-content-item-spacing);
39
-
40
- &.navbar__content--justify-start {
41
- margin-inline-end: auto;
42
- }
43
-
44
- &.navbar__content--justify-center {
45
- margin-inline: auto;
46
- }
47
-
48
- &.navbar__content--justify-end {
49
- margin-inline-start: auto;
50
- }
51
- }
52
-
53
- /* Modifiers */
54
-
55
- &.navbar--primary {
56
- --_op-navbar-background-color: var(--op-color-primary-plus-six);
57
- --_op-navbar-text-color: var(--op-color-primary-on-plus-six);
58
- --_op-navbar-border-color: var(--op-color-primary-plus-four);
59
- }
60
- }