@dragunio/fe-libs 0.1.5 → 0.1.6

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
@@ -327,6 +327,10 @@ table[data-fe-table] tbody tr:hover {
327
327
  font: inherit;
328
328
  line-height: 1.25;
329
329
  }
330
+ .fe-toggle--label-top {
331
+ flex-direction: column;
332
+ align-items: flex-start;
333
+ }
330
334
  .fe-toggle__input {
331
335
  position: absolute;
332
336
  width: 1px;
@@ -347,7 +351,7 @@ table[data-fe-table] tbody tr:hover {
347
351
  border-radius: 999px;
348
352
  background: var(--fe-toggle-off);
349
353
  box-shadow: inset 0 0 0 1px rgb(16 24 40 / 8%);
350
- transition: background-color .18s ease;
354
+ transition: background-color 0.18s ease;
351
355
  }
352
356
  .fe-toggle__control::after {
353
357
  width: 18px;
@@ -356,7 +360,7 @@ table[data-fe-table] tbody tr:hover {
356
360
  background: #fff;
357
361
  box-shadow: 0 1px 2px rgb(16 24 40 / 22%);
358
362
  content: "";
359
- transition: transform .18s ease;
363
+ transition: transform 0.18s ease;
360
364
  }
361
365
  .fe-toggle__input:checked + .fe-toggle__control {
362
366
  background: var(--fe-toggle-color);
@@ -369,7 +373,7 @@ table[data-fe-table] tbody tr:hover {
369
373
  outline-offset: 2px;
370
374
  }
371
375
  .fe-toggle__input:disabled + .fe-toggle__control {
372
- opacity: .52;
376
+ opacity: 0.52;
373
377
  }
374
378
  .fe-toggle:has(.fe-toggle__input:disabled) {
375
379
  cursor: not-allowed;
@@ -826,33 +830,91 @@ table[data-fe-table] tbody tr:hover {
826
830
  font-size: 13px;
827
831
  font-weight: 600;
828
832
  }
829
- .fe-number-input input {
830
- width: 100%;
833
+ .fe-number-input__control {
834
+ position: relative;
835
+ display: flex;
836
+ align-items: center;
831
837
  min-height: 40px;
832
- padding: 0 13px;
833
- padding-right: 13px;
834
838
  border: 1px solid #d4d8e0;
835
839
  border-radius: 12px;
836
- outline: 0;
837
840
  background: #fff;
838
- color: #20242c;
839
- font: inherit;
840
841
  transition:
841
842
  border-color 0.15s,
842
843
  box-shadow 0.15s,
843
844
  background 0.15s;
844
845
  }
845
- .fe-number-input input:focus {
846
+ .fe-number-input__control:hover {
847
+ border-color: #aab0bb;
848
+ background: #fcfdff;
849
+ }
850
+ .fe-number-input input {
851
+ display: block;
852
+ box-sizing: border-box;
853
+ width: 100%;
854
+ min-width: 0;
855
+ min-height: 38px;
856
+ padding: 0 13px;
857
+ border: 0;
858
+ border-radius: 11px;
859
+ outline: 0;
860
+ background: transparent;
861
+ box-shadow: none;
862
+ color: #20242c;
863
+ font: inherit;
864
+ }
865
+ .fe-number-input__input-wrap {
866
+ position: relative;
867
+ display: flex;
868
+ min-width: 0;
869
+ flex: 1 1 auto;
870
+ align-self: stretch;
871
+ }
872
+ .fe-number-input__prefix,
873
+ .fe-number-input__suffix {
874
+ z-index: 1;
875
+ display: inline-flex;
876
+ flex: 0 0 auto;
877
+ align-items: center;
878
+ color: #535b6a;
879
+ font-size: 13px;
880
+ white-space: nowrap;
881
+ }
882
+ .fe-number-input__prefix {
883
+ margin-right: -5px;
884
+ padding-left: 13px;
885
+ }
886
+ .fe-number-input__suffix {
887
+ margin-left: -5px;
888
+ padding-right: 13px;
889
+ }
890
+ .fe-number-input__stepper {
891
+ display: flex;
892
+ width: 28px;
893
+ min-width: 28px;
894
+ flex: 0 0 28px;
895
+ flex-direction: column;
896
+ align-self: stretch;
897
+ justify-content: center;
898
+ margin-right: 4px;
899
+ }
900
+ .fe-number-input__stepper .fe-button {
901
+ width: 28px;
902
+ min-width: 28px;
903
+ min-height: 16px;
904
+ height: 16px;
905
+ padding: 2px 8px;
906
+ border-radius: 6px;
907
+ }
908
+ .fe-number-input__stepper .fe-button:disabled {
909
+ opacity: 0.35;
910
+ }
911
+ .fe-number-input__control:focus-within {
846
912
  border-color: #2878f0;
847
913
  box-shadow: 0 0 0 3px rgba(40, 120, 240, 0.16);
848
914
  }
849
- .fe-number-input--error input {
915
+ .fe-number-input--error .fe-number-input__control {
850
916
  border-color: #d83d55;
851
917
  }
852
- .fe-number-input__control {
853
- position: relative;
854
- display: block;
855
- }
856
918
  .fe-number-input__placeholder {
857
919
  position: absolute;
858
920
  top: 50%;
@@ -871,9 +933,12 @@ table[data-fe-table] tbody tr:hover {
871
933
  overflow: hidden;
872
934
  text-overflow: ellipsis;
873
935
  }
874
- .fe-number-input__control:has(.fe-number-input__placeholder) input::placeholder {
936
+ .fe-number-input__input-wrap:has(.fe-number-input__placeholder) input::placeholder {
875
937
  color: transparent;
876
938
  }
939
+ .fe-number-input input:focus {
940
+ outline: 0;
941
+ }
877
942
  .fe-number-input__helper {
878
943
  color: #687183;
879
944
  font-size: 12px;
@@ -1084,6 +1149,9 @@ table[data-fe-table] tbody tr:hover {
1084
1149
  background: transparent;
1085
1150
  box-shadow: none;
1086
1151
  }
1152
+ .fe-text-area--autosize textarea {
1153
+ resize: none;
1154
+ }
1087
1155
  .fe-text-area__placeholder {
1088
1156
  position: absolute;
1089
1157
  top: 10px;
@@ -1129,30 +1197,22 @@ table[data-fe-table] tbody tr:hover {
1129
1197
  .fe-currency-input {
1130
1198
  position: relative;
1131
1199
  }
1132
- .fe-currency-input .fe-number-input__control input {
1133
- padding-right: 78px;
1134
- }
1135
- .fe-currency-input:has(.fe-currency-input__currency) .fe-number-input__control input {
1136
- padding-right: 110px;
1137
- }
1138
1200
  .fe-currency-input__suffix,
1139
1201
  .fe-currency-input__currency {
1140
- position: absolute;
1141
- right: 11px;
1142
1202
  color: #535b6a;
1143
1203
  font: inherit;
1144
1204
  font-size: 13px;
1145
1205
  font-weight: 700;
1146
1206
  }
1147
1207
  .fe-currency-input__suffix {
1148
- top: 50%;
1149
- transform: translateY(-50%);
1208
+ display: inline-flex;
1209
+ align-items: center;
1210
+ padding: 0 13px 0 8px;
1150
1211
  }
1151
1212
  .fe-currency-input__currency {
1152
- z-index: 2;
1153
- top: 3px;
1154
- right: 4px;
1213
+ align-self: center;
1155
1214
  width: 96px;
1215
+ margin-right: 4px;
1156
1216
  }
1157
1217
  .fe-currency-input__currency .fe-selection__trigger {
1158
1218
  box-sizing: border-box;
@@ -1324,6 +1384,154 @@ table[data-fe-table] tbody tr:hover {
1324
1384
  font: inherit;
1325
1385
  }
1326
1386
 
1387
+ /* packages/form-controls/src/controls/Checkbox/style.css */
1388
+ .fe-checkbox,
1389
+ .fe-radio-button {
1390
+ display: inline-flex;
1391
+ align-items: center;
1392
+ gap: 8px;
1393
+ color: #20242c;
1394
+ cursor: pointer;
1395
+ font: inherit;
1396
+ line-height: 1.25;
1397
+ }
1398
+ .fe-checkbox--label-top,
1399
+ .fe-radio-button--label-top {
1400
+ align-items: flex-start;
1401
+ flex-direction: column;
1402
+ }
1403
+ .fe-checkbox__content,
1404
+ .fe-radio-button__content {
1405
+ display: inline-flex;
1406
+ align-items: center;
1407
+ gap: 8px;
1408
+ }
1409
+ .fe-checkbox__input,
1410
+ .fe-radio-button__input {
1411
+ position: absolute;
1412
+ width: 1px;
1413
+ height: 1px;
1414
+ margin: -1px;
1415
+ overflow: hidden;
1416
+ clip: rect(0 0 0 0);
1417
+ white-space: nowrap;
1418
+ border: 0;
1419
+ }
1420
+ .fe-checkbox__control,
1421
+ .fe-radio-button__control {
1422
+ display: inline-grid;
1423
+ width: 18px;
1424
+ height: 18px;
1425
+ flex: 0 0 auto;
1426
+ place-items: center;
1427
+ border: 1px solid #98a2b3;
1428
+ background: #fff;
1429
+ transition:
1430
+ border-color 0.16s ease,
1431
+ background-color 0.16s ease,
1432
+ box-shadow 0.16s ease;
1433
+ }
1434
+ .fe-checkbox__control {
1435
+ border-radius: 4px;
1436
+ }
1437
+ .fe-checkbox__control::after {
1438
+ width: 8px;
1439
+ height: 4px;
1440
+ border-bottom: 2px solid #fff;
1441
+ border-left: 2px solid #fff;
1442
+ content: "";
1443
+ opacity: 0;
1444
+ transform: rotate(-45deg) translate(1px, -1px);
1445
+ transition: opacity 0.16s ease;
1446
+ }
1447
+ .fe-checkbox__input:checked + .fe-checkbox__control {
1448
+ border-color: #2878f0;
1449
+ background: #2878f0;
1450
+ }
1451
+ .fe-checkbox__input:checked + .fe-checkbox__control::after {
1452
+ opacity: 1;
1453
+ }
1454
+ .fe-checkbox__input:indeterminate + .fe-checkbox__control::after {
1455
+ width: 8px;
1456
+ height: 2px;
1457
+ border: 0;
1458
+ background: #fff;
1459
+ opacity: 1;
1460
+ transform: none;
1461
+ }
1462
+ .fe-checkbox__input:focus-visible + .fe-checkbox__control,
1463
+ .fe-radio-button__input:focus-visible + .fe-radio-button__control {
1464
+ outline: 3px solid rgb(40 120 240 / 22%);
1465
+ outline-offset: 2px;
1466
+ }
1467
+ .fe-checkbox--disabled,
1468
+ .fe-radio-button--disabled {
1469
+ cursor: not-allowed;
1470
+ opacity: 0.52;
1471
+ }
1472
+ .fe-checkbox__label,
1473
+ .fe-radio-button__label {
1474
+ user-select: none;
1475
+ }
1476
+
1477
+ /* packages/form-controls/src/controls/RadioButton/style.css */
1478
+ .fe-radio-button__control {
1479
+ border-radius: 50%;
1480
+ }
1481
+ .fe-radio-button__control::after {
1482
+ width: 8px;
1483
+ height: 8px;
1484
+ border-radius: 50%;
1485
+ background: #2878f0;
1486
+ content: "";
1487
+ opacity: 0;
1488
+ transform: scale(0.6);
1489
+ transition: opacity 0.16s ease, transform 0.16s ease;
1490
+ }
1491
+ .fe-radio-button__input:checked + .fe-radio-button__control {
1492
+ border-color: #2878f0;
1493
+ }
1494
+ .fe-radio-button__input:checked + .fe-radio-button__control::after {
1495
+ opacity: 1;
1496
+ transform: scale(1);
1497
+ }
1498
+
1499
+ /* packages/form-controls/src/controls/RadioGroup/style.css */
1500
+ .fe-radio-group {
1501
+ display: inline-flex;
1502
+ gap: 8px;
1503
+ color: #20242c;
1504
+ font: inherit;
1505
+ }
1506
+ .fe-radio-group--label-top {
1507
+ flex-direction: column;
1508
+ }
1509
+ .fe-radio-group--label-right {
1510
+ align-items: center;
1511
+ }
1512
+ .fe-radio-group__label {
1513
+ display: inline-flex;
1514
+ align-items: center;
1515
+ gap: 4px;
1516
+ font-size: 13px;
1517
+ font-weight: 600;
1518
+ line-height: 1.25;
1519
+ }
1520
+ .fe-radio-group__required {
1521
+ color: #d83d55;
1522
+ }
1523
+ .fe-radio-group__options {
1524
+ display: inline-flex;
1525
+ gap: 12px;
1526
+ }
1527
+ .fe-radio-group--vertical .fe-radio-group__options {
1528
+ flex-direction: column;
1529
+ }
1530
+ .fe-radio-group--horizontal .fe-radio-group__options {
1531
+ align-items: center;
1532
+ flex-wrap: wrap;
1533
+ }
1534
+
1327
1535
  /* packages/form-controls/src/styles.css */
1328
1536
 
1329
1537
  /* packages/tooltip/src/styles.css */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dragunio/fe-libs",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Reusable React components, icons, and table primitives.",
5
5
  "license": "MIT",
6
6
  "repository": {