@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
@@ -2201,6 +2201,7 @@
2201
2201
  .theme-picker,
2202
2202
  .locale-picker,
2203
2203
  .text-size-picker,
2204
+ .search-picker,
2204
2205
  .share-picker,
2205
2206
  .date-time-picker
2206
2207
  ) {
@@ -2212,6 +2213,7 @@
2212
2213
  .theme-picker-button,
2213
2214
  .locale-picker-button,
2214
2215
  .text-size-picker-button,
2216
+ .search-picker-button,
2215
2217
  .share-picker-button,
2216
2218
  .date-time-picker-button
2217
2219
  ) {
@@ -2247,7 +2249,8 @@
2247
2249
  .locale-picker-icon,
2248
2250
  .text-size-picker-icon,
2249
2251
  .motion-picker-icon,
2250
- .share-picker-icon
2252
+ .share-picker-icon,
2253
+ .search-picker-icon
2251
2254
  ) {
2252
2255
  display: inline-flex;
2253
2256
  align-items: center;
@@ -2326,11 +2329,359 @@
2326
2329
  line-height: 0;
2327
2330
  }
2328
2331
 
2332
+ /* Components added 2026-10-05: kbd-shortcut, show-more, thinking,
2333
+ empty-state, file-tree, one-time-password-input, multi-select, and
2334
+ the four calendar views. The calendar views reuse the
2335
+ calendar-table-* sub-element hooks, so they only need the table
2336
+ root rule. show-more's clamp is keyed on data-expanded (the
2337
+ component never sets an inline style); file-tree hides a closed
2338
+ folder's group via aria-expanded. */
2339
+ :where(.calendar-year-table, .calendar-month-table, .calendar-week-table, .calendar-day-table) {
2340
+ width: 100%;
2341
+ border-collapse: collapse;
2342
+ }
2343
+
2344
+ :where(.kbd-shortcut) {
2345
+ display: inline-flex;
2346
+ align-items: center;
2347
+ gap: var(--lily-space-xs);
2348
+ }
2349
+
2350
+ :where(.kbd-shortcut-key) {
2351
+ display: inline-block;
2352
+ padding: 0.125rem 0.4rem;
2353
+ font-family: var(--lily-font-mono);
2354
+ font-size: 0.85em;
2355
+ background-color: var(--lily-surface-alt);
2356
+ border: var(--border) solid var(--lily-border-strong);
2357
+ border-bottom-width: 2px;
2358
+ border-radius: var(--lily-radius-sm);
2359
+ }
2360
+
2361
+ :where(.show-more-content[data-expanded="false"]) {
2362
+ max-height: 6em;
2363
+ overflow: hidden;
2364
+ }
2365
+
2366
+ :where(.show-more-button) {
2367
+ margin-block-start: var(--lily-space-xs);
2368
+ padding: var(--lily-space-xs);
2369
+ font: inherit;
2370
+ color: inherit;
2371
+ text-decoration: underline;
2372
+ background: none;
2373
+ border: 0;
2374
+ cursor: pointer;
2375
+ }
2376
+
2377
+ :where(.thinking) {
2378
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2379
+ color: var(--lily-text-muted);
2380
+ border: var(--border) solid var(--lily-border-strong);
2381
+ border-radius: var(--lily-radius-md);
2382
+ }
2383
+
2384
+ :where(.thinking-summary) {
2385
+ cursor: pointer;
2386
+ }
2387
+
2388
+ :where(.thinking[data-streaming] .thinking-summary) {
2389
+ font-style: italic;
2390
+ }
2391
+
2392
+ :where(.empty-state) {
2393
+ padding: var(--lily-space-lg);
2394
+ text-align: center;
2395
+ color: var(--lily-text-muted);
2396
+ }
2397
+
2398
+ :where(.file-tree, .file-tree [role="group"]) {
2399
+ margin: 0;
2400
+ padding-inline-start: 0;
2401
+ list-style: none;
2402
+ }
2403
+
2404
+ :where(.file-tree [role="group"]) {
2405
+ padding-inline-start: var(--lily-space-md);
2406
+ }
2407
+
2408
+ :where(.file-tree [role="treeitem"]) {
2409
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2410
+ cursor: pointer;
2411
+ }
2412
+
2413
+ :where(.file-tree [role="treeitem"][aria-expanded="false"] > [role="group"]) {
2414
+ display: none;
2415
+ }
2416
+
2417
+ :where(.file-tree [role="treeitem"]:focus-visible) {
2418
+ outline: var(--lily-focus-ring);
2419
+ outline-offset: -2px;
2420
+ }
2421
+
2422
+ :where(.one-time-password-input, .multi-select, .multi-select-with-extras select) {
2423
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2424
+ font: inherit;
2425
+ color: var(--lily-text);
2426
+ background-color: var(--lily-surface);
2427
+ border: var(--border) solid var(--lily-border-strong);
2428
+ border-radius: var(--lily-radius-sm);
2429
+ }
2430
+
2431
+ :where(.one-time-password-input) {
2432
+ font-family: var(--lily-font-mono);
2433
+ letter-spacing: 0.25em;
2434
+ }
2435
+
2436
+ /* Chart containers added 2026-10-05 (gauge, heatmap, radar, sankey, pie,
2437
+ ring, funnel, candlestick, composed, choropleth, sunburst) join the
2438
+ existing five as block figures. Every chart's optional data-table
2439
+ wrapper sits below the graphic; the table itself inherits the
2440
+ catalog's table styling. */
2441
+ :where(
2442
+ .gauge-chart,
2443
+ .heatmap-chart,
2444
+ .radar-chart,
2445
+ .sankey-chart,
2446
+ .pie-chart,
2447
+ .ring-chart,
2448
+ .funnel-chart,
2449
+ .candlestick-chart,
2450
+ .composed-chart,
2451
+ .choropleth-chart,
2452
+ .sunburst-chart
2453
+ ) {
2454
+ display: block;
2455
+ margin: 0;
2456
+ }
2457
+
2458
+ :where(
2459
+ .area-chart-data-table,
2460
+ .bar-chart-data-table,
2461
+ .column-chart-data-table,
2462
+ .line-chart-data-table,
2463
+ .scatter-chart-data-table,
2464
+ .gauge-chart-data-table,
2465
+ .heatmap-chart-data-table,
2466
+ .radar-chart-data-table,
2467
+ .sankey-chart-data-table,
2468
+ .pie-chart-data-table,
2469
+ .ring-chart-data-table,
2470
+ .funnel-chart-data-table,
2471
+ .candlestick-chart-data-table,
2472
+ .composed-chart-data-table,
2473
+ .choropleth-chart-data-table,
2474
+ .sunburst-chart-data-table
2475
+ ) {
2476
+ margin-block-start: var(--lily-space-sm);
2477
+ overflow-x: auto;
2478
+ }
2479
+
2480
+ /* tool-call (2026-10-05): a bordered disclosure; the status word sits next
2481
+ to the name in the summary and is never the only cue. [data-status] is
2482
+ the consumer hook for a spinner or icon. */
2483
+ :where(.tool-call) {
2484
+ border: var(--border) solid var(--lily-border-strong);
2485
+ border-radius: var(--lily-radius-md);
2486
+ background-color: var(--lily-surface);
2487
+ color: var(--lily-text);
2488
+ }
2489
+
2490
+ :where(.tool-call-summary) {
2491
+ display: flex;
2492
+ align-items: center;
2493
+ gap: var(--lily-space-sm);
2494
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2495
+ cursor: pointer;
2496
+ }
2497
+
2498
+ :where(.tool-call-content) {
2499
+ display: grid;
2500
+ gap: var(--lily-space-xs);
2501
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2502
+ border-block-start: var(--border) solid var(--lily-border-strong);
2503
+ }
2504
+
2505
+ :where(.tool-call-name) {
2506
+ font-family: var(--lily-font-mono);
2507
+ }
2508
+
2509
+ :where(.tool-call-status) {
2510
+ color: var(--lily-text-muted);
2511
+ }
2512
+
2513
+ :where(.tool-call-input pre, .tool-call-output pre) {
2514
+ margin: 0;
2515
+ overflow-x: auto;
2516
+ font-family: var(--lily-font-mono);
2517
+ }
2518
+
2519
+ :where(.tool-call-error) {
2520
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2521
+ border: var(--border) solid var(--lily-border-strong);
2522
+ border-radius: var(--lily-radius-sm);
2523
+ font-weight: 600;
2524
+ }
2525
+
2526
+ /* mark (2026-10-05): the native <mark> highlight. The UA default is a
2527
+ fixed yellow; this uses the theme's own surface and text tokens so the
2528
+ pair keeps its contrast in every theme (including dark ones). */
2529
+ :where(.mark) {
2530
+ padding-inline: 0.15em;
2531
+ color: var(--lily-text);
2532
+ background-color: var(--lily-surface-alt);
2533
+ border-radius: var(--lily-radius-sm);
2534
+ box-shadow: 0 0 0 1px var(--lily-border-strong);
2535
+ }
2536
+
2537
+ /* chat-composer (2026-10-05): one row, textarea growing, one button. The
2538
+ button's visible word is its accessible name — hide it visually, never
2539
+ with display:none, if you replace it with an icon. */
2540
+ :where(.chat-composer) {
2541
+ display: flex;
2542
+ align-items: flex-end;
2543
+ gap: var(--lily-space-xs);
2544
+ }
2545
+
2546
+ :where(.chat-composer-input) {
2547
+ flex: 1;
2548
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2549
+ font: inherit;
2550
+ color: var(--lily-text);
2551
+ background-color: var(--lily-surface);
2552
+ border: var(--border) solid var(--lily-border-strong);
2553
+ border-radius: var(--lily-radius-md);
2554
+ resize: none;
2555
+ }
2556
+
2557
+ :where(.chat-composer-button) {
2558
+ min-width: 2.5rem;
2559
+ min-height: 2.5rem;
2560
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2561
+ font: inherit;
2562
+ color: var(--lily-text);
2563
+ background-color: var(--lily-surface);
2564
+ border: var(--border) solid var(--lily-border-strong);
2565
+ border-radius: var(--lily-radius-md);
2566
+ cursor: pointer;
2567
+ }
2568
+
2569
+ :where(.chat-composer-button:disabled) {
2570
+ cursor: not-allowed;
2571
+ opacity: 0.6;
2572
+ }
2573
+
2574
+ /* Picker tooltips (added 2026-10-04): a visual-only role="tooltip"
2575
+ element beside each picker's icon button, holding the same text as
2576
+ its aria-label. The component toggles [hidden]; position and look
2577
+ are here. It sits just below the button, in the inverse of the
2578
+ page colours so it never disappears into the surface. A ::before
2579
+ strip bridges the gap to the button so the pointer can travel onto
2580
+ the tooltip without it closing (WCAG 1.4.13, hoverable). */
2581
+ :where(.motion-picker) {
2582
+ position: relative;
2583
+ display: inline-block;
2584
+ }
2585
+
2586
+ :where(
2587
+ .theme-picker-tooltip,
2588
+ .locale-picker-tooltip,
2589
+ .text-size-picker-tooltip,
2590
+ .motion-picker-tooltip,
2591
+ .share-picker-tooltip,
2592
+ .search-picker-tooltip,
2593
+ .date-time-picker-tooltip
2594
+ ) {
2595
+ position: absolute;
2596
+ z-index: 11;
2597
+ inset-inline-start: 0;
2598
+ inset-block-start: 100%;
2599
+ margin-block-start: var(--lily-space-xs);
2600
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2601
+ font-size: 0.875em;
2602
+ line-height: 1.3;
2603
+ white-space: nowrap;
2604
+ color: var(--lily-surface);
2605
+ background-color: var(--lily-text);
2606
+ border-radius: var(--lily-radius-sm);
2607
+ box-shadow: var(--lily-shadow-md);
2608
+ }
2609
+
2610
+ :where(
2611
+ .theme-picker-tooltip,
2612
+ .locale-picker-tooltip,
2613
+ .text-size-picker-tooltip,
2614
+ .motion-picker-tooltip,
2615
+ .share-picker-tooltip,
2616
+ .search-picker-tooltip,
2617
+ .date-time-picker-tooltip
2618
+ )::before {
2619
+ content: "";
2620
+ position: absolute;
2621
+ inset-inline: 0;
2622
+ inset-block-end: 100%;
2623
+ height: var(--lily-space-xs);
2624
+ }
2625
+
2626
+ :where(
2627
+ .theme-picker-tooltip,
2628
+ .locale-picker-tooltip,
2629
+ .text-size-picker-tooltip,
2630
+ .motion-picker-tooltip,
2631
+ .share-picker-tooltip,
2632
+ .search-picker-tooltip,
2633
+ .date-time-picker-tooltip
2634
+ )[hidden] {
2635
+ display: none;
2636
+ }
2637
+
2638
+ /* search-picker's panel holds a search form rather than a list: the
2639
+ field and the ⏎ submit button sit in one row, the button at the
2640
+ field's inline end (right in LTR, left under dir="rtl"). The ⏎
2641
+ button matches the picker trigger buttons' size and border. */
2642
+ :where(.search-picker-form) {
2643
+ display: flex;
2644
+ align-items: stretch;
2645
+ gap: var(--lily-space-xs);
2646
+ margin: 0;
2647
+ }
2648
+
2649
+ :where(.search-picker-input) {
2650
+ min-width: 14rem;
2651
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2652
+ font: inherit;
2653
+ color: var(--lily-text);
2654
+ background-color: var(--lily-surface);
2655
+ border: var(--border) solid var(--lily-border-strong);
2656
+ border-radius: var(--lily-radius-sm);
2657
+ }
2658
+
2659
+ :where(.search-picker-submit) {
2660
+ display: inline-flex;
2661
+ align-items: center;
2662
+ justify-content: center;
2663
+ min-width: 2.5rem;
2664
+ min-height: 2.5rem;
2665
+ padding: var(--lily-space-xs);
2666
+ font: inherit;
2667
+ line-height: 1;
2668
+ color: var(--lily-text);
2669
+ background-color: var(--lily-surface);
2670
+ border: var(--border) solid var(--lily-border-strong);
2671
+ border-radius: var(--lily-radius-md);
2672
+ cursor: pointer;
2673
+ }
2674
+
2675
+ :where(.search-picker-submit:hover) {
2676
+ background-color: var(--lily-surface-alt);
2677
+ }
2678
+
2329
2679
  :where(
2330
2680
  .theme-picker-list,
2331
2681
  .locale-picker-list,
2332
2682
  .text-size-picker-list,
2333
- .share-picker-list
2683
+ .share-picker-list,
2684
+ .search-picker-panel
2334
2685
  ) {
2335
2686
  position: absolute;
2336
2687
  z-index: 10;
@@ -2354,7 +2705,8 @@
2354
2705
  .theme-picker-list,
2355
2706
  .locale-picker-list,
2356
2707
  .text-size-picker-list,
2357
- .share-picker-list
2708
+ .share-picker-list,
2709
+ .search-picker-panel
2358
2710
  )[hidden] {
2359
2711
  display: none;
2360
2712
  }