@unifiedsoftware/styles 2.0.1-beta.20 → 2.0.1-beta.21

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/css/styles.css CHANGED
@@ -387,6 +387,148 @@
387
387
  transition: opacity 150ms, transform 150ms;
388
388
  }
389
389
 
390
+ .us-dropdown {
391
+ display: inline-block;
392
+ }
393
+ .us-dropdown-positioner {
394
+ outline: 0;
395
+ z-index: 1000;
396
+ }
397
+ .us-dropdown-popup {
398
+ box-sizing: border-box;
399
+ padding-block: var(--us-dropdown-popup-padding-block, 0.375rem);
400
+ border-radius: var(--us-dropdown-popup-border-radius, 0.5rem);
401
+ background-color: var(--us-dropdown-popup-background, rgba(255, 255, 255, 0.98));
402
+ backdrop-filter: blur(10px);
403
+ -webkit-backdrop-filter: blur(10px);
404
+ color: var(--us-dropdown-popup-color, #343a40);
405
+ transform-origin: var(--transform-origin);
406
+ transition: transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1), opacity 200ms ease-out, backdrop-filter 200ms ease-out;
407
+ border: 1px solid var(--us-dropdown-popup-border-color, rgba(0, 0, 0, 0.08));
408
+ box-shadow: var(--us-dropdown-popup-shadow, 0 0 0 1px rgba(0, 0, 0, 0.02), 0 2px 4px rgba(0, 0, 0, 0.04), 0 8px 16px rgba(0, 0, 0, 0.08), 0 16px 32px rgba(0, 0, 0, 0.06));
409
+ overflow: hidden;
410
+ }
411
+ .us-dropdown-popup[data-starting-style], .us-dropdown-popup[data-ending-style] {
412
+ opacity: 0;
413
+ transform: scale(0.92) translateY(-8px);
414
+ }
415
+ .us-dropdown-arrow {
416
+ display: flex;
417
+ }
418
+ .us-dropdown-arrow[data-side=top] {
419
+ bottom: -8px;
420
+ rotate: 180deg;
421
+ }
422
+ .us-dropdown-arrow[data-side=bottom] {
423
+ top: -8px;
424
+ rotate: 0deg;
425
+ }
426
+ .us-dropdown-arrow[data-side=left] {
427
+ right: -13px;
428
+ rotate: 90deg;
429
+ }
430
+ .us-dropdown-arrow[data-side=right] {
431
+ left: -13px;
432
+ rotate: -90deg;
433
+ }
434
+ .us-dropdown-arrow__fill {
435
+ fill: var(--us-dropdown-popup-background, #ffffff);
436
+ }
437
+ .us-dropdown-arrow__stroke {
438
+ fill: var(--us-dropdown-popup-border-color, #dee2e6);
439
+ }
440
+ .us-dropdown-item {
441
+ outline: 0;
442
+ cursor: default;
443
+ user-select: none;
444
+ padding-block: var(--us-dropdown-item-padding-block, 0.5rem);
445
+ padding-left: var(--us-dropdown-item-padding-left, 1rem);
446
+ padding-right: var(--us-dropdown-item-padding-right, 2rem);
447
+ display: flex;
448
+ font-size: var(--us-dropdown-item-font-size, 0.875rem);
449
+ line-height: var(--us-dropdown-item-line-height, 1.25rem);
450
+ border-radius: var(--us-dropdown-item-border-radius, 0.375rem);
451
+ margin-inline: var(--us-dropdown-item-margin-inline, 0.25rem);
452
+ position: relative;
453
+ z-index: 0;
454
+ transition: transform 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
455
+ }
456
+ .us-dropdown-item:focus-visible {
457
+ outline: 2px solid var(--us-dropdown-item-focus-outline, var(--us-primary-color));
458
+ outline-offset: 2px;
459
+ outline-style: solid;
460
+ }
461
+ .us-dropdown-item--selected {
462
+ color: var(--us-dropdown-item-selected-color, inherit);
463
+ }
464
+ .us-dropdown-item--disabled {
465
+ opacity: 0.5;
466
+ cursor: not-allowed;
467
+ }
468
+ .us-dropdown-item__container {
469
+ display: flex;
470
+ align-items: center;
471
+ gap: var(--us-dropdown-item-gap, 0.75rem);
472
+ width: 100%;
473
+ position: relative;
474
+ z-index: 1;
475
+ }
476
+ .us-dropdown-item__start-content {
477
+ display: flex;
478
+ align-items: center;
479
+ flex-shrink: 0;
480
+ }
481
+ .us-dropdown-item__content {
482
+ display: flex;
483
+ flex-direction: column;
484
+ flex: 1;
485
+ min-width: 0;
486
+ }
487
+ .us-dropdown-item__title {
488
+ font-weight: 500;
489
+ font-size: var(--us-dropdown-item-title-font-size, inherit);
490
+ }
491
+ .us-dropdown-item__subtitle {
492
+ font-size: var(--us-dropdown-item-subtitle-font-size, 0.75rem);
493
+ color: var(--us-dropdown-item-subtitle-color, #6c757d);
494
+ margin-top: 0.125rem;
495
+ }
496
+ .us-dropdown-item__end-content {
497
+ display: flex;
498
+ align-items: center;
499
+ flex-shrink: 0;
500
+ margin-left: auto;
501
+ }
502
+ .us-dropdown-separator {
503
+ margin: var(--us-dropdown-separator-margin, 0.375rem 1rem);
504
+ height: 1px;
505
+ background-color: var(--us-dropdown-separator-color, #dee2e6);
506
+ }
507
+ .us-dropdown-submenu-trigger {
508
+ outline: 0;
509
+ cursor: default;
510
+ user-select: none;
511
+ padding-block: var(--us-dropdown-item-padding-block, 0.5rem);
512
+ padding-left: var(--us-dropdown-item-padding-left, 1rem);
513
+ padding-right: var(--us-dropdown-item-padding-right, 2rem);
514
+ display: flex;
515
+ align-items: center;
516
+ justify-content: space-between;
517
+ gap: 1rem;
518
+ font-size: var(--us-dropdown-item-font-size, 0.875rem);
519
+ line-height: var(--us-dropdown-item-line-height, 1.25rem);
520
+ border-radius: var(--us-dropdown-item-border-radius, 0.375rem);
521
+ margin-inline: var(--us-dropdown-item-margin-inline, 0.25rem);
522
+ position: relative;
523
+ z-index: 0;
524
+ transition: transform 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
525
+ }
526
+ .us-dropdown-submenu-trigger:focus-visible {
527
+ outline: 2px solid var(--us-dropdown-item-focus-outline, var(--us-primary-color));
528
+ outline-offset: 2px;
529
+ outline-style: solid;
530
+ }
531
+
390
532
  .us-drawer {
391
533
  position: absolute;
392
534
  max-width: var(--us-drawer-width);
@@ -1036,10 +1178,256 @@
1036
1178
  --us-menu-background: var(--us-submenu-background);
1037
1179
  }
1038
1180
 
1039
- .us-divider {
1181
+ .us-navigation-menu {
1182
+ background-color: var(--us-navigation-menu-background);
1183
+ border-radius: var(--us-navigation-menu-border-radius);
1184
+ padding: var(--us-navigation-menu-padding);
1185
+ color: var(--us-navigation-menu-color);
1186
+ min-width: max-content;
1187
+ }
1188
+ .us-navigation-menu-list {
1189
+ display: flex;
1190
+ position: relative;
1191
+ list-style: none;
1192
+ padding: 0;
1193
+ margin: 0;
1194
+ }
1195
+ .us-navigation-menu-item {
1196
+ display: flex;
1197
+ }
1198
+ .us-navigation-menu-icon {
1199
+ transition: transform 0.2s ease;
1200
+ }
1201
+ .us-navigation-menu-icon[data-popup-open] {
1202
+ transform: rotate(180deg);
1203
+ }
1204
+ .us-navigation-menu-positioner {
1205
+ --easing: cubic-bezier(0.22, 1, 0.36, 1);
1206
+ --duration: 0.35s;
1207
+ box-sizing: border-box;
1208
+ transition-property: top, left, right, bottom;
1209
+ transition-duration: var(--duration);
1210
+ transition-timing-function: var(--easing);
1211
+ width: var(--positioner-width);
1212
+ height: var(--positioner-height);
1213
+ max-width: var(--available-width);
1214
+ z-index: 1000;
1215
+ }
1216
+ .us-navigation-menu-positioner[data-instant] {
1217
+ transition: none;
1218
+ }
1219
+ .us-navigation-menu-popup {
1220
+ position: relative;
1221
+ box-sizing: border-box;
1222
+ padding-block: var(--us-navigation-menu-popup-padding-block, 0.375rem);
1223
+ border-radius: var(--us-navigation-menu-popup-border-radius, 0.5rem);
1224
+ background-color: var(--us-navigation-menu-popup-background, rgba(255, 255, 255, 0.98));
1225
+ backdrop-filter: blur(10px);
1226
+ -webkit-backdrop-filter: blur(10px);
1227
+ color: var(--us-navigation-menu-popup-color, #343a40);
1228
+ transform-origin: var(--transform-origin);
1229
+ transition-property: opacity, transform, width, height, backdrop-filter;
1230
+ transition-duration: var(--duration);
1231
+ transition-timing-function: var(--easing);
1232
+ width: var(--popup-width);
1233
+ height: var(--popup-height);
1234
+ border: 1px solid var(--us-navigation-menu-popup-border-color, rgba(0, 0, 0, 0.08));
1235
+ box-shadow: var(--us-navigation-menu-popup-shadow, 0 0 0 1px rgba(0, 0, 0, 0.02), 0 2px 4px rgba(0, 0, 0, 0.04), 0 8px 16px rgba(0, 0, 0, 0.08), 0 16px 32px rgba(0, 0, 0, 0.06));
1236
+ overflow: hidden;
1237
+ }
1238
+ .us-navigation-menu-popup[data-starting-style], .us-navigation-menu-popup[data-ending-style] {
1239
+ opacity: 0;
1240
+ transform: scale(0.92) translateY(-8px);
1241
+ }
1242
+ .us-navigation-menu-popup[data-ending-style] {
1243
+ transition-timing-function: ease;
1244
+ transition-duration: 0.15s;
1245
+ }
1246
+ .us-navigation-menu-content {
1247
+ box-sizing: border-box;
1248
+ transition: opacity calc(var(--duration) * 0.5) ease, transform var(--duration) var(--easing);
1249
+ width: calc(100vw - 40px);
1250
+ height: 100%;
1251
+ }
1252
+ @media (min-width: 500px) {
1253
+ .us-navigation-menu-content {
1254
+ width: max-content;
1255
+ min-width: 400px;
1256
+ }
1257
+ }
1258
+ .us-navigation-menu-content[data-starting-style], .us-navigation-menu-content[data-ending-style] {
1259
+ opacity: 0;
1260
+ }
1261
+ .us-navigation-menu-content[data-starting-style][data-activation-direction=left] {
1262
+ transform: translateX(-50%);
1263
+ }
1264
+ .us-navigation-menu-content[data-starting-style][data-activation-direction=right] {
1265
+ transform: translateX(50%);
1266
+ }
1267
+ .us-navigation-menu-content[data-ending-style][data-activation-direction=left] {
1268
+ transform: translateX(50%);
1269
+ }
1270
+ .us-navigation-menu-content[data-ending-style][data-activation-direction=right] {
1271
+ transform: translateX(-50%);
1272
+ }
1273
+ .us-navigation-menu-link {
1274
+ text-decoration: none !important;
1275
+ color: inherit !important;
1276
+ border-radius: 0.375rem;
1277
+ transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
1278
+ display: block;
1279
+ }
1280
+ .us-navigation-menu-link, .us-navigation-menu-link:visited, .us-navigation-menu-link:link {
1281
+ text-decoration: none !important;
1282
+ color: inherit !important;
1283
+ }
1284
+ @media (hover: hover) {
1285
+ .us-navigation-menu-link:hover {
1286
+ background-color: var(--us-navigation-menu-link-hover-background, rgba(0, 0, 0, 0.05)) !important;
1287
+ }
1288
+ }
1289
+ .us-navigation-menu-link:focus-visible {
1290
+ outline: 2px solid var(--us-navigation-menu-trigger-focus-outline, var(--us-primary-color));
1291
+ outline-offset: 2px;
1292
+ outline-style: solid;
1293
+ }
1294
+ .us-navigation-menu-viewport {
1295
+ position: relative;
1296
+ overflow: hidden;
1297
+ width: 100%;
1298
+ height: 100%;
1299
+ }
1300
+ .us-navigation-menu-arrow {
1301
+ display: flex;
1302
+ transition: left calc(var(--duration)) var(--easing);
1303
+ }
1304
+ .us-navigation-menu-arrow[data-side=top] {
1305
+ bottom: -8px;
1306
+ rotate: 180deg;
1307
+ }
1308
+ .us-navigation-menu-arrow[data-side=bottom] {
1309
+ top: -8px;
1310
+ rotate: 0deg;
1311
+ }
1312
+ .us-navigation-menu-arrow[data-side=left] {
1313
+ right: -13px;
1314
+ rotate: 90deg;
1315
+ }
1316
+ .us-navigation-menu-arrow[data-side=right] {
1317
+ left: -13px;
1318
+ rotate: -90deg;
1319
+ }
1320
+
1321
+ .us-navigation-menu-item {
1322
+ position: relative;
1323
+ z-index: 0;
1324
+ display: flex;
1325
+ padding-block: var(--us-navigation-menu-item-padding-block, 0.5rem);
1326
+ padding-block: var(--us-navigation-menu-item-padding-block, 0.5rem);
1327
+ padding-left: var(--us-navigation-menu-item-padding-left, 1rem);
1328
+ padding-right: var(--us-navigation-menu-item-padding-right, 1rem);
1329
+ border-radius: var(--us-navigation-menu-item-border-radius, 0.375rem);
1330
+ margin-inline: var(--us-navigation-menu-item-margin-inline, 0.25rem);
1331
+ text-decoration: none;
1332
+ color: inherit;
1333
+ cursor: pointer;
1334
+ user-select: none;
1335
+ transition: transform 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
1336
+ border: none;
1337
+ background: none;
1338
+ font-family: inherit;
1339
+ font-size: inherit;
1340
+ text-align: left;
1341
+ outline: none;
1342
+ }
1343
+ .us-navigation-menu-item:hover {
1344
+ text-decoration: none;
1345
+ }
1346
+ .us-navigation-menu-item--selected {
1347
+ color: var(--us-navigation-menu-item-selected-color, inherit);
1348
+ }
1349
+ .us-navigation-menu-item--disabled {
1350
+ opacity: 0.5;
1351
+ pointer-events: none;
1352
+ cursor: not-allowed;
1353
+ }
1354
+ .us-navigation-menu-item__container {
1355
+ display: flex;
1356
+ align-items: center;
1357
+ gap: var(--us-navigation-menu-item-gap, 0.75rem);
1040
1358
  width: 100%;
1359
+ position: relative;
1360
+ z-index: 1;
1361
+ }
1362
+ .us-navigation-menu-item__start-content, .us-navigation-menu-item__end-content {
1363
+ display: flex;
1364
+ align-items: center;
1365
+ flex-shrink: 0;
1366
+ }
1367
+ .us-navigation-menu-item__content {
1368
+ display: flex;
1369
+ flex-direction: column;
1370
+ flex: 1;
1371
+ min-width: 0;
1372
+ }
1373
+ .us-navigation-menu-item__title {
1374
+ font-weight: var(--us-navigation-menu-item-title-font-weight, 500);
1375
+ font-size: var(--us-navigation-menu-item-title-font-size, 0.875rem);
1376
+ line-height: var(--us-navigation-menu-item-title-line-height, 1.25rem);
1377
+ color: var(--us-navigation-menu-item-title-color, inherit);
1378
+ }
1379
+ .us-navigation-menu-item__subtitle {
1380
+ font-size: var(--us-navigation-menu-item-subtitle-font-size, 0.75rem);
1381
+ line-height: var(--us-navigation-menu-item-subtitle-line-height, 1rem);
1382
+ color: var(--us-navigation-menu-item-subtitle-color, #6c757d);
1383
+ margin-top: 0.125rem;
1384
+ }
1385
+
1386
+ .us-navigation-menu-group {
1387
+ display: flex;
1388
+ flex-direction: column;
1389
+ gap: var(--us-navigation-menu-group-gap, 0.5rem);
1390
+ padding: var(--us-navigation-menu-group-padding, 1.25rem);
1391
+ }
1392
+ .us-navigation-menu-group__label {
1393
+ font-size: var(--us-navigation-menu-group-label-font-size, 0.75rem);
1394
+ font-weight: var(--us-navigation-menu-group-label-font-weight, 600);
1395
+ text-transform: uppercase;
1396
+ letter-spacing: 0.05em;
1397
+ color: var(--us-navigation-menu-group-label-color, #6c757d);
1398
+ padding-block: var(--us-navigation-menu-group-label-padding-block, 0.25rem);
1399
+ padding-inline: var(--us-navigation-menu-group-label-padding-inline, 0);
1400
+ margin-bottom: var(--us-navigation-menu-group-label-margin-bottom, 0.25rem);
1401
+ }
1402
+ .us-navigation-menu-group__content {
1403
+ display: flex;
1404
+ flex-direction: column;
1405
+ gap: var(--us-navigation-menu-group-content-gap, 0.25rem);
1406
+ }
1407
+
1408
+ .us-navigation-menu-separator {
1041
1409
  height: 1px;
1042
- background: var(--us-border-color);
1410
+ background-color: var(--us-navigation-menu-separator-color, #e9ecef);
1411
+ margin-block: var(--us-navigation-menu-separator-margin-block, 0.5rem);
1412
+ margin-inline: var(--us-navigation-menu-separator-margin-inline, 1.25rem);
1413
+ }
1414
+
1415
+ .us-navigation-menu-grid {
1416
+ display: grid;
1417
+ gap: var(--us-navigation-menu-grid-gap, 1.5rem);
1418
+ padding: var(--us-navigation-menu-grid-padding, 1.25rem);
1419
+ }
1420
+ .us-navigation-menu-grid--columns-1 {
1421
+ grid-template-columns: 1fr;
1422
+ }
1423
+ .us-navigation-menu-grid--columns-2 {
1424
+ grid-template-columns: repeat(2, 1fr);
1425
+ }
1426
+ .us-navigation-menu-grid--columns-3 {
1427
+ grid-template-columns: repeat(3, 1fr);
1428
+ }
1429
+ .us-navigation-menu-grid--columns-4 {
1430
+ grid-template-columns: repeat(4, 1fr);
1043
1431
  }
1044
1432
 
1045
1433
  .us-breadcrumb {