@lilydesignsystem/themes 0.1.0 → 0.2.0
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/abyss.css +355 -3
- package/dist/acid.css +355 -3
- package/dist/adobe-spectrum.css +355 -3
- package/dist/aqua.css +355 -3
- package/dist/autumn.css +355 -3
- package/dist/black.css +355 -3
- package/dist/bumblebee.css +355 -3
- package/dist/business.css +355 -3
- package/dist/caramellatte.css +355 -3
- package/dist/cmyk.css +355 -3
- package/dist/coffee.css +355 -3
- package/dist/corporate.css +355 -3
- package/dist/cupcake.css +355 -3
- package/dist/cyberpunk.css +355 -3
- package/dist/dark.css +355 -3
- package/dist/dim.css +355 -3
- package/dist/dracula.css +355 -3
- package/dist/emerald.css +355 -3
- package/dist/fantasy.css +355 -3
- package/dist/forest.css +355 -3
- package/dist/garden.css +355 -3
- package/dist/halloween.css +355 -3
- package/dist/lemonade.css +355 -3
- package/dist/light.css +355 -3
- package/dist/lofi.css +355 -3
- package/dist/luxury.css +355 -3
- package/dist/mozilla-protocol.css +355 -3
- package/dist/night.css +355 -3
- package/dist/nord.css +355 -3
- package/dist/pastel.css +355 -3
- package/dist/retro.css +355 -3
- package/dist/silk.css +355 -3
- package/dist/sunset.css +355 -3
- package/dist/synthwave.css +355 -3
- package/dist/united-kingdom-government-digital-service.css +355 -3
- package/dist/united-kingdom-national-health-service-england-for-patients.css +355 -3
- package/dist/united-kingdom-national-health-service-england-for-practitioners.css +355 -3
- package/dist/united-kingdom-national-health-service-scotland-for-patients.css +355 -3
- package/dist/united-kingdom-national-health-service-scotland-for-practitioners.css +355 -3
- package/dist/united-kingdom-national-health-service-wales-for-patients.css +355 -3
- package/dist/united-kingdom-national-health-service-wales-for-practitioners.css +355 -3
- package/dist/united-states-web-design-system.css +355 -3
- package/dist/valentine.css +355 -3
- package/dist/winter.css +355 -3
- package/dist/wireframe.css +355 -3
- package/package.json +1 -1
package/dist/winter.css
CHANGED
|
@@ -2070,6 +2070,7 @@
|
|
|
2070
2070
|
.theme-picker,
|
|
2071
2071
|
.locale-picker,
|
|
2072
2072
|
.text-size-picker,
|
|
2073
|
+
.search-picker,
|
|
2073
2074
|
.share-picker,
|
|
2074
2075
|
.date-time-picker
|
|
2075
2076
|
) {
|
|
@@ -2081,6 +2082,7 @@
|
|
|
2081
2082
|
.theme-picker-button,
|
|
2082
2083
|
.locale-picker-button,
|
|
2083
2084
|
.text-size-picker-button,
|
|
2085
|
+
.search-picker-button,
|
|
2084
2086
|
.share-picker-button,
|
|
2085
2087
|
.date-time-picker-button
|
|
2086
2088
|
) {
|
|
@@ -2116,7 +2118,8 @@
|
|
|
2116
2118
|
.locale-picker-icon,
|
|
2117
2119
|
.text-size-picker-icon,
|
|
2118
2120
|
.motion-picker-icon,
|
|
2119
|
-
.share-picker-icon
|
|
2121
|
+
.share-picker-icon,
|
|
2122
|
+
.search-picker-icon
|
|
2120
2123
|
) {
|
|
2121
2124
|
display: inline-flex;
|
|
2122
2125
|
align-items: center;
|
|
@@ -2195,11 +2198,359 @@
|
|
|
2195
2198
|
line-height: 0;
|
|
2196
2199
|
}
|
|
2197
2200
|
|
|
2201
|
+
/* Components added 2026-10-05: kbd-shortcut, show-more, thinking,
|
|
2202
|
+
empty-state, file-tree, one-time-password-input, multi-select, and
|
|
2203
|
+
the four calendar views. The calendar views reuse the
|
|
2204
|
+
calendar-table-* sub-element hooks, so they only need the table
|
|
2205
|
+
root rule. show-more's clamp is keyed on data-expanded (the
|
|
2206
|
+
component never sets an inline style); file-tree hides a closed
|
|
2207
|
+
folder's group via aria-expanded. */
|
|
2208
|
+
:where(.calendar-year-table, .calendar-month-table, .calendar-week-table, .calendar-day-table) {
|
|
2209
|
+
width: 100%;
|
|
2210
|
+
border-collapse: collapse;
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
:where(.kbd-shortcut) {
|
|
2214
|
+
display: inline-flex;
|
|
2215
|
+
align-items: center;
|
|
2216
|
+
gap: var(--lily-space-xs);
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
:where(.kbd-shortcut-key) {
|
|
2220
|
+
display: inline-block;
|
|
2221
|
+
padding: 0.125rem 0.4rem;
|
|
2222
|
+
font-family: var(--lily-font-mono);
|
|
2223
|
+
font-size: 0.85em;
|
|
2224
|
+
background-color: var(--lily-surface-alt);
|
|
2225
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2226
|
+
border-bottom-width: 2px;
|
|
2227
|
+
border-radius: var(--lily-radius-sm);
|
|
2228
|
+
}
|
|
2229
|
+
|
|
2230
|
+
:where(.show-more-content[data-expanded="false"]) {
|
|
2231
|
+
max-height: 6em;
|
|
2232
|
+
overflow: hidden;
|
|
2233
|
+
}
|
|
2234
|
+
|
|
2235
|
+
:where(.show-more-button) {
|
|
2236
|
+
margin-block-start: var(--lily-space-xs);
|
|
2237
|
+
padding: var(--lily-space-xs);
|
|
2238
|
+
font: inherit;
|
|
2239
|
+
color: inherit;
|
|
2240
|
+
text-decoration: underline;
|
|
2241
|
+
background: none;
|
|
2242
|
+
border: 0;
|
|
2243
|
+
cursor: pointer;
|
|
2244
|
+
}
|
|
2245
|
+
|
|
2246
|
+
:where(.thinking) {
|
|
2247
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2248
|
+
color: var(--lily-text-muted);
|
|
2249
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2250
|
+
border-radius: var(--lily-radius-md);
|
|
2251
|
+
}
|
|
2252
|
+
|
|
2253
|
+
:where(.thinking-summary) {
|
|
2254
|
+
cursor: pointer;
|
|
2255
|
+
}
|
|
2256
|
+
|
|
2257
|
+
:where(.thinking[data-streaming] .thinking-summary) {
|
|
2258
|
+
font-style: italic;
|
|
2259
|
+
}
|
|
2260
|
+
|
|
2261
|
+
:where(.empty-state) {
|
|
2262
|
+
padding: var(--lily-space-lg);
|
|
2263
|
+
text-align: center;
|
|
2264
|
+
color: var(--lily-text-muted);
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
:where(.file-tree, .file-tree [role="group"]) {
|
|
2268
|
+
margin: 0;
|
|
2269
|
+
padding-inline-start: 0;
|
|
2270
|
+
list-style: none;
|
|
2271
|
+
}
|
|
2272
|
+
|
|
2273
|
+
:where(.file-tree [role="group"]) {
|
|
2274
|
+
padding-inline-start: var(--lily-space-md);
|
|
2275
|
+
}
|
|
2276
|
+
|
|
2277
|
+
:where(.file-tree [role="treeitem"]) {
|
|
2278
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2279
|
+
cursor: pointer;
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
:where(.file-tree [role="treeitem"][aria-expanded="false"] > [role="group"]) {
|
|
2283
|
+
display: none;
|
|
2284
|
+
}
|
|
2285
|
+
|
|
2286
|
+
:where(.file-tree [role="treeitem"]:focus-visible) {
|
|
2287
|
+
outline: var(--lily-focus-ring);
|
|
2288
|
+
outline-offset: -2px;
|
|
2289
|
+
}
|
|
2290
|
+
|
|
2291
|
+
:where(.one-time-password-input, .multi-select, .multi-select-with-extras select) {
|
|
2292
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2293
|
+
font: inherit;
|
|
2294
|
+
color: var(--lily-text);
|
|
2295
|
+
background-color: var(--lily-surface);
|
|
2296
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2297
|
+
border-radius: var(--lily-radius-sm);
|
|
2298
|
+
}
|
|
2299
|
+
|
|
2300
|
+
:where(.one-time-password-input) {
|
|
2301
|
+
font-family: var(--lily-font-mono);
|
|
2302
|
+
letter-spacing: 0.25em;
|
|
2303
|
+
}
|
|
2304
|
+
|
|
2305
|
+
/* Chart containers added 2026-10-05 (gauge, heatmap, radar, sankey, pie,
|
|
2306
|
+
ring, funnel, candlestick, composed, choropleth, sunburst) join the
|
|
2307
|
+
existing five as block figures. Every chart's optional data-table
|
|
2308
|
+
wrapper sits below the graphic; the table itself inherits the
|
|
2309
|
+
catalog's table styling. */
|
|
2310
|
+
:where(
|
|
2311
|
+
.gauge-chart,
|
|
2312
|
+
.heatmap-chart,
|
|
2313
|
+
.radar-chart,
|
|
2314
|
+
.sankey-chart,
|
|
2315
|
+
.pie-chart,
|
|
2316
|
+
.ring-chart,
|
|
2317
|
+
.funnel-chart,
|
|
2318
|
+
.candlestick-chart,
|
|
2319
|
+
.composed-chart,
|
|
2320
|
+
.choropleth-chart,
|
|
2321
|
+
.sunburst-chart
|
|
2322
|
+
) {
|
|
2323
|
+
display: block;
|
|
2324
|
+
margin: 0;
|
|
2325
|
+
}
|
|
2326
|
+
|
|
2327
|
+
:where(
|
|
2328
|
+
.area-chart-data-table,
|
|
2329
|
+
.bar-chart-data-table,
|
|
2330
|
+
.column-chart-data-table,
|
|
2331
|
+
.line-chart-data-table,
|
|
2332
|
+
.scatter-chart-data-table,
|
|
2333
|
+
.gauge-chart-data-table,
|
|
2334
|
+
.heatmap-chart-data-table,
|
|
2335
|
+
.radar-chart-data-table,
|
|
2336
|
+
.sankey-chart-data-table,
|
|
2337
|
+
.pie-chart-data-table,
|
|
2338
|
+
.ring-chart-data-table,
|
|
2339
|
+
.funnel-chart-data-table,
|
|
2340
|
+
.candlestick-chart-data-table,
|
|
2341
|
+
.composed-chart-data-table,
|
|
2342
|
+
.choropleth-chart-data-table,
|
|
2343
|
+
.sunburst-chart-data-table
|
|
2344
|
+
) {
|
|
2345
|
+
margin-block-start: var(--lily-space-sm);
|
|
2346
|
+
overflow-x: auto;
|
|
2347
|
+
}
|
|
2348
|
+
|
|
2349
|
+
/* tool-call (2026-10-05): a bordered disclosure; the status word sits next
|
|
2350
|
+
to the name in the summary and is never the only cue. [data-status] is
|
|
2351
|
+
the consumer hook for a spinner or icon. */
|
|
2352
|
+
:where(.tool-call) {
|
|
2353
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2354
|
+
border-radius: var(--lily-radius-md);
|
|
2355
|
+
background-color: var(--lily-surface);
|
|
2356
|
+
color: var(--lily-text);
|
|
2357
|
+
}
|
|
2358
|
+
|
|
2359
|
+
:where(.tool-call-summary) {
|
|
2360
|
+
display: flex;
|
|
2361
|
+
align-items: center;
|
|
2362
|
+
gap: var(--lily-space-sm);
|
|
2363
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2364
|
+
cursor: pointer;
|
|
2365
|
+
}
|
|
2366
|
+
|
|
2367
|
+
:where(.tool-call-content) {
|
|
2368
|
+
display: grid;
|
|
2369
|
+
gap: var(--lily-space-xs);
|
|
2370
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2371
|
+
border-block-start: var(--border) solid var(--lily-border-strong);
|
|
2372
|
+
}
|
|
2373
|
+
|
|
2374
|
+
:where(.tool-call-name) {
|
|
2375
|
+
font-family: var(--lily-font-mono);
|
|
2376
|
+
}
|
|
2377
|
+
|
|
2378
|
+
:where(.tool-call-status) {
|
|
2379
|
+
color: var(--lily-text-muted);
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
:where(.tool-call-input pre, .tool-call-output pre) {
|
|
2383
|
+
margin: 0;
|
|
2384
|
+
overflow-x: auto;
|
|
2385
|
+
font-family: var(--lily-font-mono);
|
|
2386
|
+
}
|
|
2387
|
+
|
|
2388
|
+
:where(.tool-call-error) {
|
|
2389
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2390
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2391
|
+
border-radius: var(--lily-radius-sm);
|
|
2392
|
+
font-weight: 600;
|
|
2393
|
+
}
|
|
2394
|
+
|
|
2395
|
+
/* mark (2026-10-05): the native <mark> highlight. The UA default is a
|
|
2396
|
+
fixed yellow; this uses the theme's own surface and text tokens so the
|
|
2397
|
+
pair keeps its contrast in every theme (including dark ones). */
|
|
2398
|
+
:where(.mark) {
|
|
2399
|
+
padding-inline: 0.15em;
|
|
2400
|
+
color: var(--lily-text);
|
|
2401
|
+
background-color: var(--lily-surface-alt);
|
|
2402
|
+
border-radius: var(--lily-radius-sm);
|
|
2403
|
+
box-shadow: 0 0 0 1px var(--lily-border-strong);
|
|
2404
|
+
}
|
|
2405
|
+
|
|
2406
|
+
/* chat-composer (2026-10-05): one row, textarea growing, one button. The
|
|
2407
|
+
button's visible word is its accessible name — hide it visually, never
|
|
2408
|
+
with display:none, if you replace it with an icon. */
|
|
2409
|
+
:where(.chat-composer) {
|
|
2410
|
+
display: flex;
|
|
2411
|
+
align-items: flex-end;
|
|
2412
|
+
gap: var(--lily-space-xs);
|
|
2413
|
+
}
|
|
2414
|
+
|
|
2415
|
+
:where(.chat-composer-input) {
|
|
2416
|
+
flex: 1;
|
|
2417
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2418
|
+
font: inherit;
|
|
2419
|
+
color: var(--lily-text);
|
|
2420
|
+
background-color: var(--lily-surface);
|
|
2421
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2422
|
+
border-radius: var(--lily-radius-md);
|
|
2423
|
+
resize: none;
|
|
2424
|
+
}
|
|
2425
|
+
|
|
2426
|
+
:where(.chat-composer-button) {
|
|
2427
|
+
min-width: 2.5rem;
|
|
2428
|
+
min-height: 2.5rem;
|
|
2429
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2430
|
+
font: inherit;
|
|
2431
|
+
color: var(--lily-text);
|
|
2432
|
+
background-color: var(--lily-surface);
|
|
2433
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2434
|
+
border-radius: var(--lily-radius-md);
|
|
2435
|
+
cursor: pointer;
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2438
|
+
:where(.chat-composer-button:disabled) {
|
|
2439
|
+
cursor: not-allowed;
|
|
2440
|
+
opacity: 0.6;
|
|
2441
|
+
}
|
|
2442
|
+
|
|
2443
|
+
/* Picker tooltips (added 2026-10-04): a visual-only role="tooltip"
|
|
2444
|
+
element beside each picker's icon button, holding the same text as
|
|
2445
|
+
its aria-label. The component toggles [hidden]; position and look
|
|
2446
|
+
are here. It sits just below the button, in the inverse of the
|
|
2447
|
+
page colours so it never disappears into the surface. A ::before
|
|
2448
|
+
strip bridges the gap to the button so the pointer can travel onto
|
|
2449
|
+
the tooltip without it closing (WCAG 1.4.13, hoverable). */
|
|
2450
|
+
:where(.motion-picker) {
|
|
2451
|
+
position: relative;
|
|
2452
|
+
display: inline-block;
|
|
2453
|
+
}
|
|
2454
|
+
|
|
2455
|
+
:where(
|
|
2456
|
+
.theme-picker-tooltip,
|
|
2457
|
+
.locale-picker-tooltip,
|
|
2458
|
+
.text-size-picker-tooltip,
|
|
2459
|
+
.motion-picker-tooltip,
|
|
2460
|
+
.share-picker-tooltip,
|
|
2461
|
+
.search-picker-tooltip,
|
|
2462
|
+
.date-time-picker-tooltip
|
|
2463
|
+
) {
|
|
2464
|
+
position: absolute;
|
|
2465
|
+
z-index: 11;
|
|
2466
|
+
inset-inline-start: 0;
|
|
2467
|
+
inset-block-start: 100%;
|
|
2468
|
+
margin-block-start: var(--lily-space-xs);
|
|
2469
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2470
|
+
font-size: 0.875em;
|
|
2471
|
+
line-height: 1.3;
|
|
2472
|
+
white-space: nowrap;
|
|
2473
|
+
color: var(--lily-surface);
|
|
2474
|
+
background-color: var(--lily-text);
|
|
2475
|
+
border-radius: var(--lily-radius-sm);
|
|
2476
|
+
box-shadow: var(--lily-shadow-md);
|
|
2477
|
+
}
|
|
2478
|
+
|
|
2479
|
+
:where(
|
|
2480
|
+
.theme-picker-tooltip,
|
|
2481
|
+
.locale-picker-tooltip,
|
|
2482
|
+
.text-size-picker-tooltip,
|
|
2483
|
+
.motion-picker-tooltip,
|
|
2484
|
+
.share-picker-tooltip,
|
|
2485
|
+
.search-picker-tooltip,
|
|
2486
|
+
.date-time-picker-tooltip
|
|
2487
|
+
)::before {
|
|
2488
|
+
content: "";
|
|
2489
|
+
position: absolute;
|
|
2490
|
+
inset-inline: 0;
|
|
2491
|
+
inset-block-end: 100%;
|
|
2492
|
+
height: var(--lily-space-xs);
|
|
2493
|
+
}
|
|
2494
|
+
|
|
2495
|
+
:where(
|
|
2496
|
+
.theme-picker-tooltip,
|
|
2497
|
+
.locale-picker-tooltip,
|
|
2498
|
+
.text-size-picker-tooltip,
|
|
2499
|
+
.motion-picker-tooltip,
|
|
2500
|
+
.share-picker-tooltip,
|
|
2501
|
+
.search-picker-tooltip,
|
|
2502
|
+
.date-time-picker-tooltip
|
|
2503
|
+
)[hidden] {
|
|
2504
|
+
display: none;
|
|
2505
|
+
}
|
|
2506
|
+
|
|
2507
|
+
/* search-picker's panel holds a search form rather than a list: the
|
|
2508
|
+
field and the ⏎ submit button sit in one row, the button at the
|
|
2509
|
+
field's inline end (right in LTR, left under dir="rtl"). The ⏎
|
|
2510
|
+
button matches the picker trigger buttons' size and border. */
|
|
2511
|
+
:where(.search-picker-form) {
|
|
2512
|
+
display: flex;
|
|
2513
|
+
align-items: stretch;
|
|
2514
|
+
gap: var(--lily-space-xs);
|
|
2515
|
+
margin: 0;
|
|
2516
|
+
}
|
|
2517
|
+
|
|
2518
|
+
:where(.search-picker-input) {
|
|
2519
|
+
min-width: 14rem;
|
|
2520
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2521
|
+
font: inherit;
|
|
2522
|
+
color: var(--lily-text);
|
|
2523
|
+
background-color: var(--lily-surface);
|
|
2524
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2525
|
+
border-radius: var(--lily-radius-sm);
|
|
2526
|
+
}
|
|
2527
|
+
|
|
2528
|
+
:where(.search-picker-submit) {
|
|
2529
|
+
display: inline-flex;
|
|
2530
|
+
align-items: center;
|
|
2531
|
+
justify-content: center;
|
|
2532
|
+
min-width: 2.5rem;
|
|
2533
|
+
min-height: 2.5rem;
|
|
2534
|
+
padding: var(--lily-space-xs);
|
|
2535
|
+
font: inherit;
|
|
2536
|
+
line-height: 1;
|
|
2537
|
+
color: var(--lily-text);
|
|
2538
|
+
background-color: var(--lily-surface);
|
|
2539
|
+
border: var(--border) solid var(--lily-border-strong);
|
|
2540
|
+
border-radius: var(--lily-radius-md);
|
|
2541
|
+
cursor: pointer;
|
|
2542
|
+
}
|
|
2543
|
+
|
|
2544
|
+
:where(.search-picker-submit:hover) {
|
|
2545
|
+
background-color: var(--lily-surface-alt);
|
|
2546
|
+
}
|
|
2547
|
+
|
|
2198
2548
|
:where(
|
|
2199
2549
|
.theme-picker-list,
|
|
2200
2550
|
.locale-picker-list,
|
|
2201
2551
|
.text-size-picker-list,
|
|
2202
|
-
.share-picker-list
|
|
2552
|
+
.share-picker-list,
|
|
2553
|
+
.search-picker-panel
|
|
2203
2554
|
) {
|
|
2204
2555
|
position: absolute;
|
|
2205
2556
|
z-index: 10;
|
|
@@ -2223,7 +2574,8 @@
|
|
|
2223
2574
|
.theme-picker-list,
|
|
2224
2575
|
.locale-picker-list,
|
|
2225
2576
|
.text-size-picker-list,
|
|
2226
|
-
.share-picker-list
|
|
2577
|
+
.share-picker-list,
|
|
2578
|
+
.search-picker-panel
|
|
2227
2579
|
)[hidden] {
|
|
2228
2580
|
display: none;
|
|
2229
2581
|
}
|