@leonardaustin/ui 0.6.0 → 0.7.0
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/components/tables/ColumnPicker.d.ts +3 -1
- package/dist/components/tables/ColumnPicker.d.ts.map +1 -1
- package/dist/components/tables/ResourceTable.d.ts +13 -6
- package/dist/components/tables/ResourceTable.d.ts.map +1 -1
- package/dist/components/ui/AttachmentList.d.ts +23 -0
- package/dist/components/ui/AttachmentList.d.ts.map +1 -0
- package/dist/components/ui/Button.d.ts +3 -0
- package/dist/components/ui/Button.d.ts.map +1 -1
- package/dist/components/ui/Calendar.d.ts +6 -3
- package/dist/components/ui/Calendar.d.ts.map +1 -1
- package/dist/components/ui/CalendarGrid.d.ts +3 -1
- package/dist/components/ui/CalendarGrid.d.ts.map +1 -1
- package/dist/components/ui/Card.d.ts +7 -4
- package/dist/components/ui/Card.d.ts.map +1 -1
- package/dist/components/ui/CharacterCount.d.ts +10 -0
- package/dist/components/ui/CharacterCount.d.ts.map +1 -0
- package/dist/components/ui/Checkbox.d.ts +7 -7
- package/dist/components/ui/Checkbox.d.ts.map +1 -1
- package/dist/components/ui/Combobox.d.ts +32 -5
- package/dist/components/ui/Combobox.d.ts.map +1 -1
- package/dist/components/ui/DatePartsInput.d.ts +26 -0
- package/dist/components/ui/DatePartsInput.d.ts.map +1 -0
- package/dist/components/ui/DatePicker.d.ts +7 -3
- package/dist/components/ui/DatePicker.d.ts.map +1 -1
- package/dist/components/ui/DateRangePicker.d.ts +4 -1
- package/dist/components/ui/DateRangePicker.d.ts.map +1 -1
- package/dist/components/ui/DateTimePicker.d.ts +7 -3
- package/dist/components/ui/DateTimePicker.d.ts.map +1 -1
- package/dist/components/ui/Dialog.d.ts +13 -2
- package/dist/components/ui/Dialog.d.ts.map +1 -1
- package/dist/components/ui/DialogActions.d.ts +8 -3
- package/dist/components/ui/DialogActions.d.ts.map +1 -1
- package/dist/components/ui/FieldContext.d.ts +9 -0
- package/dist/components/ui/FieldContext.d.ts.map +1 -0
- package/dist/components/ui/Fieldset.d.ts +9 -0
- package/dist/components/ui/Fieldset.d.ts.map +1 -0
- package/dist/components/ui/FormField.d.ts +24 -0
- package/dist/components/ui/FormField.d.ts.map +1 -0
- package/dist/components/ui/NavTabs.d.ts +16 -0
- package/dist/components/ui/NavTabs.d.ts.map +1 -0
- package/dist/components/ui/PageHeader.d.ts +8 -5
- package/dist/components/ui/PageHeader.d.ts.map +1 -1
- package/dist/components/ui/PasswordInput.d.ts +4 -0
- package/dist/components/ui/PasswordInput.d.ts.map +1 -1
- package/dist/components/ui/ProgressBar.d.ts +18 -0
- package/dist/components/ui/ProgressBar.d.ts.map +1 -0
- package/dist/components/ui/Radio.d.ts +27 -0
- package/dist/components/ui/Radio.d.ts.map +1 -0
- package/dist/components/ui/Select.d.ts +4 -0
- package/dist/components/ui/Select.d.ts.map +1 -1
- package/dist/components/ui/Skeleton.d.ts +8 -0
- package/dist/components/ui/Skeleton.d.ts.map +1 -0
- package/dist/components/ui/Tabs.d.ts.map +1 -1
- package/dist/components/ui/TextInput.d.ts +4 -0
- package/dist/components/ui/TextInput.d.ts.map +1 -1
- package/dist/components/ui/Textarea.d.ts +4 -0
- package/dist/components/ui/Textarea.d.ts.map +1 -1
- package/dist/components/ui/UploadDropzone.d.ts +6 -7
- package/dist/components/ui/UploadDropzone.d.ts.map +1 -1
- package/dist/components/ui/calendar/AgendaView.d.ts.map +1 -1
- package/dist/components/ui/calendar/MonthView.d.ts.map +1 -1
- package/dist/components/ui/calendar/TimeGrid.d.ts.map +1 -1
- package/dist/components/ui/calendar/TimelineView.d.ts.map +1 -1
- package/dist/components/ui/calendar/context.d.ts +4 -1
- package/dist/components/ui/calendar/context.d.ts.map +1 -1
- package/dist/components/ui/calendar/useGridInteraction.d.ts +4 -0
- package/dist/components/ui/calendar/useGridInteraction.d.ts.map +1 -1
- package/dist/components/ui/useFieldControl.d.ts +17 -0
- package/dist/components/ui/useFieldControl.d.ts.map +1 -0
- package/dist/config/theme.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.d.ts +6 -5
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4146 -2931
- package/dist/lib/calendar.d.ts +70 -0
- package/dist/lib/calendar.d.ts.map +1 -1
- package/dist/lib/dateParts.d.ts +11 -0
- package/dist/lib/dateParts.d.ts.map +1 -0
- package/dist/providers/ControlSizeContext.d.ts +4 -0
- package/dist/providers/ControlSizeContext.d.ts.map +1 -0
- package/dist/providers/ControlSizeProvider.d.ts +9 -0
- package/dist/providers/ControlSizeProvider.d.ts.map +1 -0
- package/dist/providers/SettingsProvider.d.ts +19 -1
- package/dist/providers/SettingsProvider.d.ts.map +1 -1
- package/dist/providers/ThemeContext.d.ts +1 -1
- package/dist/providers/ThemeContext.d.ts.map +1 -1
- package/dist/providers/ThemeProvider.d.ts.map +1 -1
- package/dist/styles.css +412 -14
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -96,7 +96,8 @@
|
|
|
96
96
|
|
|
97
97
|
/* ─── Light Theme ─── */
|
|
98
98
|
|
|
99
|
-
.theme-light
|
|
99
|
+
.theme-light,
|
|
100
|
+
.theme-light-inverted {
|
|
100
101
|
--bg-primary: #f9fafb;
|
|
101
102
|
--bg-secondary: #f5f5f5;
|
|
102
103
|
--bg-tertiary: #ffffff;
|
|
@@ -163,6 +164,22 @@
|
|
|
163
164
|
color-scheme: light;
|
|
164
165
|
}
|
|
165
166
|
|
|
167
|
+
/* ─── Light Inverted Theme ─── */
|
|
168
|
+
|
|
169
|
+
.theme-light-inverted {
|
|
170
|
+
--bg-primary: #f1f2f4;
|
|
171
|
+
--bg-secondary: #ffffff;
|
|
172
|
+
--bg-tertiary: #f7f7f8;
|
|
173
|
+
--bg-sidebar: #ffffff;
|
|
174
|
+
--text-secondary: #6b6b75;
|
|
175
|
+
|
|
176
|
+
--bg-content: var(--bg-secondary);
|
|
177
|
+
--bg-table: var(--bg-secondary);
|
|
178
|
+
--bg-table-header: var(--bg-tertiary);
|
|
179
|
+
--text-table-header: var(--text-secondary);
|
|
180
|
+
--text-table-header-hover: var(--text-primary);
|
|
181
|
+
}
|
|
182
|
+
|
|
166
183
|
/* ─── HashiTheme ─── */
|
|
167
184
|
|
|
168
185
|
.theme-hashi {
|
|
@@ -669,6 +686,8 @@ pre.shiki span {
|
|
|
669
686
|
|
|
670
687
|
.theme-light pre.shiki,
|
|
671
688
|
.theme-light pre.shiki span,
|
|
689
|
+
.theme-light-inverted pre.shiki,
|
|
690
|
+
.theme-light-inverted pre.shiki span,
|
|
672
691
|
.theme-cyber-brutal-light pre.shiki,
|
|
673
692
|
.theme-cyber-brutal-light pre.shiki span,
|
|
674
693
|
.theme-hashi pre.shiki,
|
|
@@ -676,6 +695,64 @@ pre.shiki span {
|
|
|
676
695
|
color: var(--shiki-light, var(--text-primary));
|
|
677
696
|
}
|
|
678
697
|
|
|
698
|
+
/* Reading areas and grouped controls become islands on the inverted canvas.
|
|
699
|
+
The marker keeps existing themes' spacing and backgrounds unchanged. */
|
|
700
|
+
.theme-light-inverted .ui-content-surface {
|
|
701
|
+
background-color: var(--bg-content);
|
|
702
|
+
border: var(--ui-border-width) solid var(--border);
|
|
703
|
+
border-radius: var(--ui-radius-md);
|
|
704
|
+
padding: clamp(1rem, 2vw, 1.5rem);
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
.theme-light-inverted .ui-content-surface-flush {
|
|
708
|
+
padding: 0;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
.theme-light-inverted .ui-content-inset {
|
|
712
|
+
padding: 1rem;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
@media (width < 40rem) {
|
|
716
|
+
.theme-light-inverted .ui-email-header {
|
|
717
|
+
flex-wrap: wrap;
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
.theme-light-inverted .ui-email-header h1 {
|
|
721
|
+
flex: 1 0 calc(100% - 2rem);
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
/* Keep role utilities in the same layer as hover/focus and consumer utilities. */
|
|
726
|
+
@layer utilities {
|
|
727
|
+
/* Content roles fall back to the original backgrounds in existing themes. */
|
|
728
|
+
.bg-bg-content {
|
|
729
|
+
background-color: var(--bg-content, var(--bg-primary));
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
.bg-bg-content-raised {
|
|
733
|
+
background-color: var(--bg-content, var(--bg-tertiary));
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
/* Table roles fall back to the original appearance in existing themes. */
|
|
737
|
+
.bg-bg-table {
|
|
738
|
+
background-color: var(--bg-table, transparent);
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
.bg-bg-table-header {
|
|
742
|
+
background-color: var(--bg-table-header, var(--bg-secondary));
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
.text-text-table-header {
|
|
746
|
+
color: var(--text-table-header, var(--text-tertiary));
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
@media (hover: hover) {
|
|
750
|
+
.hover\:text-text-table-header-hover:hover {
|
|
751
|
+
color: var(--text-table-header-hover, var(--text-secondary));
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
|
|
679
756
|
/* ─── Shared prose content ─── */
|
|
680
757
|
|
|
681
758
|
.ui-prose {
|
|
@@ -966,7 +1043,7 @@ textarea:disabled {
|
|
|
966
1043
|
.ui-cal {
|
|
967
1044
|
--cal-gutter: 3.5rem;
|
|
968
1045
|
--cal-hatch: color-mix(in srgb, var(--text-tertiary) 16%, transparent);
|
|
969
|
-
background: var(--bg-primary);
|
|
1046
|
+
background: var(--bg-content, var(--bg-primary));
|
|
970
1047
|
color: var(--text-primary);
|
|
971
1048
|
}
|
|
972
1049
|
|
|
@@ -1079,7 +1156,7 @@ textarea:disabled {
|
|
|
1079
1156
|
color-mix(in srgb, var(--cal-c) 16%, transparent),
|
|
1080
1157
|
color-mix(in srgb, var(--cal-c) 16%, transparent)
|
|
1081
1158
|
),
|
|
1082
|
-
var(--bg-primary);
|
|
1159
|
+
var(--bg-content, var(--bg-primary));
|
|
1083
1160
|
color: var(--text-primary);
|
|
1084
1161
|
transition:
|
|
1085
1162
|
box-shadow 100ms ease,
|
|
@@ -1144,7 +1221,9 @@ textarea:disabled {
|
|
|
1144
1221
|
border: var(--ui-border-width) solid
|
|
1145
1222
|
color-mix(in srgb, var(--cal-c) 35%, transparent);
|
|
1146
1223
|
border-left: 3px solid var(--cal-c);
|
|
1147
|
-
background:
|
|
1224
|
+
background:
|
|
1225
|
+
linear-gradient(var(--cal-m), var(--cal-m)),
|
|
1226
|
+
var(--bg-content, var(--bg-primary));
|
|
1148
1227
|
color: var(--text-primary);
|
|
1149
1228
|
padding: 2px 6px;
|
|
1150
1229
|
font-size: var(--text-2xs);
|
|
@@ -1167,7 +1246,7 @@ textarea:disabled {
|
|
|
1167
1246
|
}
|
|
1168
1247
|
|
|
1169
1248
|
.ui-cal-event[data-status="tentative"] {
|
|
1170
|
-
background: var(--bg-primary);
|
|
1249
|
+
background: var(--bg-content, var(--bg-primary));
|
|
1171
1250
|
border-style: dashed;
|
|
1172
1251
|
border-color: var(--cal-c);
|
|
1173
1252
|
}
|
|
@@ -1175,7 +1254,7 @@ textarea:disabled {
|
|
|
1175
1254
|
.ui-cal-event[data-status="held"] {
|
|
1176
1255
|
background:
|
|
1177
1256
|
repeating-linear-gradient(135deg, var(--cal-m) 0 6px, transparent 6px 12px),
|
|
1178
|
-
var(--bg-primary);
|
|
1257
|
+
var(--bg-content, var(--bg-primary));
|
|
1179
1258
|
border-style: dashed;
|
|
1180
1259
|
border-left-style: solid;
|
|
1181
1260
|
}
|
|
@@ -1300,7 +1379,11 @@ textarea:disabled {
|
|
|
1300
1379
|
z-index: 5;
|
|
1301
1380
|
pointer-events: none;
|
|
1302
1381
|
border-color: var(--cal-c);
|
|
1303
|
-
background: color-mix(
|
|
1382
|
+
background: color-mix(
|
|
1383
|
+
in srgb,
|
|
1384
|
+
var(--cal-c) 28%,
|
|
1385
|
+
var(--bg-content, var(--bg-primary))
|
|
1386
|
+
);
|
|
1304
1387
|
box-shadow: var(--shadow-md);
|
|
1305
1388
|
}
|
|
1306
1389
|
|
|
@@ -1341,7 +1424,11 @@ textarea:disabled {
|
|
|
1341
1424
|
pointer-events: none;
|
|
1342
1425
|
border-radius: var(--ui-radius-md);
|
|
1343
1426
|
border: 1px dashed var(--accent);
|
|
1344
|
-
background: color-mix(
|
|
1427
|
+
background: color-mix(
|
|
1428
|
+
in srgb,
|
|
1429
|
+
var(--accent) 18%,
|
|
1430
|
+
var(--bg-content, var(--bg-primary))
|
|
1431
|
+
);
|
|
1345
1432
|
box-shadow: var(--shadow-md);
|
|
1346
1433
|
color: var(--text-primary);
|
|
1347
1434
|
font-size: var(--text-2xs);
|
|
@@ -1351,7 +1438,11 @@ textarea:disabled {
|
|
|
1351
1438
|
|
|
1352
1439
|
.ui-cal-ghost[data-invalid] {
|
|
1353
1440
|
border-color: var(--red);
|
|
1354
|
-
background: color-mix(
|
|
1441
|
+
background: color-mix(
|
|
1442
|
+
in srgb,
|
|
1443
|
+
var(--red) 16%,
|
|
1444
|
+
var(--bg-content, var(--bg-primary))
|
|
1445
|
+
);
|
|
1355
1446
|
}
|
|
1356
1447
|
|
|
1357
1448
|
.ui-cal-cursor {
|
|
@@ -1508,7 +1599,11 @@ textarea:disabled {
|
|
|
1508
1599
|
display: flex;
|
|
1509
1600
|
align-items: center;
|
|
1510
1601
|
justify-content: center;
|
|
1511
|
-
background: color-mix(
|
|
1602
|
+
background: color-mix(
|
|
1603
|
+
in srgb,
|
|
1604
|
+
var(--bg-content, var(--bg-primary)) 55%,
|
|
1605
|
+
transparent
|
|
1606
|
+
);
|
|
1512
1607
|
}
|
|
1513
1608
|
|
|
1514
1609
|
/* Printing: show the whole schedule, drop the controls. */
|
|
@@ -1531,7 +1626,7 @@ textarea:disabled {
|
|
|
1531
1626
|
position: sticky;
|
|
1532
1627
|
top: 0;
|
|
1533
1628
|
z-index: 20;
|
|
1534
|
-
background: var(--bg-primary);
|
|
1629
|
+
background: var(--bg-content, var(--bg-primary));
|
|
1535
1630
|
}
|
|
1536
1631
|
|
|
1537
1632
|
.ui-cal-corner,
|
|
@@ -1545,14 +1640,14 @@ textarea:disabled {
|
|
|
1545
1640
|
left: 0;
|
|
1546
1641
|
z-index: 21;
|
|
1547
1642
|
align-self: stretch;
|
|
1548
|
-
background: var(--bg-primary);
|
|
1643
|
+
background: var(--bg-content, var(--bg-primary));
|
|
1549
1644
|
}
|
|
1550
1645
|
|
|
1551
1646
|
.ui-cal-gutter {
|
|
1552
1647
|
position: sticky;
|
|
1553
1648
|
left: 0;
|
|
1554
1649
|
z-index: 10;
|
|
1555
|
-
background: var(--bg-primary);
|
|
1650
|
+
background: var(--bg-content, var(--bg-primary));
|
|
1556
1651
|
}
|
|
1557
1652
|
|
|
1558
1653
|
.ui-cal-subhead {
|
|
@@ -1592,7 +1687,7 @@ textarea:disabled {
|
|
|
1592
1687
|
width: var(--cal-row-head);
|
|
1593
1688
|
min-width: 0;
|
|
1594
1689
|
border-right: var(--ui-border-width) solid var(--border);
|
|
1595
|
-
background: var(--bg-primary);
|
|
1690
|
+
background: var(--bg-content, var(--bg-primary));
|
|
1596
1691
|
}
|
|
1597
1692
|
|
|
1598
1693
|
.ui-cal-corner-x {
|
|
@@ -1632,3 +1727,306 @@ textarea:disabled {
|
|
|
1632
1727
|
);
|
|
1633
1728
|
box-shadow: inset 0 0 0 1px var(--border-strong);
|
|
1634
1729
|
}
|
|
1730
|
+
|
|
1731
|
+
/* Audited convenience primitives: native semantics and semantic theme tokens. */
|
|
1732
|
+
.ui-upload-dropzone:focus-within {
|
|
1733
|
+
outline: 2px solid var(--accent);
|
|
1734
|
+
outline-offset: 2px;
|
|
1735
|
+
}
|
|
1736
|
+
.ui-date-parts {
|
|
1737
|
+
display: grid;
|
|
1738
|
+
grid-template-columns: minmax(0, 5rem) minmax(0, 5rem) minmax(0, 7rem);
|
|
1739
|
+
gap: 0.75rem;
|
|
1740
|
+
}
|
|
1741
|
+
.ui-skeleton {
|
|
1742
|
+
min-height: 1rem;
|
|
1743
|
+
}
|
|
1744
|
+
.ui-nav-tab:focus-visible {
|
|
1745
|
+
outline: 2px solid var(--accent);
|
|
1746
|
+
outline-offset: 2px;
|
|
1747
|
+
}
|
|
1748
|
+
.ui-nav-tabs {
|
|
1749
|
+
overflow-x: auto;
|
|
1750
|
+
}
|
|
1751
|
+
.ui-nav-tabs-list {
|
|
1752
|
+
display: flex;
|
|
1753
|
+
list-style: none;
|
|
1754
|
+
margin: 0;
|
|
1755
|
+
padding: 0;
|
|
1756
|
+
width: max-content;
|
|
1757
|
+
min-width: 100%;
|
|
1758
|
+
}
|
|
1759
|
+
.ui-nav-tab {
|
|
1760
|
+
display: flex;
|
|
1761
|
+
align-items: center;
|
|
1762
|
+
gap: 0.5rem;
|
|
1763
|
+
white-space: nowrap;
|
|
1764
|
+
text-decoration: none;
|
|
1765
|
+
border-bottom: 2px solid transparent;
|
|
1766
|
+
}
|
|
1767
|
+
.ui-nav-tab[aria-current="page"] {
|
|
1768
|
+
border-bottom-color: var(--accent);
|
|
1769
|
+
}
|
|
1770
|
+
.ui-attachment-item {
|
|
1771
|
+
overflow-wrap: anywhere;
|
|
1772
|
+
}
|
|
1773
|
+
@media (max-width: 480px) {
|
|
1774
|
+
.ui-attachment-item {
|
|
1775
|
+
align-items: flex-start;
|
|
1776
|
+
flex-direction: column;
|
|
1777
|
+
}
|
|
1778
|
+
}
|
|
1779
|
+
|
|
1780
|
+
/* Explicit-zone calendar columns label elapsed axes independently on DST days. */
|
|
1781
|
+
.ui-cal[data-time-zone] {
|
|
1782
|
+
--cal-gutter: 0px;
|
|
1783
|
+
}
|
|
1784
|
+
.ui-cal-zone-label {
|
|
1785
|
+
position: absolute;
|
|
1786
|
+
left: 2px;
|
|
1787
|
+
z-index: 1;
|
|
1788
|
+
color: var(--text-tertiary);
|
|
1789
|
+
background: var(--bg-primary);
|
|
1790
|
+
font-family: var(--font-code);
|
|
1791
|
+
font-size: var(--text-2xs);
|
|
1792
|
+
line-height: 12px;
|
|
1793
|
+
pointer-events: none;
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
/* Form participation and opt-in comfortable control sizing. */
|
|
1797
|
+
.ui-checkbox-control {
|
|
1798
|
+
position: relative;
|
|
1799
|
+
display: inline-flex;
|
|
1800
|
+
width: 1rem;
|
|
1801
|
+
height: 1rem;
|
|
1802
|
+
flex-shrink: 0;
|
|
1803
|
+
}
|
|
1804
|
+
.ui-checkbox-input {
|
|
1805
|
+
position: absolute;
|
|
1806
|
+
inset: 0;
|
|
1807
|
+
z-index: 1;
|
|
1808
|
+
width: 100%;
|
|
1809
|
+
height: 100%;
|
|
1810
|
+
margin: 0;
|
|
1811
|
+
opacity: 0;
|
|
1812
|
+
cursor: inherit;
|
|
1813
|
+
}
|
|
1814
|
+
.ui-checkbox-decoration {
|
|
1815
|
+
display: inline-flex;
|
|
1816
|
+
align-items: center;
|
|
1817
|
+
justify-content: center;
|
|
1818
|
+
width: 100%;
|
|
1819
|
+
height: 100%;
|
|
1820
|
+
border: 1px solid var(--border);
|
|
1821
|
+
border-radius: var(--ui-radius, 4px);
|
|
1822
|
+
background: var(--bg-secondary);
|
|
1823
|
+
color: var(--text-on-accent);
|
|
1824
|
+
pointer-events: none;
|
|
1825
|
+
transition:
|
|
1826
|
+
background-color 100ms,
|
|
1827
|
+
border-color 100ms;
|
|
1828
|
+
}
|
|
1829
|
+
.ui-checkbox-input:checked + .ui-checkbox-decoration,
|
|
1830
|
+
.ui-checkbox-input:indeterminate + .ui-checkbox-decoration {
|
|
1831
|
+
background: var(--accent);
|
|
1832
|
+
border-color: var(--accent);
|
|
1833
|
+
}
|
|
1834
|
+
.ui-checkbox-input:focus-visible + .ui-checkbox-decoration,
|
|
1835
|
+
.ui-native-choice:focus-visible {
|
|
1836
|
+
outline: 2px solid var(--accent);
|
|
1837
|
+
outline-offset: 2px;
|
|
1838
|
+
}
|
|
1839
|
+
.ui-native-choice {
|
|
1840
|
+
flex-shrink: 0;
|
|
1841
|
+
width: 1rem;
|
|
1842
|
+
height: 1rem;
|
|
1843
|
+
margin: 0;
|
|
1844
|
+
accent-color: var(--accent);
|
|
1845
|
+
}
|
|
1846
|
+
.ui-choice:has(input:disabled) {
|
|
1847
|
+
cursor: not-allowed;
|
|
1848
|
+
opacity: 0.4;
|
|
1849
|
+
}
|
|
1850
|
+
.ui-sized-control[data-control-size="comfortable"] {
|
|
1851
|
+
min-height: 44px;
|
|
1852
|
+
height: auto;
|
|
1853
|
+
font-size: 1rem;
|
|
1854
|
+
padding: 0.5rem 0.75rem;
|
|
1855
|
+
}
|
|
1856
|
+
button.ui-sized-control[data-control-size="comfortable"] {
|
|
1857
|
+
min-width: 44px;
|
|
1858
|
+
}
|
|
1859
|
+
.ui-sized-control[data-control-size="comfortable"]:focus-visible {
|
|
1860
|
+
outline: 2px solid var(--accent);
|
|
1861
|
+
outline-offset: 2px;
|
|
1862
|
+
}
|
|
1863
|
+
.ui-choice[data-control-size="comfortable"] {
|
|
1864
|
+
min-height: 44px;
|
|
1865
|
+
}
|
|
1866
|
+
.ui-choice[data-control-size="comfortable"] > span,
|
|
1867
|
+
.ui-choice[data-control-size="comfortable"] > label {
|
|
1868
|
+
font-size: 1rem;
|
|
1869
|
+
}
|
|
1870
|
+
.ui-choice[data-control-size="comfortable"] .ui-checkbox-control {
|
|
1871
|
+
width: 44px;
|
|
1872
|
+
height: 44px;
|
|
1873
|
+
}
|
|
1874
|
+
.ui-choice[data-control-size="comfortable"] .ui-checkbox-decoration {
|
|
1875
|
+
position: absolute;
|
|
1876
|
+
width: 20px;
|
|
1877
|
+
height: 20px;
|
|
1878
|
+
top: 12px;
|
|
1879
|
+
left: 12px;
|
|
1880
|
+
}
|
|
1881
|
+
.ui-choice[data-control-size="comfortable"] .ui-native-choice {
|
|
1882
|
+
width: 20px;
|
|
1883
|
+
height: 20px;
|
|
1884
|
+
margin-top: 0.25rem;
|
|
1885
|
+
}
|
|
1886
|
+
@media (forced-colors: active) {
|
|
1887
|
+
.ui-checkbox-input {
|
|
1888
|
+
appearance: auto;
|
|
1889
|
+
opacity: 1;
|
|
1890
|
+
}
|
|
1891
|
+
.ui-checkbox-decoration {
|
|
1892
|
+
display: none;
|
|
1893
|
+
}
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1896
|
+
/* Preserve adornment clearances when comfortable control padding is applied. */
|
|
1897
|
+
.ui-sized-control[data-control-size="comfortable"][data-has-icon="true"] {
|
|
1898
|
+
padding-inline-start: 2.25rem;
|
|
1899
|
+
}
|
|
1900
|
+
select.ui-sized-control[data-control-size="comfortable"] {
|
|
1901
|
+
padding-inline-end: 2.25rem;
|
|
1902
|
+
}
|
|
1903
|
+
.ui-password-input[data-control-size="comfortable"] {
|
|
1904
|
+
padding-inline-end: 44px;
|
|
1905
|
+
}
|
|
1906
|
+
.ui-password-toggle[data-control-size="comfortable"] {
|
|
1907
|
+
display: inline-flex;
|
|
1908
|
+
align-items: center;
|
|
1909
|
+
justify-content: center;
|
|
1910
|
+
width: 44px;
|
|
1911
|
+
height: 44px;
|
|
1912
|
+
right: 0;
|
|
1913
|
+
}
|
|
1914
|
+
|
|
1915
|
+
/* Native progress supplies semantics; the decorative fill supports stripes in all browsers. */
|
|
1916
|
+
.ui-progress-track {
|
|
1917
|
+
--progress-color: var(--accent);
|
|
1918
|
+
position: relative;
|
|
1919
|
+
height: 0.625rem;
|
|
1920
|
+
overflow: hidden;
|
|
1921
|
+
border-radius: var(--ui-radius);
|
|
1922
|
+
background: var(--bg-tertiary);
|
|
1923
|
+
}
|
|
1924
|
+
.ui-progress-track[data-color="green"] {
|
|
1925
|
+
--progress-color: var(--green);
|
|
1926
|
+
}
|
|
1927
|
+
.ui-progress-track[data-color="blue"] {
|
|
1928
|
+
--progress-color: var(--blue);
|
|
1929
|
+
}
|
|
1930
|
+
.ui-progress-track[data-color="yellow"] {
|
|
1931
|
+
--progress-color: var(--yellow);
|
|
1932
|
+
}
|
|
1933
|
+
.ui-progress-track[data-color="red"] {
|
|
1934
|
+
--progress-color: var(--red);
|
|
1935
|
+
}
|
|
1936
|
+
.ui-progress-fill {
|
|
1937
|
+
display: block;
|
|
1938
|
+
height: 100%;
|
|
1939
|
+
border-radius: inherit;
|
|
1940
|
+
background-color: var(--progress-color);
|
|
1941
|
+
}
|
|
1942
|
+
.ui-progress-bar {
|
|
1943
|
+
position: absolute;
|
|
1944
|
+
width: 100%;
|
|
1945
|
+
height: 100%;
|
|
1946
|
+
inset: 0;
|
|
1947
|
+
opacity: 0;
|
|
1948
|
+
}
|
|
1949
|
+
.ui-progress-track[data-striped] .ui-progress-fill {
|
|
1950
|
+
background-image: repeating-linear-gradient(
|
|
1951
|
+
135deg,
|
|
1952
|
+
transparent 0 0.5rem,
|
|
1953
|
+
color-mix(in srgb, var(--bg-primary) 35%, transparent) 0.5rem 1rem
|
|
1954
|
+
);
|
|
1955
|
+
background-size: 1.414214rem 1.414214rem;
|
|
1956
|
+
}
|
|
1957
|
+
.ui-progress-track[data-animated][data-striped] .ui-progress-fill {
|
|
1958
|
+
animation: ui-progress-stripes 1s linear infinite;
|
|
1959
|
+
}
|
|
1960
|
+
.ui-progress-track[data-indeterminate] .ui-progress-fill {
|
|
1961
|
+
margin-left: 32.5%;
|
|
1962
|
+
}
|
|
1963
|
+
.ui-progress-track[data-animated][data-indeterminate] .ui-progress-fill {
|
|
1964
|
+
margin-left: 0;
|
|
1965
|
+
animation: ui-progress-travel 1.5s ease-in-out infinite alternate;
|
|
1966
|
+
}
|
|
1967
|
+
.ui-progress-track[data-animated][data-indeterminate][data-striped]
|
|
1968
|
+
.ui-progress-fill {
|
|
1969
|
+
animation:
|
|
1970
|
+
ui-progress-travel 1.5s ease-in-out infinite alternate,
|
|
1971
|
+
ui-progress-stripes 1s linear infinite;
|
|
1972
|
+
}
|
|
1973
|
+
@keyframes ui-progress-stripes {
|
|
1974
|
+
to {
|
|
1975
|
+
background-position: 1.414214rem 0;
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1978
|
+
@keyframes ui-progress-travel {
|
|
1979
|
+
to {
|
|
1980
|
+
transform: translateX(185.714%);
|
|
1981
|
+
}
|
|
1982
|
+
}
|
|
1983
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1984
|
+
.ui-progress-track .ui-progress-fill {
|
|
1985
|
+
animation: none !important;
|
|
1986
|
+
}
|
|
1987
|
+
}
|
|
1988
|
+
@media (forced-colors: active) {
|
|
1989
|
+
.ui-progress-bar {
|
|
1990
|
+
opacity: 1;
|
|
1991
|
+
}
|
|
1992
|
+
.ui-progress-fill {
|
|
1993
|
+
visibility: hidden;
|
|
1994
|
+
}
|
|
1995
|
+
}
|
|
1996
|
+
.ui-date-part {
|
|
1997
|
+
position: relative;
|
|
1998
|
+
}
|
|
1999
|
+
.ui-date-part input {
|
|
2000
|
+
padding-right: 2rem;
|
|
2001
|
+
}
|
|
2002
|
+
.ui-date-part-selector {
|
|
2003
|
+
position: absolute;
|
|
2004
|
+
right: 0;
|
|
2005
|
+
bottom: 0;
|
|
2006
|
+
width: 2rem;
|
|
2007
|
+
height: 1.75rem;
|
|
2008
|
+
display: flex;
|
|
2009
|
+
align-items: center;
|
|
2010
|
+
justify-content: center;
|
|
2011
|
+
color: var(--text-secondary);
|
|
2012
|
+
}
|
|
2013
|
+
.ui-date-part:has([data-control-size="comfortable"]) .ui-date-part-selector {
|
|
2014
|
+
height: 44px;
|
|
2015
|
+
}
|
|
2016
|
+
.ui-date-part-selector select {
|
|
2017
|
+
position: absolute;
|
|
2018
|
+
inset: 0;
|
|
2019
|
+
width: 100%;
|
|
2020
|
+
height: 100%;
|
|
2021
|
+
opacity: 0;
|
|
2022
|
+
cursor: pointer;
|
|
2023
|
+
}
|
|
2024
|
+
.ui-date-part-selector:focus-within {
|
|
2025
|
+
outline: 2px solid var(--accent);
|
|
2026
|
+
outline-offset: -2px;
|
|
2027
|
+
border-radius: var(--ui-radius);
|
|
2028
|
+
}
|
|
2029
|
+
|
|
2030
|
+
.reduced-motion .ui-progress-track .ui-progress-fill {
|
|
2031
|
+
animation: none !important;
|
|
2032
|
+
}
|