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