@cirthcss/cirth 0.8.4 → 0.9.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/cirth.css CHANGED
@@ -188,7 +188,7 @@ hgroup > :not(:first-child):last-child {
188
188
  margin-bottom: calc(var(--cirth-typography-spacing-vertical) * .25);
189
189
  }
190
190
 
191
- :where(dl, ol, ul) :where(dl, ol, ul) {
191
+ :is(dl, ol, ul) :is(dl, ol, ul) {
192
192
  margin: 0;
193
193
  margin-top: calc(var(--cirth-typography-spacing-vertical) * .25);
194
194
  }
@@ -281,6 +281,10 @@ del {
281
281
  --cirth-underline: var(--cirth-contrast-hover-underline);
282
282
  }
283
283
 
284
+ :where(a:not([role="button"])):visited:not(.secondary, .contrast, details.dropdown a, [aria-current]:not([aria-current="false"]), :hover, :active, :focus, nav a) {
285
+ color: var(--cirth-link-visited-color);
286
+ }
287
+
284
288
  a[role="button"] {
285
289
  display: inline-block;
286
290
  }
@@ -300,6 +304,7 @@ button, [type="submit"], [type="reset"], [type="button"], [role="button"] {
300
304
  --cirth-border-color: var(--cirth-primary-border);
301
305
  --cirth-color: var(--cirth-primary-inverse);
302
306
  --cirth-box-shadow: var(--cirth-button-box-shadow, 0 0 0 #0000);
307
+ max-width: 100%;
303
308
  padding: var(--cirth-form-element-spacing-vertical) var(--cirth-form-element-spacing-horizontal);
304
309
  border: var(--cirth-border-width) solid var(--cirth-border-color);
305
310
  border-radius: var(--cirth-border-radius);
@@ -323,6 +328,7 @@ button, [type="submit"], [type="reset"], [type="button"], [role="button"] {
323
328
  --cirth-border-color: var(--cirth-primary-border);
324
329
  --cirth-color: var(--cirth-primary-inverse);
325
330
  --cirth-box-shadow: var(--cirth-button-box-shadow, 0 0 0 #0000);
331
+ max-width: 100%;
326
332
  padding: var(--cirth-form-element-spacing-vertical) var(--cirth-form-element-spacing-horizontal);
327
333
  border: var(--cirth-border-width) solid var(--cirth-border-color);
328
334
  border-radius: var(--cirth-border-radius);
@@ -726,52 +732,52 @@ label[aria-disabled="true"] input[disabled] {
726
732
  opacity: 1;
727
733
  }
728
734
 
729
- :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"]):is([aria-invalid], :user-invalid:not([aria-invalid]), :user-valid:not([aria-invalid])) {
735
+ :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"]):is([aria-invalid], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)) {
730
736
  padding-inline: var(--cirth-form-element-spacing-horizontal) calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
731
737
  background-position: center right var(--cirth-space-3);
732
738
  background-size: var(--cirth-size-4) auto;
733
739
  background-repeat: no-repeat;
734
740
  }
735
741
 
736
- :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"]):is([aria-invalid="false"], :user-valid:not([aria-invalid])):not(select) {
742
+ :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"])[aria-invalid="false"]:not(select) {
737
743
  background-image: var(--cirth-icon-valid);
738
744
  }
739
745
 
740
- :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"]):is([aria-invalid="true"], :user-invalid:not([aria-invalid])):not(select) {
746
+ :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"]):is([aria-invalid="true"], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)):not(select) {
741
747
  background-image: var(--cirth-icon-invalid);
742
748
  }
743
749
 
744
- :where(input, select, textarea):is([aria-invalid="false"], :user-valid:not([aria-invalid])) {
750
+ :where(input, select, textarea)[aria-invalid="false"] {
745
751
  --cirth-border-color: var(--cirth-form-element-valid-border-color);
746
752
  }
747
753
 
748
- :where(input, select, textarea):is([aria-invalid="false"], :user-valid:not([aria-invalid])):is(:active, :focus) {
754
+ :where(input, select, textarea)[aria-invalid="false"]:is(:active, :focus) {
749
755
  --cirth-border-color: var(--cirth-form-element-valid-active-border-color);
750
756
  }
751
757
 
752
- :where(input, select, textarea):is([aria-invalid="false"], :user-valid:not([aria-invalid])):is(:active, :focus):not([type="checkbox"], [type="radio"]) {
758
+ :where(input, select, textarea)[aria-invalid="false"]:is(:active, :focus):not([type="checkbox"], [type="radio"]) {
753
759
  --cirth-box-shadow: 0 0 0 var(--cirth-outline-width)
754
760
  var(--cirth-form-element-valid-focus-color);
755
761
  }
756
762
 
757
- :where(input, select, textarea):is([aria-invalid="true"], :user-invalid:not([aria-invalid])) {
763
+ :where(input, select, textarea):is([aria-invalid="true"], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)) {
758
764
  --cirth-border-color: var(--cirth-form-element-invalid-border-color);
759
765
  }
760
766
 
761
- :where(input, select, textarea):is([aria-invalid="true"], :user-invalid:not([aria-invalid])):is(:active, :focus) {
767
+ :where(input, select, textarea):is([aria-invalid="true"], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)):is(:active, :focus) {
762
768
  --cirth-border-color: var(--cirth-form-element-invalid-active-border-color);
763
769
  }
764
770
 
765
- :where(input, select, textarea):is([aria-invalid="true"], :user-invalid:not([aria-invalid])):is(:active, :focus):not([type="checkbox"], [type="radio"]) {
771
+ :where(input, select, textarea):is([aria-invalid="true"], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)):is(:active, :focus):not([type="checkbox"], [type="radio"]) {
766
772
  --cirth-box-shadow: 0 0 0 var(--cirth-outline-width)
767
773
  var(--cirth-form-element-invalid-focus-color);
768
774
  }
769
775
 
770
- [dir="rtl"] :where(input, select, textarea):not([type="checkbox"], [type="radio"]):is([aria-invalid], :user-invalid:not([aria-invalid]), :user-valid:not([aria-invalid])) {
776
+ [dir="rtl"] :where(input, select, textarea):not([type="checkbox"], [type="radio"]):is([aria-invalid], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)) {
771
777
  background-position: center left var(--cirth-space-3);
772
778
  }
773
779
 
774
- [dir="rtl"] textarea:is([aria-invalid], :user-invalid:not([aria-invalid]), :user-valid:not([aria-invalid])) {
780
+ [dir="rtl"] textarea:is([aria-invalid], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)) {
775
781
  background-position: top left var(--cirth-space-3);
776
782
  }
777
783
 
@@ -806,7 +812,7 @@ textarea {
806
812
  display: block;
807
813
  }
808
814
 
809
- textarea:is([aria-invalid], :user-invalid:not([aria-invalid]), :user-valid:not([aria-invalid])) {
815
+ textarea:is([aria-invalid], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)) {
810
816
  --cirth-icon-height: calc(var(--cirth-size-4) * var(--cirth-line-height) +
811
817
  var(--cirth-form-element-spacing-vertical) * 2 +
812
818
  var(--cirth-border-width) * 2);
@@ -822,11 +828,11 @@ textarea:is([aria-invalid], :user-invalid:not([aria-invalid]), :user-valid:not([
822
828
  display: block;
823
829
  }
824
830
 
825
- :where(input, select, textarea, fieldset, .row):is([aria-invalid="false"], :user-valid:not([aria-invalid])) + small {
831
+ :where(input, select, textarea, fieldset, .row)[aria-invalid="false"] + small {
826
832
  color: var(--cirth-ins-color);
827
833
  }
828
834
 
829
- :where(input, select, textarea, fieldset, .row):is([aria-invalid="true"], :user-invalid:not([aria-invalid])) + small {
835
+ :where(input, select, textarea, fieldset, .row):is([aria-invalid="true"], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)) + small {
830
836
  color: var(--cirth-del-color);
831
837
  }
832
838
 
@@ -978,6 +984,7 @@ label:has([type="checkbox"], [type="radio"]) {
978
984
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]):is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
979
985
  --cirth-icon-position: var(--cirth-space-3);
980
986
  --cirth-icon-width: var(--cirth-size-4);
987
+ min-width: 0;
981
988
  background-image: var(--cirth-icon-date);
982
989
  background-position: center right var(--cirth-icon-position);
983
990
  background-size: var(--cirth-icon-width) auto;
@@ -1358,7 +1365,7 @@ details.dropdown > summary:not([role])[aria-invalid="true"] {
1358
1365
 
1359
1366
  nav details.dropdown {
1360
1367
  margin: calc(var(--cirth-nav-element-spacing-vertical) * -1) 0;
1361
- display: inline;
1368
+ display: inline-block;
1362
1369
  }
1363
1370
 
1364
1371
  nav details.dropdown > summary:after {
@@ -1494,28 +1501,28 @@ label > details.dropdown {
1494
1501
  margin-bottom: 0;
1495
1502
  }
1496
1503
 
1497
- [role="search"] > *, [role="search"] input:not([type="checkbox"], [type="radio"]), [role="search"] select, .group > *, .group input:not([type="checkbox"], [type="radio"]), .group select {
1504
+ [role="search"] > :not([hidden], input[type="hidden"]), [role="search"] input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]), [role="search"] select:not([hidden]), .group > :not([hidden], input[type="hidden"]), .group input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]), .group select:not([hidden]) {
1498
1505
  flex: auto;
1499
1506
  margin-bottom: 0;
1500
1507
  position: relative;
1501
1508
  }
1502
1509
 
1503
- [role="search"] > :is(input, select, textarea), [role="search"] input:not([type="checkbox"], [type="radio"]):is(input, select, textarea), [role="search"] select:is(input, select, textarea), .group > :is(input, select, textarea), .group input:not([type="checkbox"], [type="radio"]):is(input, select, textarea), .group select:is(input, select, textarea) {
1510
+ [role="search"] > :not([hidden], input[type="hidden"]):is(input, select, textarea), [role="search"] input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]):is(input, select, textarea), [role="search"] select:not([hidden]):is(input, select, textarea), .group > :not([hidden], input[type="hidden"]):is(input, select, textarea), .group input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]):is(input, select, textarea), .group select:not([hidden]):is(input, select, textarea) {
1504
1511
  flex: 99;
1505
1512
  }
1506
1513
 
1507
- [role="search"] > :not(:first-child), [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child), [role="search"] select:not(:first-child), .group > :not(:first-child), .group input:not([type="checkbox"], [type="radio"]):not(:first-child), .group select:not(:first-child) {
1514
+ [role="search"] > :not([hidden], input[type="hidden"]):not(:nth-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]):not(:nth-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] select:not([hidden]):not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group > :not([hidden], input[type="hidden"]):not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]):not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group select:not([hidden]):not(:nth-child(1 of :not([hidden], input[type="hidden"]))) {
1508
1515
  border-start-start-radius: 0;
1509
1516
  border-end-start-radius: 0;
1510
1517
  margin-inline-start: 0;
1511
1518
  }
1512
1519
 
1513
- [role="search"] > :not(:last-child), [role="search"] input:not([type="checkbox"], [type="radio"]):not(:last-child), [role="search"] select:not(:last-child), .group > :not(:last-child), .group input:not([type="checkbox"], [type="radio"]):not(:last-child), .group select:not(:last-child) {
1520
+ [role="search"] > :not([hidden], input[type="hidden"]):not(:nth-last-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]):not(:nth-last-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] select:not([hidden]):not(:nth-last-child(1 of :not([hidden], input[type="hidden"]))), .group > :not([hidden], input[type="hidden"]):not(:nth-last-child(1 of :not([hidden], input[type="hidden"]))), .group input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]):not(:nth-last-child(1 of :not([hidden], input[type="hidden"]))), .group select:not([hidden]):not(:nth-last-child(1 of :not([hidden], input[type="hidden"]))) {
1514
1521
  border-start-end-radius: 0;
1515
1522
  border-end-end-radius: 0;
1516
1523
  }
1517
1524
 
1518
- [role="search"] > :focus, [role="search"] input:not([type="checkbox"], [type="radio"]):focus, [role="search"] select:focus, .group > :focus, .group input:not([type="checkbox"], [type="radio"]):focus, .group select:focus {
1525
+ [role="search"] > :not([hidden], input[type="hidden"]):focus, [role="search"] input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]):focus, [role="search"] select:not([hidden]):focus, .group > :not([hidden], input[type="hidden"]):focus, .group input:not([hidden], [type="checkbox"], [type="hidden"], [type="radio"]):focus, .group select:not([hidden]):focus {
1519
1526
  z-index: 2;
1520
1527
  }
1521
1528
 
@@ -1524,7 +1531,7 @@ label > details.dropdown {
1524
1531
  border-end-end-radius: var(--cirth-border-radius);
1525
1532
  }
1526
1533
 
1527
- [role="search"] button:not(:first-child), [role="search"] [type="submit"]:not(:first-child), [role="search"] [type="reset"]:not(:first-child), [role="search"] [type="button"]:not(:first-child), [role="search"] [role="button"]:not(:first-child), [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child), [role="search"] select:not(:first-child), .group button:not(:first-child), .group [type="submit"]:not(:first-child), .group [type="reset"]:not(:first-child), .group [type="button"]:not(:first-child), .group [role="button"]:not(:first-child), .group input:not([type="checkbox"], [type="radio"]):not(:first-child), .group select:not(:first-child) {
1534
+ [role="search"] button:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] [type="submit"]:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] [type="reset"]:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] [type="button"]:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] [role="button"]:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] input:not([type="checkbox"], [type="radio"]):not(:nth-child(1 of :not([hidden], input[type="hidden"]))), [role="search"] select:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group button:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group [type="submit"]:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group [type="reset"]:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group [type="button"]:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group [role="button"]:not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group input:not([type="checkbox"], [type="radio"]):not(:nth-child(1 of :not([hidden], input[type="hidden"]))), .group select:not(:nth-child(1 of :not([hidden], input[type="hidden"]))) {
1528
1535
  margin-inline-start: calc(var(--cirth-border-width) * -1);
1529
1536
  }
1530
1537
 
@@ -1606,12 +1613,12 @@ label > details.dropdown {
1606
1613
  }
1607
1614
  }
1608
1615
 
1609
- [role="search"] > :first-child {
1616
+ [role="search"] > :not([hidden], input[type="hidden"]):nth-child(1 of :not([hidden], input[type="hidden"])) {
1610
1617
  border-start-start-radius: var(--cirth-radius-pill);
1611
1618
  border-end-start-radius: var(--cirth-radius-pill);
1612
1619
  }
1613
1620
 
1614
- [role="search"] > :last-child {
1621
+ [role="search"] > :not([hidden], input[type="hidden"]):nth-last-child(1 of :not([hidden], input[type="hidden"])) {
1615
1622
  border-start-end-radius: var(--cirth-radius-pill);
1616
1623
  border-end-end-radius: var(--cirth-radius-pill);
1617
1624
  }
@@ -1654,6 +1661,10 @@ label > details.dropdown {
1654
1661
  text-align: center;
1655
1662
  }
1656
1663
 
1664
+ :is(button, [type="submit"], [type="reset"], [type="button"], [role="button"])[aria-busy="true"] {
1665
+ white-space: normal;
1666
+ }
1667
+
1657
1668
  input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1658
1669
  background-image: var(--cirth-icon-loading);
1659
1670
  background-position: center left var(--cirth-form-element-spacing-horizontal);
@@ -2420,6 +2431,10 @@ input:not([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [
2420
2431
  --cirth-border-radius: var(--cirth-radius-pill);
2421
2432
  }
2422
2433
 
2434
+ .group [type="search"] {
2435
+ --cirth-border-radius: inherit;
2436
+ }
2437
+
2423
2438
  button, [type="submit"], [type="reset"], [type="button"], [role="button"] {
2424
2439
  --cirth-font-weight: var(--cirth-font-weight-semibold);
2425
2440
  --cirth-line-height: var(--cirth-line-height-relaxed);
@@ -2482,7 +2497,7 @@ details summary[role="button"]:not(.outline):after {
2482
2497
  --lightningcss-light: initial;
2483
2498
  --lightningcss-dark: ;
2484
2499
  color-scheme: light;
2485
- --cirth-background-color: oklch(97.4% .008 69.35);
2500
+ --cirth-background-color: oklch(97.4% .004 69.35);
2486
2501
  --cirth-color: oklch(35.3% .021 264);
2487
2502
  --cirth-text-selection-color: oklch(65.7% .121 69.35 / .25);
2488
2503
  --cirth-muted-color: oklch(52.7% .032 264);
@@ -2517,13 +2532,14 @@ details summary[role="button"]:not(.outline):after {
2517
2532
  --cirth-contrast-hover-underline: var(--cirth-secondary-hover);
2518
2533
  --cirth-contrast-focus: oklch(48.3% .03 264 / .7);
2519
2534
  --cirth-contrast-inverse: oklch(100% 0 0);
2535
+ --cirth-link-visited-color: oklch(48.3% .03 264);
2520
2536
  --cirth-box-shadow: .0145rem .029rem .174rem oklch(65.7% .03 264 / .01698), .0335rem .067rem .402rem oklch(65.7% .03 264 / .024), .0625rem .125rem .75rem oklch(65.7% .03 264 / .03), .1125rem .225rem 1.35rem oklch(65.7% .03 264 / .036), .2085rem .417rem 2.502rem oklch(65.7% .03 264 / .04302), .5rem 1rem 6rem oklch(65.7% .03 264 / .06), 0 0 0 .0625rem oklch(65.7% .03 264 / .015);
2521
- --cirth-h1-color: oklch(31% .016 264);
2522
- --cirth-h2-color: oklch(35.3% .021 264);
2523
- --cirth-h3-color: oklch(39.7% .025 264);
2524
- --cirth-h4-color: oklch(44% .028 264);
2525
- --cirth-h5-color: oklch(48.3% .03 264);
2526
- --cirth-h6-color: oklch(52.7% .032 264);
2537
+ --cirth-h1-color: oklch(22.3% .006 264);
2538
+ --cirth-h2-color: oklch(26.7% .011 264);
2539
+ --cirth-h3-color: oklch(31% .016 264);
2540
+ --cirth-h4-color: oklch(35.3% .021 264);
2541
+ --cirth-h5-color: oklch(39.7% .025 264);
2542
+ --cirth-h6-color: oklch(44% .028 264);
2527
2543
  --cirth-mark-background-color: oklch(93% .05 78);
2528
2544
  --cirth-mark-color: oklch(18% 0 264);
2529
2545
  --cirth-ins-color: oklch(35.3% .067 160.59);
@@ -2630,6 +2646,7 @@ details summary[role="button"]:not(.outline):after {
2630
2646
  --cirth-contrast-hover-underline: var(--cirth-contrast-hover);
2631
2647
  --cirth-contrast-focus: oklch(87.3% .011 264 / .5);
2632
2648
  --cirth-contrast-inverse: oklch(0% 0 0);
2649
+ --cirth-link-visited-color: oklch(65.7% .03 264);
2633
2650
  --cirth-box-shadow: .0145rem .029rem .174rem oklch(9% 0 312 / .01698), .0335rem .067rem .402rem oklch(9% 0 312 / .024), .0625rem .125rem .75rem oklch(9% 0 312 / .03), .1125rem .225rem 1.35rem oklch(9% 0 312 / .036), .2085rem .417rem 2.502rem oklch(9% 0 312 / .04302), .5rem 1rem 6rem oklch(9% 0 312 / .06), 0 0 0 .0625rem oklch(9% 0 312 / .015);
2634
2651
  --cirth-h1-color: oklch(96% 0 264);
2635
2652
  --cirth-h2-color: oklch(91.7% .006 264);
@@ -2747,6 +2764,7 @@ details summary[role="button"]:not(.outline):after {
2747
2764
  --cirth-contrast-hover-underline: var(--cirth-contrast-hover);
2748
2765
  --cirth-contrast-focus: oklch(87.3% .011 264 / .5);
2749
2766
  --cirth-contrast-inverse: oklch(0% 0 0);
2767
+ --cirth-link-visited-color: oklch(65.7% .03 264);
2750
2768
  --cirth-box-shadow: .0145rem .029rem .174rem oklch(9% 0 312 / .01698), .0335rem .067rem .402rem oklch(9% 0 312 / .024), .0625rem .125rem .75rem oklch(9% 0 312 / .03), .1125rem .225rem 1.35rem oklch(9% 0 312 / .036), .2085rem .417rem 2.502rem oklch(9% 0 312 / .04302), .5rem 1rem 6rem oklch(9% 0 312 / .06), 0 0 0 .0625rem oklch(9% 0 312 / .015);
2751
2769
  --cirth-h1-color: oklch(96% 0 264);
2752
2770
  --cirth-h2-color: oklch(91.7% .006 264);