@gravionlabs/helix-ui 22.2.1 → 22.2.3
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.
- package/README.md +3 -0
- package/fesm2022/gravionlabs-helix-ui.mjs +3710 -1889
- package/fesm2022/gravionlabs-helix-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles.css +907 -76
- package/tokens.css +3 -0
- package/types/gravionlabs-helix-ui.d.ts +575 -1
package/styles.css
CHANGED
|
@@ -1224,6 +1224,183 @@
|
|
|
1224
1224
|
gap: var(--h-card-body-gap);
|
|
1225
1225
|
}
|
|
1226
1226
|
|
|
1227
|
+
/* carousel */
|
|
1228
|
+
/*
|
|
1229
|
+
* Carousel: `<hx-carousel>`, from the `--h-carousel-*` tokens. The track is a flex row (column when vertical) that
|
|
1230
|
+
* slides with a transform; items outside the viewport stay in the DOM but are inert. The previous/next buttons are
|
|
1231
|
+
* neutral icon buttons on the content tokens, the indicators a tablist of pills.
|
|
1232
|
+
*/
|
|
1233
|
+
.hx-carousel {
|
|
1234
|
+
display: block;
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
.hx-carousel-header:empty,
|
|
1238
|
+
.hx-carousel-footer:empty {
|
|
1239
|
+
display: none;
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
.hx-carousel-content {
|
|
1243
|
+
display: flex;
|
|
1244
|
+
align-items: center;
|
|
1245
|
+
gap: var(--h-carousel-content-gap);
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
.hx-carousel-viewport {
|
|
1249
|
+
flex: 1 1 auto;
|
|
1250
|
+
min-width: 0;
|
|
1251
|
+
overflow: hidden;
|
|
1252
|
+
outline-color: transparent;
|
|
1253
|
+
border-radius: var(--h-content-border-radius);
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
.hx-carousel-viewport:focus-visible {
|
|
1257
|
+
outline: var(--h-focus-ring-width) var(--h-focus-ring-style) var(--h-focus-ring-color);
|
|
1258
|
+
outline-offset: var(--h-focus-ring-offset);
|
|
1259
|
+
box-shadow: var(--h-focus-ring-shadow);
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
.hx-carousel-track {
|
|
1263
|
+
display: flex;
|
|
1264
|
+
transition: transform var(--h-carousel-transition-duration) ease;
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
.hx-carousel-item {
|
|
1268
|
+
flex: 0 0 auto;
|
|
1269
|
+
box-sizing: border-box;
|
|
1270
|
+
min-width: 0;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
.hx-carousel-vertical .hx-carousel-content {
|
|
1274
|
+
flex-direction: column;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
.hx-carousel-vertical .hx-carousel-viewport {
|
|
1278
|
+
width: 100%;
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
.hx-carousel-vertical .hx-carousel-track {
|
|
1282
|
+
flex-direction: column;
|
|
1283
|
+
height: 100%;
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
.hx-carousel-button {
|
|
1287
|
+
display: inline-flex;
|
|
1288
|
+
align-items: center;
|
|
1289
|
+
justify-content: center;
|
|
1290
|
+
flex: none;
|
|
1291
|
+
width: 2.5rem;
|
|
1292
|
+
height: 2.5rem;
|
|
1293
|
+
padding: 0;
|
|
1294
|
+
border: 0;
|
|
1295
|
+
border-radius: 50%;
|
|
1296
|
+
background: transparent;
|
|
1297
|
+
color: var(--h-text-muted-color);
|
|
1298
|
+
cursor: pointer;
|
|
1299
|
+
outline-color: transparent;
|
|
1300
|
+
transition: background var(--h-carousel-transition-duration), color var(--h-carousel-transition-duration);
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
.hx-carousel-button:hover:not(:disabled) {
|
|
1304
|
+
background: var(--h-content-hover-background);
|
|
1305
|
+
color: var(--h-text-hover-muted-color);
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
.hx-carousel-button:focus-visible {
|
|
1309
|
+
outline: var(--h-focus-ring-width) var(--h-focus-ring-style) var(--h-focus-ring-color);
|
|
1310
|
+
outline-offset: var(--h-focus-ring-offset);
|
|
1311
|
+
box-shadow: var(--h-focus-ring-shadow);
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1314
|
+
.hx-carousel-button:disabled {
|
|
1315
|
+
opacity: 0.4;
|
|
1316
|
+
cursor: default;
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
.hx-carousel-prev::before {
|
|
1320
|
+
display: inline-block;
|
|
1321
|
+
flex: none;
|
|
1322
|
+
width: 1.25rem;
|
|
1323
|
+
height: 1.25rem;
|
|
1324
|
+
background: currentcolor;
|
|
1325
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
1326
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
1327
|
+
content: "";
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
.hx-carousel-next::before {
|
|
1331
|
+
display: inline-block;
|
|
1332
|
+
flex: none;
|
|
1333
|
+
width: 1.25rem;
|
|
1334
|
+
height: 1.25rem;
|
|
1335
|
+
background: currentcolor;
|
|
1336
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
1337
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
1338
|
+
content: "";
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1341
|
+
.hx-carousel-vertical .hx-carousel-prev::before {
|
|
1342
|
+
display: inline-block;
|
|
1343
|
+
flex: none;
|
|
1344
|
+
width: 1.25rem;
|
|
1345
|
+
height: 1.25rem;
|
|
1346
|
+
background: currentcolor;
|
|
1347
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
1348
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
.hx-carousel-vertical .hx-carousel-next::before {
|
|
1352
|
+
display: inline-block;
|
|
1353
|
+
flex: none;
|
|
1354
|
+
width: 1.25rem;
|
|
1355
|
+
height: 1.25rem;
|
|
1356
|
+
background: currentcolor;
|
|
1357
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
1358
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
.hx-carousel-indicators {
|
|
1362
|
+
display: flex;
|
|
1363
|
+
flex-wrap: wrap;
|
|
1364
|
+
justify-content: center;
|
|
1365
|
+
gap: var(--h-carousel-indicator-list-gap);
|
|
1366
|
+
padding: var(--h-carousel-indicator-list-padding);
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1369
|
+
.hx-carousel-indicator {
|
|
1370
|
+
width: var(--h-carousel-indicator-width);
|
|
1371
|
+
height: var(--h-carousel-indicator-height);
|
|
1372
|
+
padding: 0;
|
|
1373
|
+
border: 0;
|
|
1374
|
+
border-radius: var(--h-carousel-indicator-border-radius);
|
|
1375
|
+
background: var(--h-carousel-indicator-background);
|
|
1376
|
+
cursor: pointer;
|
|
1377
|
+
outline-color: transparent;
|
|
1378
|
+
transition: background var(--h-carousel-transition-duration);
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
.hx-carousel-indicator:hover {
|
|
1382
|
+
background: var(--h-carousel-indicator-hover-background);
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
.hx-carousel-indicator-active,
|
|
1386
|
+
.hx-carousel-indicator-active:hover {
|
|
1387
|
+
background: var(--h-carousel-indicator-active-background);
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
.hx-carousel-indicator:focus-visible {
|
|
1391
|
+
outline: var(--h-carousel-indicator-focus-ring-width) var(--h-carousel-indicator-focus-ring-style) var(--h-carousel-indicator-focus-ring-color);
|
|
1392
|
+
outline-offset: var(--h-carousel-indicator-focus-ring-offset);
|
|
1393
|
+
box-shadow: var(--h-carousel-indicator-focus-ring-shadow);
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1397
|
+
.hx-carousel-track,
|
|
1398
|
+
.hx-carousel-button,
|
|
1399
|
+
.hx-carousel-indicator {
|
|
1400
|
+
transition: none;
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1227
1404
|
/* chart */
|
|
1228
1405
|
/*
|
|
1229
1406
|
* Chart: `<hx-chart>`. Layout only: the colours, grid and font are handed to chart.js from the semantic tokens by the
|
|
@@ -2668,106 +2845,517 @@
|
|
|
2668
2845
|
}
|
|
2669
2846
|
}
|
|
2670
2847
|
|
|
2671
|
-
/* float-label */
|
|
2672
|
-
/*
|
|
2673
|
-
* Float label: `<hx-float-label>` around one control followed by its `<label for>`. The label sits in the field
|
|
2674
|
-
* and moves up when the control has focus or a value: `over` above the field, `in` inside it (the field gets
|
|
2675
|
-
* room for it), `on` on its top border. Native fields float by `:focus-within` and `:placeholder-shown`, the
|
|
2676
|
-
* helix-ui components by their `hx-filled` class. Colours, offsets and type from the `--h-floatlabel-*` tokens.
|
|
2677
|
-
*/
|
|
2678
|
-
.hx-float-label {
|
|
2679
|
-
position: relative;
|
|
2680
|
-
display: block;
|
|
2848
|
+
/* float-label */
|
|
2849
|
+
/*
|
|
2850
|
+
* Float label: `<hx-float-label>` around one control followed by its `<label for>`. The label sits in the field
|
|
2851
|
+
* and moves up when the control has focus or a value: `over` above the field, `in` inside it (the field gets
|
|
2852
|
+
* room for it), `on` on its top border. Native fields float by `:focus-within` and `:placeholder-shown`, the
|
|
2853
|
+
* helix-ui components by their `hx-filled` class. Colours, offsets and type from the `--h-floatlabel-*` tokens.
|
|
2854
|
+
*/
|
|
2855
|
+
.hx-float-label {
|
|
2856
|
+
position: relative;
|
|
2857
|
+
display: block;
|
|
2858
|
+
}
|
|
2859
|
+
|
|
2860
|
+
.hx-float-label > label {
|
|
2861
|
+
position: absolute;
|
|
2862
|
+
top: 50%;
|
|
2863
|
+
inset-inline-start: var(--h-floatlabel-position-x);
|
|
2864
|
+
margin-top: -0.5rem;
|
|
2865
|
+
max-width: calc(100% - var(--h-floatlabel-position-x) * 2);
|
|
2866
|
+
overflow: hidden;
|
|
2867
|
+
color: var(--h-floatlabel-color);
|
|
2868
|
+
font-weight: var(--h-floatlabel-font-weight);
|
|
2869
|
+
line-height: 1;
|
|
2870
|
+
text-overflow: ellipsis;
|
|
2871
|
+
white-space: nowrap;
|
|
2872
|
+
pointer-events: none;
|
|
2873
|
+
transition-property: top, inset-inline-start, font-size, font-weight, color;
|
|
2874
|
+
transition-duration: var(--h-floatlabel-transition-duration);
|
|
2875
|
+
transition-timing-function: ease;
|
|
2876
|
+
}
|
|
2877
|
+
|
|
2878
|
+
/* a textarea's label sits at the first line, not in the middle */
|
|
2879
|
+
.hx-float-label:has(> textarea) > label {
|
|
2880
|
+
top: var(--h-floatlabel-position-y);
|
|
2881
|
+
margin-top: 0;
|
|
2882
|
+
}
|
|
2883
|
+
|
|
2884
|
+
.hx-float-label > .hx-input,
|
|
2885
|
+
.hx-float-label > .hx-select,
|
|
2886
|
+
.hx-float-label > .hx-password,
|
|
2887
|
+
.hx-float-label > .hx-input-number {
|
|
2888
|
+
width: 100%;
|
|
2889
|
+
}
|
|
2890
|
+
|
|
2891
|
+
/* the hint is replaced by the label while the field is empty */
|
|
2892
|
+
.hx-float-label > .hx-input::placeholder {
|
|
2893
|
+
color: transparent;
|
|
2894
|
+
}
|
|
2895
|
+
|
|
2896
|
+
/* floated: over (default) */
|
|
2897
|
+
&:is(:focus-within,
|
|
2898
|
+
:has(> input:not(:placeholder-shown)),
|
|
2899
|
+
:has(> textarea:not(:placeholder-shown)),
|
|
2900
|
+
:has(.hx-filled)) > label {
|
|
2901
|
+
top: var(--h-floatlabel-over-active-top);
|
|
2902
|
+
margin-top: 0;
|
|
2903
|
+
font-size: var(--h-floatlabel-active-font-size);
|
|
2904
|
+
font-weight: var(--h-floatlabel-active-font-weight);
|
|
2905
|
+
color: var(--h-floatlabel-active-color);
|
|
2906
|
+
}
|
|
2907
|
+
|
|
2908
|
+
.hx-float-label:focus-within > label {
|
|
2909
|
+
color: var(--h-floatlabel-focus-color);
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
/* in */
|
|
2913
|
+
.hx-float-label-in > .hx-input {
|
|
2914
|
+
padding-top: var(--h-floatlabel-in-input-padding-top);
|
|
2915
|
+
padding-bottom: var(--h-floatlabel-in-input-padding-bottom);
|
|
2916
|
+
}
|
|
2917
|
+
|
|
2918
|
+
.hx-float-label-in:is(:focus-within,
|
|
2919
|
+
:has(> input:not(:placeholder-shown)),
|
|
2920
|
+
:has(> textarea:not(:placeholder-shown)),
|
|
2921
|
+
:has(.hx-filled)) > label {
|
|
2922
|
+
top: var(--h-floatlabel-in-active-top);
|
|
2923
|
+
margin-top: 0;
|
|
2924
|
+
}
|
|
2925
|
+
|
|
2926
|
+
/* on */
|
|
2927
|
+
.hx-float-label-on:is(:focus-within,
|
|
2928
|
+
:has(> input:not(:placeholder-shown)),
|
|
2929
|
+
:has(> textarea:not(:placeholder-shown)),
|
|
2930
|
+
:has(.hx-filled)) > label {
|
|
2931
|
+
top: 0;
|
|
2932
|
+
margin-top: 0;
|
|
2933
|
+
padding: var(--h-floatlabel-on-active-padding);
|
|
2934
|
+
border-radius: var(--h-floatlabel-on-border-radius);
|
|
2935
|
+
background: var(--h-floatlabel-on-active-background);
|
|
2936
|
+
transform: translateY(-50%);
|
|
2937
|
+
}
|
|
2938
|
+
|
|
2939
|
+
/* invalid */
|
|
2940
|
+
.hx-float-label:has(> [aria-invalid=true],
|
|
2941
|
+
> .ng-invalid.ng-touched,
|
|
2942
|
+
> .hx-select-invalid) > label {
|
|
2943
|
+
color: var(--h-floatlabel-invalid-color);
|
|
2944
|
+
}
|
|
2945
|
+
|
|
2946
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2947
|
+
.hx-float-label > label {
|
|
2948
|
+
transition: none;
|
|
2949
|
+
}
|
|
2950
|
+
}
|
|
2951
|
+
|
|
2952
|
+
/* galleria */
|
|
2953
|
+
/*
|
|
2954
|
+
* Galleria: `<hx-galleria>`, from the `--h-galleria-*` tokens. The stage is a black box with the picture, the
|
|
2955
|
+
* previous/next buttons and the caption laid over it; the thumbnails are a tablist in a strip with their own
|
|
2956
|
+
* scroll buttons. Full screen is the same box in a CDK dialog over a dark backdrop.
|
|
2957
|
+
*/
|
|
2958
|
+
.hx-galleria-host {
|
|
2959
|
+
display: block;
|
|
2960
|
+
}
|
|
2961
|
+
|
|
2962
|
+
.hx-galleria {
|
|
2963
|
+
display: block;
|
|
2964
|
+
overflow: hidden;
|
|
2965
|
+
border: var(--h-galleria-border-width) solid var(--h-galleria-border-color);
|
|
2966
|
+
border-radius: var(--h-galleria-border-radius);
|
|
2967
|
+
background: var(--h-content-background);
|
|
2968
|
+
}
|
|
2969
|
+
|
|
2970
|
+
.hx-galleria-content {
|
|
2971
|
+
display: flex;
|
|
2972
|
+
flex-direction: column;
|
|
2973
|
+
}
|
|
2974
|
+
|
|
2975
|
+
.hx-galleria-thumbnails-top .hx-galleria-content {
|
|
2976
|
+
flex-direction: column-reverse;
|
|
2977
|
+
}
|
|
2978
|
+
|
|
2979
|
+
.hx-galleria-thumbnails-left .hx-galleria-content {
|
|
2980
|
+
flex-direction: row-reverse;
|
|
2981
|
+
}
|
|
2982
|
+
|
|
2983
|
+
.hx-galleria-thumbnails-right .hx-galleria-content {
|
|
2984
|
+
flex-direction: row;
|
|
2985
|
+
}
|
|
2986
|
+
|
|
2987
|
+
.hx-galleria-stage {
|
|
2988
|
+
position: relative;
|
|
2989
|
+
flex: 1 1 auto;
|
|
2990
|
+
min-width: 0;
|
|
2991
|
+
min-height: 0;
|
|
2992
|
+
display: flex;
|
|
2993
|
+
align-items: center;
|
|
2994
|
+
justify-content: center;
|
|
2995
|
+
background: rgb(0, 0, 0);
|
|
2996
|
+
outline-color: transparent;
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2999
|
+
.hx-galleria-stage:focus-visible {
|
|
3000
|
+
outline: var(--h-focus-ring-width) var(--h-focus-ring-style) var(--h-focus-ring-color);
|
|
3001
|
+
outline-offset: calc(-1 * var(--h-focus-ring-width));
|
|
3002
|
+
}
|
|
3003
|
+
|
|
3004
|
+
.hx-galleria-item {
|
|
3005
|
+
display: flex;
|
|
3006
|
+
align-items: center;
|
|
3007
|
+
justify-content: center;
|
|
3008
|
+
width: 100%;
|
|
3009
|
+
height: 100%;
|
|
3010
|
+
}
|
|
3011
|
+
|
|
3012
|
+
.hx-galleria-image {
|
|
3013
|
+
display: block;
|
|
3014
|
+
max-width: 100%;
|
|
3015
|
+
max-height: 100%;
|
|
3016
|
+
object-fit: contain;
|
|
3017
|
+
}
|
|
3018
|
+
|
|
3019
|
+
.hx-galleria-nav {
|
|
3020
|
+
position: absolute;
|
|
3021
|
+
top: 50%;
|
|
3022
|
+
transform: translateY(-50%);
|
|
3023
|
+
display: inline-flex;
|
|
3024
|
+
align-items: center;
|
|
3025
|
+
justify-content: center;
|
|
3026
|
+
width: var(--h-galleria-nav-button-size);
|
|
3027
|
+
height: var(--h-galleria-nav-button-size);
|
|
3028
|
+
padding: 0;
|
|
3029
|
+
border: 0;
|
|
3030
|
+
background: var(--h-galleria-nav-button-background);
|
|
3031
|
+
color: var(--h-galleria-nav-button-color);
|
|
3032
|
+
cursor: pointer;
|
|
3033
|
+
outline-color: transparent;
|
|
3034
|
+
transition: background var(--h-galleria-transition-duration), color var(--h-galleria-transition-duration);
|
|
3035
|
+
}
|
|
3036
|
+
|
|
3037
|
+
.hx-galleria-prev {
|
|
3038
|
+
inset-inline-start: var(--h-galleria-nav-button-gutter);
|
|
3039
|
+
border-radius: var(--h-galleria-nav-button-prev-border-radius);
|
|
3040
|
+
}
|
|
3041
|
+
|
|
3042
|
+
.hx-galleria-next {
|
|
3043
|
+
inset-inline-end: var(--h-galleria-nav-button-gutter);
|
|
3044
|
+
border-radius: var(--h-galleria-nav-button-next-border-radius);
|
|
3045
|
+
}
|
|
3046
|
+
|
|
3047
|
+
.hx-galleria-nav:hover:not(:disabled) {
|
|
3048
|
+
background: var(--h-galleria-nav-button-hover-background);
|
|
3049
|
+
color: var(--h-galleria-nav-button-hover-color);
|
|
3050
|
+
}
|
|
3051
|
+
|
|
3052
|
+
.hx-galleria-nav:focus-visible {
|
|
3053
|
+
outline: var(--h-galleria-nav-button-focus-ring-width) var(--h-galleria-nav-button-focus-ring-style) var(--h-galleria-nav-button-focus-ring-color);
|
|
3054
|
+
outline-offset: var(--h-galleria-nav-button-focus-ring-offset);
|
|
3055
|
+
box-shadow: var(--h-galleria-nav-button-focus-ring-shadow);
|
|
3056
|
+
}
|
|
3057
|
+
|
|
3058
|
+
.hx-galleria-nav:disabled {
|
|
3059
|
+
opacity: 0.4;
|
|
3060
|
+
cursor: default;
|
|
3061
|
+
}
|
|
3062
|
+
|
|
3063
|
+
.hx-galleria-prev::before {
|
|
3064
|
+
display: inline-block;
|
|
3065
|
+
flex: none;
|
|
3066
|
+
width: var(--h-galleria-nav-icon-size);
|
|
3067
|
+
height: var(--h-galleria-nav-icon-size);
|
|
3068
|
+
background: currentcolor;
|
|
3069
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3070
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3071
|
+
content: "";
|
|
3072
|
+
}
|
|
3073
|
+
|
|
3074
|
+
.hx-galleria-next::before {
|
|
3075
|
+
display: inline-block;
|
|
3076
|
+
flex: none;
|
|
3077
|
+
width: var(--h-galleria-nav-icon-size);
|
|
3078
|
+
height: var(--h-galleria-nav-icon-size);
|
|
3079
|
+
background: currentcolor;
|
|
3080
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3081
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3082
|
+
content: "";
|
|
3083
|
+
}
|
|
3084
|
+
|
|
3085
|
+
.hx-galleria-caption {
|
|
3086
|
+
position: absolute;
|
|
3087
|
+
inset-inline: 0;
|
|
3088
|
+
bottom: 0;
|
|
3089
|
+
padding: var(--h-galleria-caption-padding);
|
|
3090
|
+
background: var(--h-galleria-caption-background);
|
|
3091
|
+
color: var(--h-galleria-caption-color);
|
|
3092
|
+
}
|
|
3093
|
+
|
|
3094
|
+
.hx-galleria-caption-title {
|
|
3095
|
+
font-weight: 600;
|
|
3096
|
+
}
|
|
3097
|
+
|
|
3098
|
+
.hx-galleria-indicators {
|
|
3099
|
+
position: absolute;
|
|
3100
|
+
inset-inline: 0;
|
|
3101
|
+
bottom: 0;
|
|
3102
|
+
display: flex;
|
|
3103
|
+
justify-content: center;
|
|
3104
|
+
gap: var(--h-galleria-indicator-list-gap);
|
|
3105
|
+
padding: var(--h-galleria-indicator-list-padding);
|
|
3106
|
+
background: var(--h-galleria-inset-indicator-list-background);
|
|
3107
|
+
}
|
|
3108
|
+
|
|
3109
|
+
.hx-galleria-caption ~ .hx-galleria-indicators {
|
|
3110
|
+
background: transparent;
|
|
3111
|
+
}
|
|
3112
|
+
|
|
3113
|
+
.hx-galleria-indicator {
|
|
3114
|
+
width: var(--h-galleria-indicator-button-width);
|
|
3115
|
+
height: var(--h-galleria-indicator-button-height);
|
|
3116
|
+
padding: 0;
|
|
3117
|
+
border: 0;
|
|
3118
|
+
border-radius: var(--h-galleria-indicator-button-border-radius);
|
|
3119
|
+
background: var(--h-galleria-inset-indicator-button-background);
|
|
3120
|
+
cursor: pointer;
|
|
3121
|
+
outline-color: transparent;
|
|
3122
|
+
}
|
|
3123
|
+
|
|
3124
|
+
.hx-galleria-indicator:hover {
|
|
3125
|
+
background: var(--h-galleria-inset-indicator-button-hover-background);
|
|
3126
|
+
}
|
|
3127
|
+
|
|
3128
|
+
.hx-galleria-indicator-active,
|
|
3129
|
+
.hx-galleria-indicator-active:hover {
|
|
3130
|
+
background: var(--h-galleria-inset-indicator-button-active-background);
|
|
3131
|
+
}
|
|
3132
|
+
|
|
3133
|
+
.hx-galleria-indicator:focus-visible {
|
|
3134
|
+
outline: var(--h-galleria-indicator-button-focus-ring-width) var(--h-galleria-indicator-button-focus-ring-style) var(--h-galleria-indicator-button-focus-ring-color);
|
|
3135
|
+
outline-offset: var(--h-galleria-indicator-button-focus-ring-offset);
|
|
3136
|
+
box-shadow: var(--h-galleria-indicator-button-focus-ring-shadow);
|
|
3137
|
+
}
|
|
3138
|
+
|
|
3139
|
+
.hx-galleria-thumbnails {
|
|
3140
|
+
display: flex;
|
|
3141
|
+
align-items: center;
|
|
3142
|
+
gap: var(--h-galleria-thumbnail-nav-button-gutter);
|
|
3143
|
+
padding: var(--h-galleria-thumbnails-content-padding);
|
|
3144
|
+
background: var(--h-galleria-thumbnails-content-background);
|
|
3145
|
+
}
|
|
3146
|
+
|
|
3147
|
+
.hx-galleria-thumbnails-left .hx-galleria-thumbnails,
|
|
3148
|
+
.hx-galleria-thumbnails-right .hx-galleria-thumbnails {
|
|
3149
|
+
flex-direction: column;
|
|
3150
|
+
}
|
|
3151
|
+
|
|
3152
|
+
.hx-galleria-thumbnail-list {
|
|
3153
|
+
display: flex;
|
|
3154
|
+
flex: 1 1 auto;
|
|
3155
|
+
min-width: 0;
|
|
3156
|
+
justify-content: center;
|
|
3157
|
+
gap: 0.5rem;
|
|
3158
|
+
overflow: hidden;
|
|
3159
|
+
}
|
|
3160
|
+
|
|
3161
|
+
.hx-galleria-thumbnails-left .hx-galleria-thumbnail-list,
|
|
3162
|
+
.hx-galleria-thumbnails-right .hx-galleria-thumbnail-list {
|
|
3163
|
+
flex-direction: column;
|
|
3164
|
+
}
|
|
3165
|
+
|
|
3166
|
+
.hx-galleria-thumbnail {
|
|
3167
|
+
flex: 0 1 auto;
|
|
3168
|
+
min-width: 0;
|
|
3169
|
+
padding: 0.125rem;
|
|
3170
|
+
border: 0;
|
|
3171
|
+
border-radius: var(--h-content-border-radius);
|
|
3172
|
+
background: transparent;
|
|
3173
|
+
cursor: pointer;
|
|
3174
|
+
opacity: 0.6;
|
|
3175
|
+
outline-color: transparent;
|
|
3176
|
+
transition: opacity var(--h-galleria-transition-duration);
|
|
3177
|
+
}
|
|
3178
|
+
|
|
3179
|
+
.hx-galleria-thumbnail:hover,
|
|
3180
|
+
.hx-galleria-thumbnail-active {
|
|
3181
|
+
opacity: 1;
|
|
3182
|
+
}
|
|
3183
|
+
|
|
3184
|
+
.hx-galleria-thumbnail-active {
|
|
3185
|
+
box-shadow: 0 0 0 2px var(--h-primary-color);
|
|
3186
|
+
}
|
|
3187
|
+
|
|
3188
|
+
.hx-galleria-thumbnail:focus-visible {
|
|
3189
|
+
outline: var(--h-focus-ring-width) var(--h-focus-ring-style) var(--h-focus-ring-color);
|
|
3190
|
+
outline-offset: var(--h-focus-ring-offset);
|
|
3191
|
+
}
|
|
3192
|
+
|
|
3193
|
+
.hx-galleria-thumbnail-image {
|
|
3194
|
+
display: block;
|
|
3195
|
+
height: 4rem;
|
|
3196
|
+
width: auto;
|
|
3197
|
+
max-width: 100%;
|
|
3198
|
+
border-radius: calc(var(--h-content-border-radius) - 2px);
|
|
3199
|
+
object-fit: cover;
|
|
3200
|
+
}
|
|
3201
|
+
|
|
3202
|
+
.hx-galleria-thumbnail-nav {
|
|
3203
|
+
display: inline-flex;
|
|
3204
|
+
align-items: center;
|
|
3205
|
+
justify-content: center;
|
|
3206
|
+
flex: none;
|
|
3207
|
+
width: var(--h-galleria-thumbnail-nav-button-size);
|
|
3208
|
+
height: var(--h-galleria-thumbnail-nav-button-size);
|
|
3209
|
+
padding: 0;
|
|
3210
|
+
border: 0;
|
|
3211
|
+
border-radius: var(--h-galleria-thumbnail-nav-button-border-radius);
|
|
3212
|
+
background: transparent;
|
|
3213
|
+
color: var(--h-galleria-thumbnail-nav-button-color);
|
|
3214
|
+
cursor: pointer;
|
|
3215
|
+
outline-color: transparent;
|
|
3216
|
+
}
|
|
3217
|
+
|
|
3218
|
+
.hx-galleria-thumbnail-nav:hover:not(:disabled) {
|
|
3219
|
+
background: var(--h-galleria-thumbnail-nav-button-hover-background);
|
|
3220
|
+
color: var(--h-galleria-thumbnail-nav-button-hover-color);
|
|
3221
|
+
}
|
|
3222
|
+
|
|
3223
|
+
.hx-galleria-thumbnail-nav:focus-visible {
|
|
3224
|
+
outline: var(--h-galleria-thumbnail-nav-button-focus-ring-width) var(--h-galleria-thumbnail-nav-button-focus-ring-style) var(--h-galleria-thumbnail-nav-button-focus-ring-color);
|
|
3225
|
+
outline-offset: var(--h-galleria-thumbnail-nav-button-focus-ring-offset);
|
|
3226
|
+
box-shadow: var(--h-galleria-thumbnail-nav-button-focus-ring-shadow);
|
|
3227
|
+
}
|
|
3228
|
+
|
|
3229
|
+
.hx-galleria-thumbnail-nav:disabled {
|
|
3230
|
+
opacity: 0.4;
|
|
3231
|
+
cursor: default;
|
|
3232
|
+
}
|
|
3233
|
+
|
|
3234
|
+
.hx-galleria-thumbnail-prev::before {
|
|
3235
|
+
display: inline-block;
|
|
3236
|
+
flex: none;
|
|
3237
|
+
width: var(--h-galleria-thumbnail-nav-button-icon-size);
|
|
3238
|
+
height: var(--h-galleria-thumbnail-nav-button-icon-size);
|
|
3239
|
+
background: currentcolor;
|
|
3240
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3241
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3242
|
+
content: "";
|
|
3243
|
+
}
|
|
3244
|
+
|
|
3245
|
+
.hx-galleria-thumbnail-next::before {
|
|
3246
|
+
display: inline-block;
|
|
3247
|
+
flex: none;
|
|
3248
|
+
width: var(--h-galleria-thumbnail-nav-button-icon-size);
|
|
3249
|
+
height: var(--h-galleria-thumbnail-nav-button-icon-size);
|
|
3250
|
+
background: currentcolor;
|
|
3251
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3252
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3253
|
+
content: "";
|
|
3254
|
+
}
|
|
3255
|
+
|
|
3256
|
+
.hx-galleria-thumbnails-left .hx-galleria-thumbnail-prev::before,
|
|
3257
|
+
.hx-galleria-thumbnails-right .hx-galleria-thumbnail-prev::before {
|
|
3258
|
+
display: inline-block;
|
|
3259
|
+
flex: none;
|
|
3260
|
+
width: var(--h-galleria-thumbnail-nav-button-icon-size);
|
|
3261
|
+
height: var(--h-galleria-thumbnail-nav-button-icon-size);
|
|
3262
|
+
background: currentcolor;
|
|
3263
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3264
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3265
|
+
}
|
|
3266
|
+
|
|
3267
|
+
.hx-galleria-thumbnails-left .hx-galleria-thumbnail-next::before,
|
|
3268
|
+
.hx-galleria-thumbnails-right .hx-galleria-thumbnail-next::before {
|
|
3269
|
+
display: inline-block;
|
|
3270
|
+
flex: none;
|
|
3271
|
+
width: var(--h-galleria-thumbnail-nav-button-icon-size);
|
|
3272
|
+
height: var(--h-galleria-thumbnail-nav-button-icon-size);
|
|
3273
|
+
background: currentcolor;
|
|
3274
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3275
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
2681
3276
|
}
|
|
2682
3277
|
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
inset-inline-start: var(--h-floatlabel-position-x);
|
|
2687
|
-
margin-top: -0.5rem;
|
|
2688
|
-
max-width: calc(100% - var(--h-floatlabel-position-x) * 2);
|
|
2689
|
-
overflow: hidden;
|
|
2690
|
-
color: var(--h-floatlabel-color);
|
|
2691
|
-
font-weight: var(--h-floatlabel-font-weight);
|
|
2692
|
-
line-height: 1;
|
|
2693
|
-
text-overflow: ellipsis;
|
|
2694
|
-
white-space: nowrap;
|
|
2695
|
-
pointer-events: none;
|
|
2696
|
-
transition-property: top, inset-inline-start, font-size, font-weight, color;
|
|
2697
|
-
transition-duration: var(--h-floatlabel-transition-duration);
|
|
2698
|
-
transition-timing-function: ease;
|
|
3278
|
+
/* full screen: the box fills the dialog pane over a dark backdrop */
|
|
3279
|
+
.hx-galleria-backdrop {
|
|
3280
|
+
background: rgba(0, 0, 0, 0.9);
|
|
2699
3281
|
}
|
|
2700
3282
|
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
top: var(--h-floatlabel-position-y);
|
|
2704
|
-
margin-top: 0;
|
|
3283
|
+
.hx-galleria-panel {
|
|
3284
|
+
display: flex;
|
|
2705
3285
|
}
|
|
2706
3286
|
|
|
2707
|
-
.hx-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
3287
|
+
.hx-galleria-fullscreen {
|
|
3288
|
+
position: relative;
|
|
3289
|
+
display: flex;
|
|
3290
|
+
flex-direction: column;
|
|
2711
3291
|
width: 100%;
|
|
3292
|
+
height: 100%;
|
|
3293
|
+
border: 0;
|
|
3294
|
+
border-radius: 0;
|
|
3295
|
+
background: transparent;
|
|
2712
3296
|
}
|
|
2713
3297
|
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
3298
|
+
.hx-galleria-fullscreen .hx-galleria-content {
|
|
3299
|
+
flex: 1 1 auto;
|
|
3300
|
+
min-height: 0;
|
|
2717
3301
|
}
|
|
2718
3302
|
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
:has(> input:not(:placeholder-shown)),
|
|
2722
|
-
:has(> textarea:not(:placeholder-shown)),
|
|
2723
|
-
:has(.hx-filled)) > label {
|
|
2724
|
-
top: var(--h-floatlabel-over-active-top);
|
|
2725
|
-
margin-top: 0;
|
|
2726
|
-
font-size: var(--h-floatlabel-active-font-size);
|
|
2727
|
-
font-weight: var(--h-floatlabel-active-font-weight);
|
|
2728
|
-
color: var(--h-floatlabel-active-color);
|
|
3303
|
+
.hx-galleria-fullscreen .hx-galleria-stage {
|
|
3304
|
+
background: transparent;
|
|
2729
3305
|
}
|
|
2730
3306
|
|
|
2731
|
-
.hx-
|
|
2732
|
-
|
|
3307
|
+
.hx-galleria-fullscreen .hx-galleria-thumbnails {
|
|
3308
|
+
background: transparent;
|
|
2733
3309
|
}
|
|
2734
3310
|
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
padding-top: var(--h-floatlabel-in-input-padding-top);
|
|
2738
|
-
padding-bottom: var(--h-floatlabel-in-input-padding-bottom);
|
|
3311
|
+
.hx-galleria-fullscreen .hx-galleria-image {
|
|
3312
|
+
max-height: calc(100vh - 8rem);
|
|
2739
3313
|
}
|
|
2740
3314
|
|
|
2741
|
-
.hx-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
3315
|
+
.hx-galleria-close {
|
|
3316
|
+
position: absolute;
|
|
3317
|
+
top: var(--h-galleria-close-button-gutter);
|
|
3318
|
+
inset-inline-end: var(--h-galleria-close-button-gutter);
|
|
3319
|
+
z-index: 1;
|
|
3320
|
+
display: inline-flex;
|
|
3321
|
+
align-items: center;
|
|
3322
|
+
justify-content: center;
|
|
3323
|
+
width: var(--h-galleria-close-button-size);
|
|
3324
|
+
height: var(--h-galleria-close-button-size);
|
|
3325
|
+
padding: 0;
|
|
3326
|
+
border: 0;
|
|
3327
|
+
border-radius: var(--h-galleria-close-button-border-radius);
|
|
3328
|
+
background: var(--h-galleria-close-button-background);
|
|
3329
|
+
color: var(--h-galleria-close-button-color);
|
|
3330
|
+
cursor: pointer;
|
|
3331
|
+
outline-color: transparent;
|
|
2747
3332
|
}
|
|
2748
3333
|
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
:has(> textarea:not(:placeholder-shown)),
|
|
2753
|
-
:has(.hx-filled)) > label {
|
|
2754
|
-
top: 0;
|
|
2755
|
-
margin-top: 0;
|
|
2756
|
-
padding: var(--h-floatlabel-on-active-padding);
|
|
2757
|
-
border-radius: var(--h-floatlabel-on-border-radius);
|
|
2758
|
-
background: var(--h-floatlabel-on-active-background);
|
|
2759
|
-
transform: translateY(-50%);
|
|
3334
|
+
.hx-galleria-close:hover {
|
|
3335
|
+
background: var(--h-galleria-close-button-hover-background);
|
|
3336
|
+
color: var(--h-galleria-close-button-hover-color);
|
|
2760
3337
|
}
|
|
2761
3338
|
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
3339
|
+
.hx-galleria-close:focus-visible {
|
|
3340
|
+
outline: var(--h-galleria-close-button-focus-ring-width) var(--h-galleria-close-button-focus-ring-style) var(--h-galleria-close-button-focus-ring-color);
|
|
3341
|
+
outline-offset: var(--h-galleria-close-button-focus-ring-offset);
|
|
3342
|
+
box-shadow: var(--h-galleria-close-button-focus-ring-shadow);
|
|
3343
|
+
}
|
|
3344
|
+
|
|
3345
|
+
.hx-galleria-close::before {
|
|
3346
|
+
display: inline-block;
|
|
3347
|
+
flex: none;
|
|
3348
|
+
width: var(--h-galleria-close-button-icon-size);
|
|
3349
|
+
height: var(--h-galleria-close-button-icon-size);
|
|
3350
|
+
background: currentcolor;
|
|
3351
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3352
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3353
|
+
content: "";
|
|
2767
3354
|
}
|
|
2768
3355
|
|
|
2769
3356
|
@media (prefers-reduced-motion: reduce) {
|
|
2770
|
-
.hx-
|
|
3357
|
+
.hx-galleria-nav,
|
|
3358
|
+
.hx-galleria-thumbnail {
|
|
2771
3359
|
transition: none;
|
|
2772
3360
|
}
|
|
2773
3361
|
}
|
|
@@ -2833,6 +3421,216 @@
|
|
|
2833
3421
|
padding-inline-end: calc(var(--hx-icon-field-x) * 2 + 1em);
|
|
2834
3422
|
}
|
|
2835
3423
|
|
|
3424
|
+
/* image */
|
|
3425
|
+
/*
|
|
3426
|
+
* Image: `<hx-image>`, from the `--h-image-*` tokens. Inline it is the picture with, when `preview` is set, a button
|
|
3427
|
+
* over it that shows a mask and an eye on hover and focus. The preview is a CDK dialog over a dark backdrop with a
|
|
3428
|
+
* floating toolbar (rotate, zoom, close); the picture turns and scales with a transform.
|
|
3429
|
+
*/
|
|
3430
|
+
.hx-image {
|
|
3431
|
+
position: relative;
|
|
3432
|
+
display: inline-block;
|
|
3433
|
+
line-height: 0;
|
|
3434
|
+
}
|
|
3435
|
+
|
|
3436
|
+
.hx-image-img {
|
|
3437
|
+
display: block;
|
|
3438
|
+
max-width: 100%;
|
|
3439
|
+
}
|
|
3440
|
+
|
|
3441
|
+
/* with a preview the picture itself hints at the click */
|
|
3442
|
+
.hx-image-preview .hx-image-img {
|
|
3443
|
+
cursor: zoom-in;
|
|
3444
|
+
}
|
|
3445
|
+
|
|
3446
|
+
.hx-image-preview-mask {
|
|
3447
|
+
position: absolute;
|
|
3448
|
+
inset: 0;
|
|
3449
|
+
display: flex;
|
|
3450
|
+
align-items: center;
|
|
3451
|
+
justify-content: center;
|
|
3452
|
+
padding: 0;
|
|
3453
|
+
border: 0;
|
|
3454
|
+
background: transparent;
|
|
3455
|
+
color: var(--h-image-preview-mask-color);
|
|
3456
|
+
cursor: pointer;
|
|
3457
|
+
opacity: 0;
|
|
3458
|
+
outline-color: transparent;
|
|
3459
|
+
transition: opacity var(--h-image-transition-duration);
|
|
3460
|
+
}
|
|
3461
|
+
|
|
3462
|
+
.hx-image-preview-mask:hover,
|
|
3463
|
+
.hx-image-preview-mask:focus-visible {
|
|
3464
|
+
background: var(--h-image-preview-mask-background);
|
|
3465
|
+
opacity: 1;
|
|
3466
|
+
}
|
|
3467
|
+
|
|
3468
|
+
.hx-image-preview-mask:focus-visible {
|
|
3469
|
+
outline: var(--h-focus-ring-width) var(--h-focus-ring-style) var(--h-focus-ring-color);
|
|
3470
|
+
outline-offset: calc(-1 * var(--h-focus-ring-width));
|
|
3471
|
+
}
|
|
3472
|
+
|
|
3473
|
+
.hx-image-preview-icon {
|
|
3474
|
+
display: inline-block;
|
|
3475
|
+
flex: none;
|
|
3476
|
+
width: var(--h-image-preview-icon-size);
|
|
3477
|
+
height: var(--h-image-preview-icon-size);
|
|
3478
|
+
background: currentcolor;
|
|
3479
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12ZM15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3480
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12ZM15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3481
|
+
}
|
|
3482
|
+
|
|
3483
|
+
/* the preview overlay */
|
|
3484
|
+
.hx-image-backdrop {
|
|
3485
|
+
background: rgba(0, 0, 0, 0.9);
|
|
3486
|
+
}
|
|
3487
|
+
|
|
3488
|
+
.hx-image-panel {
|
|
3489
|
+
display: flex;
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3492
|
+
.hx-image-overlay {
|
|
3493
|
+
position: relative;
|
|
3494
|
+
display: flex;
|
|
3495
|
+
flex: 1 1 auto;
|
|
3496
|
+
width: 100%;
|
|
3497
|
+
height: 100%;
|
|
3498
|
+
}
|
|
3499
|
+
|
|
3500
|
+
.hx-image-stage {
|
|
3501
|
+
display: flex;
|
|
3502
|
+
flex: 1 1 auto;
|
|
3503
|
+
align-items: center;
|
|
3504
|
+
justify-content: center;
|
|
3505
|
+
overflow: auto;
|
|
3506
|
+
padding: 1rem;
|
|
3507
|
+
}
|
|
3508
|
+
|
|
3509
|
+
.hx-image-original {
|
|
3510
|
+
display: block;
|
|
3511
|
+
max-width: calc(100vw - 2rem);
|
|
3512
|
+
max-height: calc(100vh - 2rem);
|
|
3513
|
+
object-fit: contain;
|
|
3514
|
+
transition: transform var(--h-image-transition-duration);
|
|
3515
|
+
}
|
|
3516
|
+
|
|
3517
|
+
.hx-image-toolbar {
|
|
3518
|
+
position: absolute;
|
|
3519
|
+
top: var(--h-image-toolbar-position-top);
|
|
3520
|
+
right: var(--h-image-toolbar-position-right);
|
|
3521
|
+
bottom: var(--h-image-toolbar-position-bottom);
|
|
3522
|
+
left: var(--h-image-toolbar-position-left);
|
|
3523
|
+
z-index: 1;
|
|
3524
|
+
display: flex;
|
|
3525
|
+
gap: var(--h-image-toolbar-gap);
|
|
3526
|
+
padding: var(--h-image-toolbar-padding);
|
|
3527
|
+
border: var(--h-image-toolbar-border-width) solid var(--h-image-toolbar-border-color);
|
|
3528
|
+
border-radius: var(--h-image-toolbar-border-radius);
|
|
3529
|
+
background: var(--h-image-toolbar-background);
|
|
3530
|
+
backdrop-filter: blur(var(--h-image-toolbar-blur));
|
|
3531
|
+
}
|
|
3532
|
+
|
|
3533
|
+
.hx-image-close-only {
|
|
3534
|
+
position: absolute;
|
|
3535
|
+
top: var(--h-image-toolbar-position-top);
|
|
3536
|
+
right: var(--h-image-toolbar-position-right);
|
|
3537
|
+
z-index: 1;
|
|
3538
|
+
}
|
|
3539
|
+
|
|
3540
|
+
.hx-image-action {
|
|
3541
|
+
display: inline-flex;
|
|
3542
|
+
align-items: center;
|
|
3543
|
+
justify-content: center;
|
|
3544
|
+
width: var(--h-image-action-size);
|
|
3545
|
+
height: var(--h-image-action-size);
|
|
3546
|
+
padding: 0;
|
|
3547
|
+
border: 0;
|
|
3548
|
+
border-radius: var(--h-image-action-border-radius);
|
|
3549
|
+
background: transparent;
|
|
3550
|
+
color: var(--h-image-action-color);
|
|
3551
|
+
cursor: pointer;
|
|
3552
|
+
outline-color: transparent;
|
|
3553
|
+
transition: background var(--h-image-transition-duration), color var(--h-image-transition-duration);
|
|
3554
|
+
}
|
|
3555
|
+
|
|
3556
|
+
.hx-image-action:hover:not(:disabled) {
|
|
3557
|
+
background: var(--h-image-action-hover-background);
|
|
3558
|
+
color: var(--h-image-action-hover-color);
|
|
3559
|
+
}
|
|
3560
|
+
|
|
3561
|
+
.hx-image-action:focus-visible {
|
|
3562
|
+
outline: var(--h-image-action-focus-ring-width) var(--h-image-action-focus-ring-style) var(--h-image-action-focus-ring-color);
|
|
3563
|
+
outline-offset: var(--h-image-action-focus-ring-offset);
|
|
3564
|
+
box-shadow: var(--h-image-action-focus-ring-shadow);
|
|
3565
|
+
}
|
|
3566
|
+
|
|
3567
|
+
.hx-image-action:disabled {
|
|
3568
|
+
opacity: 0.4;
|
|
3569
|
+
cursor: default;
|
|
3570
|
+
}
|
|
3571
|
+
|
|
3572
|
+
.hx-image-action::before {
|
|
3573
|
+
content: "";
|
|
3574
|
+
}
|
|
3575
|
+
|
|
3576
|
+
.hx-image-rotate-left::before {
|
|
3577
|
+
display: inline-block;
|
|
3578
|
+
flex: none;
|
|
3579
|
+
width: var(--h-image-action-icon-size);
|
|
3580
|
+
height: var(--h-image-action-icon-size);
|
|
3581
|
+
background: currentcolor;
|
|
3582
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12a7.5 7.5 0 1 0 2.2-5.3L4.5 9M4.5 4v5h5'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3583
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12a7.5 7.5 0 1 0 2.2-5.3L4.5 9M4.5 4v5h5'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3584
|
+
}
|
|
3585
|
+
|
|
3586
|
+
.hx-image-rotate-right::before {
|
|
3587
|
+
display: inline-block;
|
|
3588
|
+
flex: none;
|
|
3589
|
+
width: var(--h-image-action-icon-size);
|
|
3590
|
+
height: var(--h-image-action-icon-size);
|
|
3591
|
+
background: currentcolor;
|
|
3592
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.5 12a7.5 7.5 0 1 1-2.2-5.3L19.5 9M19.5 4v5h-5'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3593
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.5 12a7.5 7.5 0 1 1-2.2-5.3L19.5 9M19.5 4v5h-5'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3594
|
+
}
|
|
3595
|
+
|
|
3596
|
+
.hx-image-zoom-out::before {
|
|
3597
|
+
display: inline-block;
|
|
3598
|
+
flex: none;
|
|
3599
|
+
width: var(--h-image-action-icon-size);
|
|
3600
|
+
height: var(--h-image-action-icon-size);
|
|
3601
|
+
background: currentcolor;
|
|
3602
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 11a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0ZM16 16l4.5 4.5M8.5 11h5'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3603
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 11a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0ZM16 16l4.5 4.5M8.5 11h5'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3604
|
+
}
|
|
3605
|
+
|
|
3606
|
+
.hx-image-zoom-in::before {
|
|
3607
|
+
display: inline-block;
|
|
3608
|
+
flex: none;
|
|
3609
|
+
width: var(--h-image-action-icon-size);
|
|
3610
|
+
height: var(--h-image-action-icon-size);
|
|
3611
|
+
background: currentcolor;
|
|
3612
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 11a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0ZM16 16l4.5 4.5M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3613
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 11a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0ZM16 16l4.5 4.5M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3614
|
+
}
|
|
3615
|
+
|
|
3616
|
+
.hx-image-close::before {
|
|
3617
|
+
display: inline-block;
|
|
3618
|
+
flex: none;
|
|
3619
|
+
width: var(--h-image-action-icon-size);
|
|
3620
|
+
height: var(--h-image-action-icon-size);
|
|
3621
|
+
background: currentcolor;
|
|
3622
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3623
|
+
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat;
|
|
3624
|
+
}
|
|
3625
|
+
|
|
3626
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3627
|
+
.hx-image-preview-mask,
|
|
3628
|
+
.hx-image-original,
|
|
3629
|
+
.hx-image-action {
|
|
3630
|
+
transition: none;
|
|
3631
|
+
}
|
|
3632
|
+
}
|
|
3633
|
+
|
|
2836
3634
|
/* input-group */
|
|
2837
3635
|
/*
|
|
2838
3636
|
* Input group: `<hx-input-group>` joins fields, selects, number fields, buttons and `<hx-input-group-addon>`
|
|
@@ -5185,6 +5983,39 @@
|
|
|
5185
5983
|
transition: none;
|
|
5186
5984
|
}
|
|
5187
5985
|
}
|
|
5986
|
+
/* the filter field above the list (same look as the multi-select one) */
|
|
5987
|
+
.hx-select-header {
|
|
5988
|
+
display: flex;
|
|
5989
|
+
align-items: center;
|
|
5990
|
+
padding: var(--h-multiselect-list-header-padding);
|
|
5991
|
+
}
|
|
5992
|
+
|
|
5993
|
+
.hx-select-filter {
|
|
5994
|
+
box-sizing: border-box;
|
|
5995
|
+
flex: 1 1 auto;
|
|
5996
|
+
min-width: 0;
|
|
5997
|
+
padding: var(--h-inputtext-padding-y) var(--h-inputtext-padding-x);
|
|
5998
|
+
border: 1px solid var(--h-inputtext-border-color);
|
|
5999
|
+
border-radius: var(--h-inputtext-border-radius);
|
|
6000
|
+
background: var(--h-inputtext-background);
|
|
6001
|
+
color: var(--h-inputtext-color);
|
|
6002
|
+
font: inherit;
|
|
6003
|
+
outline: 0 none;
|
|
6004
|
+
}
|
|
6005
|
+
|
|
6006
|
+
.hx-select-filter:focus {
|
|
6007
|
+
border-color: var(--h-inputtext-focus-border-color);
|
|
6008
|
+
}
|
|
6009
|
+
|
|
6010
|
+
/* the results count, for screen readers only */
|
|
6011
|
+
.hx-select-sr-only {
|
|
6012
|
+
position: absolute;
|
|
6013
|
+
width: 1px;
|
|
6014
|
+
height: 1px;
|
|
6015
|
+
overflow: hidden;
|
|
6016
|
+
clip-path: inset(50%);
|
|
6017
|
+
white-space: nowrap;
|
|
6018
|
+
}
|
|
5188
6019
|
|
|
5189
6020
|
/* skeleton */
|
|
5190
6021
|
/*
|