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