@dragunio/fe-libs 0.1.2 → 0.1.4

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/dist/styles.css CHANGED
@@ -222,6 +222,22 @@
222
222
  border-radius: var(--fe-table-radius, 10px);
223
223
  background: var(--fe-table-background, #fff);
224
224
  }
225
+ .fe-table__pagination {
226
+ display: flex;
227
+ padding: 14px 16px;
228
+ border-bottom: 1px solid var(--fe-table-border, #e3e7ee);
229
+ }
230
+ .fe-table__pagination--top-right,
231
+ .fe-table__pagination--bottom-right {
232
+ justify-content: flex-end;
233
+ }
234
+ .fe-table__pagination--bottom-center {
235
+ justify-content: center;
236
+ }
237
+ .fe-table > .fe-table__table + .fe-table__pagination {
238
+ border-top: 1px solid var(--fe-table-border, #e3e7ee);
239
+ border-bottom: 0;
240
+ }
225
241
  .fe-table__table,
226
242
  table[data-fe-table] {
227
243
  width: max-content;
@@ -494,7 +510,9 @@ table[data-fe-table] tbody tr:hover {
494
510
  /* packages/form-controls/src/styles.css */
495
511
  .fe-selection,
496
512
  .fe-number-input,
497
- .fe-datetime-picker {
513
+ .fe-datetime-picker,
514
+ .fe-text-input,
515
+ .fe-text-area {
498
516
  display: grid;
499
517
  min-width: 0;
500
518
  gap: 6px;
@@ -503,7 +521,9 @@ table[data-fe-table] tbody tr:hover {
503
521
  }
504
522
  .fe-selection__label,
505
523
  .fe-number-input__label,
506
- .fe-datetime-picker__label {
524
+ .fe-datetime-picker__label,
525
+ .fe-text-input__label,
526
+ .fe-text-area__label {
507
527
  font-size: 13px;
508
528
  font-weight: 600;
509
529
  }
@@ -513,7 +533,9 @@ table[data-fe-table] tbody tr:hover {
513
533
  min-width: 0;
514
534
  }
515
535
  .fe-selection__trigger,
516
- .fe-number-input input {
536
+ .fe-number-input input,
537
+ .fe-text-input input,
538
+ .fe-text-area textarea {
517
539
  width: 100%;
518
540
  min-height: 42px;
519
541
  padding: 0 13px;
@@ -548,7 +570,9 @@ table[data-fe-table] tbody tr:hover {
548
570
  }
549
571
  .fe-selection__trigger:focus-visible,
550
572
  .fe-number-input input:focus,
551
- .fe-datetime-picker__trigger:focus-visible {
573
+ .fe-datetime-picker__trigger:focus-visible,
574
+ .fe-text-input input:focus,
575
+ .fe-text-area textarea:focus {
552
576
  border-color: #2878f0;
553
577
  box-shadow: 0 0 0 3px rgba(40, 120, 240, 0.16);
554
578
  }
@@ -665,7 +689,7 @@ table[data-fe-table] tbody tr:hover {
665
689
  }
666
690
  .fe-selection__menu {
667
691
  position: absolute;
668
- z-index: 40;
692
+ z-index: 1000;
669
693
  top: calc(100% + 7px);
670
694
  left: 0;
671
695
  width: 100%;
@@ -749,11 +773,16 @@ table[data-fe-table] tbody tr:hover {
749
773
  font-size: 12px;
750
774
  }
751
775
  .fe-selection--error .fe-selection__trigger,
752
- .fe-number-input--error input {
776
+ .fe-number-input--error input,
777
+ .fe-text-input--error input,
778
+ .fe-text-area--error textarea {
753
779
  border-color: #d83d55;
754
780
  }
755
781
  .fe-selection--error .fe-selection__helper,
756
- .fe-number-input--error .fe-number-input__helper {
782
+ .fe-number-input--error .fe-number-input__helper,
783
+ .fe-number-input__error,
784
+ .fe-text-input__error,
785
+ .fe-text-area__error {
757
786
  color: #b92c43;
758
787
  }
759
788
  .fe-selection--disabled {
@@ -765,10 +794,53 @@ table[data-fe-table] tbody tr:hover {
765
794
  .fe-number-input input {
766
795
  padding-right: 13px;
767
796
  }
797
+ .fe-text-input__control,
798
+ .fe-text-area__control {
799
+ position: relative;
800
+ display: block;
801
+ }
802
+ .fe-text-input input,
803
+ .fe-text-area textarea {
804
+ display: block;
805
+ box-sizing: border-box;
806
+ }
807
+ .fe-text-area textarea {
808
+ min-height: 96px;
809
+ padding-top: 10px;
810
+ padding-bottom: 10px;
811
+ resize: vertical;
812
+ }
813
+ .fe-text-input__clear.fe-button,
814
+ .fe-text-area__clear.fe-button {
815
+ position: absolute;
816
+ top: 50%;
817
+ right: 8px;
818
+ min-width: 24px;
819
+ min-height: 24px;
820
+ padding: 4px;
821
+ border-radius: 50%;
822
+ transform: translateY(-50%);
823
+ }
824
+ .fe-text-input:has(.fe-text-input__clear) input {
825
+ padding-right: 42px;
826
+ }
827
+ .fe-text-area:has(.fe-text-area__clear) textarea {
828
+ padding-right: 42px;
829
+ }
830
+ .fe-text-input__helper,
831
+ .fe-text-area__helper {
832
+ color: #687183;
833
+ font-size: 12px;
834
+ }
835
+ .fe-text-input__error,
836
+ .fe-text-area__error,
837
+ .fe-number-input__error {
838
+ font-size: 12px;
839
+ }
768
840
  .fe-currency-input {
769
841
  position: relative;
770
842
  display: flex;
771
- align-items: end;
843
+ align-items: start;
772
844
  }
773
845
  .fe-currency-input__number {
774
846
  width: 100%;
@@ -780,14 +852,14 @@ table[data-fe-table] tbody tr:hover {
780
852
  .fe-currency-input__currency {
781
853
  position: absolute;
782
854
  right: 11px;
783
- bottom: 8px;
855
+ top: 8px;
784
856
  color: #535b6a;
785
857
  font: inherit;
786
858
  font-size: 13px;
787
859
  font-weight: 700;
788
860
  }
789
861
  .fe-currency-input__currency {
790
- bottom: 7px;
862
+ top: 7px;
791
863
  max-width: 90px;
792
864
  border: 0;
793
865
  border-left: 1px solid #d4d8e0;
@@ -795,6 +867,10 @@ table[data-fe-table] tbody tr:hover {
795
867
  padding: 4px 0 4px 8px;
796
868
  outline: 0;
797
869
  }
870
+ .fe-currency-input:has(.fe-number-input__label) .fe-currency-input__suffix,
871
+ .fe-currency-input:has(.fe-number-input__label) .fe-currency-input__currency {
872
+ top: 31px;
873
+ }
798
874
  .fe-datetime-picker {
799
875
  position: relative;
800
876
  }
@@ -1069,4 +1145,587 @@ table[data-fe-table] tbody tr:hover {
1069
1145
  cursor: not-allowed;
1070
1146
  }
1071
1147
 
1148
+ /* packages/loading/src/styles.css */
1149
+ .fe-loading {
1150
+ display: inline-flex;
1151
+ align-items: center;
1152
+ gap: 8px;
1153
+ color: #535b6a;
1154
+ font: inherit;
1155
+ }
1156
+ .fe-loading__spinner {
1157
+ display: block;
1158
+ width: var(--fe-loading-size);
1159
+ height: var(--fe-loading-size);
1160
+ box-sizing: border-box;
1161
+ flex: 0 0 auto;
1162
+ border: max(2px, calc(var(--fe-loading-size) / 9)) solid color-mix(in srgb, var(--fe-loading-color) 22%, transparent);
1163
+ border-top-color: var(--fe-loading-color);
1164
+ border-radius: 50%;
1165
+ animation: fe-loading-spin .72s linear infinite;
1166
+ }
1167
+ .fe-loading__label {
1168
+ line-height: 1.2;
1169
+ }
1170
+ .fe-loading__sr-only {
1171
+ position: absolute;
1172
+ width: 1px;
1173
+ height: 1px;
1174
+ padding: 0;
1175
+ margin: -1px;
1176
+ overflow: hidden;
1177
+ clip: rect(0, 0, 0, 0);
1178
+ white-space: nowrap;
1179
+ border: 0;
1180
+ }
1181
+ @keyframes fe-loading-spin {
1182
+ to {
1183
+ transform: rotate(360deg);
1184
+ }
1185
+ }
1186
+ @media (prefers-reduced-motion: reduce) {
1187
+ .fe-loading__spinner {
1188
+ animation-duration: 1.6s;
1189
+ }
1190
+ }
1191
+
1192
+ /* packages/skeleton/src/styles.css */
1193
+ .fe-skeleton {
1194
+ width: var(--fe-skeleton-width);
1195
+ height: var(--fe-skeleton-height);
1196
+ max-width: 100%;
1197
+ border-radius: 10px;
1198
+ background: #e8eaee;
1199
+ }
1200
+ .fe-skeleton--line {
1201
+ border-radius: 999px;
1202
+ }
1203
+ .fe-skeleton--circle {
1204
+ border-radius: 50%;
1205
+ }
1206
+ .fe-skeleton--animated {
1207
+ background:
1208
+ linear-gradient(
1209
+ 90deg,
1210
+ #e8eaee 20%,
1211
+ #f6f7f9 45%,
1212
+ #e8eaee 70%);
1213
+ background-size: 200% 100%;
1214
+ animation: fe-skeleton-shimmer 1.35s ease-in-out infinite;
1215
+ }
1216
+ @keyframes fe-skeleton-shimmer {
1217
+ to {
1218
+ background-position: -200% 0;
1219
+ }
1220
+ }
1221
+ @media (prefers-reduced-motion: reduce) {
1222
+ .fe-skeleton--animated {
1223
+ animation: none;
1224
+ }
1225
+ }
1226
+
1227
+ /* packages/modal/src/styles.css */
1228
+ .fe-modal-backdrop {
1229
+ position: fixed;
1230
+ z-index: 1100;
1231
+ inset: 0;
1232
+ display: grid;
1233
+ place-items: center;
1234
+ padding: 24px;
1235
+ background: rgba(15, 18, 25, .5);
1236
+ animation: fe-modal-fade .16s ease;
1237
+ }
1238
+ .fe-modal {
1239
+ display: flex;
1240
+ width: min(100%, 560px);
1241
+ max-height: min(720px, calc(100vh - 48px));
1242
+ flex-direction: column;
1243
+ overflow: hidden;
1244
+ border-radius: 16px;
1245
+ background: #fff;
1246
+ color: #20242c;
1247
+ box-shadow: 0 24px 64px rgba(15, 18, 25, .28);
1248
+ outline: 0;
1249
+ animation: fe-modal-in .18s cubic-bezier(.2, .8, .2, 1);
1250
+ }
1251
+ .fe-modal--small {
1252
+ max-width: 400px;
1253
+ }
1254
+ .fe-modal--medium {
1255
+ max-width: 560px;
1256
+ }
1257
+ .fe-modal--large {
1258
+ max-width: 760px;
1259
+ }
1260
+ .fe-modal--xlarge {
1261
+ max-width: 1024px;
1262
+ }
1263
+ .fe-modal--full {
1264
+ width: calc(100vw - 48px);
1265
+ max-width: none;
1266
+ max-height: calc(100vh - 48px);
1267
+ }
1268
+ .fe-modal__header {
1269
+ display: flex;
1270
+ flex: 0 0 auto;
1271
+ align-items: flex-start;
1272
+ justify-content: space-between;
1273
+ gap: 16px;
1274
+ padding: 20px 24px 16px;
1275
+ border-bottom: 1px solid #e8eaee;
1276
+ }
1277
+ .fe-modal__heading {
1278
+ min-width: 0;
1279
+ }
1280
+ .fe-modal__heading h2 {
1281
+ margin: 0;
1282
+ font-size: 18px;
1283
+ line-height: 1.35;
1284
+ }
1285
+ .fe-modal__heading p {
1286
+ margin: 5px 0 0;
1287
+ color: #687183;
1288
+ font-size: 14px;
1289
+ line-height: 1.45;
1290
+ }
1291
+ .fe-modal__header .fe-button {
1292
+ flex: 0 0 auto;
1293
+ margin: -4px -6px 0 0;
1294
+ }
1295
+ .fe-modal__body {
1296
+ min-height: 0;
1297
+ flex: 1 1 auto;
1298
+ overflow: auto;
1299
+ padding: 24px;
1300
+ }
1301
+ .fe-modal__footer {
1302
+ display: flex;
1303
+ flex: 0 0 auto;
1304
+ align-items: center;
1305
+ justify-content: space-between;
1306
+ gap: 16px;
1307
+ min-height: 72px;
1308
+ padding: 12px 24px;
1309
+ border-top: 1px solid #e8eaee;
1310
+ }
1311
+ .fe-modal__footer-content {
1312
+ min-width: 0;
1313
+ }
1314
+ .fe-modal__actions {
1315
+ display: flex;
1316
+ flex: 0 0 auto;
1317
+ flex-wrap: wrap;
1318
+ justify-content: flex-end;
1319
+ gap: 8px;
1320
+ margin-left: auto;
1321
+ }
1322
+ @keyframes fe-modal-fade {
1323
+ from {
1324
+ opacity: 0;
1325
+ }
1326
+ to {
1327
+ opacity: 1;
1328
+ }
1329
+ }
1330
+ @keyframes fe-modal-in {
1331
+ from {
1332
+ opacity: 0;
1333
+ transform: translateY(10px) scale(.985);
1334
+ }
1335
+ to {
1336
+ opacity: 1;
1337
+ transform: translateY(0) scale(1);
1338
+ }
1339
+ }
1340
+ @media (max-width: 560px) {
1341
+ .fe-modal-backdrop {
1342
+ padding: 16px;
1343
+ }
1344
+ .fe-modal,
1345
+ .fe-modal--full {
1346
+ width: 100%;
1347
+ max-height: calc(100vh - 32px);
1348
+ }
1349
+ .fe-modal__header,
1350
+ .fe-modal__body,
1351
+ .fe-modal__footer {
1352
+ padding-right: 16px;
1353
+ padding-left: 16px;
1354
+ }
1355
+ .fe-modal__footer {
1356
+ align-items: stretch;
1357
+ flex-direction: column;
1358
+ }
1359
+ .fe-modal__actions {
1360
+ width: 100%;
1361
+ margin-left: 0;
1362
+ }
1363
+ .fe-modal__actions .fe-button {
1364
+ flex: 1;
1365
+ }
1366
+ }
1367
+
1368
+ /* packages/progress/src/styles.css */
1369
+ .fe-progress {
1370
+ display: grid;
1371
+ gap: 7px;
1372
+ width: 100%;
1373
+ color: #303640;
1374
+ font: inherit;
1375
+ }
1376
+ .fe-progress__meta {
1377
+ display: flex;
1378
+ align-items: center;
1379
+ justify-content: space-between;
1380
+ gap: 12px;
1381
+ font-size: 13px;
1382
+ font-weight: 600;
1383
+ }
1384
+ .fe-progress__value {
1385
+ color: #687183;
1386
+ font-variant-numeric: tabular-nums;
1387
+ }
1388
+ .fe-progress__track {
1389
+ position: relative;
1390
+ height: 8px;
1391
+ overflow: hidden;
1392
+ border-radius: 999px;
1393
+ background: #e8eaee;
1394
+ }
1395
+ .fe-progress--small .fe-progress__track {
1396
+ height: 4px;
1397
+ }
1398
+ .fe-progress--large .fe-progress__track {
1399
+ height: 12px;
1400
+ }
1401
+ .fe-progress__indicator {
1402
+ display: block;
1403
+ width: var(--fe-progress-value);
1404
+ height: 100%;
1405
+ border-radius: inherit;
1406
+ background: var(--fe-progress-color);
1407
+ transition: width .22s ease;
1408
+ }
1409
+ .fe-progress--indeterminate .fe-progress__indicator {
1410
+ width: 42%;
1411
+ animation: fe-progress-bounce 1.2s ease-in-out infinite alternate;
1412
+ }
1413
+ @keyframes fe-progress-bounce {
1414
+ from {
1415
+ transform: translateX(-100%);
1416
+ }
1417
+ to {
1418
+ transform: translateX(238%);
1419
+ }
1420
+ }
1421
+ @media (prefers-reduced-motion: reduce) {
1422
+ .fe-progress--indeterminate .fe-progress__indicator {
1423
+ animation-duration: 2.5s;
1424
+ }
1425
+ }
1426
+
1427
+ /* packages/chip/src/styles.css */
1428
+ .fe-chip {
1429
+ --fe-chip-bg: #eef0f3;
1430
+ --fe-chip-fg: #535b6a;
1431
+ --fe-chip-border: #d4d8e0;
1432
+ display: inline-flex;
1433
+ max-width: 100%;
1434
+ align-items: center;
1435
+ gap: 6px;
1436
+ min-height: 24px;
1437
+ box-sizing: border-box;
1438
+ padding: 3px 8px;
1439
+ border: 1px solid transparent;
1440
+ border-radius: 999px;
1441
+ color: var(--fe-chip-fg);
1442
+ font: inherit;
1443
+ font-size: 12px;
1444
+ font-weight: 600;
1445
+ line-height: 1.25;
1446
+ }
1447
+ .fe-chip--default,
1448
+ .fe-chip--neutral {
1449
+ --fe-chip-bg: #eef0f3;
1450
+ --fe-chip-fg: #535b6a;
1451
+ --fe-chip-border: #d4d8e0;
1452
+ }
1453
+ .fe-chip--info {
1454
+ --fe-chip-bg: #e7f1ff;
1455
+ --fe-chip-fg: #1e60cc;
1456
+ --fe-chip-border: #94c4ff;
1457
+ }
1458
+ .fe-chip--success {
1459
+ --fe-chip-bg: #e4f8ee;
1460
+ --fe-chip-fg: #0f6c46;
1461
+ --fe-chip-border: #7fd5a7;
1462
+ }
1463
+ .fe-chip--warning {
1464
+ --fe-chip-bg: #fff3dd;
1465
+ --fe-chip-fg: #a36200;
1466
+ --fe-chip-border: #ffd493;
1467
+ }
1468
+ .fe-chip--error {
1469
+ --fe-chip-bg: #ffeaed;
1470
+ --fe-chip-fg: #b92c43;
1471
+ --fe-chip-border: #f3909d;
1472
+ }
1473
+ .fe-chip--pending {
1474
+ --fe-chip-bg: #f2eafe;
1475
+ --fe-chip-fg: #7447af;
1476
+ --fe-chip-border: #d6bafa;
1477
+ }
1478
+ .fe-chip--processing {
1479
+ --fe-chip-bg: #e2f4f7;
1480
+ --fe-chip-fg: #16718a;
1481
+ --fe-chip-border: #a8dce7;
1482
+ }
1483
+ .fe-chip--custom {
1484
+ --fe-chip-bg: color-mix(in srgb, var(--fe-chip-custom-color) 13%, #fff);
1485
+ --fe-chip-fg: var(--fe-chip-custom-color);
1486
+ --fe-chip-border: color-mix(in srgb, var(--fe-chip-custom-color) 35%, #fff);
1487
+ }
1488
+ .fe-chip--subtle {
1489
+ background: var(--fe-chip-bg);
1490
+ }
1491
+ .fe-chip--outline {
1492
+ border-color: var(--fe-chip-border);
1493
+ background: #fff;
1494
+ }
1495
+ .fe-chip--solid {
1496
+ border-color: var(--fe-chip-fg);
1497
+ background: var(--fe-chip-fg);
1498
+ color: #fff;
1499
+ }
1500
+ .fe-chip__dot {
1501
+ width: 7px;
1502
+ height: 7px;
1503
+ flex: 0 0 auto;
1504
+ border-radius: 50%;
1505
+ background: currentColor;
1506
+ }
1507
+ .fe-chip__content {
1508
+ min-width: 0;
1509
+ overflow: hidden;
1510
+ text-overflow: ellipsis;
1511
+ white-space: nowrap;
1512
+ }
1513
+ .fe-chip__remove.fe-button {
1514
+ min-width: 18px;
1515
+ min-height: 18px;
1516
+ margin: 0 -3px 0 0;
1517
+ padding: 2px;
1518
+ border-radius: 50%;
1519
+ color: inherit;
1520
+ }
1521
+ .fe-chip__remove.fe-button:hover {
1522
+ background: color-mix(in srgb, currentColor 12%, transparent);
1523
+ }
1524
+ .fe-chip--solid .fe-chip__remove.fe-button {
1525
+ color: inherit;
1526
+ }
1527
+
1528
+ /* packages/pagination/src/styles.css */
1529
+ .fe-pagination {
1530
+ display: inline-flex;
1531
+ align-items: center;
1532
+ gap: 6px;
1533
+ }
1534
+ .fe-pagination__button.fe-button {
1535
+ min-width: 40px;
1536
+ padding: 0 10px;
1537
+ justify-content: center;
1538
+ }
1539
+ .fe-pagination__button--control.fe-button {
1540
+ padding: 0;
1541
+ font-size: 24px;
1542
+ line-height: 1;
1543
+ }
1544
+ .fe-pagination__ellipsis {
1545
+ width: 28px;
1546
+ color: #667085;
1547
+ text-align: center;
1548
+ font-size: 18px;
1549
+ line-height: 40px;
1550
+ }
1551
+
1552
+ /* packages/message/src/styles.css */
1553
+ .fe-message-viewport {
1554
+ position: fixed;
1555
+ z-index: 1300;
1556
+ top: 20px;
1557
+ right: 20px;
1558
+ display: grid;
1559
+ gap: 10px;
1560
+ width: min(100% - 32px, 400px);
1561
+ pointer-events: none;
1562
+ }
1563
+ .fe-message {
1564
+ display: flex;
1565
+ align-items: flex-start;
1566
+ gap: 10px;
1567
+ padding: 12px;
1568
+ border: 1px solid;
1569
+ border-radius: 8px;
1570
+ box-shadow: 0 12px 24px rgb(16 24 40 / 16%);
1571
+ pointer-events: auto;
1572
+ animation: fe-message-enter 180ms ease-out;
1573
+ }
1574
+ .fe-message--success {
1575
+ color: #05603a;
1576
+ border-color: #a6f4c5;
1577
+ background: #ecfdf3;
1578
+ }
1579
+ .fe-message--info {
1580
+ color: #175cd3;
1581
+ border-color: #b2ddff;
1582
+ background: #eff8ff;
1583
+ }
1584
+ .fe-message--warning {
1585
+ color: #b54708;
1586
+ border-color: #fedf89;
1587
+ background: #fffaeb;
1588
+ }
1589
+ .fe-message--error {
1590
+ color: #b42318;
1591
+ border-color: #fecdca;
1592
+ background: #fef3f2;
1593
+ }
1594
+ .fe-message__icon {
1595
+ display: grid;
1596
+ flex: 0 0 auto;
1597
+ place-items: center;
1598
+ width: 20px;
1599
+ height: 20px;
1600
+ border: 1.5px solid currentColor;
1601
+ border-radius: 50%;
1602
+ font-weight: 700;
1603
+ font-size: 13px;
1604
+ line-height: 1;
1605
+ }
1606
+ .fe-message__body {
1607
+ flex: 1;
1608
+ min-width: 0;
1609
+ }
1610
+ .fe-message__title {
1611
+ display: block;
1612
+ margin-bottom: 2px;
1613
+ font-size: 14px;
1614
+ line-height: 20px;
1615
+ }
1616
+ .fe-message__content {
1617
+ font-size: 14px;
1618
+ line-height: 20px;
1619
+ }
1620
+ .fe-message__action {
1621
+ display: inline-flex;
1622
+ flex: 0 0 auto;
1623
+ }
1624
+ .fe-message__action .fe-button {
1625
+ color: inherit;
1626
+ }
1627
+ .fe-message__close.fe-button {
1628
+ flex: 0 0 auto;
1629
+ color: currentColor;
1630
+ border-color: transparent;
1631
+ }
1632
+ @keyframes fe-message-enter {
1633
+ from {
1634
+ opacity: 0;
1635
+ transform: translateX(10px);
1636
+ }
1637
+ to {
1638
+ opacity: 1;
1639
+ transform: translateX(0);
1640
+ }
1641
+ }
1642
+ @media (max-width: 520px) {
1643
+ .fe-message-viewport {
1644
+ top: 16px;
1645
+ right: 16px;
1646
+ }
1647
+ }
1648
+
1649
+ /* packages/snackbar/src/styles.css */
1650
+ .fe-snackbar {
1651
+ position: fixed;
1652
+ z-index: 1300;
1653
+ display: flex;
1654
+ width: min(100% - 32px, 480px);
1655
+ pointer-events: none;
1656
+ }
1657
+ .fe-snackbar--top {
1658
+ top: 20px;
1659
+ }
1660
+ .fe-snackbar--bottom {
1661
+ bottom: 20px;
1662
+ }
1663
+ .fe-snackbar--left {
1664
+ left: 20px;
1665
+ justify-content: flex-start;
1666
+ }
1667
+ .fe-snackbar--right {
1668
+ right: 20px;
1669
+ justify-content: flex-end;
1670
+ }
1671
+ .fe-snackbar--center {
1672
+ left: 50%;
1673
+ transform: translateX(-50%);
1674
+ justify-content: center;
1675
+ }
1676
+ .fe-snackbar__content {
1677
+ display: flex;
1678
+ align-items: center;
1679
+ gap: 12px;
1680
+ width: 100%;
1681
+ min-height: 48px;
1682
+ padding: 10px 12px 10px 16px;
1683
+ border-radius: 8px;
1684
+ background: #1d2939;
1685
+ color: #fff;
1686
+ box-shadow: 0 12px 24px rgb(16 24 40 / 22%);
1687
+ pointer-events: auto;
1688
+ animation: fe-snackbar-enter 180ms ease-out;
1689
+ }
1690
+ .fe-snackbar__message {
1691
+ flex: 1;
1692
+ font-size: 14px;
1693
+ line-height: 20px;
1694
+ }
1695
+ .fe-snackbar__action {
1696
+ display: inline-flex;
1697
+ flex: 0 0 auto;
1698
+ }
1699
+ .fe-snackbar__action .fe-button {
1700
+ color: #9cc5ff;
1701
+ }
1702
+ .fe-snackbar__close.fe-button {
1703
+ flex: 0 0 auto;
1704
+ color: #fff;
1705
+ border-color: transparent;
1706
+ }
1707
+ @keyframes fe-snackbar-enter {
1708
+ from {
1709
+ opacity: 0;
1710
+ transform: translateY(8px);
1711
+ }
1712
+ to {
1713
+ opacity: 1;
1714
+ transform: translateY(0);
1715
+ }
1716
+ }
1717
+ @media (max-width: 520px) {
1718
+ .fe-snackbar--left,
1719
+ .fe-snackbar--right {
1720
+ left: 16px;
1721
+ right: 16px;
1722
+ }
1723
+ .fe-snackbar--top {
1724
+ top: 16px;
1725
+ }
1726
+ .fe-snackbar--bottom {
1727
+ bottom: 16px;
1728
+ }
1729
+ }
1730
+
1072
1731
  /* src/styles.css */