@canopy-iiif/app 1.8.8 → 1.8.10

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.
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  /**
3
2
  * Main stylesheet for the @canopy-iiif/app/ui package
4
3
  */
@@ -2843,6 +2842,17 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
2843
2842
  background-color: var(--color-gray-100);
2844
2843
  z-index: 0;
2845
2844
  }
2845
+ .canopy-map__overlays {
2846
+ position: absolute;
2847
+ top: 0;
2848
+ left: 0;
2849
+ right: 0;
2850
+ padding: 0.75rem;
2851
+ pointer-events: none;
2852
+ display: flex;
2853
+ justify-content: flex-end;
2854
+ z-index: 4;
2855
+ }
2846
2856
  .canopy-map .leaflet-control-attribution {
2847
2857
  display: none;
2848
2858
  }
@@ -2859,12 +2869,12 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
2859
2869
  width: 100%;
2860
2870
  height: 100%;
2861
2871
  min-height: inherit;
2872
+ position: relative;
2873
+ z-index: 1;
2862
2874
  }
2863
2875
  .canopy-map__status {
2864
- position: absolute;
2865
- top: 0.75rem;
2866
- left: 0.75rem;
2867
- z-index: 2;
2876
+ max-width: 320px;
2877
+ z-index: 4;
2868
2878
  padding: 0.5rem 0.75rem;
2869
2879
  border-radius: 999px;
2870
2880
  background-color: rgba(15, 23, 42, 0.85);
@@ -2872,6 +2882,39 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
2872
2882
  font-size: 0.875rem;
2873
2883
  line-height: 1.25rem;
2874
2884
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.3);
2885
+ pointer-events: auto;
2886
+ }
2887
+ .canopy-map__key {
2888
+ margin-top: 0.75rem;
2889
+ z-index: 1;
2890
+ color: var(--color-gray-900);
2891
+ }
2892
+ .canopy-map__key-list {
2893
+ list-style: none;
2894
+ margin: 0;
2895
+ padding: 0;
2896
+ display: flex;
2897
+ flex-wrap: wrap;
2898
+ gap: 0.35rem 1rem;
2899
+ }
2900
+ .canopy-map__key-item {
2901
+ display: flex;
2902
+ align-items: center;
2903
+ gap: 0.35rem;
2904
+ font-size: 0.9rem;
2905
+ line-height: 1.4;
2906
+ font-weight: 600;
2907
+ }
2908
+ .canopy-map__key-dot {
2909
+ width: 0.65rem;
2910
+ height: 0.65rem;
2911
+ border-radius: 999px;
2912
+ background-color: var(--color-accent-default);
2913
+ flex-shrink: 0;
2914
+ }
2915
+ .canopy-map__key-label {
2916
+ flex: 1;
2917
+ font-weight: 600;
2875
2918
  }
2876
2919
  .canopy-map__popup {
2877
2920
  display: flex;
@@ -2973,6 +3016,9 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
2973
3016
  justify-content: center;
2974
3017
  background: var(--color-gray-900);
2975
3018
  }
3019
+ .canopy-map__marker-thumb {
3020
+ border: 2px solid var(--color-accent-600);
3021
+ }
2976
3022
  .canopy-map__marker-thumb img {
2977
3023
  display: block;
2978
3024
  width: 105%;
@@ -3011,11 +3057,12 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3011
3057
  padding: 0;
3012
3058
  margin: 0;
3013
3059
  --canopy-gallery-gap: 1.5rem;
3014
- --canopy-gallery-min-column: 16rem;
3015
3060
  --canopy-gallery-radius: 1rem;
3061
+ --canopy-gallery-modal-actions-width: clamp(5rem, 18vw, 8rem);
3016
3062
  color: var(--color-gray-900);
3017
3063
  }
3018
- .canopy-gallery__close-anchor {
3064
+
3065
+ .canopy-gallery__close-anchor, .canopy-gallery__visually-hidden, .canopy-gallery__trigger-label, .canopy-gallery__nav-label {
3019
3066
  position: absolute;
3020
3067
  width: 1px;
3021
3068
  height: 1px;
@@ -3024,6 +3071,7 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3024
3071
  overflow: hidden;
3025
3072
  clip: rect(0 0 0 0);
3026
3073
  border: 0;
3074
+ white-space: nowrap;
3027
3075
  }
3028
3076
  .canopy-gallery__header {
3029
3077
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
@@ -3042,7 +3090,7 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3042
3090
  }
3043
3091
  .canopy-gallery__grid {
3044
3092
  display: grid;
3045
- grid-template-columns: repeat(auto-fit, minmax(var(--canopy-gallery-min-column, 16rem), 1fr));
3093
+ grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
3046
3094
  gap: var(--canopy-gallery-gap, 1.5rem);
3047
3095
  padding: var(--canopy-gallery-gap, 1.5rem) 0;
3048
3096
  }
@@ -3063,7 +3111,7 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3063
3111
  }
3064
3112
  .canopy-gallery__media {
3065
3113
  position: relative;
3066
- aspect-ratio: 4/3;
3114
+ aspect-ratio: 1/1;
3067
3115
  overflow: hidden;
3068
3116
  border-radius: calc(var(--canopy-gallery-radius, 1rem) - 0.25rem);
3069
3117
  background: var(--color-gray-100);
@@ -3129,16 +3177,7 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3129
3177
  color: inherit;
3130
3178
  background: transparent;
3131
3179
  }
3132
- .canopy-gallery__trigger-label {
3133
- position: absolute;
3134
- width: 1px;
3135
- height: 1px;
3136
- padding: 0;
3137
- margin: -1px;
3138
- overflow: hidden;
3139
- clip: rect(0 0 0 0);
3140
- border: 0;
3141
- }
3180
+
3142
3181
  .canopy-gallery__modals {
3143
3182
  position: relative;
3144
3183
  z-index: 100;
@@ -3150,15 +3189,13 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3150
3189
  pointer-events: none;
3151
3190
  visibility: hidden;
3152
3191
  z-index: 200;
3192
+ transform: translate3d(-200vw, 0, 0);
3153
3193
  }
3154
3194
  .canopy-gallery__modal:target, .canopy-gallery__modal[data-canopy-gallery-active="1"] {
3155
3195
  opacity: 1;
3156
3196
  pointer-events: auto;
3157
3197
  visibility: visible;
3158
- }
3159
- .canopy-gallery__modal:not([data-canopy-gallery-active]) {
3160
- width: 0;
3161
- height: 0;
3198
+ transform: none;
3162
3199
  }
3163
3200
  .canopy-gallery__modal-scrim {
3164
3201
  min-height: 100vh;
@@ -3167,6 +3204,7 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3167
3204
  padding: 0;
3168
3205
  }
3169
3206
  .canopy-gallery__modal-panel {
3207
+ position: relative;
3170
3208
  background: #fff;
3171
3209
  color: var(--color-gray-900);
3172
3210
  border-radius: 0;
@@ -3178,32 +3216,36 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3178
3216
  flex-direction: column;
3179
3217
  box-shadow: none;
3180
3218
  }
3219
+ .canopy-gallery__modal-actions {
3220
+ display: flex;
3221
+ align-items: stretch;
3222
+ justify-content: space-between;
3223
+ flex-direction: column;
3224
+ gap: 1rem;
3225
+ z-index: 5;
3226
+ width: var(--canopy-gallery-modal-actions-width, clamp(5rem, 18vw, 8rem));
3227
+ position: fixed;
3228
+ top: var(--canopy-gallery-sticky-offset, 0);
3229
+ bottom: var(--canopy-gallery-sticky-offset, 0);
3230
+ right: 0;
3231
+ left: auto;
3232
+ padding: clamp(1rem, 2vw, 1.75rem) clamp(0.5rem, 2vw, 1rem);
3233
+ background: linear-gradient(to left, rgb(255, 255, 255), rgba(255, 255, 255, 0.9) 60%, rgba(255, 255, 255, 0.5) 85%, rgba(255, 255, 255, 0));
3234
+ border-left: 1px solid rgba(15, 23, 42, 0.08);
3235
+ box-shadow: -16px 0 32px rgba(15, 23, 42, 0.05);
3236
+ margin-left: 0;
3237
+ isolation: isolate;
3238
+ }
3181
3239
  .canopy-gallery__modal-header {
3182
3240
  border: none;
3183
- padding-top: 3rem;
3241
+ padding-top: 1.382rem;
3184
3242
  padding-bottom: 0;
3185
3243
  padding-left: clamp(1.25rem, 3vw, 2.5rem);
3186
- padding-right: clamp(1.25rem, 3vw, 2.5rem);
3244
+ padding-right: calc(clamp(1.25rem, 3vw, 2.5rem) + var(--canopy-gallery-modal-actions-width, clamp(5rem, 18vw, 8rem)));
3187
3245
  display: flex;
3188
- gap: clamp(1rem, 2vw, 2rem);
3189
- }
3190
- .canopy-gallery__modal-thumb {
3191
- flex: 0 0 auto;
3192
- width: 100px;
3193
- aspect-ratio: 1/1;
3194
- border-radius: 0.5rem;
3195
- overflow: hidden;
3196
- background: var(--color-gray-100);
3197
- height: fit-content;
3198
- }
3199
- .canopy-gallery__modal-thumb img,
3200
- .canopy-gallery__modal-thumb picture,
3201
- .canopy-gallery__modal-thumb video,
3202
- .canopy-gallery__modal-thumb iframe {
3203
- width: 100%;
3204
- height: 100%;
3205
- object-fit: cover;
3206
- display: block;
3246
+ gap: 1rem;
3247
+ align-items: flex-start;
3248
+ flex-wrap: wrap;
3207
3249
  }
3208
3250
  .canopy-gallery__modal-text {
3209
3251
  flex: 1;
@@ -3217,70 +3259,36 @@ html.dark .clover-iiif-image-openseadragon .clover-iiif-image-openseadragon-anno
3217
3259
  margin: 0 0 0.5rem;
3218
3260
  }
3219
3261
  .canopy-gallery__modal-title {
3220
- margin: 0.618rem 0 0;
3221
- font-size: 1.618rem;
3262
+ margin: 0.382rem 0;
3263
+ font-size: 1.382rem;
3264
+ font-weight: 400;
3222
3265
  line-height: 1.2;
3223
3266
  }
3224
3267
  .canopy-gallery__modal-summary {
3225
3268
  margin: 0;
3226
- font-size: 1.2222rem;
3227
3269
  color: var(--color-gray-muted);
3270
+ font-weight: 300;
3228
3271
  }
3229
3272
  .canopy-gallery__modal-body {
3230
3273
  padding: clamp(1rem, 3vw, 2.5rem);
3231
- flex: 1;
3232
- overflow: auto;
3233
- }
3234
- .canopy-gallery__modal-footer {
3235
- padding: clamp(1rem, 2vw, 1.5rem) clamp(1.25rem, 3vw, 2.5rem);
3236
- display: flex;
3237
- flex-wrap: wrap;
3238
- align-items: center;
3239
- gap: 1rem;
3240
- border-top: 1px solid rgba(15, 23, 42, 0.08);
3274
+ padding-right: calc(clamp(1rem, 3vw, 2.5rem) + var(--canopy-gallery-modal-actions-width, clamp(5rem, 18vw, 8rem)));
3275
+ flex: 0 0 auto;
3241
3276
  }
3242
3277
  .canopy-gallery__modal-close {
3243
3278
  background: var(--color-accent-100);
3244
3279
  border-radius: 999px;
3245
3280
  padding: 0.35rem 1.25rem;
3246
3281
  font-weight: 600;
3282
+ display: inline-flex;
3283
+ align-items: center;
3284
+ justify-content: center;
3285
+ width: 100%;
3286
+ text-align: center;
3247
3287
  }
3248
3288
  .canopy-gallery__modal-nav {
3249
- margin-left: auto;
3250
3289
  display: flex;
3251
3290
  align-items: center;
3252
- gap: 1rem;
3253
- }
3254
- .canopy-gallery__modal-nav-link {
3255
- font-weight: 600;
3256
- }
3257
- .canopy-gallery__modal-nav-link--prev::before {
3258
- content: "← ";
3259
- }
3260
- .canopy-gallery__modal-nav-link--next::after {
3261
- content: " →";
3262
- }
3263
- @media (max-width: 640px) {
3264
- .canopy-gallery__grid {
3265
- grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
3266
- }
3267
- .canopy-gallery__item {
3268
- padding: 0.75rem;
3269
- }
3270
- .canopy-gallery__modal-panel {
3271
- max-height: 100vh;
3272
- }
3273
- .canopy-gallery__modal-header {
3274
- flex-direction: column;
3275
- }
3276
- .canopy-gallery__modal-thumb {
3277
- width: 100%;
3278
- }
3279
- .canopy-gallery__modal-nav {
3280
- width: 100%;
3281
- justify-content: space-between;
3282
- margin-left: 0;
3283
- }
3291
+ gap: 0.382rem;
3284
3292
  }
3285
3293
 
3286
3294
  body[data-canopy-gallery-locked="1"] {
@@ -3307,8 +3315,106 @@ body[data-canopy-gallery-locked="1"] {
3307
3315
  padding: 0;
3308
3316
  }
3309
3317
 
3310
- .canopy-gallery-item__content {
3318
+ .canopy-gallery__nav {
3319
+ display: flex;
3320
+ flex-direction: column;
3321
+ align-items: stretch;
3322
+ gap: 0.5rem;
3323
+ margin: 0;
3324
+ height: 100%;
3325
+ }
3326
+ .canopy-gallery__nav-viewport {
3327
+ flex: 1;
3328
+ overflow-y: auto;
3329
+ overflow-x: hidden;
3330
+ scrollbar-width: thin;
3331
+ }
3332
+ .canopy-gallery__nav-viewport::-webkit-scrollbar {
3333
+ width: 0.35rem;
3334
+ }
3335
+ .canopy-gallery__nav-viewport::-webkit-scrollbar-thumb {
3336
+ background-color: rgba(15, 23, 42, 0.2);
3337
+ border-radius: 0.5rem;
3338
+ }
3339
+ .canopy-gallery__nav-list {
3340
+ margin: 0;
3341
+ padding: 0;
3342
+ list-style: none;
3343
+ display: flex;
3344
+ flex-direction: column;
3345
+ }
3346
+ .canopy-gallery__nav-item {
3347
+ position: relative;
3348
+ list-style: none;
3349
+ }
3350
+ .canopy-gallery__nav-item[data-canopy-gallery-nav-selected] .canopy-gallery__nav-thumb {
3351
+ outline: 3px solid var(--color-accent-default);
3352
+ }
3353
+ .canopy-gallery__nav-link {
3354
+ display: inline-flex;
3355
+ flex-direction: column;
3356
+ text-decoration: none;
3357
+ border-radius: 0.75rem;
3358
+ background: var(--color-gray-50);
3359
+ color: inherit;
3360
+ width: 100%;
3361
+ align-items: stretch;
3362
+ justify-content: stretch;
3363
+ padding: 3px;
3364
+ }
3365
+ .canopy-gallery__nav-radio {
3366
+ position: absolute;
3367
+ inset: 0;
3311
3368
  width: 100%;
3369
+ height: 100%;
3370
+ opacity: 0;
3371
+ cursor: pointer;
3372
+ }
3373
+ .canopy-gallery__nav-thumb {
3374
+ width: 100%;
3375
+ aspect-ratio: 1/1;
3376
+ border-radius: 0.5rem;
3377
+ overflow: hidden;
3378
+ padding: 1px;
3379
+ outline: 3px solid var(--color-gray-50);
3380
+ }
3381
+ .canopy-gallery__nav-thumb img,
3382
+ .canopy-gallery__nav-thumb picture,
3383
+ .canopy-gallery__nav-thumb video,
3384
+ .canopy-gallery__nav-thumb iframe {
3385
+ width: 100%;
3386
+ height: 100%;
3387
+ object-fit: cover;
3388
+ display: block;
3389
+ opacity: 1;
3390
+ transition: all 0.2s ease;
3391
+ border-radius: 0.5rem;
3392
+ }
3393
+ .canopy-gallery__nav-button {
3394
+ flex: 0 0 auto;
3395
+ width: 100%;
3396
+ height: 2.75rem;
3397
+ border-radius: 0.75rem;
3398
+ background: rgba(255, 255, 255, 0.85);
3399
+ font-size: 1.25rem;
3400
+ font-weight: 600;
3401
+ cursor: pointer;
3402
+ display: inline-flex;
3403
+ align-items: center;
3404
+ justify-content: center;
3405
+ }
3406
+ .canopy-gallery__nav-controls {
3407
+ display: grid;
3408
+ grid-template-columns: repeat(2, minmax(0, 1fr));
3409
+ gap: 0.5rem;
3410
+ }
3411
+ .canopy-gallery__nav-button-icon {
3412
+ font-size: 1.25rem;
3413
+ line-height: 1;
3414
+ }
3415
+ .canopy-gallery__modal .canopy-gallery__nav {
3416
+ margin: clamp(1rem, 3vw, 1.5rem) 0;
3417
+ padding-bottom: 0.25rem;
3312
3418
  }
3313
3419
 
3314
3420
  .canopy-gallery-item__content_flex {
@@ -3340,6 +3446,28 @@ body[data-canopy-gallery-locked="1"] {
3340
3446
  line-height: 1.45;
3341
3447
  }
3342
3448
 
3449
+ @media (max-width: 640px) {
3450
+ .canopy-gallery__grid {
3451
+ grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
3452
+ }
3453
+ .canopy-gallery__item {
3454
+ padding: 0.75rem;
3455
+ }
3456
+ .canopy-gallery__modal-panel {
3457
+ max-height: 100vh;
3458
+ }
3459
+ .canopy-gallery__modal-header {
3460
+ flex-direction: column;
3461
+ }
3462
+ .canopy-gallery__modal-thumb {
3463
+ width: 100%;
3464
+ }
3465
+ .canopy-gallery__modal-actions {
3466
+ gap: 0.25rem;
3467
+ top: 0;
3468
+ padding: 0.5rem clamp(1rem, 4vw, 2rem) 0.25rem;
3469
+ }
3470
+ }
3343
3471
  /**
3344
3472
  * Define source files for utility classes
3345
3473
  */