@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.
Files changed (46) hide show
  1. package/dist/abyss.css +355 -3
  2. package/dist/acid.css +355 -3
  3. package/dist/adobe-spectrum.css +355 -3
  4. package/dist/aqua.css +355 -3
  5. package/dist/autumn.css +355 -3
  6. package/dist/black.css +355 -3
  7. package/dist/bumblebee.css +355 -3
  8. package/dist/business.css +355 -3
  9. package/dist/caramellatte.css +355 -3
  10. package/dist/cmyk.css +355 -3
  11. package/dist/coffee.css +355 -3
  12. package/dist/corporate.css +355 -3
  13. package/dist/cupcake.css +355 -3
  14. package/dist/cyberpunk.css +355 -3
  15. package/dist/dark.css +355 -3
  16. package/dist/dim.css +355 -3
  17. package/dist/dracula.css +355 -3
  18. package/dist/emerald.css +355 -3
  19. package/dist/fantasy.css +355 -3
  20. package/dist/forest.css +355 -3
  21. package/dist/garden.css +355 -3
  22. package/dist/halloween.css +355 -3
  23. package/dist/lemonade.css +355 -3
  24. package/dist/light.css +355 -3
  25. package/dist/lofi.css +355 -3
  26. package/dist/luxury.css +355 -3
  27. package/dist/mozilla-protocol.css +355 -3
  28. package/dist/night.css +355 -3
  29. package/dist/nord.css +355 -3
  30. package/dist/pastel.css +355 -3
  31. package/dist/retro.css +355 -3
  32. package/dist/silk.css +355 -3
  33. package/dist/sunset.css +355 -3
  34. package/dist/synthwave.css +355 -3
  35. package/dist/united-kingdom-government-digital-service.css +355 -3
  36. package/dist/united-kingdom-national-health-service-england-for-patients.css +355 -3
  37. package/dist/united-kingdom-national-health-service-england-for-practitioners.css +355 -3
  38. package/dist/united-kingdom-national-health-service-scotland-for-patients.css +355 -3
  39. package/dist/united-kingdom-national-health-service-scotland-for-practitioners.css +355 -3
  40. package/dist/united-kingdom-national-health-service-wales-for-patients.css +355 -3
  41. package/dist/united-kingdom-national-health-service-wales-for-practitioners.css +355 -3
  42. package/dist/united-states-web-design-system.css +355 -3
  43. package/dist/valentine.css +355 -3
  44. package/dist/winter.css +355 -3
  45. package/dist/wireframe.css +355 -3
  46. 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
  }