@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
@@ -2884,6 +2884,7 @@
2884
2884
  .theme-picker,
2885
2885
  .locale-picker,
2886
2886
  .text-size-picker,
2887
+ .search-picker,
2887
2888
  .share-picker,
2888
2889
  .date-time-picker
2889
2890
  ) {
@@ -2895,6 +2896,7 @@
2895
2896
  .theme-picker-button,
2896
2897
  .locale-picker-button,
2897
2898
  .text-size-picker-button,
2899
+ .search-picker-button,
2898
2900
  .share-picker-button,
2899
2901
  .date-time-picker-button
2900
2902
  ) {
@@ -2930,7 +2932,8 @@
2930
2932
  .locale-picker-icon,
2931
2933
  .text-size-picker-icon,
2932
2934
  .motion-picker-icon,
2933
- .share-picker-icon
2935
+ .share-picker-icon,
2936
+ .search-picker-icon
2934
2937
  ) {
2935
2938
  display: inline-flex;
2936
2939
  align-items: center;
@@ -3009,11 +3012,359 @@
3009
3012
  line-height: 0;
3010
3013
  }
3011
3014
 
3015
+ /* Components added 2026-10-05: kbd-shortcut, show-more, thinking,
3016
+ empty-state, file-tree, one-time-password-input, multi-select, and
3017
+ the four calendar views. The calendar views reuse the
3018
+ calendar-table-* sub-element hooks, so they only need the table
3019
+ root rule. show-more's clamp is keyed on data-expanded (the
3020
+ component never sets an inline style); file-tree hides a closed
3021
+ folder's group via aria-expanded. */
3022
+ :where(.calendar-year-table, .calendar-month-table, .calendar-week-table, .calendar-day-table) {
3023
+ width: 100%;
3024
+ border-collapse: collapse;
3025
+ }
3026
+
3027
+ :where(.kbd-shortcut) {
3028
+ display: inline-flex;
3029
+ align-items: center;
3030
+ gap: var(--lily-space-xs);
3031
+ }
3032
+
3033
+ :where(.kbd-shortcut-key) {
3034
+ display: inline-block;
3035
+ padding: 0.125rem 0.4rem;
3036
+ font-family: var(--lily-font-mono);
3037
+ font-size: 0.85em;
3038
+ background-color: var(--lily-surface-alt);
3039
+ border: var(--border) solid var(--lily-border-strong);
3040
+ border-bottom-width: 2px;
3041
+ border-radius: var(--lily-radius-sm);
3042
+ }
3043
+
3044
+ :where(.show-more-content[data-expanded="false"]) {
3045
+ max-height: 6em;
3046
+ overflow: hidden;
3047
+ }
3048
+
3049
+ :where(.show-more-button) {
3050
+ margin-block-start: var(--lily-space-xs);
3051
+ padding: var(--lily-space-xs);
3052
+ font: inherit;
3053
+ color: inherit;
3054
+ text-decoration: underline;
3055
+ background: none;
3056
+ border: 0;
3057
+ cursor: pointer;
3058
+ }
3059
+
3060
+ :where(.thinking) {
3061
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3062
+ color: var(--lily-text-muted);
3063
+ border: var(--border) solid var(--lily-border-strong);
3064
+ border-radius: var(--lily-radius-md);
3065
+ }
3066
+
3067
+ :where(.thinking-summary) {
3068
+ cursor: pointer;
3069
+ }
3070
+
3071
+ :where(.thinking[data-streaming] .thinking-summary) {
3072
+ font-style: italic;
3073
+ }
3074
+
3075
+ :where(.empty-state) {
3076
+ padding: var(--lily-space-lg);
3077
+ text-align: center;
3078
+ color: var(--lily-text-muted);
3079
+ }
3080
+
3081
+ :where(.file-tree, .file-tree [role="group"]) {
3082
+ margin: 0;
3083
+ padding-inline-start: 0;
3084
+ list-style: none;
3085
+ }
3086
+
3087
+ :where(.file-tree [role="group"]) {
3088
+ padding-inline-start: var(--lily-space-md);
3089
+ }
3090
+
3091
+ :where(.file-tree [role="treeitem"]) {
3092
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3093
+ cursor: pointer;
3094
+ }
3095
+
3096
+ :where(.file-tree [role="treeitem"][aria-expanded="false"] > [role="group"]) {
3097
+ display: none;
3098
+ }
3099
+
3100
+ :where(.file-tree [role="treeitem"]:focus-visible) {
3101
+ outline: var(--lily-focus-ring);
3102
+ outline-offset: -2px;
3103
+ }
3104
+
3105
+ :where(.one-time-password-input, .multi-select, .multi-select-with-extras select) {
3106
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3107
+ font: inherit;
3108
+ color: var(--lily-text);
3109
+ background-color: var(--lily-surface);
3110
+ border: var(--border) solid var(--lily-border-strong);
3111
+ border-radius: var(--lily-radius-sm);
3112
+ }
3113
+
3114
+ :where(.one-time-password-input) {
3115
+ font-family: var(--lily-font-mono);
3116
+ letter-spacing: 0.25em;
3117
+ }
3118
+
3119
+ /* Chart containers added 2026-10-05 (gauge, heatmap, radar, sankey, pie,
3120
+ ring, funnel, candlestick, composed, choropleth, sunburst) join the
3121
+ existing five as block figures. Every chart's optional data-table
3122
+ wrapper sits below the graphic; the table itself inherits the
3123
+ catalog's table styling. */
3124
+ :where(
3125
+ .gauge-chart,
3126
+ .heatmap-chart,
3127
+ .radar-chart,
3128
+ .sankey-chart,
3129
+ .pie-chart,
3130
+ .ring-chart,
3131
+ .funnel-chart,
3132
+ .candlestick-chart,
3133
+ .composed-chart,
3134
+ .choropleth-chart,
3135
+ .sunburst-chart
3136
+ ) {
3137
+ display: block;
3138
+ margin: 0;
3139
+ }
3140
+
3141
+ :where(
3142
+ .area-chart-data-table,
3143
+ .bar-chart-data-table,
3144
+ .column-chart-data-table,
3145
+ .line-chart-data-table,
3146
+ .scatter-chart-data-table,
3147
+ .gauge-chart-data-table,
3148
+ .heatmap-chart-data-table,
3149
+ .radar-chart-data-table,
3150
+ .sankey-chart-data-table,
3151
+ .pie-chart-data-table,
3152
+ .ring-chart-data-table,
3153
+ .funnel-chart-data-table,
3154
+ .candlestick-chart-data-table,
3155
+ .composed-chart-data-table,
3156
+ .choropleth-chart-data-table,
3157
+ .sunburst-chart-data-table
3158
+ ) {
3159
+ margin-block-start: var(--lily-space-sm);
3160
+ overflow-x: auto;
3161
+ }
3162
+
3163
+ /* tool-call (2026-10-05): a bordered disclosure; the status word sits next
3164
+ to the name in the summary and is never the only cue. [data-status] is
3165
+ the consumer hook for a spinner or icon. */
3166
+ :where(.tool-call) {
3167
+ border: var(--border) solid var(--lily-border-strong);
3168
+ border-radius: var(--lily-radius-md);
3169
+ background-color: var(--lily-surface);
3170
+ color: var(--lily-text);
3171
+ }
3172
+
3173
+ :where(.tool-call-summary) {
3174
+ display: flex;
3175
+ align-items: center;
3176
+ gap: var(--lily-space-sm);
3177
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3178
+ cursor: pointer;
3179
+ }
3180
+
3181
+ :where(.tool-call-content) {
3182
+ display: grid;
3183
+ gap: var(--lily-space-xs);
3184
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3185
+ border-block-start: var(--border) solid var(--lily-border-strong);
3186
+ }
3187
+
3188
+ :where(.tool-call-name) {
3189
+ font-family: var(--lily-font-mono);
3190
+ }
3191
+
3192
+ :where(.tool-call-status) {
3193
+ color: var(--lily-text-muted);
3194
+ }
3195
+
3196
+ :where(.tool-call-input pre, .tool-call-output pre) {
3197
+ margin: 0;
3198
+ overflow-x: auto;
3199
+ font-family: var(--lily-font-mono);
3200
+ }
3201
+
3202
+ :where(.tool-call-error) {
3203
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3204
+ border: var(--border) solid var(--lily-border-strong);
3205
+ border-radius: var(--lily-radius-sm);
3206
+ font-weight: 600;
3207
+ }
3208
+
3209
+ /* mark (2026-10-05): the native <mark> highlight. The UA default is a
3210
+ fixed yellow; this uses the theme's own surface and text tokens so the
3211
+ pair keeps its contrast in every theme (including dark ones). */
3212
+ :where(.mark) {
3213
+ padding-inline: 0.15em;
3214
+ color: var(--lily-text);
3215
+ background-color: var(--lily-surface-alt);
3216
+ border-radius: var(--lily-radius-sm);
3217
+ box-shadow: 0 0 0 1px var(--lily-border-strong);
3218
+ }
3219
+
3220
+ /* chat-composer (2026-10-05): one row, textarea growing, one button. The
3221
+ button's visible word is its accessible name — hide it visually, never
3222
+ with display:none, if you replace it with an icon. */
3223
+ :where(.chat-composer) {
3224
+ display: flex;
3225
+ align-items: flex-end;
3226
+ gap: var(--lily-space-xs);
3227
+ }
3228
+
3229
+ :where(.chat-composer-input) {
3230
+ flex: 1;
3231
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3232
+ font: inherit;
3233
+ color: var(--lily-text);
3234
+ background-color: var(--lily-surface);
3235
+ border: var(--border) solid var(--lily-border-strong);
3236
+ border-radius: var(--lily-radius-md);
3237
+ resize: none;
3238
+ }
3239
+
3240
+ :where(.chat-composer-button) {
3241
+ min-width: 2.5rem;
3242
+ min-height: 2.5rem;
3243
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3244
+ font: inherit;
3245
+ color: var(--lily-text);
3246
+ background-color: var(--lily-surface);
3247
+ border: var(--border) solid var(--lily-border-strong);
3248
+ border-radius: var(--lily-radius-md);
3249
+ cursor: pointer;
3250
+ }
3251
+
3252
+ :where(.chat-composer-button:disabled) {
3253
+ cursor: not-allowed;
3254
+ opacity: 0.6;
3255
+ }
3256
+
3257
+ /* Picker tooltips (added 2026-10-04): a visual-only role="tooltip"
3258
+ element beside each picker's icon button, holding the same text as
3259
+ its aria-label. The component toggles [hidden]; position and look
3260
+ are here. It sits just below the button, in the inverse of the
3261
+ page colours so it never disappears into the surface. A ::before
3262
+ strip bridges the gap to the button so the pointer can travel onto
3263
+ the tooltip without it closing (WCAG 1.4.13, hoverable). */
3264
+ :where(.motion-picker) {
3265
+ position: relative;
3266
+ display: inline-block;
3267
+ }
3268
+
3269
+ :where(
3270
+ .theme-picker-tooltip,
3271
+ .locale-picker-tooltip,
3272
+ .text-size-picker-tooltip,
3273
+ .motion-picker-tooltip,
3274
+ .share-picker-tooltip,
3275
+ .search-picker-tooltip,
3276
+ .date-time-picker-tooltip
3277
+ ) {
3278
+ position: absolute;
3279
+ z-index: 11;
3280
+ inset-inline-start: 0;
3281
+ inset-block-start: 100%;
3282
+ margin-block-start: var(--lily-space-xs);
3283
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3284
+ font-size: 0.875em;
3285
+ line-height: 1.3;
3286
+ white-space: nowrap;
3287
+ color: var(--lily-surface);
3288
+ background-color: var(--lily-text);
3289
+ border-radius: var(--lily-radius-sm);
3290
+ box-shadow: var(--lily-shadow-md);
3291
+ }
3292
+
3293
+ :where(
3294
+ .theme-picker-tooltip,
3295
+ .locale-picker-tooltip,
3296
+ .text-size-picker-tooltip,
3297
+ .motion-picker-tooltip,
3298
+ .share-picker-tooltip,
3299
+ .search-picker-tooltip,
3300
+ .date-time-picker-tooltip
3301
+ )::before {
3302
+ content: "";
3303
+ position: absolute;
3304
+ inset-inline: 0;
3305
+ inset-block-end: 100%;
3306
+ height: var(--lily-space-xs);
3307
+ }
3308
+
3309
+ :where(
3310
+ .theme-picker-tooltip,
3311
+ .locale-picker-tooltip,
3312
+ .text-size-picker-tooltip,
3313
+ .motion-picker-tooltip,
3314
+ .share-picker-tooltip,
3315
+ .search-picker-tooltip,
3316
+ .date-time-picker-tooltip
3317
+ )[hidden] {
3318
+ display: none;
3319
+ }
3320
+
3321
+ /* search-picker's panel holds a search form rather than a list: the
3322
+ field and the ⏎ submit button sit in one row, the button at the
3323
+ field's inline end (right in LTR, left under dir="rtl"). The ⏎
3324
+ button matches the picker trigger buttons' size and border. */
3325
+ :where(.search-picker-form) {
3326
+ display: flex;
3327
+ align-items: stretch;
3328
+ gap: var(--lily-space-xs);
3329
+ margin: 0;
3330
+ }
3331
+
3332
+ :where(.search-picker-input) {
3333
+ min-width: 14rem;
3334
+ padding: var(--lily-space-xs) var(--lily-space-sm);
3335
+ font: inherit;
3336
+ color: var(--lily-text);
3337
+ background-color: var(--lily-surface);
3338
+ border: var(--border) solid var(--lily-border-strong);
3339
+ border-radius: var(--lily-radius-sm);
3340
+ }
3341
+
3342
+ :where(.search-picker-submit) {
3343
+ display: inline-flex;
3344
+ align-items: center;
3345
+ justify-content: center;
3346
+ min-width: 2.5rem;
3347
+ min-height: 2.5rem;
3348
+ padding: var(--lily-space-xs);
3349
+ font: inherit;
3350
+ line-height: 1;
3351
+ color: var(--lily-text);
3352
+ background-color: var(--lily-surface);
3353
+ border: var(--border) solid var(--lily-border-strong);
3354
+ border-radius: var(--lily-radius-md);
3355
+ cursor: pointer;
3356
+ }
3357
+
3358
+ :where(.search-picker-submit:hover) {
3359
+ background-color: var(--lily-surface-alt);
3360
+ }
3361
+
3012
3362
  :where(
3013
3363
  .theme-picker-list,
3014
3364
  .locale-picker-list,
3015
3365
  .text-size-picker-list,
3016
- .share-picker-list
3366
+ .share-picker-list,
3367
+ .search-picker-panel
3017
3368
  ) {
3018
3369
  position: absolute;
3019
3370
  z-index: 10;
@@ -3037,7 +3388,8 @@
3037
3388
  .theme-picker-list,
3038
3389
  .locale-picker-list,
3039
3390
  .text-size-picker-list,
3040
- .share-picker-list
3391
+ .share-picker-list,
3392
+ .search-picker-panel
3041
3393
  )[hidden] {
3042
3394
  display: none;
3043
3395
  }