@scalewing/react 1.41.0 → 1.44.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 (136) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +180 -1
  3. package/dist/components/ActionMenu.d.ts +4 -2
  4. package/dist/components/ActionMenu.js +4 -8
  5. package/dist/components/Article.d.ts +60 -0
  6. package/dist/components/Article.js +42 -0
  7. package/dist/components/DescriptionList.d.ts +12 -2
  8. package/dist/components/DescriptionList.js +7 -3
  9. package/dist/components/DocumentViewer.d.ts +41 -0
  10. package/dist/components/DocumentViewer.js +72 -0
  11. package/dist/components/FileField.d.ts +55 -0
  12. package/dist/components/FileField.js +75 -0
  13. package/dist/components/FilterChips.d.ts +1 -1
  14. package/dist/components/FilterChips.js +1 -1
  15. package/dist/components/FilterChipsRow.d.ts +24 -0
  16. package/dist/components/FilterChipsRow.js +14 -0
  17. package/dist/components/ListRow.d.ts +31 -2
  18. package/dist/components/ListRow.js +19 -18
  19. package/dist/components/MarkdownView.d.ts +39 -0
  20. package/dist/components/MarkdownView.js +30 -0
  21. package/dist/components/NavCount.d.ts +15 -2
  22. package/dist/components/NavCount.js +16 -6
  23. package/dist/components/action-menu/assert-action-menu.d.ts +13 -0
  24. package/dist/components/action-menu/assert-action-menu.js +21 -0
  25. package/dist/components/chart/use-chart-width.js +2 -24
  26. package/dist/components/description-list-layout.d.ts +10 -0
  27. package/dist/components/description-list-layout.js +13 -0
  28. package/dist/components/document-viewer/document-viewer-labels.d.ts +23 -0
  29. package/dist/components/document-viewer/document-viewer-labels.js +23 -0
  30. package/dist/components/document-viewer/page-box.d.ts +8 -0
  31. package/dist/components/document-viewer/page-box.js +12 -0
  32. package/dist/components/document-viewer/pdf-document.d.ts +32 -0
  33. package/dist/components/document-viewer/pdf-document.js +66 -0
  34. package/dist/components/document-viewer/pdf-options.d.ts +36 -0
  35. package/dist/components/document-viewer/pdf-options.js +46 -0
  36. package/dist/components/document-viewer/render-pdf-page.d.ts +20 -0
  37. package/dist/components/document-viewer/render-pdf-page.js +38 -0
  38. package/dist/components/document-viewer/scroll-chain.d.ts +6 -0
  39. package/dist/components/document-viewer/scroll-chain.js +23 -0
  40. package/dist/components/document-viewer/use-error-report.d.ts +5 -0
  41. package/dist/components/document-viewer/use-error-report.js +13 -0
  42. package/dist/components/document-viewer/use-page-render.d.ts +21 -0
  43. package/dist/components/document-viewer/use-page-render.js +70 -0
  44. package/dist/components/document-viewer/use-pdf-document.d.ts +22 -0
  45. package/dist/components/document-viewer/use-pdf-document.js +47 -0
  46. package/dist/components/document-viewer/use-pinch-zoom.d.ts +12 -0
  47. package/dist/components/document-viewer/use-pinch-zoom.js +67 -0
  48. package/dist/components/document-viewer/use-zoom.d.ts +23 -0
  49. package/dist/components/document-viewer/use-zoom.js +70 -0
  50. package/dist/components/document-viewer/zoom.d.ts +29 -0
  51. package/dist/components/document-viewer/zoom.js +37 -0
  52. package/dist/components/file-field/file-field-checks.d.ts +13 -0
  53. package/dist/components/file-field/file-field-checks.js +23 -0
  54. package/dist/components/file-field/use-file-drop.d.ts +34 -0
  55. package/dist/components/file-field/use-file-drop.js +78 -0
  56. package/dist/components/file-field/use-swap-focus.d.ts +15 -0
  57. package/dist/components/file-field/use-swap-focus.js +40 -0
  58. package/dist/components/filter-chips/FilterChip.js +1 -1
  59. package/dist/components/filter-chips/options.d.ts +10 -0
  60. package/dist/components/filter-chips/options.js +8 -0
  61. package/dist/components/filter-chips/validate.d.ts +3 -3
  62. package/dist/components/filter-chips/validate.js +8 -4
  63. package/dist/components/list/ListRowContent.d.ts +9 -2
  64. package/dist/components/list/ListRowContent.js +6 -3
  65. package/dist/components/list/ListRowItem.d.ts +10 -0
  66. package/dist/components/list/ListRowItem.js +17 -0
  67. package/dist/components/list/row-naming.d.ts +17 -0
  68. package/dist/components/list/row-naming.js +19 -0
  69. package/dist/components/markdown/markdown-limits.d.ts +14 -0
  70. package/dist/components/markdown/markdown-limits.js +14 -0
  71. package/dist/components/markdown/markdown-model.d.ts +94 -0
  72. package/dist/components/markdown/markdown-model.js +8 -0
  73. package/dist/components/markdown/markdown-options.d.ts +18 -0
  74. package/dist/components/markdown/markdown-options.js +10 -0
  75. package/dist/components/markdown/markdown-rules.d.ts +28 -0
  76. package/dist/components/markdown/markdown-rules.js +81 -0
  77. package/dist/components/markdown/markdown-text.d.ts +17 -0
  78. package/dist/components/markdown/markdown-text.js +86 -0
  79. package/dist/components/markdown/parse-markdown.d.ts +4 -0
  80. package/dist/components/markdown/parse-markdown.js +21 -0
  81. package/dist/components/markdown/read-blocks.d.ts +8 -0
  82. package/dist/components/markdown/read-blocks.js +168 -0
  83. package/dist/components/markdown/read-inlines.d.ts +12 -0
  84. package/dist/components/markdown/read-inlines.js +126 -0
  85. package/dist/components/markdown/read-markdown.d.ts +9 -0
  86. package/dist/components/markdown/read-markdown.js +27 -0
  87. package/dist/components/markdown/reading-context.d.ts +18 -0
  88. package/dist/components/markdown/reading-context.js +35 -0
  89. package/dist/components/markdown/render-markdown.d.ts +10 -0
  90. package/dist/components/markdown/render-markdown.js +52 -0
  91. package/dist/components/slot.d.ts +9 -0
  92. package/dist/components/slot.js +13 -0
  93. package/dist/components/use-element-width.d.ts +11 -0
  94. package/dist/components/use-element-width.js +38 -0
  95. package/dist/css/css-action-menu-trigger.d.ts +6 -2
  96. package/dist/css/css-action-menu-trigger.js +50 -2
  97. package/dist/css/css-action-menu.js +4 -2
  98. package/dist/css/css-article.d.ts +2 -0
  99. package/dist/css/css-article.js +110 -0
  100. package/dist/css/css-components.js +15 -0
  101. package/dist/css/css-count-pill.js +14 -1
  102. package/dist/css/css-description-list.d.ts +1 -0
  103. package/dist/css/css-description-list.js +24 -0
  104. package/dist/css/css-document-viewer.d.ts +2 -0
  105. package/dist/css/css-document-viewer.js +186 -0
  106. package/dist/css/css-file-field.d.ts +2 -0
  107. package/dist/css/css-file-field.js +194 -0
  108. package/dist/css/css-filter-chip-tones.d.ts +3 -0
  109. package/dist/css/css-filter-chip-tones.js +28 -0
  110. package/dist/css/css-filter-chips-layout.d.ts +1 -0
  111. package/dist/css/css-filter-chips-layout.js +1 -1
  112. package/dist/css/css-filter-chips-row.d.ts +2 -0
  113. package/dist/css/css-filter-chips-row.js +79 -0
  114. package/dist/css/css-filter-chips.js +8 -0
  115. package/dist/css/css-font-mono.d.ts +3 -0
  116. package/dist/css/css-font-mono.js +23 -0
  117. package/dist/css/css-list-row-trailing.d.ts +2 -0
  118. package/dist/css/css-list-row-trailing.js +91 -0
  119. package/dist/css/css-list-row-truncate.d.ts +2 -0
  120. package/dist/css/css-list-row-truncate.js +29 -0
  121. package/dist/css/css-list.js +9 -1
  122. package/dist/css/css-markdown.d.ts +2 -0
  123. package/dist/css/css-markdown.js +144 -0
  124. package/dist/css/css-utilities.js +3 -0
  125. package/dist/css/css-variables.js +1 -0
  126. package/dist/css/spacing-classes.d.ts +1 -1
  127. package/dist/css/spacing-classes.js +1 -0
  128. package/dist/css/stylesheet.js +10 -0
  129. package/dist/document-viewer-worker.d.ts +9 -0
  130. package/dist/document-viewer-worker.js +9 -0
  131. package/dist/index.d.ts +11 -5
  132. package/dist/index.js +8 -3
  133. package/dist/list-options.d.ts +5 -2
  134. package/dist/list-options.js +7 -2
  135. package/dist/styles.css +649 -0
  136. package/package.json +10 -2
package/dist/styles.css CHANGED
@@ -57,6 +57,7 @@
57
57
  --sw-dialog-max: 32rem;
58
58
  --sw-dialog-max-lg: 56rem;
59
59
  --sw-dialog-max-xl: 65rem;
60
+ --sw-reading-max: 46rem;
60
61
  --sw-select-max: 16rem;
61
62
  --sw-split-min: 14rem;
62
63
  --sw-split-size: 22rem;
@@ -130,6 +131,7 @@
130
131
  --sw-dialog-max: 32rem;
131
132
  --sw-dialog-max-lg: 56rem;
132
133
  --sw-dialog-max-xl: 65rem;
134
+ --sw-reading-max: 46rem;
133
135
  --sw-select-max: 16rem;
134
136
  --sw-split-min: 14rem;
135
137
  --sw-split-size: 22rem;
@@ -827,6 +829,7 @@ body {
827
829
  .sw-grow { flex-grow: 1; }
828
830
  .sw-full-width { width: 100%; }
829
831
  .sw-container { width: 100%; max-width: var(--sw-container-max); margin-inline: auto; }
832
+ .sw-container-reading { width: 100%; max-width: var(--sw-reading-max); margin-inline: auto; }
830
833
  .sw-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
831
834
  .sw-align-start { align-items: flex-start; }
832
835
  .sw-align-center { align-items: center; }
@@ -902,6 +905,11 @@ body {
902
905
  .sw-text-heading { font-size: 24px; line-height: 30px; letter-spacing: -0.4px; }
903
906
  }
904
907
 
908
+ [data-theme] .sw-font-mono,
909
+ [data-theme] :is(input[type='text'], input[type='email'], input[type='number'], input[type='search'], input[type='url'], input[type='password'], input:not([type]), textarea).sw-font-mono {
910
+ font-family: ui-monospace, monospace;
911
+ }
912
+
905
913
  .sw-button {
906
914
  appearance: none;
907
915
  align-items: center;
@@ -2940,6 +2948,524 @@ body {
2940
2948
  .sw-list-row-check { border-color: CanvasText; }
2941
2949
  }
2942
2950
 
2951
+ .sw-list-row-unread {
2952
+ border: calc(var(--sw-space-2) / 2) solid var(--sw-color-accent);
2953
+ border-radius: var(--sw-radius-pill);
2954
+ box-sizing: border-box;
2955
+ display: inline-block;
2956
+ height: var(--sw-space-2);
2957
+ margin-inline-start: var(--sw-space-2);
2958
+ vertical-align: middle;
2959
+ width: var(--sw-space-2);
2960
+ }
2961
+
2962
+ @media (forced-colors: active) {
2963
+ .sw-list-row-unread { border-color: CanvasText; }
2964
+ }
2965
+
2966
+ .sw-list-row-tag {
2967
+ align-self: center;
2968
+ display: inline-flex;
2969
+ flex: none;
2970
+ white-space: nowrap;
2971
+ }
2972
+
2973
+ .sw-list-item-action {
2974
+ align-items: center;
2975
+ display: flex;
2976
+ }
2977
+
2978
+ .sw-list-item-action > .sw-list-row {
2979
+ flex: 1 1 auto;
2980
+ min-width: 0;
2981
+ padding-inline-end: var(--sw-space-2);
2982
+ }
2983
+
2984
+ .sw-list-row-action {
2985
+ display: inline-flex;
2986
+ flex: none;
2987
+ padding-inline-end: var(--sw-space-4);
2988
+ }
2989
+
2990
+ .sw-list-group-plain .sw-list-row-action { padding-inline-end: 0; }
2991
+
2992
+ @supports selector(:has(*)) {
2993
+ @media (hover: hover) {
2994
+ .sw-list-item-action:has(> .sw-list-row-pressable:hover:not(.sw-list-row-disabled)) {
2995
+ background: color-mix(in srgb, var(--sw-color-muted) 16%, transparent);
2996
+ }
2997
+
2998
+ .sw-list-item-action > .sw-list-row-pressable:hover:not(.sw-list-row-disabled) {
2999
+ background: transparent;
3000
+ }
3001
+ }
3002
+ }
3003
+
3004
+ .sw-list-row-truncate .sw-list-row-title {
3005
+ align-items: center;
3006
+ display: flex;
3007
+ min-width: 0;
3008
+ }
3009
+
3010
+ .sw-list-row-truncate .sw-list-row-unread { flex: none; }
3011
+
3012
+ .sw-list-row-truncate .sw-list-row-title-text,
3013
+ .sw-list-row-truncate .sw-list-row-detail {
3014
+ min-width: 0;
3015
+ overflow: hidden;
3016
+ overflow-wrap: normal;
3017
+ text-overflow: ellipsis;
3018
+ white-space: nowrap;
3019
+ }
3020
+
3021
+ .sw-file-field-frame {
3022
+ border: 1px solid var(--sw-color-border);
3023
+ border-radius: var(--sw-radius-md);
3024
+ box-sizing: border-box;
3025
+ min-width: 0;
3026
+ }
3027
+
3028
+ .sw-file-field-empty { background: var(--sw-color-subtle); }
3029
+
3030
+ .sw-file-field-chosen {
3031
+ align-items: center;
3032
+ background: var(--sw-color-surface);
3033
+ display: flex;
3034
+ flex-wrap: wrap;
3035
+ gap: var(--sw-space-2) var(--sw-space-3);
3036
+ padding: var(--sw-space-2) var(--sw-space-2) var(--sw-space-2) var(--sw-space-4);
3037
+ }
3038
+
3039
+ .sw-field-invalid .sw-file-field-frame { border-color: var(--sw-color-danger); }
3040
+
3041
+ /* A drag wins over an error's edge: it says where the file goes. */
3042
+ .sw-file-field-frame.sw-file-field-dragging {
3043
+ background: var(--sw-color-accentSubtle);
3044
+ border-color: var(--sw-color-accent);
3045
+ outline: 1px solid var(--sw-color-accent);
3046
+ }
3047
+
3048
+ /* On the tint, muted words fall under 4.5:1 in light palettes: every word takes the text colour. */
3049
+ .sw-file-field-dragging :is(.sw-file-field-choose, .sw-file-field-drop, .sw-file-field-detail, .sw-file-field-icon) {
3050
+ color: var(--sw-color-text);
3051
+ }
3052
+
3053
+ /* Disabled, the frame's hairline is dashed, as a disabled text control's. */
3054
+ .sw-file-field-disabled { border-style: dashed; }
3055
+
3056
+ .sw-file-field-zone {
3057
+ align-items: center;
3058
+ appearance: none;
3059
+ background: transparent;
3060
+ border: 0;
3061
+ border-radius: inherit;
3062
+ box-sizing: border-box;
3063
+ color: var(--sw-color-text);
3064
+ cursor: pointer;
3065
+ display: flex;
3066
+ flex-wrap: wrap;
3067
+ font-family: var(--sw-font-sans);
3068
+ font-size: 15px;
3069
+ gap: var(--sw-space-1);
3070
+ justify-content: center;
3071
+ line-height: 20px;
3072
+ margin: 0;
3073
+ min-height: var(--sw-control-md-min-height);
3074
+ padding: var(--sw-space-6) var(--sw-space-4);
3075
+ text-align: center;
3076
+ width: 100%;
3077
+ }
3078
+
3079
+ .sw-file-field-zone:focus { outline: none; }
3080
+
3081
+ .sw-file-field-zone:focus-visible {
3082
+ outline: var(--sw-focus-ring-width) solid var(--sw-color-accent);
3083
+ outline-offset: calc(-1 * var(--sw-focus-ring-width));
3084
+ }
3085
+
3086
+ .sw-file-field-choose {
3087
+ color: var(--sw-color-text);
3088
+ font-weight: 600;
3089
+ }
3090
+
3091
+ .sw-file-field-drop { color: var(--sw-color-muted); }
3092
+
3093
+ .sw-file-field-zone:disabled {
3094
+ background-color: var(--sw-color-subtle);
3095
+ border-style: dashed;
3096
+ cursor: not-allowed;
3097
+ opacity: 1;
3098
+ -webkit-text-fill-color: currentColor;
3099
+ border-radius: inherit;
3100
+ }
3101
+
3102
+ .sw-file-field-zone:disabled .sw-file-field-choose { color: var(--sw-color-muted); }
3103
+
3104
+ @media (pointer: coarse) {
3105
+ .sw-file-field-drop { display: none; }
3106
+ }
3107
+
3108
+ .sw-file-field-icon {
3109
+ align-items: center;
3110
+ color: var(--sw-color-muted);
3111
+ display: flex;
3112
+ flex: none;
3113
+ }
3114
+
3115
+ .sw-file-field-preview {
3116
+ background: var(--sw-color-subtle);
3117
+ border-radius: var(--sw-radius-sm);
3118
+ display: block;
3119
+ flex: none;
3120
+ height: var(--sw-space-6);
3121
+ object-fit: cover;
3122
+ width: var(--sw-space-8);
3123
+ }
3124
+
3125
+ .sw-file-field-file {
3126
+ display: flex;
3127
+ flex: 1 1 calc(4 * var(--sw-space-8));
3128
+ flex-direction: column;
3129
+ min-width: 0;
3130
+ }
3131
+
3132
+ .sw-file-field-name {
3133
+ font-size: 15px;
3134
+ font-weight: 600;
3135
+ line-height: 20px;
3136
+ overflow-wrap: anywhere;
3137
+ }
3138
+
3139
+ .sw-file-field-detail {
3140
+ color: var(--sw-color-muted);
3141
+ font-size: 13px;
3142
+ line-height: 18px;
3143
+ }
3144
+
3145
+ .sw-file-field-chosen > .sw-button {
3146
+ flex: none;
3147
+ margin-inline-start: auto;
3148
+ }
3149
+
3150
+ @media (forced-colors: active) {
3151
+ .sw-file-field-frame { border-color: CanvasText; }
3152
+ .sw-field-invalid .sw-file-field-frame { border-color: Mark; }
3153
+ .sw-file-field-frame.sw-file-field-dragging { border-color: Highlight; outline-color: Highlight; }
3154
+ .sw-file-field-choose { color: ButtonText; }
3155
+ .sw-file-field-zone:disabled,
3156
+ .sw-file-field-zone:disabled .sw-file-field-choose { color: GrayText; }
3157
+ }
3158
+
3159
+ .sw-article {
3160
+ box-sizing: border-box;
3161
+ display: flex;
3162
+ flex-direction: column;
3163
+ max-inline-size: var(--sw-reading-max);
3164
+ min-width: 0;
3165
+ }
3166
+
3167
+ .sw-article-cover {
3168
+ aspect-ratio: 3 / 1;
3169
+ background: var(--sw-color-subtle);
3170
+ border-start-end-radius: inherit;
3171
+ border-start-start-radius: inherit;
3172
+ display: block;
3173
+ inline-size: 100%;
3174
+ object-fit: cover;
3175
+ }
3176
+
3177
+ .sw-article-body {
3178
+ display: flex;
3179
+ flex-direction: column;
3180
+ min-width: 0;
3181
+ padding: var(--sw-space-6) var(--sw-space-8);
3182
+ }
3183
+
3184
+ .sw-article-header {
3185
+ display: flex;
3186
+ flex-direction: column;
3187
+ margin-block-end: var(--sw-space-3);
3188
+ min-width: 0;
3189
+ }
3190
+
3191
+ .sw-article-top {
3192
+ align-items: center;
3193
+ display: flex;
3194
+ flex-wrap: wrap;
3195
+ gap: var(--sw-space-3);
3196
+ justify-content: space-between;
3197
+ margin-block-end: var(--sw-space-3);
3198
+ }
3199
+
3200
+ .sw-article-eyebrow {
3201
+ color: var(--sw-color-muted);
3202
+ font-size: 13px;
3203
+ font-weight: 600;
3204
+ letter-spacing: -0.08px;
3205
+ line-height: 18px;
3206
+ min-width: 0;
3207
+ overflow-wrap: anywhere;
3208
+ }
3209
+
3210
+ .sw-article-actions {
3211
+ display: flex;
3212
+ flex-wrap: wrap;
3213
+ gap: var(--sw-space-2);
3214
+ }
3215
+
3216
+ .sw-article-actions:only-child { margin-inline-start: auto; }
3217
+
3218
+ .sw-article-title { overflow-wrap: anywhere; }
3219
+
3220
+ .sw-article-meta {
3221
+ color: var(--sw-color-muted);
3222
+ font-size: 13px;
3223
+ letter-spacing: -0.08px;
3224
+ line-height: 18px;
3225
+ margin-block-start: var(--sw-space-3);
3226
+ overflow-wrap: anywhere;
3227
+ }
3228
+
3229
+ .sw-article-content {
3230
+ margin-block-start: var(--sw-space-4);
3231
+ min-width: 0;
3232
+ }
3233
+
3234
+ @media not all and (min-width: 48rem) {
3235
+ .sw-article-cover { aspect-ratio: 2 / 1; }
3236
+ .sw-article-body { padding: var(--sw-space-5); }
3237
+ }
3238
+
3239
+ .sw-document-viewer {
3240
+ background: color-mix(in srgb, var(--sw-color-muted) 16%, transparent);
3241
+ border-radius: var(--sw-radius-lg);
3242
+ display: flex;
3243
+ flex-direction: column;
3244
+ min-width: 0;
3245
+ padding-block-end: var(--sw-space-4);
3246
+ }
3247
+
3248
+ .sw-document-viewer-stage {
3249
+ box-sizing: border-box;
3250
+ min-width: 0;
3251
+ overflow-x: auto;
3252
+ overscroll-behavior-x: contain;
3253
+ padding: var(--sw-space-5);
3254
+ touch-action: pan-x pan-y;
3255
+ }
3256
+
3257
+ @media not all and (min-width: 48rem) {
3258
+ .sw-document-viewer-stage { padding: var(--sw-space-3); }
3259
+ }
3260
+
3261
+ .sw-document-viewer-stage:focus { outline: none; }
3262
+
3263
+ .sw-document-viewer-stage:focus-visible {
3264
+ border-radius: var(--sw-radius-lg);
3265
+ outline: var(--sw-focus-ring-width) solid var(--sw-color-accent);
3266
+ outline-offset: calc(-1 * var(--sw-focus-ring-width));
3267
+ }
3268
+
3269
+ .sw-document-viewer-page {
3270
+ aspect-ratio: 1 / var(--sw-document-page-aspect);
3271
+ background: var(--sw-color-surface);
3272
+ box-shadow: var(--sw-elevation-sm);
3273
+ margin-inline: auto;
3274
+ position: relative;
3275
+ width: var(--sw-document-page-width);
3276
+ }
3277
+
3278
+ .sw-document-viewer-page > canvas {
3279
+ display: block;
3280
+ height: 100%;
3281
+ width: 100%;
3282
+ }
3283
+
3284
+ .sw-document-viewer-text {
3285
+ --scale-round-x: 1px;
3286
+ --scale-round-y: 1px;
3287
+ --min-font-size: 1;
3288
+ --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));
3289
+ --min-font-size-inv: calc(1 / var(--min-font-size));
3290
+ forced-color-adjust: none;
3291
+ inset: 0;
3292
+ letter-spacing: normal;
3293
+ line-height: 1;
3294
+ overflow: clip;
3295
+ position: absolute;
3296
+ text-align: initial;
3297
+ text-size-adjust: none;
3298
+ transform-origin: 0 0;
3299
+ word-spacing: normal;
3300
+ }
3301
+
3302
+ .sw-document-viewer-text :is(span, br) {
3303
+ color: transparent;
3304
+ cursor: text;
3305
+ position: absolute;
3306
+ transform-origin: 0% 0%;
3307
+ user-select: text;
3308
+ white-space: pre;
3309
+ }
3310
+
3311
+ .sw-document-viewer-text > :not(.markedContent),
3312
+ .sw-document-viewer-text .markedContent span:not(.markedContent) {
3313
+ --font-height: 0;
3314
+ --scale-x: 1;
3315
+ --rotate: 0deg;
3316
+ font-size: calc(var(--text-scale-factor) * var(--font-height));
3317
+ transform: rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv));
3318
+ }
3319
+
3320
+ .sw-document-viewer-text .markedContent { display: contents; }
3321
+
3322
+ .sw-document-viewer-text ::selection {
3323
+ background: color-mix(in srgb, var(--sw-color-accent) 30%, transparent);
3324
+ color: transparent;
3325
+ }
3326
+
3327
+ .sw-document-viewer-bar {
3328
+ align-items: center;
3329
+ display: flex;
3330
+ gap: var(--sw-space-3);
3331
+ justify-content: center;
3332
+ padding-inline: var(--sw-space-3);
3333
+ }
3334
+
3335
+ .sw-button.sw-document-viewer-step {
3336
+ border-radius: var(--sw-radius-pill);
3337
+ flex: none;
3338
+ min-height: var(--sw-space-8);
3339
+ min-width: var(--sw-space-8);
3340
+ padding-inline: 0;
3341
+ }
3342
+
3343
+ .sw-document-viewer-status {
3344
+ font-family: var(--sw-font-sans);
3345
+ font-size: 15px;
3346
+ font-variant-numeric: tabular-nums;
3347
+ line-height: 20px;
3348
+ text-align: center;
3349
+ }
3350
+
3351
+ .sw-document-viewer-message {
3352
+ align-items: center;
3353
+ display: flex;
3354
+ flex-direction: column;
3355
+ gap: var(--sw-space-2);
3356
+ justify-content: center;
3357
+ min-height: calc(4 * var(--sw-space-8));
3358
+ text-align: center;
3359
+ }
3360
+
3361
+ .sw-document-viewer-actions {
3362
+ display: flex;
3363
+ flex-wrap: wrap;
3364
+ gap: var(--sw-space-2);
3365
+ justify-content: center;
3366
+ margin-block-start: var(--sw-space-2);
3367
+ }
3368
+
3369
+ @media (forced-colors: active) {
3370
+ .sw-document-viewer { border: 1px solid CanvasText; }
3371
+ .sw-document-viewer-page { outline: 1px solid CanvasText; }
3372
+ }
3373
+
3374
+ .sw-markdown {
3375
+ color: var(--sw-color-text);
3376
+ font-family: var(--sw-font-sans);
3377
+ font-size: 17px;
3378
+ letter-spacing: -0.2px;
3379
+ line-height: 25px;
3380
+ overflow-wrap: anywhere;
3381
+ }
3382
+
3383
+ :where(.sw-markdown) > *,
3384
+ :where(.sw-markdown-quote) > *,
3385
+ :where(.sw-markdown-list li) > * { margin-block: 0; }
3386
+
3387
+ :where(.sw-markdown, .sw-markdown-quote, .sw-markdown-list li) > * + * {
3388
+ margin-block-start: var(--sw-space-4);
3389
+ }
3390
+
3391
+ :where(.sw-markdown) > * + .sw-markdown-heading { margin-block-start: var(--sw-space-6); }
3392
+ :where(.sw-markdown) > .sw-markdown-heading + * { margin-block-start: var(--sw-space-2); }
3393
+
3394
+ .sw-markdown-heading {
3395
+ color: var(--sw-color-text);
3396
+ font-weight: 600;
3397
+ scroll-margin-block-start: var(--sw-space-6);
3398
+ }
3399
+
3400
+ .sw-markdown-heading-1 {
3401
+ font-size: 20px;
3402
+ letter-spacing: -0.3px;
3403
+ line-height: 28px;
3404
+ }
3405
+
3406
+ .sw-markdown-heading-2 {
3407
+ font-size: 17px;
3408
+ line-height: 25px;
3409
+ }
3410
+
3411
+ .sw-markdown-heading-3 {
3412
+ font-size: 15px;
3413
+ letter-spacing: -0.2px;
3414
+ line-height: 20px;
3415
+ }
3416
+
3417
+ .sw-markdown-list {
3418
+ padding-inline-start: var(--sw-space-5);
3419
+ }
3420
+
3421
+ .sw-markdown-list > li + li { margin-block-start: var(--sw-space-2); }
3422
+
3423
+ [data-theme] .sw-markdown-link {
3424
+ color: var(--sw-color-accent);
3425
+ text-decoration-line: underline;
3426
+ }
3427
+
3428
+ [data-theme] .sw-markdown-link:hover {
3429
+ text-decoration-thickness: var(--sw-focus-ring-width);
3430
+ }
3431
+
3432
+ [data-theme] .sw-markdown-quote :is(.sw-markdown-link, .sw-markdown-caption) {
3433
+ color: var(--sw-color-text);
3434
+ }
3435
+
3436
+ .sw-markdown-quote {
3437
+ background: var(--sw-color-accentSubtle);
3438
+ border-inline-start: var(--sw-space-1) solid var(--sw-color-accent);
3439
+ border-radius: var(--sw-radius-sm);
3440
+ margin-inline: 0;
3441
+ padding: var(--sw-space-3) var(--sw-space-4);
3442
+ }
3443
+
3444
+ .sw-markdown-figure {
3445
+ display: flex;
3446
+ flex-direction: column;
3447
+ gap: var(--sw-space-2);
3448
+ margin-inline: 0;
3449
+ }
3450
+
3451
+ .sw-markdown-image {
3452
+ border-radius: var(--sw-radius-md);
3453
+ display: block;
3454
+ height: auto;
3455
+ width: 100%;
3456
+ }
3457
+
3458
+ .sw-markdown-caption {
3459
+ color: var(--sw-color-muted);
3460
+ font-size: 13px;
3461
+ letter-spacing: -0.08px;
3462
+ line-height: 18px;
3463
+ }
3464
+
3465
+ @media (forced-colors: active) {
3466
+ .sw-markdown-quote { border: 1px solid CanvasText; border-inline-start-width: var(--sw-space-1); }
3467
+ }
3468
+
2943
3469
  [data-theme] .sw-section-nav-count,
2944
3470
  [data-theme] .sw-nav-count {
2945
3471
  align-items: center;
@@ -2959,6 +3485,17 @@ body {
2959
3485
  padding-inline: var(--sw-space-1);
2960
3486
  }
2961
3487
 
3488
+ /*
3489
+ * NavCount's `tone="accent"`: a count that is news, not work waiting (what
3490
+ * was added since the person last looked), is the accent fill with its
3491
+ * on-colour figures (4.5:1 in every palette, as a primary Button's label).
3492
+ * One class more specific than the pill, so it wins in any order.
3493
+ */
3494
+ [data-theme] .sw-nav-count.sw-nav-count-accent {
3495
+ background: var(--sw-color-accent);
3496
+ color: var(--sw-color-onAccent);
3497
+ }
3498
+
2962
3499
  /*
2963
3500
  * A Nav link holding a count lays out as SectionNav's link does: the words
2964
3501
  * and the pill centred on one line a space-2 apart (the space text node
@@ -4369,6 +4906,43 @@ body {
4369
4906
  .sw-action-menu-trigger.sw-action-menu-trigger-text[aria-expanded='true'] { border-color: Highlight; }
4370
4907
  }
4371
4908
 
4909
+ .sw-action-menu-trigger.sw-action-menu-trigger-icon {
4910
+ align-items: center;
4911
+ background: transparent;
4912
+ border-color: transparent;
4913
+ border-radius: var(--sw-radius-pill);
4914
+ color: var(--sw-color-muted);
4915
+ display: inline-flex;
4916
+ justify-content: center;
4917
+ min-height: var(--sw-control-sm-min-height);
4918
+ min-width: var(--sw-control-sm-min-height);
4919
+ padding: 0;
4920
+ }
4921
+
4922
+ .sw-action-menu-trigger.sw-action-menu-trigger-icon[aria-expanded='true'] {
4923
+ background: color-mix(in srgb, var(--sw-color-muted) 16%, transparent);
4924
+ color: var(--sw-color-text);
4925
+ }
4926
+
4927
+ @media (hover: hover) {
4928
+ .sw-action-menu-trigger.sw-action-menu-trigger-icon:hover:not(:disabled) {
4929
+ background: color-mix(in srgb, var(--sw-color-muted) 16%, transparent);
4930
+ color: var(--sw-color-text);
4931
+ }
4932
+ }
4933
+
4934
+ @media (pointer: coarse) {
4935
+ .sw-action-menu-trigger.sw-action-menu-trigger-icon {
4936
+ min-height: var(--sw-control-md-min-height);
4937
+ min-width: var(--sw-control-md-min-height);
4938
+ }
4939
+ }
4940
+
4941
+ @media (forced-colors: active) {
4942
+ .sw-action-menu-trigger.sw-action-menu-trigger-icon { color: ButtonText; }
4943
+ .sw-action-menu-trigger.sw-action-menu-trigger-icon[aria-expanded='true'] { border-color: Highlight; }
4944
+ }
4945
+
4372
4946
  .sw-combobox {
4373
4947
  max-width: 100%;
4374
4948
  min-width: 0;
@@ -5241,6 +5815,18 @@ body {
5241
5815
  .sw-description-list { grid-template-columns: minmax(0, 1fr); }
5242
5816
  }
5243
5817
 
5818
+ .sw-description-list-spread { grid-template-columns: minmax(0, 1fr); }
5819
+
5820
+ .sw-description-list-spread > .sw-description-item {
5821
+ column-gap: var(--sw-space-4);
5822
+ grid-template-columns: fit-content(50%) minmax(0, 1fr);
5823
+ }
5824
+
5825
+ .sw-description-list-spread .sw-description-detail {
5826
+ align-items: flex-end;
5827
+ text-align: end;
5828
+ }
5829
+
5244
5830
  @media (forced-colors: active) {
5245
5831
  .sw-description-item + .sw-description-item { border-top-color: CanvasText; }
5246
5832
  }
@@ -5468,6 +6054,69 @@ body {
5468
6054
  white-space: nowrap;
5469
6055
  }
5470
6056
 
6057
+ .sw-filter-chip-warning:not(.sw-filter-chip-quiet) .sw-filter-chip-input:not(:checked) + .sw-filter-chip-face {
6058
+ background: color-mix(in srgb, var(--sw-color-warning) 10%, var(--sw-color-surface));
6059
+ color: color-mix(in srgb, var(--sw-color-warning) 70%, var(--sw-color-text));
6060
+ }
6061
+
6062
+ .sw-filter-chip-warning:not(.sw-filter-chip-quiet) .sw-filter-chip-input:not(:checked) + .sw-filter-chip-face .sw-filter-chip-count {
6063
+ color: inherit;
6064
+ }
6065
+
6066
+ @media (forced-colors: active) {
6067
+ .sw-filter-chip-warning:not(.sw-filter-chip-quiet) .sw-filter-chip-input:not(:checked) + .sw-filter-chip-face { background: Canvas; color: CanvasText; }
6068
+ }
6069
+
6070
+ .sw-filter-chips-row {
6071
+ align-items: flex-end;
6072
+ display: flex;
6073
+ flex-wrap: wrap;
6074
+ gap: var(--sw-space-2);
6075
+ max-width: 100%;
6076
+ min-width: 0;
6077
+ }
6078
+
6079
+ .sw-filter-chips-row-end {
6080
+ display: flex;
6081
+ margin-inline-start: auto;
6082
+ max-width: 100%;
6083
+ min-width: 0;
6084
+ }
6085
+
6086
+ .sw-filter-chips-row-scroll {
6087
+ flex-wrap: nowrap;
6088
+ margin: calc(-1 * calc(var(--sw-focus-ring-width) + var(--sw-focus-ring-offset)));
6089
+ overflow-x: auto;
6090
+ overscroll-behavior-x: contain;
6091
+ padding: calc(var(--sw-focus-ring-width) + var(--sw-focus-ring-offset));
6092
+ position: relative;
6093
+ scrollbar-width: thin;
6094
+ }
6095
+
6096
+ .sw-filter-chips-row-scroll .sw-filter-chips,
6097
+ .sw-filter-chips-row-scroll > .sw-filter-chips-row-end {
6098
+ flex: none;
6099
+ max-width: none;
6100
+ }
6101
+
6102
+ .sw-filter-chips-row-scroll .sw-filter-chips { width: min-content; }
6103
+
6104
+ .sw-filter-chips-row-scroll .sw-filter-chips-options {
6105
+ flex-wrap: nowrap;
6106
+ margin: 0;
6107
+ overflow: visible;
6108
+ padding: 0;
6109
+ }
6110
+
6111
+ .sw-filter-chips-row-scroll .sw-filter-chip {
6112
+ flex: none;
6113
+ max-width: none;
6114
+ }
6115
+
6116
+ .sw-filter-chips-row-scroll .sw-filter-chip-face {
6117
+ white-space: nowrap;
6118
+ }
6119
+
5471
6120
  @media (forced-colors: active) {
5472
6121
  .sw-filter-chip-face { background: Canvas; border-color: CanvasText; color: CanvasText; }
5473
6122
  .sw-filter-chips-error { color: Mark; }