@ciridae/ui 1.0.2 → 1.0.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.
- package/dist/app/auth.d.ts +10 -0
- package/dist/app/auth.js +60 -0
- package/dist/app/error-boundary.d.ts +18 -0
- package/dist/app/error-boundary.js +45 -0
- package/dist/app/feedback.d.ts +12 -0
- package/dist/app/feedback.js +128 -0
- package/dist/app/index.d.ts +8 -0
- package/dist/app/index.js +8 -0
- package/dist/app/request-errors.d.ts +63 -0
- package/dist/app/request-errors.js +172 -0
- package/dist/app/sentry.d.ts +18 -0
- package/dist/app/sentry.js +52 -0
- package/dist/app/telemetry.d.ts +7 -0
- package/dist/app/telemetry.js +28 -0
- package/dist/app/trail.d.ts +9 -0
- package/dist/app/trail.js +18 -0
- package/dist/chat/chat-query-keys.d.ts +3 -3
- package/dist/chat/contract.d.ts +15 -15
- package/dist/chat/conversation-items-query-options.d.ts +114 -114
- package/dist/chat/conversation-source.d.ts +89 -0
- package/dist/chat/conversation-source.js +1 -0
- package/dist/chat/describe-tool-call.d.ts +3 -3
- package/dist/chat/describe-tool-call.js +3 -3
- package/dist/chat/message-text.d.ts +1 -1
- package/dist/chat/message-text.js +116 -48
- package/dist/chat/use-conversation-list.d.ts +6 -6
- package/dist/ciridae.css +16 -4
- package/dist/components/activity-feed.d.ts +3 -2
- package/dist/components/activity-feed.js +1 -0
- package/dist/components/agent-work.d.ts +3 -3
- package/dist/components/app-frame.d.ts +91 -0
- package/dist/components/app-frame.js +134 -0
- package/dist/components/app-navigation.d.ts +30 -3
- package/dist/components/app-navigation.js +105 -14
- package/dist/components/badge.d.ts +30 -5
- package/dist/components/badge.js +134 -15
- package/dist/components/brand-icons.d.ts +3 -3
- package/dist/components/bulk-action-bar.d.ts +1 -1
- package/dist/components/bulk-action-bar.js +3 -3
- package/dist/components/button.d.ts +12 -5
- package/dist/components/button.js +77 -44
- package/dist/components/calendar.d.ts +1 -1
- package/dist/components/calendar.js +44 -17
- package/dist/components/centered-page.d.ts +1 -1
- package/dist/components/centered-page.js +2 -2
- package/dist/components/chart.d.ts +22 -2
- package/dist/components/chart.js +251 -51
- package/dist/components/chat-client-source.d.ts +16 -0
- package/dist/components/chat-client-source.js +297 -0
- package/dist/components/chat-page.d.ts +9 -8
- package/dist/components/chat-page.js +7 -11
- package/dist/components/chat-sheet-controller.d.ts +11 -14
- package/dist/components/chat-sheet-controller.js +3 -3
- package/dist/components/chat-sheet.d.ts +18 -11
- package/dist/components/chat-sheet.js +188 -289
- package/dist/components/chat.d.ts +109 -19
- package/dist/components/chat.js +520 -124
- package/dist/components/checkbox-item.d.ts +6 -3
- package/dist/components/checkbox-item.js +9 -5
- package/dist/components/checkbox-list.d.ts +1 -1
- package/dist/components/chip.d.ts +6 -1
- package/dist/components/chip.js +27 -1
- package/dist/components/collapsible.d.ts +1 -1
- package/dist/components/color-theme.d.ts +1 -1
- package/dist/components/column-settings.d.ts +1 -1
- package/dist/components/column-settings.js +1 -1
- package/dist/components/command-menu.d.ts +5 -1
- package/dist/components/command-menu.js +98 -32
- package/dist/components/command-palette.d.ts +7 -3
- package/dist/components/command-palette.js +20 -11
- package/dist/components/copyable-id.d.ts +22 -5
- package/dist/components/copyable-id.js +46 -6
- package/dist/components/data-display.d.ts +39 -8
- package/dist/components/data-display.js +138 -19
- package/dist/components/data-grid.d.ts +23 -11
- package/dist/components/data-grid.js +61 -26
- package/dist/components/date-range-picker.d.ts +1 -1
- package/dist/components/date-range-picker.js +9 -20
- package/dist/components/date-time.d.ts +1 -1
- package/dist/components/dialog-height-context.d.ts +1 -1
- package/dist/components/document-viewer.d.ts +2 -2
- package/dist/components/drawer.d.ts +11 -6
- package/dist/components/drawer.js +91 -54
- package/dist/components/dropzone.d.ts +4 -4
- package/dist/components/editable-field.d.ts +12 -3
- package/dist/components/editable-field.js +57 -27
- package/dist/components/email-input.d.ts +1 -1
- package/dist/components/email-input.js +6 -5
- package/dist/components/environment-frame.d.ts +2 -2
- package/dist/components/environment-frame.js +37 -6
- package/dist/components/expandable-text.d.ts +1 -1
- package/dist/components/feedback-screenshot.d.ts +1 -1
- package/dist/components/feedback-sheet.d.ts +18 -3
- package/dist/components/feedback-sheet.js +216 -55
- package/dist/components/field-context.d.ts +1 -1
- package/dist/components/filter-bar.d.ts +3 -3
- package/dist/components/filter-bar.js +43 -29
- package/dist/components/form-controls.d.ts +12 -3
- package/dist/components/form-controls.js +46 -22
- package/dist/components/form-layout.d.ts +14 -10
- package/dist/components/form-layout.js +68 -23
- package/dist/components/glass-menu.d.ts +3 -0
- package/dist/components/glass-menu.js +63 -0
- package/dist/components/gradient-edge.d.ts +9 -0
- package/dist/components/gradient-edge.js +31 -0
- package/dist/components/hotkeys.d.ts +2 -2
- package/dist/components/icon.d.ts +1 -1
- package/dist/components/input.d.ts +7 -5
- package/dist/components/input.js +29 -17
- package/dist/components/keyboard-shortcuts.d.ts +2 -2
- package/dist/components/keycap.d.ts +10 -6
- package/dist/components/keycap.js +57 -19
- package/dist/components/layout.d.ts +13 -13
- package/dist/components/lightbox.d.ts +9 -3
- package/dist/components/lightbox.js +13 -9
- package/dist/components/link.d.ts +1 -1
- package/dist/components/locale.d.ts +42 -2
- package/dist/components/locale.js +43 -3
- package/dist/components/log-entry.d.ts +40 -0
- package/dist/components/log-entry.js +146 -0
- package/dist/components/log-list.d.ts +3 -3
- package/dist/components/mention-input.d.ts +2 -2
- package/dist/components/mention-input.js +4 -3
- package/dist/components/menu.d.ts +7 -3
- package/dist/components/menu.js +34 -37
- package/dist/components/meter.d.ts +10 -2
- package/dist/components/meter.js +64 -6
- package/dist/components/navigation.d.ts +21 -4
- package/dist/components/navigation.js +84 -19
- package/dist/components/notification-tray.d.ts +1 -1
- package/dist/components/notification-tray.js +5 -4
- package/dist/components/overlays.d.ts +6 -4
- package/dist/components/overlays.js +69 -40
- package/dist/components/page-frame.d.ts +4 -4
- package/dist/components/page-frame.js +1 -1
- package/dist/components/panel.d.ts +4 -4
- package/dist/components/panel.js +18 -12
- package/dist/components/profile-header.d.ts +1 -1
- package/dist/components/progress.d.ts +1 -1
- package/dist/components/project-avatar.d.ts +1 -1
- package/dist/components/radio-card.d.ts +2 -2
- package/dist/components/radio-card.js +10 -9
- package/dist/components/record.d.ts +29 -5
- package/dist/components/record.js +147 -18
- package/dist/components/resolved-file-url.d.ts +19 -0
- package/dist/components/resolved-file-url.js +49 -0
- package/dist/components/scroll-area.d.ts +1 -1
- package/dist/components/secret-dialog.d.ts +1 -1
- package/dist/components/segmented-bar.d.ts +4 -2
- package/dist/components/segmented-bar.js +16 -6
- package/dist/components/select.d.ts +9 -6
- package/dist/components/select.js +103 -127
- package/dist/components/settings.d.ts +4 -4
- package/dist/components/shell-skeleton.d.ts +1 -1
- package/dist/components/shell-skeleton.js +1 -1
- package/dist/components/shell.d.ts +21 -21
- package/dist/components/shell.js +43 -43
- package/dist/components/side-panel.d.ts +3 -3
- package/dist/components/sidebar.d.ts +13 -8
- package/dist/components/sidebar.js +55 -27
- package/dist/components/single-line-text.d.ts +2 -0
- package/dist/components/single-line-text.js +16 -0
- package/dist/components/site-banner.d.ts +5 -2
- package/dist/components/site-banner.js +17 -6
- package/dist/components/skeleton.d.ts +8 -7
- package/dist/components/skeleton.js +28 -16
- package/dist/components/skeletons.d.ts +17 -5
- package/dist/components/skeletons.js +71 -8
- package/dist/components/stages.d.ts +83 -11
- package/dist/components/stages.js +512 -156
- package/dist/components/stat-card.d.ts +12 -4
- package/dist/components/stat-card.js +92 -37
- package/dist/components/status-banner.d.ts +1 -1
- package/dist/components/status-banner.js +1 -1
- package/dist/components/status.d.ts +2 -2
- package/dist/components/steps.d.ts +1 -1
- package/dist/components/switch.d.ts +1 -1
- package/dist/components/tabs.d.ts +8 -8
- package/dist/components/tabs.js +26 -13
- package/dist/components/theme-customizer.d.ts +2 -2
- package/dist/components/theme-toggle.d.ts +4 -0
- package/dist/components/theme-toggle.js +67 -0
- package/dist/components/toast.d.ts +10 -3
- package/dist/components/toast.js +78 -29
- package/dist/components/use-new-version-available.d.ts +6 -0
- package/dist/components/use-new-version-available.js +29 -0
- package/dist/components/user-chip.d.ts +3 -3
- package/dist/components/wizard.d.ts +2 -2
- package/dist/feedback/contract.d.ts +136 -136
- package/dist/feedback/feedback-controller.d.ts +6 -6
- package/dist/feedback/generated/zod.gen.d.ts +28 -28
- package/dist/feedback/operator-contract.d.ts +11 -11
- package/dist/feedback/operator-controller.d.ts +32 -13
- package/dist/feedback/operator-controller.js +44 -11
- package/dist/preset.js +289 -33
- package/dist/styled-system/styles.css +3294 -1079
- package/dist/styled-system/tokens/index.mjs +598 -22
- package/dist/styled-system/tokens/tokens.d.ts +11 -11
- package/dist/styled-system/types/prop-type.d.ts +2 -2
- package/dist/styles.css +16 -4
- package/dist/theme/color.d.ts +3 -0
- package/dist/theme/color.js +5 -0
- package/dist/theme/derive.d.ts +9 -2
- package/dist/theme/derive.js +72 -12
- package/dist/theme/palettes.d.ts +49 -6
- package/dist/theme/palettes.js +84 -15
- package/dist/theme/tokens.d.ts +3 -3
- package/dist/theme/tokens.js +107 -32
- package/package.json +40 -3
package/dist/preset.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { definePreset } from "@pandacss/dev";
|
|
2
2
|
import { breakpointQuery } from "./theme/breakpoints.js";
|
|
3
|
+
import { linearGradient } from "./theme/color.js";
|
|
4
|
+
import { noEdge, themedGradient } from "./theme/derive.js";
|
|
3
5
|
import { deriveThemeTokens } from "./theme/tokens.js";
|
|
4
6
|
export { breakpointQuery, breakpoints } from "./theme/breakpoints.js";
|
|
5
7
|
export { PALETTE_NAMES } from "./theme/palettes.js";
|
|
@@ -16,6 +18,12 @@ const appBaseCss = {
|
|
|
16
18
|
":where(a)": { color: "inherit", textDecoration: "none" },
|
|
17
19
|
"*": { scrollbarWidth: "thin", scrollbarColor: "token(colors.border.control) transparent" },
|
|
18
20
|
};
|
|
21
|
+
/* The grey glass edge dark draws round a raised face, and round most of the hue glass. */
|
|
22
|
+
const darkGlassEdge = "linear-gradient(to bottom, rgba(137,136,135,.33), rgba(101,96,92,.33) 10%, rgba(43,41,39,.33) 90%, rgba(64,63,63,.33))";
|
|
23
|
+
/* An edge drawn as the grey glass in dark, and as a two-color gradient at .33 in light. */
|
|
24
|
+
function glassEdgeWithLightGradient(top, bottom) {
|
|
25
|
+
return { base: darkGlassEdge, _light: linearGradient("to bottom", [top, bottom], 0.33) };
|
|
26
|
+
}
|
|
19
27
|
/** The kit's tokens under a theme. Anything left out takes the default, which is today's look. */
|
|
20
28
|
export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
21
29
|
const { colors, gradients, shadows, fonts } = deriveThemeTokens(theme);
|
|
@@ -87,10 +95,6 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
87
95
|
},
|
|
88
96
|
},
|
|
89
97
|
keyframes: {
|
|
90
|
-
skeletonShimmer: {
|
|
91
|
-
from: { backgroundPosition: "150% 0" },
|
|
92
|
-
to: { backgroundPosition: "-50% 0" },
|
|
93
|
-
},
|
|
94
98
|
spin: { from: { transform: "rotate(0deg)" }, to: { transform: "rotate(360deg)" } },
|
|
95
99
|
livePulse: { "0%, 100%": { opacity: "1" }, "50%": { opacity: "0.35" } },
|
|
96
100
|
wizardEnterForward: {
|
|
@@ -125,12 +129,16 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
125
129
|
"control.largeInline": { value: "20px" },
|
|
126
130
|
// Inline padding on the side of a trigger that ends in its caret.
|
|
127
131
|
"control.iconInline": { value: "10px" },
|
|
132
|
+
// The assistant launcher's padding at its end, round the shortcut keycap.
|
|
133
|
+
"control.launcherInlineEnd": { value: "7px" },
|
|
128
134
|
// The underline search field keeps its icon close to the text's left edge.
|
|
129
135
|
"search.inline": { value: "4px" },
|
|
130
136
|
"field.block": { value: "10px" },
|
|
131
137
|
"layout.tightGap": { value: "4px" },
|
|
132
138
|
// Between a sidebar's groups, and the sidebar's own inset from the window edge.
|
|
133
|
-
"sidebar.groupGap": { value: "
|
|
139
|
+
"sidebar.groupGap": { value: "16px" },
|
|
140
|
+
// The least room between the sidebar's navigation and its footer.
|
|
141
|
+
"sidebar.footerGap": { value: "18px" },
|
|
134
142
|
"sidebar.inline": { value: "10px" },
|
|
135
143
|
"sidebar.block": { value: "14px" },
|
|
136
144
|
// A pill tab's inline padding, a little wider than a compact control's.
|
|
@@ -138,22 +146,47 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
138
146
|
"layout.controlGap": { value: "8px" },
|
|
139
147
|
"layout.contentGap": { value: "12px" },
|
|
140
148
|
"layout.clusterGap": { value: "16px" },
|
|
141
|
-
"layout.pageGap": { value: "
|
|
149
|
+
"layout.pageGap": { value: "12px" },
|
|
142
150
|
"layout.projectListOffset": { value: "28px" },
|
|
143
|
-
"layout.sectionGap": { value: "
|
|
151
|
+
"layout.sectionGap": { value: "12px" },
|
|
152
|
+
// Between a centered card's title, body and actions, such as a sign-in card's. The design
|
|
153
|
+
// draws no centered card; one card alone on an empty page keeps more room than the
|
|
154
|
+
// sections of an app page.
|
|
155
|
+
"layout.centeredCardGap": { value: "24px" },
|
|
144
156
|
"log.columnGap": { value: "10px" },
|
|
145
157
|
"log.detailIndent": { value: "34px" },
|
|
146
158
|
"log.detailIndentCompact": { value: "32px" },
|
|
147
159
|
"log.rowBlock": { value: "3px" },
|
|
160
|
+
// A log entry's padding: in a feed, a compact feed, and a side panel.
|
|
161
|
+
"log.entryBlock": { value: "14px" },
|
|
162
|
+
"log.entryInline": { value: "20px" },
|
|
163
|
+
"log.entryCompactBlock": { value: "8px" },
|
|
164
|
+
"log.entryPanelBlock": { value: "10px" },
|
|
165
|
+
"log.entryPanelInline": { value: "12px" },
|
|
148
166
|
"menu.inset": { value: "4px" },
|
|
149
167
|
"menu.itemInline": { value: "8px" },
|
|
150
168
|
// Between a sidebar row's avatar or mark and its label.
|
|
151
|
-
"sidebar.markGap": { value: "
|
|
169
|
+
"sidebar.markGap": { value: "8px" },
|
|
152
170
|
"panel.hairline": { value: "4px" },
|
|
153
171
|
"panel.compact": { value: "8px" },
|
|
154
172
|
"panel.default": { value: "12px" },
|
|
155
173
|
"panel.comfortable": { value: "16px" },
|
|
156
174
|
"panel.roomy": { value: "24px" },
|
|
175
|
+
// A card's padding, and a stat tile's.
|
|
176
|
+
"panel.card": { value: "20px" },
|
|
177
|
+
"tile.block": { value: "18px" },
|
|
178
|
+
"tile.inline": { value: "20px" },
|
|
179
|
+
// Between the bars of a stat tile's placeholder.
|
|
180
|
+
"skeleton.tileGap": { value: "10px" },
|
|
181
|
+
// An empty state's block padding on a page, and bare or in a compact spot.
|
|
182
|
+
"emptyState.pageBlock": { value: "56px" },
|
|
183
|
+
"emptyState.compactBlock": { value: "32px" },
|
|
184
|
+
// Between the stages on a stage strip.
|
|
185
|
+
"stage.connectorGap": { value: "10px" },
|
|
186
|
+
// Between a numbered list's number and its text, the kit's Numbered item.
|
|
187
|
+
"list.numberGap": { value: "10px" },
|
|
188
|
+
// Between a budget row's name and its meter, the kit's Budget row.
|
|
189
|
+
"meter.rowGap": { value: "36px" },
|
|
157
190
|
"panel.sidebarBlock": { value: "14px" },
|
|
158
191
|
"page.inline": { value: "12px" },
|
|
159
192
|
"shell.leading": { value: "28px" },
|
|
@@ -170,6 +203,8 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
170
203
|
"indicator.count": { value: "16px" },
|
|
171
204
|
"log.caretColumn": { value: "12px" },
|
|
172
205
|
"log.minimum": { value: "320px" },
|
|
206
|
+
// A log entry's time column.
|
|
207
|
+
"log.timeColumn": { value: "64px" },
|
|
173
208
|
"log.rawMaximum": { value: "200px" },
|
|
174
209
|
"assistant.orb": { value: "28px" },
|
|
175
210
|
"widget.header": { value: "40px" },
|
|
@@ -177,11 +212,14 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
177
212
|
"avatar.micro": { value: "12px" },
|
|
178
213
|
"avatar.small": { value: "20px" },
|
|
179
214
|
"avatar.menu": { value: "24px" },
|
|
180
|
-
"avatar.
|
|
215
|
+
"avatar.agent": { value: "26px" },
|
|
216
|
+
"avatar.row": { value: "32px" },
|
|
217
|
+
// A record's owner, and the stand-in when there is none.
|
|
218
|
+
"avatar.owner": { value: "28px" },
|
|
181
219
|
"avatar.large": { value: "44px" },
|
|
182
220
|
// A mark set inline beside a name -- an icon, a provider logo, a project tile -- so
|
|
183
221
|
// every kind lines up in one column and indents can count on its width.
|
|
184
|
-
"mark.inline": { value: "{fontSizes.icon.
|
|
222
|
+
"mark.inline": { value: "{fontSizes.icon.small}" },
|
|
185
223
|
"progress.track": { value: "6px" },
|
|
186
224
|
"progress.segment": { value: "3px" },
|
|
187
225
|
"indicator.swatch": { value: "8px" },
|
|
@@ -193,7 +231,20 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
193
231
|
"brand.logo": { value: "40px" },
|
|
194
232
|
"indicator.radio": { value: "6px" },
|
|
195
233
|
"skeleton.line": { value: "16px" },
|
|
234
|
+
// A skeleton's bar or pill, its small pill, and a caption line.
|
|
235
|
+
"skeleton.bar": { value: "20px" },
|
|
236
|
+
"skeleton.badge": { value: "16px" },
|
|
237
|
+
"skeleton.caption": { value: "8px" },
|
|
196
238
|
"skeleton.short": { value: "64px" },
|
|
239
|
+
// A status chip's placeholder, and the design's fixed text bar; the small one is
|
|
240
|
+
// `skeleton.caption`.
|
|
241
|
+
"skeleton.pill": { value: "84px" },
|
|
242
|
+
"skeleton.textLine": { value: "10px" },
|
|
243
|
+
// A stat tile's height, which its placeholder and its empty stand-in hold; a card's
|
|
244
|
+
// placeholder, and the band its bars sit centred in.
|
|
245
|
+
"tile.minimum": { value: "96px" },
|
|
246
|
+
"skeleton.card": { value: "300px" },
|
|
247
|
+
"skeleton.cardBody": { value: "150px" },
|
|
197
248
|
"skeleton.medium": { value: "120px" },
|
|
198
249
|
"skeleton.long": { value: "200px" },
|
|
199
250
|
// A chart's height, which its loading placeholder holds.
|
|
@@ -210,30 +261,61 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
210
261
|
"control.clear": { value: "20px" },
|
|
211
262
|
// A step chip or small badge in a row of text.
|
|
212
263
|
"control.chip": { value: "22px" },
|
|
264
|
+
// A keycap that holds a word such as Esc rather than one glyph.
|
|
265
|
+
"control.wordKeycap": { value: "35px" },
|
|
266
|
+
// The composer's send button.
|
|
267
|
+
"control.send": { value: "26px" },
|
|
213
268
|
"control.small": { value: "30px" },
|
|
269
|
+
// A tab at rest: 2px under the open one, which fills its 30px track.
|
|
270
|
+
"control.restingTab": { value: "28px" },
|
|
214
271
|
"control.row": { value: "34px" },
|
|
272
|
+
// A round icon button in the top bar or a pager, and the smaller one that closes a sheet.
|
|
273
|
+
"control.round": { value: "34px" },
|
|
274
|
+
"control.roundSmall": { value: "28px" },
|
|
275
|
+
"control.sidebarSearch": { value: "36px" },
|
|
276
|
+
// The square tile an icon sits on beside a row's title.
|
|
277
|
+
// The disc a numbered list's number sits in.
|
|
278
|
+
"list.number": { value: "20px" },
|
|
279
|
+
"tile.icon": { value: "32px" },
|
|
280
|
+
// The parts rollup's line, in place of the stage strip.
|
|
281
|
+
"partsRollup.height": { value: "26px" },
|
|
282
|
+
// A stat tile's chart slot, and the line's plot at its foot, under the end point's room.
|
|
283
|
+
"sparkline.width": { value: "88px" },
|
|
284
|
+
"sparkline.height": { value: "32px" },
|
|
285
|
+
"sparkline.plotWidth": { value: "84px" },
|
|
286
|
+
"sparkline.plotHeight": { value: "25px" },
|
|
215
287
|
"control.shortcut": { value: "24px" },
|
|
216
288
|
"control.compact": { value: "32px" },
|
|
217
289
|
"control.default": { value: "38px" },
|
|
218
290
|
"control.search": { value: "40px" },
|
|
219
291
|
// The widest a page's search field grows beside its filters.
|
|
220
292
|
"control.searchField": { value: "420px" },
|
|
221
|
-
"workspace.mark": { value: "
|
|
293
|
+
"workspace.mark": { value: "26px" },
|
|
222
294
|
"workspace.avatar": { value: "34px" },
|
|
223
295
|
"control.field": { value: "46px" },
|
|
224
296
|
"sidebar.projectAction": { value: "48px" },
|
|
297
|
+
// The rule between the icon rail's sections.
|
|
298
|
+
"sidebar.railRule": { value: "24px" },
|
|
299
|
+
// A sidebar row shorter than a page's, such as the settings sidebar's Back to app.
|
|
300
|
+
"sidebar.shortRow": { value: "28px" },
|
|
225
301
|
"toast.minimum": { value: "56px" },
|
|
226
302
|
"chat.footer": { value: "60px" },
|
|
227
303
|
"shell.header": { value: "54px" },
|
|
228
|
-
"shell.collapsed": { value: "
|
|
304
|
+
"shell.collapsed": { value: "64px" },
|
|
229
305
|
"table.scroll": { value: "min(70vh, 720px)" },
|
|
230
|
-
"
|
|
306
|
+
"table.headRow": { value: "44px" },
|
|
307
|
+
// A textarea at rest: two lines of body text in its well; it grows as it is dragged.
|
|
308
|
+
"field.textarea": { value: "64px" },
|
|
309
|
+
// An input set inline in a row.
|
|
310
|
+
"field.inline": { value: "28px" },
|
|
231
311
|
"chat.input": { value: "87px" },
|
|
232
312
|
"chat.inputMobile": { value: "72px" },
|
|
233
313
|
"chat.composerMinimum": { value: "149px" },
|
|
234
314
|
"overlay.menu": { value: "200px" },
|
|
235
315
|
// The tallest a select's or combobox's list grows before it scrolls.
|
|
236
316
|
"overlay.menuList": { value: "320px" },
|
|
317
|
+
// A stuck step's "Not sure?" menu of ways forward.
|
|
318
|
+
"overlay.helpMenu": { value: "360px" },
|
|
237
319
|
// The notification tray as a popover from the bell, and how much of its list shows.
|
|
238
320
|
"overlay.tray": { value: "380px" },
|
|
239
321
|
"overlay.trayList": { value: "min(60vh, 480px)" },
|
|
@@ -246,9 +328,14 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
246
328
|
"emptyState.minimum": { value: "200px" },
|
|
247
329
|
"search.regularPreview": { value: "250px" },
|
|
248
330
|
"search.sidebarPreview": { value: "264px" },
|
|
249
|
-
"calendar.width": { value: "268px" },
|
|
250
331
|
"shell.sidebar": { value: "248px" },
|
|
251
|
-
|
|
332
|
+
// A dialog's sheet, and the command palette's; the glass shell round each adds its padding.
|
|
333
|
+
"overlay.dialog": { value: "440px" },
|
|
334
|
+
"overlay.palette": { value: "640px" },
|
|
335
|
+
// The command palette's query row, a result row and its footer of key hints.
|
|
336
|
+
"commandPalette.query": { value: "56px" },
|
|
337
|
+
"commandPalette.row": { value: "40px" },
|
|
338
|
+
"commandPalette.footer": { value: "44px" },
|
|
252
339
|
"overlay.dialogWide": { value: "720px" },
|
|
253
340
|
// The floating drawer's sheet, inside its 8px shell.
|
|
254
341
|
"overlay.sheet": { value: "480px" },
|
|
@@ -257,6 +344,9 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
257
344
|
"overlay.sheetNarrow": { value: "400px" },
|
|
258
345
|
"overlay.sheetDocked": { value: "clamp(400px, 29.7vw, 488px)" },
|
|
259
346
|
"toast.width": { value: "440px" },
|
|
347
|
+
// A toast's progress track.
|
|
348
|
+
"toast.progressWidth": { value: "72px" },
|
|
349
|
+
"toast.progressHeight": { value: "4px" },
|
|
260
350
|
"chat.thread": { value: "640px" },
|
|
261
351
|
"chat.composer": { value: "640px" },
|
|
262
352
|
// A user bubble in the agent sheet leaves room on its left, as a reply would.
|
|
@@ -272,13 +362,26 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
272
362
|
"checklist.maximum": { value: "280px" },
|
|
273
363
|
"page.maximum": { value: "1440px" },
|
|
274
364
|
},
|
|
275
|
-
opacity: {
|
|
365
|
+
opacity: {
|
|
366
|
+
disabled: { value: ".5" },
|
|
367
|
+
// A locked step's dot, and a locked requirement's row, which keeps a little more.
|
|
368
|
+
"locked.step": { value: ".5" },
|
|
369
|
+
"locked.requirement": { value: ".55" },
|
|
370
|
+
// A round icon button fades further.
|
|
371
|
+
disabledRound: { value: ".25" },
|
|
372
|
+
// A ticked mark under the pointer, in dark: the face and its glyph fade a little.
|
|
373
|
+
checkedHover: { value: ".88" },
|
|
374
|
+
},
|
|
276
375
|
fontWeights: {
|
|
277
376
|
regular: { value: "400" },
|
|
278
377
|
medium: { value: "500" },
|
|
279
378
|
semibold: { value: "600" },
|
|
280
379
|
},
|
|
281
|
-
letterSpacings: {
|
|
380
|
+
letterSpacings: {
|
|
381
|
+
compact: { value: "-.01em" },
|
|
382
|
+
label: { value: ".04em" },
|
|
383
|
+
display: { value: "-.02em" },
|
|
384
|
+
},
|
|
282
385
|
fonts: {
|
|
283
386
|
display: { value: fonts.display },
|
|
284
387
|
sans: { value: fonts.sans },
|
|
@@ -286,12 +389,15 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
286
389
|
mono: { value: fonts.mono },
|
|
287
390
|
},
|
|
288
391
|
lineHeights: {
|
|
392
|
+
// A single line, its box the type's own height. Text that can wrap takes another.
|
|
289
393
|
tight: { value: "1" },
|
|
290
394
|
compact: { value: "1.25" },
|
|
291
395
|
log: { value: "1.4" },
|
|
292
|
-
body: { value: "1.
|
|
396
|
+
body: { value: "1.4" },
|
|
293
397
|
},
|
|
294
398
|
fontSizes: {
|
|
399
|
+
// The largest figure on a page, set with `letterSpacings.display`.
|
|
400
|
+
display: { value: "36px" },
|
|
295
401
|
body: { value: "14px" },
|
|
296
402
|
caption: { value: "13px" },
|
|
297
403
|
code: { value: "12px" },
|
|
@@ -333,12 +439,16 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
333
439
|
},
|
|
334
440
|
radii: {
|
|
335
441
|
round: { value: "999px" },
|
|
442
|
+
// A sidebar nav item.
|
|
443
|
+
nav: { value: "3px" },
|
|
336
444
|
keycap: { value: "6px" },
|
|
337
445
|
// Round 2 fields -- inputs, selects, checkboxes -- are nearly square-cornered.
|
|
338
446
|
control: { value: "4px" },
|
|
339
447
|
action: { value: "8px" },
|
|
340
448
|
field: { value: "12px" },
|
|
341
449
|
inset: { value: "12px" },
|
|
450
|
+
// The glass shell round a modal or drawer, the active nav pill, and a parallel chip.
|
|
451
|
+
shell: { value: "16px" },
|
|
342
452
|
card: { value: "24px" },
|
|
343
453
|
pill: { value: "36px" },
|
|
344
454
|
},
|
|
@@ -350,9 +460,13 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
350
460
|
"bg.panel": { value: colors["bg.panel"] },
|
|
351
461
|
"bg.card": { value: colors["bg.card"] },
|
|
352
462
|
"bg.avatar": { value: colors["bg.avatar"] },
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
},
|
|
463
|
+
// The modal scrim, and the overlays' glass; see `deriveThemeTokens`.
|
|
464
|
+
"bg.backdrop": { value: colors["bg.backdrop"] },
|
|
465
|
+
"bg.popover": { value: colors["bg.popover"] },
|
|
466
|
+
"bg.modalShell": { value: colors["bg.modalShell"] },
|
|
467
|
+
"bg.modalSheet": { value: colors["bg.modalSheet"] },
|
|
468
|
+
"bg.drawerShell": { value: colors["bg.drawerShell"] },
|
|
469
|
+
"bg.drawerSheet": { value: colors["bg.drawerSheet"] },
|
|
356
470
|
// The status hues as washes, drawn from the palette.
|
|
357
471
|
"bg.infoSubtle": { value: colors["bg.infoSubtle"] },
|
|
358
472
|
"bg.successSubtle": { value: colors["bg.successSubtle"] },
|
|
@@ -360,20 +474,27 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
360
474
|
"bg.errorSubtle": { value: colors["bg.errorSubtle"] },
|
|
361
475
|
"fg.archived": { value: colors["fg.archived"] },
|
|
362
476
|
"border.subtle": { value: colors["border.subtle"] },
|
|
363
|
-
//
|
|
477
|
+
// Focus is the palette's focus ring: Accent Blue in ciridae, the accent in the others.
|
|
364
478
|
"border.focus": { value: colors["border.focus"] },
|
|
365
479
|
// The greys, from the palette's ramp; see `deriveThemeTokens`.
|
|
366
480
|
"fg.primary": { value: colors["fg.primary"] },
|
|
367
481
|
"fg.muted": { value: colors["fg.muted"] },
|
|
368
482
|
"fg.secondary": { value: colors["fg.secondary"] },
|
|
369
483
|
"fg.subtle": { value: colors["fg.subtle"] },
|
|
484
|
+
"fg.quietGlyph": { value: colors["fg.quietGlyph"] },
|
|
485
|
+
"fg.label": { value: colors["fg.label"] },
|
|
370
486
|
"border.control": { value: colors["border.control"] },
|
|
487
|
+
"border.canvas": { value: colors["border.canvas"] },
|
|
488
|
+
"border.divider": { value: colors["border.divider"] },
|
|
489
|
+
"border.menuHover": { value: colors["border.menuHover"] },
|
|
371
490
|
"bg.field": { value: colors["bg.field"] },
|
|
491
|
+
"bg.formField": { value: colors["bg.formField"] },
|
|
492
|
+
"bg.openTrigger": { value: colors["bg.openTrigger"] },
|
|
372
493
|
"bg.fieldDisabled": { value: colors["bg.fieldDisabled"] },
|
|
373
494
|
"border.mark": { value: colors["border.mark"] },
|
|
374
|
-
// A field's edge once invalid: the
|
|
495
|
+
// A field's edge once invalid: the palette's red, at full strength in both themes.
|
|
375
496
|
"border.error": { value: colors["border.error"] },
|
|
376
|
-
// A hovered row is a grey wash; a selected row, tab, segment or card is
|
|
497
|
+
// A hovered row is a grey wash; a selected row, tab, segment or card is a neutral wash too.
|
|
377
498
|
"bg.rowHover": { value: colors["bg.rowHover"] },
|
|
378
499
|
"bg.selected": { value: colors["bg.selected"] },
|
|
379
500
|
"bg.selectedHover": { value: colors["bg.selectedHover"] },
|
|
@@ -383,13 +504,13 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
383
504
|
"border.panel": { value: colors["border.panel"] },
|
|
384
505
|
"border.card": { value: colors["border.card"] },
|
|
385
506
|
"border.glass": { value: colors["border.glass"] },
|
|
386
|
-
"border.toolbar": { value: colors["border.toolbar"] },
|
|
387
507
|
"border.hairline": { value: colors["border.hairline"] },
|
|
388
508
|
/*
|
|
389
|
-
* The faces
|
|
390
|
-
*
|
|
391
|
-
* `bg.raised` are the toolbar control and the button; `bg.hover` and `bg.
|
|
392
|
-
* the grey
|
|
509
|
+
* The flat faces; see `deriveThemeTokens`. `bg.surface` lifts a dialog or drawer off
|
|
510
|
+
* the card; `bg.control` is what a field or tab track wears; `bg.glass` and
|
|
511
|
+
* `bg.raised` are the toolbar control and the button; `bg.hover` and `bg.pressed` are
|
|
512
|
+
* the state layers and `bg.fill` the firmer grey fill. A face the design paints as a
|
|
513
|
+
* gradient has one under `gradients` too.
|
|
393
514
|
*/
|
|
394
515
|
"bg.surface": { value: colors["bg.surface"] },
|
|
395
516
|
"bg.control": { value: colors["bg.control"] },
|
|
@@ -400,6 +521,8 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
400
521
|
"bg.raisedHover": { value: colors["bg.raisedHover"] },
|
|
401
522
|
"bg.check": { value: colors["bg.check"] },
|
|
402
523
|
"bg.hover": { value: colors["bg.hover"] },
|
|
524
|
+
"bg.controlHover": { value: colors["bg.controlHover"] },
|
|
525
|
+
"bg.pressed": { value: colors["bg.pressed"] },
|
|
403
526
|
"bg.fill": { value: colors["bg.fill"] },
|
|
404
527
|
/*
|
|
405
528
|
* `primary` inverts: white on a dark panel, near-black on a light one. Light has no
|
|
@@ -411,14 +534,38 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
411
534
|
"bg.tinted": { value: colors["bg.tinted"] },
|
|
412
535
|
/* The destructive button's red. */
|
|
413
536
|
"bg.danger": { value: { base: "#F67C6A", _light: "#F36B57" } },
|
|
414
|
-
|
|
537
|
+
/*
|
|
538
|
+
* The solid tint of an attention block or a highlighted field, the same in every
|
|
539
|
+
* palette as the destructive red is; `border.*Tint` under `gradients` edges a block.
|
|
540
|
+
* Yellow is the design's 5% wash in dark. Dark draws a green or red block as its hue's
|
|
541
|
+
* glass, which these flatten to its middle.
|
|
542
|
+
*/
|
|
543
|
+
"bg.warningTint": { value: { base: "rgba(255,205,123,.05)", _light: "#F6F3ED" } },
|
|
544
|
+
"bg.successTint": { value: { base: "rgba(189,251,255,.1)", _light: "#DFEFEC" } },
|
|
545
|
+
"bg.errorTint": { value: { base: "rgba(249,211,205,.1)", _light: "#FFF2F2" } },
|
|
546
|
+
// Links take the palette's accent; the four status hues keep their meaning.
|
|
415
547
|
"accent.brand": { value: colors["accent.brand"] },
|
|
416
548
|
"accent.green": { value: colors["accent.green"] },
|
|
549
|
+
"accent.greenDark": { value: colors["accent.greenDark"] },
|
|
417
550
|
"accent.red": { value: colors["accent.red"] },
|
|
551
|
+
"accent.redDark": { value: colors["accent.redDark"] },
|
|
418
552
|
"accent.yellow": { value: colors["accent.yellow"] },
|
|
553
|
+
"accent.yellowIcon": { value: colors["accent.yellowIcon"] },
|
|
419
554
|
"accent.blue": { value: colors["accent.blue"] },
|
|
420
555
|
"accent.bronze": { value: colors["accent.bronze"] },
|
|
421
556
|
"border.bronze": { value: colors["border.bronze"] },
|
|
557
|
+
// Data marks, never UI; see `derivePaletteTokens`.
|
|
558
|
+
"chart.bar": { value: colors["chart.bar"] },
|
|
559
|
+
"chart.trend": { value: colors["chart.trend"] },
|
|
560
|
+
"chart.category1": { value: colors["chart.category1"] },
|
|
561
|
+
"chart.category2": { value: colors["chart.category2"] },
|
|
562
|
+
"chart.category3": { value: colors["chart.category3"] },
|
|
563
|
+
"chart.category4": { value: colors["chart.category4"] },
|
|
564
|
+
"chart.barTrack": { value: colors["chart.barTrack"] },
|
|
565
|
+
"chart.progressTrack": { value: colors["chart.progressTrack"] },
|
|
566
|
+
"chart.atRiskTrack": { value: colors["chart.atRiskTrack"] },
|
|
567
|
+
"chart.neutral": { value: colors["chart.neutral"] },
|
|
568
|
+
"chart.notStarted": { value: colors["chart.notStarted"] },
|
|
422
569
|
/*
|
|
423
570
|
* Text sitting on a filled accent. Deliberately the same in both themes:
|
|
424
571
|
* the accent it sits on stays saturated, so a value that followed the
|
|
@@ -433,10 +580,16 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
433
580
|
_light: "inset 0 1px 1px rgba(255,255,255,.18), inset 0 -1px 1px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.08)",
|
|
434
581
|
},
|
|
435
582
|
},
|
|
436
|
-
// The shadows cast in the palette's greys
|
|
583
|
+
// The shadows `deriveThemeTokens` sets, most cast in the palette's greys.
|
|
437
584
|
search: { value: shadows.search },
|
|
438
585
|
inset: { value: shadows.inset },
|
|
586
|
+
// A card's elevation, and the softer one of a sheet, toast or chip, or the segment that is on.
|
|
439
587
|
card: { value: shadows.card },
|
|
588
|
+
soft: { value: shadows.soft },
|
|
589
|
+
// The faint glow round a drawer's glass shell; light only.
|
|
590
|
+
drawerShell: {
|
|
591
|
+
value: { base: "none", _light: "0 0 12px rgba(136,136,140,.08)" },
|
|
592
|
+
},
|
|
440
593
|
focus: { value: shadows.focus },
|
|
441
594
|
panel: {
|
|
442
595
|
value: { base: "0 4px 124px rgba(0,0,0,.25)", _light: "0 4px 124px rgba(0,0,0,.12)" },
|
|
@@ -454,11 +607,114 @@ export function createCiridaePreset({ appBase = false, ...theme } = {}) {
|
|
|
454
607
|
"control.pressed": { value: shadows["control.pressed"] },
|
|
455
608
|
},
|
|
456
609
|
gradients: {
|
|
457
|
-
|
|
458
|
-
|
|
610
|
+
// A loading placeholder's flat fill.
|
|
611
|
+
skeletonFill: { value: gradients.skeletonFill },
|
|
459
612
|
orb: {
|
|
460
613
|
value: "radial-gradient(circle at 70% 24%, rgba(232,224,195,.9) 0 9%, transparent 11%), linear-gradient(180deg, #E8E0C3, #46361D)",
|
|
461
614
|
},
|
|
615
|
+
/*
|
|
616
|
+
* The faces the design paints as gradients, most with a flat `bg.*` sibling near its
|
|
617
|
+
* middle; see `deriveThemeTokens`. The destructive face is the same red in every palette,
|
|
618
|
+
* as `bg.danger` is.
|
|
619
|
+
*/
|
|
620
|
+
canvas: { value: gradients.canvas },
|
|
621
|
+
panel: { value: gradients.panel },
|
|
622
|
+
card: { value: gradients.card },
|
|
623
|
+
raised: { value: gradients.raised },
|
|
624
|
+
raisedHover: { value: gradients.raisedHover },
|
|
625
|
+
selected: { value: gradients.selected },
|
|
626
|
+
rowHover: { value: gradients.rowHover },
|
|
627
|
+
primary: { value: gradients.primary },
|
|
628
|
+
tinted: { value: gradients.tinted },
|
|
629
|
+
danger: {
|
|
630
|
+
value: {
|
|
631
|
+
base: "linear-gradient(to bottom, #F69385, #F7644F)",
|
|
632
|
+
_light: "linear-gradient(to bottom, #F48272, #F2533C)",
|
|
633
|
+
},
|
|
634
|
+
},
|
|
635
|
+
/*
|
|
636
|
+
* The 1px edges a face draws as a gradient, through `[data-edge]`. Dark draws no edge
|
|
637
|
+
* on the primary or destructive face.
|
|
638
|
+
*/
|
|
639
|
+
"border.raised": { value: glassEdgeWithLightGradient("#BCB6B6", "#9C9A9A") },
|
|
640
|
+
"border.primary": {
|
|
641
|
+
value: {
|
|
642
|
+
base: noEdge,
|
|
643
|
+
_light: "linear-gradient(to bottom, rgba(51,51,55,.33), rgba(74,70,66,.33) 10%, rgba(55,52,48,.33) 90%, rgba(51,51,55,.33))",
|
|
644
|
+
},
|
|
645
|
+
},
|
|
646
|
+
"border.danger": {
|
|
647
|
+
value: {
|
|
648
|
+
base: noEdge,
|
|
649
|
+
_light: "linear-gradient(to bottom, rgba(195,81,81,.33), rgba(142,61,61,.33))",
|
|
650
|
+
},
|
|
651
|
+
},
|
|
652
|
+
"border.tinted": { value: gradients["border.tinted"] },
|
|
653
|
+
// The edge of a workspace mark other than the current one: flat in dark.
|
|
654
|
+
"border.otherWorkspaceMark": {
|
|
655
|
+
value: {
|
|
656
|
+
base: linearGradient("to bottom", ["#3C3C3C", "#3C3C3C"], 0.66),
|
|
657
|
+
_light: linearGradient("to bottom", ["#D8D8D8", "#CCCBCB"], 0.66),
|
|
658
|
+
},
|
|
659
|
+
},
|
|
660
|
+
// The selected face's edge, round a user's chat bubble.
|
|
661
|
+
"border.selected": {
|
|
662
|
+
value: {
|
|
663
|
+
base: darkGlassEdge,
|
|
664
|
+
_light: linearGradient("to bottom", ["#D8D8D8", "#CCCBCB"], 0.66),
|
|
665
|
+
},
|
|
666
|
+
},
|
|
667
|
+
// A chart's area under its trend line, and a progress bar on track and at risk.
|
|
668
|
+
"chart.area": { value: gradients["chart.area"] },
|
|
669
|
+
"chart.progress": { value: gradients["chart.progress"] },
|
|
670
|
+
"chart.atRisk": { value: gradients["chart.atRisk"] },
|
|
671
|
+
/*
|
|
672
|
+
* The hue glass a badge, a step or the current stage wears, each with its edge: .66 in
|
|
673
|
+
* light and .10 in dark, the done step stronger in dark. Yellow's is `tinted`. The same
|
|
674
|
+
* in every palette, as the destructive red is.
|
|
675
|
+
*/
|
|
676
|
+
infoGlass: {
|
|
677
|
+
value: themedGradient("to bottom", { base: ["#FFFFFF", "#A4D5F8"], _light: ["#F4F5F5", "#E2F2FF"] }, { base: 0.1, _light: 0.66 }),
|
|
678
|
+
},
|
|
679
|
+
successGlass: {
|
|
680
|
+
value: themedGradient("to bottom", { base: ["#FFFFFF", "#7BF6FF"], _light: ["#ECECEC", "#DFEFEC"] }, { base: 0.1, _light: 0.66 }),
|
|
681
|
+
},
|
|
682
|
+
dangerGlass: {
|
|
683
|
+
value: themedGradient("to bottom", { base: ["#FFFFFF", "#F3A69B"], _light: ["#FDFDFD", "#E8DAD9"] }, { base: 0.1, _light: 0.66 }),
|
|
684
|
+
},
|
|
685
|
+
stepDoneGlass: {
|
|
686
|
+
value: themedGradient("to bottom", { base: ["#BEE1DB", "#327A6E"], _light: ["#ECECEC", "#DFEFEC"] }, { base: 0.6, _light: 0.66 }),
|
|
687
|
+
},
|
|
688
|
+
currentStageGlass: {
|
|
689
|
+
value: themedGradient("to bottom", { base: ["#FFFFFF", "#FFCD7B"], _light: ["#F3F3F3", "#FDF4DF"] }, { base: 0.1, _light: 0.66 }),
|
|
690
|
+
},
|
|
691
|
+
"border.infoGlass": { value: glassEdgeWithLightGradient("#B9E4FF", "#88AFCC") },
|
|
692
|
+
"border.successGlass": { value: glassEdgeWithLightGradient("#AEF3E5", "#96BFB9") },
|
|
693
|
+
"border.dangerGlass": { value: glassEdgeWithLightGradient("#DABBBB", "#A68181") },
|
|
694
|
+
"border.stepDoneGlass": {
|
|
695
|
+
value: themedGradient("to bottom", { base: ["#BEE1DB", "#327A6E"], _light: ["#9FCCC3", "#589D92"] }, { base: 0.6, _light: 0.33 }),
|
|
696
|
+
},
|
|
697
|
+
"border.currentStageGlass": { value: glassEdgeWithLightGradient("#EEDFBA", "#E8C674") },
|
|
698
|
+
// The edge of an attention block on its `bg.*Tint`: your move, ready and stuck.
|
|
699
|
+
"border.warningTint": {
|
|
700
|
+
value: themedGradient("to bottom", { base: ["#FFF1C9", "#A47D28"], _light: ["#DBCAA9", "#987C38"] }, { base: 0.15, _light: 0.33 }),
|
|
701
|
+
},
|
|
702
|
+
"border.successTint": {
|
|
703
|
+
value: themedGradient("to bottom", { base: ["#BEE1DB", "#327A6E"], _light: ["#9FCCC3", "#589D92"] }, { base: 0.15, _light: 0.33 }),
|
|
704
|
+
},
|
|
705
|
+
"border.errorTint": {
|
|
706
|
+
value: themedGradient("to bottom", { base: ["#FCC9C1", "#B24839"], _light: ["#C35151", "#8E3D3D"] }, { base: 0.15, _light: 0.33 }),
|
|
707
|
+
},
|
|
708
|
+
},
|
|
709
|
+
/*
|
|
710
|
+
* The overlays' backdrop blur, by role: a popover or menu, a modal's glass shell and its
|
|
711
|
+
* sheet, a drawer's shell. Dark blurs a modal's shell; light blurs its sheet.
|
|
712
|
+
*/
|
|
713
|
+
blurs: {
|
|
714
|
+
popover: { value: { base: "64px", _light: "128px" } },
|
|
715
|
+
modalShell: { value: { base: "64px", _light: "8px" } },
|
|
716
|
+
modalSheet: { value: { base: "0px", _light: "128px" } },
|
|
717
|
+
drawerShell: { value: "16px" },
|
|
462
718
|
},
|
|
463
719
|
},
|
|
464
720
|
},
|