@stainless-api/ui-primitives 0.1.0-beta.8 → 1.0.0-beta.54

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 (51) hide show
  1. package/dist/DropdownMenu-DJ2-gPoP.d.ts +54 -0
  2. package/dist/components/Accordion.d.ts +26 -0
  3. package/dist/components/Accordion.js +29 -0
  4. package/dist/components/Badge.d.ts +40 -0
  5. package/dist/components/Badge.js +63 -0
  6. package/dist/components/Button.d.ts +45 -0
  7. package/dist/components/Button.js +50 -0
  8. package/dist/components/Callout.d.ts +18 -0
  9. package/dist/components/Callout.js +26 -0
  10. package/dist/components/Steps.d.ts +17 -0
  11. package/dist/components/Steps.js +22 -0
  12. package/dist/components/dropdown/Dropdown.d.ts +63 -0
  13. package/dist/components/dropdown/Dropdown.js +52 -0
  14. package/dist/components/dropdown/DropdownButton.d.ts +61 -0
  15. package/dist/components/dropdown/DropdownButton.js +54 -0
  16. package/dist/components/dropdown/DropdownMenu.d.ts +2 -0
  17. package/dist/components/dropdown/DropdownMenu.js +76 -0
  18. package/dist/components/icons/Function.d.ts +9 -0
  19. package/dist/components/icons/Function.js +6 -0
  20. package/dist/components/icons/index.d.ts +2 -0
  21. package/dist/components/icons/index.js +2 -0
  22. package/dist/index.d.ts +8 -0
  23. package/dist/index.js +8 -0
  24. package/dist/scripts/index.d.ts +23 -0
  25. package/dist/scripts/index.js +162 -0
  26. package/dist/styles/starlight-compat.css +131 -0
  27. package/dist/styles/theme.css +183 -0
  28. package/dist/styles.css +1184 -0
  29. package/package.json +42 -24
  30. package/.env +0 -1
  31. package/CHANGELOG.md +0 -55
  32. package/eslint.config.js +0 -2
  33. package/src/components/Button.tsx +0 -94
  34. package/src/components/Callout.tsx +0 -31
  35. package/src/components/DetailsGroup.tsx +0 -17
  36. package/src/components/DropdownButton.tsx +0 -109
  37. package/src/components/button.css +0 -157
  38. package/src/components/callout.css +0 -72
  39. package/src/components/details.css +0 -124
  40. package/src/components/dropdown-button.css +0 -177
  41. package/src/index.ts +0 -4
  42. package/src/scripts/dropdown-button.ts +0 -55
  43. package/src/scripts/index.ts +0 -1
  44. package/src/styles/layout.css +0 -11
  45. package/src/styles/scales.css +0 -129
  46. package/src/styles/starlight-compat.css +0 -152
  47. package/src/styles/swatches.css +0 -87
  48. package/src/styles/theme.css +0 -49
  49. package/src/styles/typography.css +0 -195
  50. package/src/styles.css +0 -11
  51. package/tsconfig.json +0 -15
@@ -1,124 +0,0 @@
1
- /* revert starlight details styles */
2
- @layer starlight.content {
3
- /* artificially increase specificity to outcompete selectors in the same layer whose styles we want to revert */
4
- .stl-ui-prose .sl-markdown-content.sl-markdown-content.sl-markdown-content {
5
- details,
6
- summary,
7
- summary::before,
8
- summary::marker {
9
- all: revert-layer;
10
- }
11
- }
12
- }
13
-
14
- @layer stl-ui.components {
15
- .stl-ui-prose {
16
- details {
17
- --stl-ui-details-padding: 12px;
18
- --stl-ui-details-content-padding-bottom: 4px;
19
- --stl-ui-details-marker-size: 1em;
20
- --stl-ui-details-marker-margin: calc((1lh - var(--stl-ui-details-marker-size)) / 2);
21
- --stl-ui-details-row-gap: 8px;
22
- --stl-ui-details-summary-column-gap: 8px;
23
- --stl-ui-details-border-radius: var(--stl-ui-layout-border-radius);
24
- /* left inset to make content line up with summary content (after chevron) */
25
- --stl-ui--internal--details-padding-start: calc(
26
- var(--stl-ui-details-padding)
27
- + var(--stl-ui-details-marker-size)
28
- + var(--stl-ui-details-marker-margin) * 2
29
- + var(--stl-ui-details-summary-column-gap)
30
- );
31
-
32
- background-color: var(--stl-ui-card-background);
33
- border: 1px solid var(--stl-ui-border);
34
- border-radius: var(--stl-ui-details-border-radius);
35
- font-size: var(--stl-ui-typography-text-body);
36
-
37
- padding: var(--stl-ui-details-padding);
38
- /* indent content to line up with left edge of summary content */
39
- padding-inline-start: var(--stl-ui--internal--details-padding-start);
40
-
41
- summary {
42
- display: block;
43
- list-style: none;
44
-
45
- /* summary extends to the edges of the element in order to increase click target */
46
- padding: var(--stl-ui-details-padding);
47
- padding-inline-start: var(--stl-ui--internal--details-padding-start);
48
- margin: calc(-1 * var(--stl-ui-details-padding));
49
- margin-inline-start: calc(-1 * var(--stl-ui--internal--details-padding-start));
50
-
51
- cursor: pointer;
52
- font-weight: 500;
53
-
54
- border-radius: var(--stl-ui-details-border-radius);
55
-
56
- &::before {
57
- content: '';
58
- width: var(--stl-ui-details-marker-size);
59
- height: var(--stl-ui-details-marker-size);
60
- margin: var(--stl-ui-details-marker-margin);
61
- background-color: currentColor;
62
- display: block;
63
- position: absolute;
64
- --stl-ui-details--internal--marker-width: calc(var(--stl-ui-details-marker-size) + var(--stl-ui-details-marker-margin) * 2);
65
- --stl-ui-details--internal--summary-marker-transform: translateX(calc(-1 * var(--stl-ui-details--internal--marker-width) - var(--stl-ui-details-summary-column-gap)));
66
- transform: var(--stl-ui-details--internal--summary-marker-transform);
67
-
68
- --lucide-chevron-right: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZXZyb24tcmlnaHQtaWNvbiBsdWNpZGUtY2hldnJvbi1yaWdodCI+PHBhdGggZD0ibTkgMTggNi02LTYtNiIvPjwvc3ZnPg==');
69
- mask-image: var(--lucide-chevron-right);
70
- mask-size: contain;
71
- mask-repeat: no-repeat;
72
-
73
- transition: transform 0.1s ease-out;
74
- }
75
-
76
- & > :first-child {
77
- margin-top: 0;
78
- }
79
- }
80
-
81
- &[open] {
82
- padding-bottom: calc(var(--stl-ui-details-padding) + var(--stl-ui-details-content-padding-bottom));
83
-
84
- summary {
85
- /* padding-bottom shouldn’t extend beyond the row gap while open, i.e. we shouldn’t be negative-margin-placing content overlapping summary */
86
- --stl-ui--internal--summary-padding-bottom: min(var(--stl-ui-details-padding), var(--stl-ui-details-row-gap));
87
- padding-bottom: var(--stl-ui--internal--summary-padding-bottom);
88
- margin-bottom: calc(var(--stl-ui-details-row-gap) - var(--stl-ui--internal--summary-padding-bottom));
89
- border-bottom-left-radius: 0;
90
- border-bottom-right-radius: 0;
91
-
92
- &::before {
93
- transform: var(--stl-ui-details--internal--summary-marker-transform) rotate(90deg);
94
- }
95
- }
96
- }
97
-
98
- summary + * {
99
- margin-top: 0;
100
- }
101
- }
102
- }
103
-
104
- .stl-ui-details-group {
105
- & > details:has(+ details) {
106
- border-bottom-left-radius: 0;
107
- border-bottom-right-radius: 0;
108
- summary {
109
- border-bottom-left-radius: 0;
110
- border-bottom-right-radius: 0;
111
- }
112
- }
113
- & > details + details {
114
- margin-top: 0;
115
- border-top: 0;
116
- border-top-left-radius: 0;
117
- border-top-right-radius: 0;
118
- summary {
119
- border-top-left-radius: 0;
120
- border-top-right-radius: 0;
121
- }
122
- }
123
- }
124
- }
@@ -1,177 +0,0 @@
1
- /* revert docs-ui resets */
2
- @layer docs-ui {
3
- .stldocs-root .stl-ui-dropdown-button {
4
- all: revert-layer;
5
-
6
- * {
7
- all: revert-layer;
8
- }
9
- }
10
- }
11
-
12
- @layer stl-ui.components {
13
- .stl-ui-dropdown-button {
14
- --stl-ui-dropdown-button-color: var(--stl-ui-foreground);
15
- --stl-ui-dropdown-button-background-color: var(--stl-ui-card-background);
16
- --stl-ui-dropdown-button-border-color: var(--stl-ui-border);
17
- --stl-ui-dropdown-button-border-radius: var(--stl-ui-layout-border-radius-sml);
18
- --stl-ui-dropdown-button-font-size: var(--stl-ui-type-scale-text-sm);
19
-
20
- --stl-ui-dropdown-button-height: 32px;
21
- --stl-ui-dropdown-button-padding: 8px 10px;
22
- --stl-ui-dropdown-button-line-height: 100%;
23
- --stl-ui-dropdown-button-font-weight: 500;
24
-
25
- position: relative;
26
- display: inline-flex;
27
- align-items: center;
28
-
29
- background-color: var(--stl-ui-dropdown-button-background-color);
30
- border: 1px solid var(--stl-ui-dropdown-button-border-color);
31
- border-radius: var(--stl-ui-dropdown-button-border-radius);
32
- color: var(--stl-ui-dropdown-button-color);
33
- gap: 0;
34
- font-size: var(--stl-ui-dropdown-button-font-size);
35
-
36
- .stl-ui-dropdown-button__button {
37
- border: none;
38
- background: none;
39
- height: var(--stl-ui-dropdown-button-height);
40
- padding: var(--stl-ui-dropdown-button-padding);
41
- line-height: var(--stl-ui-dropdown-button-line-height);
42
- font-weight: var(--stl-ui-dropdown-button-font-weight);
43
- cursor: pointer;
44
- display: flex;
45
- align-items: center;
46
- justify-content: center;
47
-
48
- &:hover {
49
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.05);
50
- border-color: var(--stl-ui-border-emphasis);
51
- }
52
- }
53
-
54
- .stl-ui-dropdown-button--action {
55
- display: flex;
56
- align-items: center;
57
- gap: 8px;
58
-
59
- &:hover {
60
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.05);
61
- border-color: var(--stl-ui-border-emphasis);
62
- }
63
-
64
- &.disabled {
65
- cursor: not-allowed;
66
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.05);
67
- }
68
- }
69
-
70
- .stl-ui-dropdown-button__trigger {
71
- border-left: 1px solid var(--stl-ui-border);
72
- border-radius: 0;
73
-
74
- &:hover {
75
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.05);
76
- border-color: var(--stl-ui-border-emphasis);
77
- }
78
- }
79
-
80
- .stl-ui-dropdown-button__menu {
81
- --stl-ui-dropdown-button__menu-background-color: var(--stl-ui-card-background);
82
- --stl-ui-dropdown-button__menu-border-color: var(--stl-ui-border);
83
- --stl-ui-dropdown-button__menu-box-shadow: var(--stl-ui-shadow-md);
84
- --stl-ui-dropdown-button__menu-border-radius: var(--stl-ui-layout-border-radius-sml);
85
-
86
- background-color: var(--stl-ui-dropdown-button__menu-background-color);
87
- border: 1px solid var(--stl-ui-dropdown-button__menu-border-color);
88
- box-shadow: var(--stl-ui-dropdown-button__menu-box-shadow);
89
- border-radius: var(--stl-ui-dropdown-button__menu-border-radius);
90
-
91
- position: absolute;
92
- top: 100%;
93
- right: 0;
94
- margin-top: 4px;
95
- z-index: 1000;
96
- min-width: 100%;
97
- padding: 4px;
98
- display: none;
99
-
100
- &[data-state='open'] {
101
- display: block;
102
- }
103
- }
104
-
105
- .stl-ui-dropdown-button__menu-item {
106
- --stl-ui-dropdown-button__menu-item-border-radius: var(--stl-ui-dropdown-button-border-radius);
107
- --stl-ui-dropdown-button__menu-item-height: var(--stl-ui-dropdown-button-height);
108
- --stl-ui-dropdown-button__menu-item-line-height: var(--stl-ui-dropdown-button-line-height);
109
- --stl-ui-dropdown-button__menu-item-hover-background-color: oklch(
110
- from var(--stl-ui-foreground) l c h / 0.05
111
- );
112
-
113
- border-radius: var(--stl-ui-dropdown-button__menu-item-border-radius);
114
- height: var(--stl-ui-dropdown-button__menu-item-height);
115
- line-height: var(--stl-ui-dropdown-button__menu-item-line-height);
116
-
117
- padding: 8px;
118
- cursor: pointer;
119
- display: flex;
120
- align-items: center;
121
- justify-content: space-between;
122
- gap: 16px;
123
-
124
- &:hover {
125
- background-color: var(--stl-ui-dropdown-button__menu-item-hover-background-color);
126
- }
127
-
128
- .stl-ui-dropdown-button__menu-item-content {
129
- display: flex;
130
- align-items: center;
131
- gap: 8px;
132
- }
133
-
134
- .stl-ui-dropdown-button__menu-item-text {
135
- white-space: nowrap;
136
- }
137
-
138
- .stl-ui-dropdown-button__menu-item-text--subtle {
139
- color: var(--stl-ui-foreground-muted);
140
- }
141
-
142
- strong {
143
- color: var(--stl-ui-foreground);
144
- font-weight: 500;
145
- }
146
-
147
- .stl-ui-dropdown-button__menu-item-icon {
148
- display: flex;
149
- align-items: center;
150
- justify-content: center;
151
- }
152
-
153
- .stl-ui-dropdown-button__menu-item-external-link-icon {
154
- --stl-ui-dropdown-button__menu-item-external-link-icon-color: oklch(
155
- from var(--stl-ui-foreground) l c h / 0.25
156
- );
157
-
158
- svg {
159
- color: var(--stl-ui-dropdown-button__menu-item-external-link-icon-color);
160
- }
161
- }
162
- }
163
-
164
- hr {
165
- --stl-ui-dropdown-button__divider-height: 1px;
166
- --stl-ui-dropdown-button__divider-color: var(--stl-ui-border);
167
-
168
- height: var(--stl-ui-dropdown-button__divider-height);
169
- background-color: var(--stl-ui-dropdown-button__divider-color);
170
- border: none;
171
-
172
- margin: 4px 0;
173
- width: calc(100% + 8px);
174
- transform: translateX(-4px);
175
- }
176
- }
177
- }
package/src/index.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './components/Button';
2
- export * from './components/DropdownButton';
3
- export * from './components/Callout';
4
- export * from './components/DetailsGroup';
@@ -1,55 +0,0 @@
1
- export function initDropdownButton({
2
- dropdownId,
3
- onSelect,
4
- onPrimaryAction,
5
- }: {
6
- dropdownId: string;
7
- onSelect: (value: string) => void;
8
- onPrimaryAction: (primaryActionElement: Element) => void;
9
- }) {
10
- const dropdown = document.getElementById(dropdownId);
11
- if (!dropdown) return;
12
-
13
- const trigger = dropdown.querySelector('[data-part="trigger"]') as HTMLButtonElement | null;
14
- const menu = dropdown.querySelector('[data-part="menu"]') as HTMLElement | null;
15
- const primaryAction = dropdown.querySelector('[data-part="primary-action"]');
16
-
17
- if (!trigger || !menu || !primaryAction) return;
18
-
19
- let isOpen = false;
20
-
21
- function toggleDropdown() {
22
- if (!trigger || !menu) return;
23
- isOpen = !isOpen;
24
- menu.dataset.state = isOpen ? 'open' : 'closed';
25
- trigger.setAttribute('aria-expanded', String(isOpen));
26
- }
27
-
28
- trigger.addEventListener('click', toggleDropdown);
29
-
30
- document.addEventListener('click', (event) => {
31
- if (!isOpen) return;
32
- if (!dropdown.contains(event.target as Node)) {
33
- toggleDropdown();
34
- }
35
-
36
- if (primaryAction && primaryAction.contains(event.target as Node)) {
37
- toggleDropdown();
38
- }
39
- });
40
-
41
- const items = dropdown.querySelectorAll('[data-part="item"]');
42
- items.forEach((item) => {
43
- item.addEventListener('click', () => {
44
- const value = item.getAttribute('data-value');
45
- if (value) {
46
- onSelect(value);
47
- }
48
- toggleDropdown();
49
- });
50
- });
51
-
52
- primaryAction.addEventListener('click', () => {
53
- onPrimaryAction(primaryAction);
54
- });
55
- }
@@ -1 +0,0 @@
1
- export * from './dropdown-button';
@@ -1,11 +0,0 @@
1
- @layer stl-ui {
2
- /* Layout - Stainless */
3
- :root {
4
- --stl-ui-layout-border-radius-xs: 4px;
5
- --stl-ui-layout-border-radius-sml: 8px;
6
- --stl-ui-layout-border-radius: 12px;
7
- --stl-ui-layout-border-radius-med: 16px;
8
- --stl-ui-layout-border-radius-max: 9999px;
9
- --stl-ui-left-content-indent: 24px;
10
- }
11
- }
@@ -1,129 +0,0 @@
1
- @layer stl-ui {
2
- /* Scales - Default */
3
- :root {
4
- --stl-ui-gray-50: rgba(250, 250, 250, 1);
5
- --stl-ui-gray-100: rgba(245, 245, 245, 1);
6
- --stl-ui-gray-200: rgba(229, 229, 229, 1);
7
- --stl-ui-gray-300: rgba(212, 212, 212, 1);
8
- --stl-ui-gray-400: rgba(163, 163, 163, 1);
9
- --stl-ui-gray-500: rgba(115, 115, 115, 1);
10
- --stl-ui-gray-600: rgba(82, 82, 82, 1);
11
- --stl-ui-gray-700: rgba(64, 64, 64, 1);
12
- --stl-ui-gray-800: rgba(38, 38, 38, 1);
13
- --stl-ui-gray-900: rgba(23, 23, 23, 1);
14
- --stl-ui-gray-950: rgba(10, 10, 10, 1);
15
- --stl-ui-accent-50: #eff6ffff;
16
- --stl-ui-accent-100: #dbeafeff;
17
- --stl-ui-accent-200: #bedbffff;
18
- --stl-ui-accent-300: #8ec5ffff;
19
- --stl-ui-accent-400: #51a2ffff;
20
- --stl-ui-accent-500: #2b7fffff;
21
- --stl-ui-accent-600: #155dfcff;
22
- --stl-ui-accent-700: #1447e6ff;
23
- --stl-ui-accent-800: #193cb8ff;
24
- --stl-ui-accent-900: #132762ff;
25
- --stl-ui-accent-950: #0b1128ff;
26
- --stl-ui-red-50: rgba(252, 243, 243, 1);
27
- --stl-ui-red-100: rgba(249, 227, 227, 1);
28
- --stl-ui-red-200: rgba(246, 203, 203, 1);
29
- --stl-ui-red-300: rgba(242, 166, 165, 1);
30
- --stl-ui-red-400: rgba(235, 109, 108, 1);
31
- --stl-ui-red-500: rgba(227, 64, 65, 1);
32
- --stl-ui-red-600: rgba(208, 30, 34, 1);
33
- --stl-ui-red-700: rgba(174, 25, 26, 1);
34
- --stl-ui-red-800: rgba(143, 28, 27, 1);
35
- --stl-ui-red-900: rgba(85, 24, 22, 1);
36
- --stl-ui-red-950: rgba(43, 9, 8, 1);
37
- --stl-ui-blue-50: rgba(239, 246, 255, 1);
38
- --stl-ui-blue-100: rgba(219, 234, 254, 1);
39
- --stl-ui-blue-200: rgba(190, 219, 255, 1);
40
- --stl-ui-blue-300: rgba(142, 197, 255, 1);
41
- --stl-ui-blue-400: rgba(81, 162, 255, 1);
42
- --stl-ui-blue-500: rgba(43, 127, 255, 1);
43
- --stl-ui-blue-600: rgba(21, 93, 252, 1);
44
- --stl-ui-blue-700: rgba(20, 71, 230, 1);
45
- --stl-ui-blue-800: rgba(25, 60, 184, 1);
46
- --stl-ui-blue-900: rgba(19, 39, 98, 1);
47
- --stl-ui-blue-950: rgba(11, 17, 40, 1);
48
- --stl-ui-green-50: rgba(240, 253, 244, 1);
49
- --stl-ui-green-100: rgba(220, 252, 231, 1);
50
- --stl-ui-green-200: rgba(187, 247, 208, 1);
51
- --stl-ui-green-300: rgba(134, 239, 172, 1);
52
- --stl-ui-green-400: rgba(74, 222, 128, 1);
53
- --stl-ui-green-500: rgba(34, 197, 94, 1);
54
- --stl-ui-green-600: rgba(22, 163, 74, 1);
55
- --stl-ui-green-700: rgba(21, 128, 61, 1);
56
- --stl-ui-green-800: rgba(22, 101, 52, 1);
57
- --stl-ui-green-900: rgba(15, 62, 33, 1);
58
- --stl-ui-green-950: rgba(4, 32, 15, 1);
59
- --stl-ui-orange-50: rgba(255, 247, 237, 1);
60
- --stl-ui-orange-100: rgba(255, 237, 213, 1);
61
- --stl-ui-orange-200: rgba(254, 215, 170, 1);
62
- --stl-ui-orange-300: rgba(253, 186, 116, 1);
63
- --stl-ui-orange-400: rgba(251, 146, 60, 1);
64
- --stl-ui-orange-500: rgba(249, 115, 22, 1);
65
- --stl-ui-orange-600: rgba(234, 88, 12, 1);
66
- --stl-ui-orange-700: rgba(194, 65, 12, 1);
67
- --stl-ui-orange-800: rgba(154, 52, 18, 1);
68
- --stl-ui-orange-900: rgba(89, 32, 13, 1);
69
- --stl-ui-orange-950: rgba(46, 14, 5, 1);
70
- --stl-ui-purple-50: rgba(250, 245, 255, 1);
71
- --stl-ui-purple-100: rgba(243, 232, 255, 1);
72
- --stl-ui-purple-200: rgba(233, 213, 255, 1);
73
- --stl-ui-purple-300: rgba(216, 180, 254, 1);
74
- --stl-ui-purple-400: rgba(192, 132, 252, 1);
75
- --stl-ui-purple-500: rgba(168, 85, 247, 1);
76
- --stl-ui-purple-600: rgba(147, 51, 234, 1);
77
- --stl-ui-purple-700: rgba(126, 34, 206, 1);
78
- --stl-ui-purple-800: rgba(107, 33, 168, 1);
79
- --stl-ui-purple-900: rgba(72, 23, 110, 1);
80
- --stl-ui-purple-950: rgba(39, 5, 67, 1);
81
- --stl-ui-cyan-50: rgba(236, 254, 255, 1);
82
- --stl-ui-cyan-100: rgba(207, 250, 254, 1);
83
- --stl-ui-cyan-200: rgba(165, 243, 252, 1);
84
- --stl-ui-cyan-300: rgba(103, 232, 249, 1);
85
- --stl-ui-cyan-400: rgba(34, 211, 238, 1);
86
- --stl-ui-cyan-500: rgba(6, 182, 212, 1);
87
- --stl-ui-cyan-600: rgba(8, 145, 178, 1);
88
- --stl-ui-cyan-700: rgba(14, 116, 144, 1);
89
- --stl-ui-cyan-800: rgba(21, 94, 117, 1);
90
- --stl-ui-cyan-900: rgba(18, 62, 79, 1);
91
- --stl-ui-cyan-950: rgba(5, 34, 46, 1);
92
- --stl-ui-pink-50: rgba(253, 242, 248, 1);
93
- --stl-ui-pink-100: rgba(252, 231, 243, 1);
94
- --stl-ui-pink-200: rgba(251, 207, 232, 1);
95
- --stl-ui-pink-300: rgba(249, 168, 212, 1);
96
- --stl-ui-pink-400: rgba(244, 114, 182, 1);
97
- --stl-ui-pink-500: rgba(236, 72, 153, 1);
98
- --stl-ui-pink-600: rgba(219, 39, 119, 1);
99
- --stl-ui-pink-700: rgba(190, 24, 93, 1);
100
- --stl-ui-pink-800: rgba(157, 23, 77, 1);
101
- --stl-ui-pink-900: rgba(103, 19, 53, 1);
102
- --stl-ui-pink-950: rgba(56, 5, 25, 1);
103
- --stl-ui-yellow-50: rgba(254, 252, 232, 1);
104
- --stl-ui-yellow-100: rgba(254, 249, 195, 1);
105
- --stl-ui-yellow-200: rgba(254, 240, 138, 1);
106
- --stl-ui-yellow-300: rgba(253, 224, 71, 1);
107
- --stl-ui-yellow-400: rgba(250, 204, 21, 1);
108
- --stl-ui-yellow-500: rgba(234, 179, 8, 1);
109
- --stl-ui-yellow-600: rgba(202, 138, 4, 1);
110
- --stl-ui-yellow-700: rgba(161, 98, 7, 1);
111
- --stl-ui-yellow-800: rgba(133, 77, 14, 1);
112
- --stl-ui-yellow-900: rgba(88, 49, 14, 1);
113
- --stl-ui-yellow-950: rgba(47, 23, 4, 1);
114
-
115
- /* TODO support accent generation */
116
- /* --stl-ui-accent-base: rgb(21, 93, 252);
117
- --stl-ui-accent-50: color-mix(in oklch, white 95%, var(--stl-ui-accent-base));
118
- --stl-ui-accent-100: color-mix(in oklch, white 85%, var(--stl-ui-accent-base));
119
- --stl-ui-accent-200: color-mix(in oklch, white 70%, var(--stl-ui-accent-base));
120
- --stl-ui-accent-300: color-mix(in oklch, white 55%, var(--stl-ui-accent-base));
121
- --stl-ui-accent-400: color-mix(in oklch, white 40%, var(--stl-ui-accent-base));
122
- --stl-ui-accent-500: color-mix(in oklch, white 25%, var(--stl-ui-accent-base));
123
- --stl-ui-accent-600: var(--stl-ui-accent-base);
124
- --stl-ui-accent-700: color-mix(in oklch, black 15%, var(--stl-ui-accent-base));
125
- --stl-ui-accent-800: color-mix(in oklch, black 30%, var(--stl-ui-accent-base));
126
- --stl-ui-accent-900: color-mix(in oklch, black 45%, var(--stl-ui-accent-base));
127
- --stl-ui-accent-950: color-mix(in oklch, black 60%, var(--stl-ui-accent-base)); */
128
- }
129
- }
@@ -1,152 +0,0 @@
1
- @layer stl-ui.starlight-compat {
2
- :root {
3
- --stl-ui-button-border-radius: 8px;
4
- --stl-ui-text-body: 14px;
5
- --stl-ui-button-size: 2rem;
6
-
7
- /* Brand colors */
8
- --stl-ui-color-text-brand: var(--stl-ui-color-text-invert);
9
- --stl-ui-color-brand: var(--stl-ui-color-accent);
10
- }
11
-
12
- :root {
13
- --sl-font: var(--stl-ui-typography-font);
14
- --sl-font-mono: var(--stl-ui-typography-font-mono);
15
-
16
- /* Layout and Typography */
17
- --sl-text-h1: var(--stl-ui-typography-text-h1);
18
- --sl-text-h2: var(--stl-ui-typography-text-h2);
19
- --sl-text-h3: var(--stl-ui-typography-text-h3);
20
- --sl-text-h4: var(--stl-ui-typography-text-h4);
21
- --sl-text-h4: var(--stl-ui-typography-text-h5);
22
-
23
- /* Colors */
24
- --sl-color-bg: var(--stl-ui-background);
25
- --sl-color-bg-sidebar: var(--stl-ui-background);
26
- --sl-color-bg-ui: var(--stl-ui-card-background);
27
- --sl-color-bg-nav: var(--stl-ui-background);
28
- --sl-color-bg-inline-code: var(--stl-ui-muted-background);
29
- --sl-color-bg-accent: var(--stl-ui-accent-background);
30
-
31
- --sl-color-text: var(--stl-ui-foreground);
32
- --sl-color-text-secondary: var(--stl-ui-foreground-secondary);
33
- --sl-color-text-tertiary: var(--stl-ui-foreground-muted);
34
- --sl-color-text-accent: var(--stl-ui-foreground-accent);
35
- --sl-color-hairline: var(--stl-ui-border);
36
- --sl-color-hairline-light: var(--stl-ui-border-muted);
37
- --sl-color-hairline-shade: var(--stl-ui-border-emphasis);
38
- --sl-color-text-invert: var(--stl-ui-inverse-foreground);
39
-
40
- /* Primary colors */
41
- --sl-color-red-low: var(--stl-ui-swatch-red-faint);
42
- --sl-color-red: var(--stl-ui-swatch-red-base);
43
- --sl-color-red-high: var(--stl-ui-swatch-red-base);
44
-
45
- --sl-color-green-low: var(--stl-ui-swatch-green-faint);
46
- --sl-color-green: var(--stl-ui-swatch-green-base);
47
- --sl-color-green-high: var(--stl-ui-swatch-green-base);
48
-
49
- --sl-color-blue-low: var(--stl-ui-swatch-blue-faint);
50
- --sl-color-blue: var(--stl-ui-swatch-blue-base);
51
- --sl-color-blue-high: var(--stl-ui-swatch-blue-base);
52
-
53
- --sl-color-orange-low: var(--stl-ui-swatch-orange-faint);
54
- --sl-color-orange: var(--stl-ui-swatch-orange-base);
55
- --sl-color-orange-high: var(--stl-ui-swatch-orange-base);
56
-
57
- --sl-color-purple-low: var(--stl-ui-swatch-purple-faint);
58
- --sl-color-purple: var(--stl-ui-swatch-purple-base);
59
- --sl-color-purple-high: var(--stl-ui-swatch-purple-base);
60
-
61
- --sl-color-teal-low: var(--stl-ui-swatch-teal-faint);
62
- --sl-color-teal: var(--stl-ui-swatch-teal-base);
63
- --sl-color-teal-high: var(--stl-ui-swatch-teal-base);
64
-
65
- --sl-color-magenta-low: var(--stl-ui-swatch-pink-faint);
66
- --sl-color-magenta: var(--stl-ui-swatch-pink-base);
67
- --sl-color-magenta-high: var(--stl-ui-swatch-pink-base);
68
-
69
- --sl-color-yellow-low: var(--stl-ui-swatch-yellow-faint);
70
- --sl-color-yellow: var(--stl-ui-swatch-yellow-base);
71
- --sl-color-yellow-high: var(--stl-ui-swatch-yellow-base);
72
- }
73
-
74
- /* Starlight Compatibility */
75
- .stl-ui-prose {
76
- :is(h1, h2, h3, h4, h5) code {
77
- font-size: 0.9em;
78
- font-weight: inherit;
79
- }
80
- /* TODO: Disable starlight headingLinks and replace with our own */
81
- /* Duplicate styles from h1–5 in typography; TODO: move to mixins after adopting preprocessor */
82
- .sl-heading-wrapper.level-h1 {
83
- font-size: var(--stl-ui-typography-text-h1);
84
- letter-spacing: -0.03em;
85
- margin-top: 64px;
86
- }
87
- .sl-heading-wrapper.level-h2 {
88
- font-size: var(--stl-ui-typography-text-h2);
89
- letter-spacing: -0.03em;
90
- margin-top: 48px;
91
- }
92
- .sl-heading-wrapper.level-h3 {
93
- font-size: var(--stl-ui-typography-text-h3);
94
- letter-spacing: -0.02em;
95
- margin-top: 40px;
96
- }
97
- .sl-heading-wrapper.level-h4 {
98
- font-size: var(--stl-ui-typography-text-h4);
99
- letter-spacing: -0.02em;
100
- margin-top: 32px;
101
- }
102
- .sl-heading-wrapper.level-h5 {
103
- font-size: var(--stl-ui-typography-text-h5);
104
- letter-spacing: -0.02em;
105
- margin-top: 24px;
106
- }
107
- .sl-heading-wrapper {
108
- --sl-anchor-icon-size: 0.8em;
109
- }
110
- /* TODO: replace with an icon that matches Stainless branding */
111
- .sl-anchor-link svg {
112
- margin-top: 0;
113
- }
114
-
115
- /* Tab component */
116
- starlight-tabs {
117
- a {
118
- text-decoration: none;
119
- line-height: unset;
120
- color: var(--stl-ui-foreground);
121
-
122
- &[aria-selected='true'] {
123
- color: var(--stl-ui-foreground-accent);
124
- }
125
- }
126
-
127
- ol,
128
- ul {
129
- padding-left: 0;
130
- }
131
-
132
- li {
133
- margin-bottom: -2px;
134
- &:not(:last-child) {
135
- margin-bottom: -2px;
136
- }
137
-
138
- a:first-child {
139
- display: flex;
140
- }
141
- }
142
- }
143
-
144
- /* Pagination Links */
145
-
146
- .pagination-links {
147
- a {
148
- color: var(--stl-ui-foreground);
149
- }
150
- }
151
- }
152
- }