@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
@@ -2297,6 +2297,7 @@
2297
2297
  .theme-picker,
2298
2298
  .locale-picker,
2299
2299
  .text-size-picker,
2300
+ .search-picker,
2300
2301
  .share-picker,
2301
2302
  .date-time-picker
2302
2303
  ) {
@@ -2308,6 +2309,7 @@
2308
2309
  .theme-picker-button,
2309
2310
  .locale-picker-button,
2310
2311
  .text-size-picker-button,
2312
+ .search-picker-button,
2311
2313
  .share-picker-button,
2312
2314
  .date-time-picker-button
2313
2315
  ) {
@@ -2343,7 +2345,8 @@
2343
2345
  .locale-picker-icon,
2344
2346
  .text-size-picker-icon,
2345
2347
  .motion-picker-icon,
2346
- .share-picker-icon
2348
+ .share-picker-icon,
2349
+ .search-picker-icon
2347
2350
  ) {
2348
2351
  display: inline-flex;
2349
2352
  align-items: center;
@@ -2422,11 +2425,359 @@
2422
2425
  line-height: 0;
2423
2426
  }
2424
2427
 
2428
+ /* Components added 2026-10-05: kbd-shortcut, show-more, thinking,
2429
+ empty-state, file-tree, one-time-password-input, multi-select, and
2430
+ the four calendar views. The calendar views reuse the
2431
+ calendar-table-* sub-element hooks, so they only need the table
2432
+ root rule. show-more's clamp is keyed on data-expanded (the
2433
+ component never sets an inline style); file-tree hides a closed
2434
+ folder's group via aria-expanded. */
2435
+ :where(.calendar-year-table, .calendar-month-table, .calendar-week-table, .calendar-day-table) {
2436
+ width: 100%;
2437
+ border-collapse: collapse;
2438
+ }
2439
+
2440
+ :where(.kbd-shortcut) {
2441
+ display: inline-flex;
2442
+ align-items: center;
2443
+ gap: var(--lily-space-xs);
2444
+ }
2445
+
2446
+ :where(.kbd-shortcut-key) {
2447
+ display: inline-block;
2448
+ padding: 0.125rem 0.4rem;
2449
+ font-family: var(--lily-font-mono);
2450
+ font-size: 0.85em;
2451
+ background-color: var(--lily-surface-alt);
2452
+ border: var(--border) solid var(--lily-border-strong);
2453
+ border-bottom-width: 2px;
2454
+ border-radius: var(--lily-radius-sm);
2455
+ }
2456
+
2457
+ :where(.show-more-content[data-expanded="false"]) {
2458
+ max-height: 6em;
2459
+ overflow: hidden;
2460
+ }
2461
+
2462
+ :where(.show-more-button) {
2463
+ margin-block-start: var(--lily-space-xs);
2464
+ padding: var(--lily-space-xs);
2465
+ font: inherit;
2466
+ color: inherit;
2467
+ text-decoration: underline;
2468
+ background: none;
2469
+ border: 0;
2470
+ cursor: pointer;
2471
+ }
2472
+
2473
+ :where(.thinking) {
2474
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2475
+ color: var(--lily-text-muted);
2476
+ border: var(--border) solid var(--lily-border-strong);
2477
+ border-radius: var(--lily-radius-md);
2478
+ }
2479
+
2480
+ :where(.thinking-summary) {
2481
+ cursor: pointer;
2482
+ }
2483
+
2484
+ :where(.thinking[data-streaming] .thinking-summary) {
2485
+ font-style: italic;
2486
+ }
2487
+
2488
+ :where(.empty-state) {
2489
+ padding: var(--lily-space-lg);
2490
+ text-align: center;
2491
+ color: var(--lily-text-muted);
2492
+ }
2493
+
2494
+ :where(.file-tree, .file-tree [role="group"]) {
2495
+ margin: 0;
2496
+ padding-inline-start: 0;
2497
+ list-style: none;
2498
+ }
2499
+
2500
+ :where(.file-tree [role="group"]) {
2501
+ padding-inline-start: var(--lily-space-md);
2502
+ }
2503
+
2504
+ :where(.file-tree [role="treeitem"]) {
2505
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2506
+ cursor: pointer;
2507
+ }
2508
+
2509
+ :where(.file-tree [role="treeitem"][aria-expanded="false"] > [role="group"]) {
2510
+ display: none;
2511
+ }
2512
+
2513
+ :where(.file-tree [role="treeitem"]:focus-visible) {
2514
+ outline: var(--lily-focus-ring);
2515
+ outline-offset: -2px;
2516
+ }
2517
+
2518
+ :where(.one-time-password-input, .multi-select, .multi-select-with-extras select) {
2519
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2520
+ font: inherit;
2521
+ color: var(--lily-text);
2522
+ background-color: var(--lily-surface);
2523
+ border: var(--border) solid var(--lily-border-strong);
2524
+ border-radius: var(--lily-radius-sm);
2525
+ }
2526
+
2527
+ :where(.one-time-password-input) {
2528
+ font-family: var(--lily-font-mono);
2529
+ letter-spacing: 0.25em;
2530
+ }
2531
+
2532
+ /* Chart containers added 2026-10-05 (gauge, heatmap, radar, sankey, pie,
2533
+ ring, funnel, candlestick, composed, choropleth, sunburst) join the
2534
+ existing five as block figures. Every chart's optional data-table
2535
+ wrapper sits below the graphic; the table itself inherits the
2536
+ catalog's table styling. */
2537
+ :where(
2538
+ .gauge-chart,
2539
+ .heatmap-chart,
2540
+ .radar-chart,
2541
+ .sankey-chart,
2542
+ .pie-chart,
2543
+ .ring-chart,
2544
+ .funnel-chart,
2545
+ .candlestick-chart,
2546
+ .composed-chart,
2547
+ .choropleth-chart,
2548
+ .sunburst-chart
2549
+ ) {
2550
+ display: block;
2551
+ margin: 0;
2552
+ }
2553
+
2554
+ :where(
2555
+ .area-chart-data-table,
2556
+ .bar-chart-data-table,
2557
+ .column-chart-data-table,
2558
+ .line-chart-data-table,
2559
+ .scatter-chart-data-table,
2560
+ .gauge-chart-data-table,
2561
+ .heatmap-chart-data-table,
2562
+ .radar-chart-data-table,
2563
+ .sankey-chart-data-table,
2564
+ .pie-chart-data-table,
2565
+ .ring-chart-data-table,
2566
+ .funnel-chart-data-table,
2567
+ .candlestick-chart-data-table,
2568
+ .composed-chart-data-table,
2569
+ .choropleth-chart-data-table,
2570
+ .sunburst-chart-data-table
2571
+ ) {
2572
+ margin-block-start: var(--lily-space-sm);
2573
+ overflow-x: auto;
2574
+ }
2575
+
2576
+ /* tool-call (2026-10-05): a bordered disclosure; the status word sits next
2577
+ to the name in the summary and is never the only cue. [data-status] is
2578
+ the consumer hook for a spinner or icon. */
2579
+ :where(.tool-call) {
2580
+ border: var(--border) solid var(--lily-border-strong);
2581
+ border-radius: var(--lily-radius-md);
2582
+ background-color: var(--lily-surface);
2583
+ color: var(--lily-text);
2584
+ }
2585
+
2586
+ :where(.tool-call-summary) {
2587
+ display: flex;
2588
+ align-items: center;
2589
+ gap: var(--lily-space-sm);
2590
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2591
+ cursor: pointer;
2592
+ }
2593
+
2594
+ :where(.tool-call-content) {
2595
+ display: grid;
2596
+ gap: var(--lily-space-xs);
2597
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2598
+ border-block-start: var(--border) solid var(--lily-border-strong);
2599
+ }
2600
+
2601
+ :where(.tool-call-name) {
2602
+ font-family: var(--lily-font-mono);
2603
+ }
2604
+
2605
+ :where(.tool-call-status) {
2606
+ color: var(--lily-text-muted);
2607
+ }
2608
+
2609
+ :where(.tool-call-input pre, .tool-call-output pre) {
2610
+ margin: 0;
2611
+ overflow-x: auto;
2612
+ font-family: var(--lily-font-mono);
2613
+ }
2614
+
2615
+ :where(.tool-call-error) {
2616
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2617
+ border: var(--border) solid var(--lily-border-strong);
2618
+ border-radius: var(--lily-radius-sm);
2619
+ font-weight: 600;
2620
+ }
2621
+
2622
+ /* mark (2026-10-05): the native <mark> highlight. The UA default is a
2623
+ fixed yellow; this uses the theme's own surface and text tokens so the
2624
+ pair keeps its contrast in every theme (including dark ones). */
2625
+ :where(.mark) {
2626
+ padding-inline: 0.15em;
2627
+ color: var(--lily-text);
2628
+ background-color: var(--lily-surface-alt);
2629
+ border-radius: var(--lily-radius-sm);
2630
+ box-shadow: 0 0 0 1px var(--lily-border-strong);
2631
+ }
2632
+
2633
+ /* chat-composer (2026-10-05): one row, textarea growing, one button. The
2634
+ button's visible word is its accessible name — hide it visually, never
2635
+ with display:none, if you replace it with an icon. */
2636
+ :where(.chat-composer) {
2637
+ display: flex;
2638
+ align-items: flex-end;
2639
+ gap: var(--lily-space-xs);
2640
+ }
2641
+
2642
+ :where(.chat-composer-input) {
2643
+ flex: 1;
2644
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2645
+ font: inherit;
2646
+ color: var(--lily-text);
2647
+ background-color: var(--lily-surface);
2648
+ border: var(--border) solid var(--lily-border-strong);
2649
+ border-radius: var(--lily-radius-md);
2650
+ resize: none;
2651
+ }
2652
+
2653
+ :where(.chat-composer-button) {
2654
+ min-width: 2.5rem;
2655
+ min-height: 2.5rem;
2656
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2657
+ font: inherit;
2658
+ color: var(--lily-text);
2659
+ background-color: var(--lily-surface);
2660
+ border: var(--border) solid var(--lily-border-strong);
2661
+ border-radius: var(--lily-radius-md);
2662
+ cursor: pointer;
2663
+ }
2664
+
2665
+ :where(.chat-composer-button:disabled) {
2666
+ cursor: not-allowed;
2667
+ opacity: 0.6;
2668
+ }
2669
+
2670
+ /* Picker tooltips (added 2026-10-04): a visual-only role="tooltip"
2671
+ element beside each picker's icon button, holding the same text as
2672
+ its aria-label. The component toggles [hidden]; position and look
2673
+ are here. It sits just below the button, in the inverse of the
2674
+ page colours so it never disappears into the surface. A ::before
2675
+ strip bridges the gap to the button so the pointer can travel onto
2676
+ the tooltip without it closing (WCAG 1.4.13, hoverable). */
2677
+ :where(.motion-picker) {
2678
+ position: relative;
2679
+ display: inline-block;
2680
+ }
2681
+
2682
+ :where(
2683
+ .theme-picker-tooltip,
2684
+ .locale-picker-tooltip,
2685
+ .text-size-picker-tooltip,
2686
+ .motion-picker-tooltip,
2687
+ .share-picker-tooltip,
2688
+ .search-picker-tooltip,
2689
+ .date-time-picker-tooltip
2690
+ ) {
2691
+ position: absolute;
2692
+ z-index: 11;
2693
+ inset-inline-start: 0;
2694
+ inset-block-start: 100%;
2695
+ margin-block-start: var(--lily-space-xs);
2696
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2697
+ font-size: 0.875em;
2698
+ line-height: 1.3;
2699
+ white-space: nowrap;
2700
+ color: var(--lily-surface);
2701
+ background-color: var(--lily-text);
2702
+ border-radius: var(--lily-radius-sm);
2703
+ box-shadow: var(--lily-shadow-md);
2704
+ }
2705
+
2706
+ :where(
2707
+ .theme-picker-tooltip,
2708
+ .locale-picker-tooltip,
2709
+ .text-size-picker-tooltip,
2710
+ .motion-picker-tooltip,
2711
+ .share-picker-tooltip,
2712
+ .search-picker-tooltip,
2713
+ .date-time-picker-tooltip
2714
+ )::before {
2715
+ content: "";
2716
+ position: absolute;
2717
+ inset-inline: 0;
2718
+ inset-block-end: 100%;
2719
+ height: var(--lily-space-xs);
2720
+ }
2721
+
2722
+ :where(
2723
+ .theme-picker-tooltip,
2724
+ .locale-picker-tooltip,
2725
+ .text-size-picker-tooltip,
2726
+ .motion-picker-tooltip,
2727
+ .share-picker-tooltip,
2728
+ .search-picker-tooltip,
2729
+ .date-time-picker-tooltip
2730
+ )[hidden] {
2731
+ display: none;
2732
+ }
2733
+
2734
+ /* search-picker's panel holds a search form rather than a list: the
2735
+ field and the ⏎ submit button sit in one row, the button at the
2736
+ field's inline end (right in LTR, left under dir="rtl"). The ⏎
2737
+ button matches the picker trigger buttons' size and border. */
2738
+ :where(.search-picker-form) {
2739
+ display: flex;
2740
+ align-items: stretch;
2741
+ gap: var(--lily-space-xs);
2742
+ margin: 0;
2743
+ }
2744
+
2745
+ :where(.search-picker-input) {
2746
+ min-width: 14rem;
2747
+ padding: var(--lily-space-xs) var(--lily-space-sm);
2748
+ font: inherit;
2749
+ color: var(--lily-text);
2750
+ background-color: var(--lily-surface);
2751
+ border: var(--border) solid var(--lily-border-strong);
2752
+ border-radius: var(--lily-radius-sm);
2753
+ }
2754
+
2755
+ :where(.search-picker-submit) {
2756
+ display: inline-flex;
2757
+ align-items: center;
2758
+ justify-content: center;
2759
+ min-width: 2.5rem;
2760
+ min-height: 2.5rem;
2761
+ padding: var(--lily-space-xs);
2762
+ font: inherit;
2763
+ line-height: 1;
2764
+ color: var(--lily-text);
2765
+ background-color: var(--lily-surface);
2766
+ border: var(--border) solid var(--lily-border-strong);
2767
+ border-radius: var(--lily-radius-md);
2768
+ cursor: pointer;
2769
+ }
2770
+
2771
+ :where(.search-picker-submit:hover) {
2772
+ background-color: var(--lily-surface-alt);
2773
+ }
2774
+
2425
2775
  :where(
2426
2776
  .theme-picker-list,
2427
2777
  .locale-picker-list,
2428
2778
  .text-size-picker-list,
2429
- .share-picker-list
2779
+ .share-picker-list,
2780
+ .search-picker-panel
2430
2781
  ) {
2431
2782
  position: absolute;
2432
2783
  z-index: 10;
@@ -2450,7 +2801,8 @@
2450
2801
  .theme-picker-list,
2451
2802
  .locale-picker-list,
2452
2803
  .text-size-picker-list,
2453
- .share-picker-list
2804
+ .share-picker-list,
2805
+ .search-picker-panel
2454
2806
  )[hidden] {
2455
2807
  display: none;
2456
2808
  }