@rolemodel/optics 2.1.2 → 2.1.4

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 (44) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/.yarn/releases/yarn-4.8.1.cjs +935 -0
  3. package/.yarnrc.yml +1 -1
  4. package/README.md +1 -1
  5. package/dist/README.md +1 -1
  6. package/dist/css/components/accordion.css +66 -0
  7. package/dist/css/components/alert.css +171 -0
  8. package/dist/css/components/avatar.css +95 -0
  9. package/dist/css/components/badge.css +73 -0
  10. package/dist/css/components/breadcrumbs.css +37 -0
  11. package/dist/css/components/button.css +273 -0
  12. package/dist/css/components/button_group.css +47 -0
  13. package/dist/css/components/card.css +70 -0
  14. package/dist/css/components/confirm-dialog.css +80 -0
  15. package/dist/css/components/divider.css +55 -0
  16. package/dist/css/components/form.css +360 -0
  17. package/dist/css/components/icon.css +121 -0
  18. package/dist/css/components/index.css +24 -0
  19. package/dist/css/components/modal.css +149 -0
  20. package/dist/css/components/navbar.css +60 -0
  21. package/dist/css/components/pagination.css +24 -0
  22. package/dist/css/components/side_panel.css +90 -0
  23. package/dist/css/components/sidebar.css +138 -0
  24. package/dist/css/components/spinner.css +52 -0
  25. package/dist/css/components/switch.css +107 -0
  26. package/dist/css/components/tab.css +76 -0
  27. package/dist/css/components/table.css +133 -0
  28. package/dist/css/components/tag.css +168 -0
  29. package/dist/css/components/text_pair.css +55 -0
  30. package/dist/css/components/tooltip.css +134 -0
  31. package/dist/css/core/base.css +95 -0
  32. package/dist/css/core/fonts/icon_fonts.css +8 -0
  33. package/dist/css/core/fonts/index.css +8 -0
  34. package/dist/css/core/fonts/text_fonts.css +16 -0
  35. package/dist/css/core/layout.css +43 -0
  36. package/dist/css/core/tokens/base_tokens.css +338 -0
  37. package/dist/css/core/tokens/index.css +2 -0
  38. package/dist/css/core/tokens/scale_color_tokens.css +1498 -0
  39. package/dist/css/core/utilities.css +429 -0
  40. package/dist/css/optics.css +10 -2
  41. package/dist/css/optics.min.css +1 -1
  42. package/dist/package.json +3 -3
  43. package/package.json +3 -3
  44. package/.yarn/releases/yarn-4.2.2.cjs +0 -894
package/.yarnrc.yml CHANGED
@@ -1,2 +1,2 @@
1
- yarnPath: .yarn/releases/yarn-4.2.2.cjs
1
+ yarnPath: .yarn/releases/yarn-4.8.1.cjs
2
2
  nodeLinker: node-modules
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  </div>
14
14
 
15
- Optics is an css package that provides base styles and components that can be integrated and customized in a variety of projects.
15
+ Optics is a css package that provides base styles and components that can be integrated and customized in a variety of projects.
16
16
 
17
17
  ## Installation
18
18
 
package/dist/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  </div>
14
14
 
15
- Optics is an css package that provides base styles and components that can be integrated and customized in a variety of projects.
15
+ Optics is a css package that provides base styles and components that can be integrated and customized in a variety of projects.
16
16
 
17
17
  ## Installation
18
18
 
@@ -0,0 +1,66 @@
1
+ .accordion {
2
+ /* Public API (customizable component options) */
3
+ --_op-accordion-summary-min-height: calc(8 * var(--op-size-unit)); /* 32px */
4
+
5
+ overflow: hidden;
6
+ interpolate-size: allow-keywords;
7
+
8
+ /* Elements */
9
+
10
+ summary {
11
+ display: grid;
12
+ min-height: var(--_op-accordion-summary-min-height);
13
+ align-items: center;
14
+ cursor: pointer;
15
+ gap: var(--op-space-2x-small);
16
+ grid-template-columns: auto 1fr auto;
17
+
18
+ &::marker,
19
+ &::-webkit-details-marker {
20
+ display: none;
21
+ content: '';
22
+ }
23
+
24
+ .accordion__label {
25
+ color: var(--op-color-neutral-on-plus-max);
26
+ font-size: var(--op-font-x-small);
27
+ font-weight: var(--op-font-weight-semi-bold);
28
+ }
29
+
30
+ .accordion__marker {
31
+ --__op-icon-font-size: var(--_op-icon-font-size-x-large);
32
+ --__op-icon-optical-size: var(--_op-icon-optical-size-x-large);
33
+
34
+ justify-self: flex-end;
35
+ transition: var(--op-transition-accordion);
36
+ user-select: none;
37
+ }
38
+ }
39
+
40
+ &::details-content {
41
+ height: 0;
42
+ transition: var(--op-transition-accordion-content);
43
+ }
44
+
45
+ &[open] {
46
+ summary .accordion__marker {
47
+ rotate: 0.25turn;
48
+ }
49
+
50
+ &::details-content {
51
+ height: auto;
52
+ }
53
+ }
54
+
55
+ /* Modifiers */
56
+
57
+ &.accordion--disable-animation {
58
+ summary .accordion__marker {
59
+ transition: none;
60
+ }
61
+
62
+ &::details-content {
63
+ transition: none;
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,171 @@
1
+ .alert {
2
+ display: flex;
3
+ align-items: center;
4
+ padding: var(--op-space-x-small) var(--op-space-medium);
5
+ border-radius: var(--op-radius-medium);
6
+ gap: var(--op-space-small);
7
+
8
+ /* Elements */
9
+
10
+ .alert__icon {
11
+ --__op-icon-font-size: var(--_op-icon-font-size-large);
12
+ --__op-icon-optical-size: var(--_op-icon-optical-size-large);
13
+ --__op-icon-weight: var(--_op-icon-weight-bold);
14
+
15
+ line-height: var(--op-line-height-dense);
16
+ }
17
+
18
+ .alert__messages {
19
+ display: flex;
20
+ flex: 1;
21
+ flex-direction: column;
22
+ gap: var(--op-space-2x-small);
23
+ }
24
+
25
+ .alert__title {
26
+ font-size: var(--op-font-medium);
27
+ font-weight: var(--op-font-weight-medium);
28
+ }
29
+
30
+ .alert__description {
31
+ font-size: var(--op-font-small);
32
+ }
33
+
34
+ /* Modifiers */
35
+
36
+ &.alert--flash {
37
+ position: fixed;
38
+ z-index: var(--op-z-index-alert-group);
39
+ top: var(--op-space-large);
40
+ right: var(--op-space-large);
41
+ animation: var(--op-animation-flash);
42
+ }
43
+
44
+ &.alert--warning {
45
+ background-color: var(--op-color-alerts-warning-plus-eight);
46
+ box-shadow: var(--op-border-all) var(--op-color-alerts-warning-base);
47
+ color: var(--op-color-alerts-warning-on-plus-eight);
48
+
49
+ .alert__title {
50
+ color: var(--op-color-alerts-warning-on-plus-eight-alt);
51
+ }
52
+
53
+ &.alert--muted {
54
+ background-color: var(--op-color-alerts-warning-plus-five);
55
+ box-shadow: none;
56
+ color: var(--op-color-alerts-warning-on-plus-five);
57
+
58
+ .alert__title {
59
+ color: var(--op-color-alerts-warning-on-plus-five-alt);
60
+ }
61
+ }
62
+
63
+ &.alert--filled {
64
+ background-color: var(--op-color-alerts-warning-base);
65
+ box-shadow: none;
66
+ color: var(--op-color-alerts-warning-on-base);
67
+
68
+ .alert__title {
69
+ color: var(--op-color-alerts-warning-on-base-alt);
70
+ }
71
+ }
72
+ }
73
+
74
+ /* alert--alert is an alias for alert--danger. See Alert.mdx for reasoning. */
75
+ &.alert--danger,
76
+ &.alert--alert {
77
+ background-color: var(--op-color-alerts-danger-plus-eight);
78
+ box-shadow: var(--op-border-all) var(--op-color-alerts-danger-base);
79
+ color: var(--op-color-alerts-danger-on-plus-eight);
80
+
81
+ /* stylelint-disable no-descending-specificity */
82
+ .alert__title {
83
+ color: var(--op-color-alerts-danger-on-plus-eight-alt);
84
+ }
85
+ /* stylelint-enable no-descending-specificity */
86
+
87
+ &.alert--muted {
88
+ background-color: var(--op-color-alerts-danger-plus-five);
89
+ box-shadow: none;
90
+ color: var(--op-color-alerts-danger-on-plus-five);
91
+
92
+ .alert__title {
93
+ color: var(--op-color-alerts-danger-on-plus-five-alt);
94
+ }
95
+ }
96
+
97
+ &.alert--filled {
98
+ background-color: var(--op-color-alerts-danger-base);
99
+ box-shadow: none;
100
+ color: var(--op-color-alerts-danger-on-base);
101
+
102
+ .alert__title {
103
+ color: var(--op-color-alerts-danger-on-base-alt);
104
+ }
105
+ }
106
+ }
107
+
108
+ &.alert--info {
109
+ background-color: var(--op-color-alerts-info-plus-eight);
110
+ box-shadow: var(--op-border-all) var(--op-color-alerts-info-base);
111
+ color: var(--op-color-alerts-info-on-plus-eight);
112
+
113
+ /* stylelint-disable no-descending-specificity */
114
+ .alert__title {
115
+ color: var(--op-color-alerts-info-on-plus-eight-alt);
116
+ }
117
+ /* stylelint-enable no-descending-specificity */
118
+
119
+ &.alert--muted {
120
+ background-color: var(--op-color-alerts-info-plus-five);
121
+ box-shadow: none;
122
+ color: var(--op-color-alerts-info-on-plus-five);
123
+
124
+ .alert__title {
125
+ color: var(--op-color-alerts-info-on-plus-five-alt);
126
+ }
127
+ }
128
+
129
+ &.alert--filled {
130
+ background-color: var(--op-color-alerts-info-base);
131
+ box-shadow: none;
132
+ color: var(--op-color-alerts-info-on-base);
133
+
134
+ .alert__title {
135
+ color: var(--op-color-alerts-info-on-base-alt);
136
+ }
137
+ }
138
+ }
139
+
140
+ &.alert--notice {
141
+ background-color: var(--op-color-alerts-notice-plus-eight);
142
+ box-shadow: var(--op-border-all) var(--op-color-alerts-notice-base);
143
+ color: var(--op-color-alerts-notice-on-plus-eight);
144
+
145
+ /* stylelint-disable no-descending-specificity */
146
+ .alert__title {
147
+ color: var(--op-color-alerts-notice-on-plus-eight-alt);
148
+ }
149
+ /* stylelint-enable no-descending-specificity */
150
+
151
+ &.alert--muted {
152
+ background-color: var(--op-color-alerts-notice-plus-five);
153
+ box-shadow: none;
154
+ color: var(--op-color-alerts-notice-on-plus-five);
155
+
156
+ .alert__title {
157
+ color: var(--op-color-alerts-notice-on-plus-five-alt);
158
+ }
159
+ }
160
+
161
+ &.alert--filled {
162
+ background-color: var(--op-color-alerts-notice-base);
163
+ box-shadow: none;
164
+ color: var(--op-color-alerts-notice-on-base);
165
+
166
+ .alert__title {
167
+ color: var(--op-color-alerts-notice-on-base-alt);
168
+ }
169
+ }
170
+ }
171
+ }
@@ -0,0 +1,95 @@
1
+ .avatar {
2
+ /* Public API (customizable component options) */
3
+ --_op-avatar-border-radius: var(--op-radius-circle);
4
+ --_op-avatar-inner-border-color: var(--op-color-neutral-minus-max);
5
+ --_op-avatar-outer-border-color: var(--op-color-neutral-base);
6
+ --_op-avatar-inner-border-width: calc(var(--op-border-width) + var(--op-border-width-large));
7
+ --_op-avatar-outer-border-width: var(--op-border-width-large);
8
+ --_op-avatar-disabled-opacity: var(--op-opacity-disabled);
9
+ --_op-avatar-hover-opacity: var(--op-opacity-overlay);
10
+ --_op-avatar-size-small: calc(8 * var(--op-size-unit)); /* 32px */
11
+ --_op-avatar-size-medium: calc(10 * var(--op-size-unit)); /* 40px */
12
+ --_op-avatar-size-large: calc(14 * var(--op-size-unit)); /* 56px */
13
+
14
+ /* Private API (component option defaults) */
15
+ --__op-avatar-size: var(--_op-avatar-size-large);
16
+
17
+ position: relative;
18
+ z-index: 1;
19
+ display: block;
20
+ overflow: hidden;
21
+ width: var(--__op-avatar-size);
22
+ min-width: var(--__op-avatar-size);
23
+ height: var(--__op-avatar-size);
24
+ min-height: var(--__op-avatar-size);
25
+ border-radius: var(--_op-avatar-border-radius);
26
+
27
+ &::before {
28
+ position: absolute;
29
+ z-index: 2;
30
+ content: '';
31
+ inset: 0;
32
+ }
33
+
34
+ &::after {
35
+ position: absolute;
36
+ z-index: 3;
37
+ border-radius: var(--_op-avatar-border-radius);
38
+ box-shadow:
39
+ inset 0 0 0 var(--_op-avatar-outer-border-width) var(--_op-avatar-outer-border-color),
40
+ inset 0 0 0 var(--_op-avatar-inner-border-width) var(--_op-avatar-inner-border-color);
41
+ content: '';
42
+ inset: 0;
43
+ }
44
+
45
+ img {
46
+ width: 100%;
47
+ height: 100%;
48
+ object-fit: cover;
49
+ }
50
+
51
+ /* Disabled State */
52
+ &.avatar--disabled {
53
+ opacity: var(--_op-avatar-disabled-opacity);
54
+ pointer-events: none;
55
+ }
56
+
57
+ /* Focus State */
58
+ &:focus,
59
+ &:focus-visible,
60
+ &:focus-within {
61
+ outline: none;
62
+ }
63
+
64
+ /* Hover State */
65
+ &:hover:not(div, .avatar--disabled) {
66
+ --_op-avatar-inner-border-color: var(--op-color-primary-base);
67
+ --_op-avatar-outer-border-color: var(--op-color-primary-plus-one);
68
+
69
+ cursor: pointer;
70
+
71
+ &::before {
72
+ background-color: var(--op-color-primary-base);
73
+ opacity: var(--_op-avatar-hover-opacity);
74
+ }
75
+ }
76
+
77
+ &:focus-visible:not(.avatar--disabled) {
78
+ --_op-avatar-outer-border-color: var(--op-color-primary-base);
79
+
80
+ cursor: pointer;
81
+ }
82
+
83
+ /* Size Modifiers */
84
+ &.avatar--small {
85
+ --__op-avatar-size: var(--_op-avatar-size-small);
86
+ }
87
+
88
+ &.avatar--medium {
89
+ --__op-avatar-size: var(--_op-avatar-size-medium);
90
+ }
91
+
92
+ &.avatar--large {
93
+ --__op-avatar-size: var(--_op-avatar-size-large);
94
+ }
95
+ }
@@ -0,0 +1,73 @@
1
+ .badge {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ border-radius: var(--op-radius-medium);
6
+ background-color: var(--op-color-neutral-base);
7
+ color: var(--op-color-neutral-on-base);
8
+ cursor: inherit;
9
+ font-size: var(--op-font-x-small);
10
+ font-weight: var(--op-font-weight-bold);
11
+ gap: var(--op-space-x-small);
12
+ letter-spacing: var(--op-letter-spacing-label);
13
+ line-height: var(--op-line-height-dense);
14
+ padding-block: var(--op-space-2x-small);
15
+ padding-inline: var(--op-space-x-small);
16
+ user-select: none;
17
+ white-space: nowrap;
18
+
19
+ /* Elements */
20
+
21
+ .material-symbols-outlined {
22
+ font-size: var(--op-font-small);
23
+ }
24
+
25
+ /* Modifiers */
26
+
27
+ &.badge--primary {
28
+ background-color: var(--op-color-primary-base);
29
+ color: var(--op-color-primary-on-base);
30
+ }
31
+
32
+ &.badge--warning {
33
+ background-color: var(--op-color-alerts-warning-base);
34
+ color: var(--op-color-alerts-warning-on-base);
35
+ }
36
+
37
+ &.badge--danger {
38
+ background-color: var(--op-color-alerts-danger-base);
39
+ color: var(--op-color-alerts-danger-on-base);
40
+ }
41
+
42
+ &.badge--info {
43
+ background-color: var(--op-color-alerts-info-base);
44
+ color: var(--op-color-alerts-info-on-base);
45
+ }
46
+
47
+ &.badge--notice {
48
+ background-color: var(--op-color-alerts-notice-base);
49
+ color: var(--op-color-alerts-notice-on-base);
50
+ }
51
+
52
+ &.badge--pill {
53
+ border-radius: var(--op-radius-pill);
54
+ }
55
+
56
+ &.badge--notification-right {
57
+ position: absolute;
58
+ box-shadow: 0 0 0 var(--op-border-width-large) var(--op-color-neutral-plus-max);
59
+ inset-block-start: 0;
60
+ inset-inline-end: 0;
61
+ pointer-events: none;
62
+ transform: translateY(-50%) translateX(50%);
63
+ }
64
+
65
+ &.badge--notification-left {
66
+ position: absolute;
67
+ box-shadow: 0 0 0 var(--op-border-width-large) var(--op-color-neutral-plus-max);
68
+ inset-block-start: 0;
69
+ inset-inline-start: 0;
70
+ pointer-events: none;
71
+ transform: translateY(-50%) translateX(-50%);
72
+ }
73
+ }
@@ -0,0 +1,37 @@
1
+ .breadcrumbs {
2
+ /* Public API (customizable component options) */
3
+ --_op-breadcrumbs-font-size-small: var(--op-font-x-small);
4
+ --_op-breadcrumbs-font-size-large: var(--op-font-small);
5
+
6
+ /* Private API (component option defaults) */
7
+ --__op-breadcrumbs-font-size: var(--_op-breadcrumbs-font-size-small);
8
+
9
+ display: flex;
10
+ flex-wrap: wrap;
11
+ align-items: baseline;
12
+ gap: var(--op-space-x-small);
13
+
14
+ /* Elements */
15
+ .breadcrumbs__link {
16
+ font-size: var(--__op-breadcrumbs-font-size);
17
+ text-decoration: none;
18
+
19
+ &:hover {
20
+ text-decoration: underline;
21
+ }
22
+ }
23
+
24
+ .breadcrumbs__text {
25
+ font-size: var(--__op-breadcrumbs-font-size);
26
+ font-weight: var(--op-font-weight-bold);
27
+ }
28
+
29
+ /* Modifiers */
30
+ &.breadcrumbs--small {
31
+ --__op-breadcrumbs-font-size: var(--_op-breadcrumbs-font-size-small);
32
+ }
33
+
34
+ &.breadcrumbs--large {
35
+ --__op-breadcrumbs-font-size: var(--_op-breadcrumbs-font-size-large);
36
+ }
37
+ }