@fpkit/acss 0.6.2 → 1.0.0-beta.1

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.
Files changed (109) hide show
  1. package/libs/components/alert/alert.css +1 -1
  2. package/libs/components/alert/alert.css.map +1 -1
  3. package/libs/components/alert/alert.min.css +2 -2
  4. package/libs/components/badge/badge.css +1 -1
  5. package/libs/components/badge/badge.css.map +1 -1
  6. package/libs/components/badge/badge.min.css +2 -2
  7. package/libs/components/breadcrumbs/breadcrumb.css +1 -1
  8. package/libs/components/breadcrumbs/breadcrumb.css.map +1 -1
  9. package/libs/components/breadcrumbs/breadcrumb.min.css +2 -2
  10. package/libs/components/buttons/button.css +1 -1
  11. package/libs/components/buttons/button.css.map +1 -1
  12. package/libs/components/buttons/button.min.css +2 -2
  13. package/libs/components/cards/card.css +1 -1
  14. package/libs/components/cards/card.css.map +1 -1
  15. package/libs/components/cards/card.min.css +2 -2
  16. package/libs/components/details/details.css +1 -1
  17. package/libs/components/details/details.css.map +1 -1
  18. package/libs/components/details/details.min.css +2 -2
  19. package/libs/components/dialog/dialog.css +1 -1
  20. package/libs/components/dialog/dialog.css.map +1 -1
  21. package/libs/components/dialog/dialog.min.css +2 -2
  22. package/libs/components/form/form.css +1 -1
  23. package/libs/components/form/form.css.map +1 -1
  24. package/libs/components/form/form.min.css +2 -2
  25. package/libs/components/icons/icon.d.cts +32 -32
  26. package/libs/components/icons/icon.d.ts +32 -32
  27. package/libs/components/images/img.css +1 -1
  28. package/libs/components/images/img.css.map +1 -1
  29. package/libs/components/images/img.min.css +2 -2
  30. package/libs/components/layout/landmarks.css +1 -1
  31. package/libs/components/layout/landmarks.css.map +1 -1
  32. package/libs/components/layout/landmarks.min.css +2 -2
  33. package/libs/components/link/link.css +1 -1
  34. package/libs/components/link/link.css.map +1 -1
  35. package/libs/components/link/link.min.css +2 -2
  36. package/libs/components/nav/nav.css +1 -1
  37. package/libs/components/nav/nav.css.map +1 -1
  38. package/libs/components/nav/nav.min.css +2 -2
  39. package/libs/components/progress/progress.css +1 -1
  40. package/libs/components/progress/progress.css.map +1 -1
  41. package/libs/components/progress/progress.min.css +2 -2
  42. package/libs/components/tag/tag.css +1 -1
  43. package/libs/components/tag/tag.css.map +1 -1
  44. package/libs/components/tag/tag.min.css +2 -2
  45. package/libs/index.css +1 -1
  46. package/libs/index.css.map +1 -1
  47. package/package.json +1 -1
  48. package/src/components/alert/alert.scss +4 -4
  49. package/src/components/alert/alert.scss.backup +184 -0
  50. package/src/components/alert/alert.stories.tsx +53 -2
  51. package/src/components/badge/badge.scss +2 -2
  52. package/src/components/badge/badge.scss.backup +39 -0
  53. package/src/components/badge/badge.stories.tsx +40 -0
  54. package/src/components/breadcrumbs/breadcrumb.scss +5 -5
  55. package/src/components/breadcrumbs/breadcrumb.scss.backup +35 -0
  56. package/src/components/breadcrumbs/breadcrumb.stories.tsx +17 -1
  57. package/src/components/buttons/button.scss +27 -27
  58. package/src/components/buttons/button.scss.backup +145 -0
  59. package/src/components/buttons/button.stories.tsx +188 -2
  60. package/src/components/cards/card.scss +39 -5
  61. package/src/components/cards/card.scss.backup +67 -0
  62. package/src/components/cards/card.stories.tsx +183 -0
  63. package/src/components/details/details.scss +14 -14
  64. package/src/components/details/details.scss.backup +126 -0
  65. package/src/components/details/details.stories.tsx +40 -0
  66. package/src/components/dialog/dialog.scss +3 -3
  67. package/src/components/dialog/dialog.scss.backup +126 -0
  68. package/src/components/form/form.scss +25 -9
  69. package/src/components/form/form.scss.backup +87 -0
  70. package/src/components/form/form.stories.tsx +271 -0
  71. package/src/components/form/input.stories.tsx +158 -0
  72. package/src/components/images/figure.stories.tsx +41 -1
  73. package/src/components/images/img.scss +8 -8
  74. package/src/components/images/img.scss.backup +59 -0
  75. package/src/components/layout/_header.scss +14 -14
  76. package/src/components/layout/_header.scss.backup +72 -0
  77. package/src/components/layout/landmarks.scss +7 -7
  78. package/src/components/layout/landmarks.scss.backup +51 -0
  79. package/src/components/layout/landmarks.stories.tsx +42 -0
  80. package/src/components/link/link.scss +5 -5
  81. package/src/components/link/link.scss.backup +145 -0
  82. package/src/components/link/link.stories.tsx +38 -2
  83. package/src/components/nav/nav.scss +17 -17
  84. package/src/components/nav/nav.scss.backup +123 -0
  85. package/src/components/nav/nav.stories.tsx +35 -1
  86. package/src/components/progress/progress.scss +7 -7
  87. package/src/components/progress/progress.scss.backup +70 -0
  88. package/src/components/tag/tag.scss +10 -10
  89. package/src/components/tag/tag.scss.backup +130 -0
  90. package/src/components/tag/tag.stories.tsx +23 -2
  91. package/src/styles/alert/alert.css +4 -4
  92. package/src/styles/badge/badge.css +2 -2
  93. package/src/styles/breadcrumbs/breadcrumb.css +5 -5
  94. package/src/styles/buttons/button.css +26 -27
  95. package/src/styles/buttons/button.css.map +1 -1
  96. package/src/styles/cards/card.css +35 -5
  97. package/src/styles/cards/card.css.map +1 -1
  98. package/src/styles/details/details.css +14 -14
  99. package/src/styles/dialog/dialog.css +3 -3
  100. package/src/styles/form/form.css +20 -10
  101. package/src/styles/form/form.css.map +1 -1
  102. package/src/styles/images/img.css +8 -8
  103. package/src/styles/index.css +170 -131
  104. package/src/styles/index.css.map +1 -1
  105. package/src/styles/layout/landmarks.css +21 -21
  106. package/src/styles/link/link.css +5 -5
  107. package/src/styles/nav/nav.css +17 -17
  108. package/src/styles/progress/progress.css +6 -6
  109. package/src/styles/tag/tag.css +4 -4
@@ -480,12 +480,12 @@ h6:has(span:first-of-type) > span {
480
480
  }
481
481
 
482
482
  button {
483
- --btn-xs: 0.6875rem;
484
- --btn-sm: 0.8125rem;
485
- --btn-md: 0.9375rem;
486
- --btn-lg: 1.125rem;
483
+ --btn-size-xs: 0.6875rem;
484
+ --btn-size-sm: 0.8125rem;
485
+ --btn-size-md: 0.9375rem;
486
+ --btn-size-lg: 1.125rem;
487
487
  --btn-pill: 100rem;
488
- --btn-fs: var(--btn-md);
488
+ --btn-fs: var(--btn-size-md);
489
489
  --btn-height: calc(var(--btn-fs) * 2.25);
490
490
  --btn-bg: lightgray;
491
491
  --btn-width: max-content;
@@ -493,16 +493,16 @@ button {
493
493
  font-weight: var(--btn-fw, 500);
494
494
  height: var(--btn-height);
495
495
  place-items: var(--btn-place, center);
496
- padding-inline: var(--btn-px, calc(var(--btn-fs) * 1.5));
497
- padding-block: var(--btn-py, calc(var(--btn-fs) * 0.5));
498
- border: var(--btn-bdr, none);
499
- border-radius: var(--btn-rds, 0.375rem);
496
+ padding-inline: var(--btn-padding-inline, calc(var(--btn-fs) * 1.5));
497
+ padding-block: var(--btn-padding-block, calc(var(--btn-fs) * 0.5));
498
+ border: var(--btn-border, none);
499
+ border-radius: var(--btn-radius, 0.375rem);
500
500
  text-decoration: var(--btn-deco, none);
501
- color: var(--btn-cl, currentColor);
502
- display: var(--btn-dsp, inline-flex);
501
+ color: var(--btn-color, currentColor);
502
+ display: var(--btn-display, inline-flex);
503
503
  gap: var(--btn-gap, 0.2rem);
504
- white-space: var(--btn-wspc, inherit);
505
- margin: var(--btn-spc, 0);
504
+ white-space: var(--btn-whitespace, inherit);
505
+ margin: var(--btn-spacing, 0);
506
506
  transition: var(--btn-transition, var(--tran-all, all 0.3s cubic-bezier(0.4, 0, 0.2, 1)));
507
507
  background-color: var(--btn-bg, var(--btn));
508
508
  outline: none;
@@ -513,7 +513,7 @@ button {
513
513
  }
514
514
  button[type] {
515
515
  background-color: var(--btn-bg, var(--neutral-300));
516
- --btn-bdr: solid var(--btn-sg);
516
+ --btn-border: solid var(--btn-sg);
517
517
  }
518
518
  button[type=submit], button[style*=submit] {
519
519
  --btn-bg: var(--primary-500, royal-blue);
@@ -539,12 +539,11 @@ button:is(:hover, :focus)[aria-disabled=true] {
539
539
  button[type=reset] {
540
540
  --btn-bg: transparent;
541
541
  --btn-color: gray;
542
- --btn-bdr: gray thin solid;
542
+ --btn-border: gray thin solid;
543
543
  }
544
544
  button[type=submit] {
545
545
  --btn-bg: var(--primary-700, blue);
546
- --btn-cl: #fff;
547
- --btn-color: rgb(231, 231, 231);
546
+ --btn-color: #fff;
548
547
  --btn-border: none;
549
548
  }
550
549
  button[data-fp-btn~=pill], button[data-btn~=pill], button[data-style~=pill] {
@@ -552,20 +551,20 @@ button[data-fp-btn~=pill], button[data-btn~=pill], button[data-style~=pill] {
552
551
  }
553
552
  button[data-btn~=xs],
554
553
  button .btn-xs {
555
- --btn-fs: var(--btn-xs);
554
+ --btn-fs: var(--btn-size-xs);
556
555
  text-transform: uppercase;
557
556
  }
558
557
  button[data-btn~=sm],
559
558
  button .btn-sm {
560
- --btn-fs: var(--btn-sm);
559
+ --btn-fs: var(--btn-size-sm);
561
560
  }
562
561
  button[data-btn~=md],
563
562
  button .btn-md {
564
- --btn-fs: var(--btn-md);
563
+ --btn-fs: var(--btn-size-md);
565
564
  }
566
565
  button[data-btn~=lg],
567
566
  button .btn-lg {
568
- --btn-fs: var(--btn-lg);
567
+ --btn-fs: var(--btn-size-lg);
569
568
  }
570
569
  button[data-btn~=icon],
571
570
  button .btn-icon {
@@ -582,17 +581,17 @@ button .btn-icon {
582
581
  button[data-btn~=text],
583
582
  button .btn-text {
584
583
  --btn-bg: transparent;
585
- --btn-cl: currentColor;
586
- --btn-bdr: none;
584
+ --btn-color: currentColor;
585
+ --btn-border: none;
587
586
  --btn-height: unset;
588
587
  --btn-width: unset;
589
- --btn-py: 0.75rem;
590
- --btn-px: 0.75rem;
588
+ --btn-padding-block: 0.75rem;
589
+ --btn-padding-inline: 0.75rem;
591
590
  }
592
591
  button[data-btn~=text]:is(:hover, :focus),
593
592
  button .btn-text:is(:hover, :focus) {
594
- background-color: color-mix(in srgb, var(--btn-cl) 10%, transparent);
595
- outline: 0.025rem solid var(--btn-cl);
593
+ background-color: color-mix(in srgb, var(--btn-color) 10%, transparent);
594
+ outline: 0.025rem solid var(--btn-color);
596
595
  outline-offset: 0;
597
596
  filter: none;
598
597
  }
@@ -622,8 +621,8 @@ small > span,
622
621
  --stable: #0f7c3e; /* Dark green: 4.56:1 contrast with white */
623
622
  --production: #1e3a8a; /* Dark blue: 8.59:1 contrast with white */
624
623
  /* Tag component tokens */
625
- --tag-px: 0.7rem; /* Horizontal padding (11.2px at 16px base) */
626
- --tag-py: 0.2rem; /* Vertical padding (3.2px at 16px base) */
624
+ --tag-padding-inline: 0.7rem; /* Horizontal padding (11.2px at 16px base) */
625
+ --tag-padding-block: 0.2rem; /* Vertical padding (3.2px at 16px base) */
627
626
  --tag-fs: 0.8rem; /* Font size (12.8px at 16px base) */
628
627
  --tag-radius: 99rem; /* Fully rounded pill shape */
629
628
  --tag-bg: lightgray; /* Default background color */
@@ -632,8 +631,8 @@ small > span,
632
631
  --tag-display: inline-block; /* Display type */
633
632
  /* Apply CSS custom properties */
634
633
  display: var(--tag-display);
635
- padding-inline: var(--tag-px);
636
- padding-block: var(--tag-py);
634
+ padding-inline: var(--tag-padding-inline);
635
+ padding-block: var(--tag-padding-block);
637
636
  font-size: var(--tag-fs);
638
637
  color: var(--tag-color);
639
638
  background-color: var(--tag-bg);
@@ -779,32 +778,39 @@ img[alt] {
779
778
 
780
779
  figure:has(img[alt]) {
781
780
  --fig-display: flex;
782
- --fig-p: 0.5rem;
781
+ --fig-padding: 0.5rem;
783
782
  --fig-bg: rgba(245, 245, 245, 0.683);
784
- --fig-w: fit-content;
783
+ --fig-width: fit-content;
785
784
  display: var(--fig-display);
786
785
  position: relative;
787
- padding: var(--fig-p);
786
+ padding: var(--fig-padding);
788
787
  background-color: var(--fig-bg);
789
- max-width: var(--fig-w);
788
+ max-width: var(--fig-width);
790
789
  }
791
790
  figure:has(img[alt]) > figcaption {
792
791
  position: absolute;
793
- bottom: var(--fig-bottom, var(--fig-p));
794
- left: var(--fig-left, var(--fig-p));
795
- right: var(--fig-right, var(--fig-p));
796
- padding: var(--caption-p, var(--spc-3));
792
+ bottom: var(--fig-bottom, var(--fig-padding));
793
+ left: var(--fig-left, var(--fig-padding));
794
+ right: var(--fig-right, var(--fig-padding));
795
+ padding: var(--caption-padding, var(--spc-3));
797
796
  background-color: var(--fig-bg);
798
797
  }
799
798
 
800
799
  :root {
801
- --card-p: 2rem;
800
+ --card-padding: 2rem;
802
801
  --card-bg: #fff;
803
- --card-radius: calc(var(--card-p) / 4);
802
+ --card-radius: calc(var(--card-padding) / 4);
804
803
  --card-position: relative;
805
804
  --card-display: flex;
806
805
  --card-direction: column;
807
806
  --card-gap: 1rem;
807
+ --card-header-padding: 1rem 1.5rem;
808
+ --card-header-bg: #f8f9fa;
809
+ --card-header-border-bottom: 1px solid #dee2e6;
810
+ --card-body-padding: 1.5rem;
811
+ --card-footer-padding: 1rem 1.5rem;
812
+ --card-footer-bg: #f8f9fa;
813
+ --card-footer-border-top: 1px solid #dee2e6;
808
814
  }
809
815
 
810
816
  [data-card],
@@ -835,15 +841,38 @@ figure:has(img[alt]) > figcaption {
835
841
  }
836
842
  [data-card] > *:not(img),
837
843
  [data-component~=card] > *:not(img) {
838
- padding-inline: var(--card-p);
844
+ padding-inline: var(--card-padding);
839
845
  }
840
846
  [data-card] > *:last-child:not(img),
841
847
  [data-component~=card] > *:last-child:not(img) {
842
- padding-block-end: var(--card-p);
848
+ padding-block-end: var(--card-padding);
843
849
  }
844
850
  [data-card] > *:first-child:not(img),
845
851
  [data-component~=card] > *:first-child:not(img) {
846
- padding-block-start: calc(var(--card-p) - 0.5rem);
852
+ padding-block-start: calc(var(--card-padding) - 0.5rem);
853
+ }
854
+ [data-card] > header,
855
+ [data-card] > [data-card-header],
856
+ [data-component~=card] > header,
857
+ [data-component~=card] > [data-card-header] {
858
+ padding: var(--card-header-padding);
859
+ background-color: var(--card-header-bg);
860
+ border-bottom: var(--card-header-border-bottom);
861
+ border-radius: var(--card-radius) var(--card-radius) 0 0;
862
+ }
863
+ [data-card] > [data-card-body],
864
+ [data-component~=card] > [data-card-body] {
865
+ padding: var(--card-body-padding);
866
+ flex: 1;
867
+ }
868
+ [data-card] > footer,
869
+ [data-card] > [data-card-footer],
870
+ [data-component~=card] > footer,
871
+ [data-component~=card] > [data-card-footer] {
872
+ padding: var(--card-footer-padding);
873
+ background-color: var(--card-footer-bg);
874
+ border-top: var(--card-footer-border-top);
875
+ border-radius: 0 0 var(--card-radius) var(--card-radius);
847
876
  }
848
877
 
849
878
  [data-card=interactive] {
@@ -865,8 +894,8 @@ figure:has(img[alt]) > figcaption {
865
894
  progress {
866
895
  /* Revert all styles */
867
896
  all: revert;
868
- --progress-w: 100%;
869
- --progress-h: 1rem;
897
+ --progress-width: 100%;
898
+ --progress-height: 1rem;
870
899
  --progress-bg: #cccccc;
871
900
  --progress-color: rgb(71, 71, 245);
872
901
  --progress-accent-color: var(--progress-color);
@@ -876,8 +905,8 @@ progress {
876
905
  /* If the progress element is busy, remove the revert styles */
877
906
  }
878
907
  progress[value] {
879
- width: var(--progress-w);
880
- height: var(--progress-h);
908
+ width: var(--progress-width);
909
+ height: var(--progress-height);
881
910
  background-color: var(--progress-bg);
882
911
  accent-color: var(--progress-accent-color);
883
912
  /* Styling for the remaining part of the& bar */
@@ -898,8 +927,8 @@ progress[value]::-webkit-progress-bar {
898
927
  accent-color: var(--progress-accent-color);
899
928
  }
900
929
  progress[aria-busy] {
901
- width: var(--progress-w);
902
- height: var(--progress-h);
930
+ width: var(--progress-width);
931
+ height: var(--progress-height);
903
932
  accent-color: var(--progress-accent-color);
904
933
  /* Styling for the remaining part of the& bar */
905
934
  }
@@ -920,14 +949,14 @@ details {
920
949
  --details-direction: column;
921
950
  --details-display: flex;
922
951
  --details-gap: 0rem;
923
- --details-h: max-content;
952
+ --details-height: max-content;
924
953
  --details-justify: flex-start;
925
- --details-px: 1.5rem;
926
- --details-py: 1rem;
954
+ --details-padding-inline: 1.5rem;
955
+ --details-padding-block: 1rem;
927
956
  --details-radius: 0;
928
- --details-w: 100%;
929
- --max-h-closed: 6.25rem;
930
- --max-h-open: 50rem;
957
+ --details-width: 100%;
958
+ --details-max-height-closed: 6.25rem;
959
+ --details-max-height-open: 50rem;
931
960
  --summary-align: center;
932
961
  --summary-cursor: pointer;
933
962
  --summary-display: flex;
@@ -939,12 +968,12 @@ details {
939
968
  flex-direction: var(--details-direction);
940
969
  justify-content: var(--details-justify);
941
970
  gap: var(--details-gap);
942
- width: var(--details-w);
971
+ width: var(--details-width);
943
972
  border: var(--details-border);
944
973
  border-left: none;
945
974
  border-right: none;
946
975
  transition: var(--summary-transitions);
947
- max-height: var(--max-h-closed);
976
+ max-height: var(--details-max-height-closed);
948
977
  overflow: clip;
949
978
  }
950
979
  @starting-style {
@@ -973,8 +1002,8 @@ details summary {
973
1002
  display: var(--summary-display);
974
1003
  justify-content: var(--summary-justify);
975
1004
  align-items: var(--summary-align);
976
- padding-inline: var(--summary-px, var(--details-px));
977
- padding-block: var(--summary-py, var(--details-py));
1005
+ padding-inline: var(--summary-padding-inline, var(--details-padding-inline));
1006
+ padding-block: var(--summary-padding-block, var(--details-padding-block));
978
1007
  gap: var(--summary-gap);
979
1008
  list-style: none;
980
1009
  border-top-left-radius: var(--details-radius);
@@ -994,15 +1023,15 @@ details summary:hover {
994
1023
  cursor: var(--summary-cursor);
995
1024
  }
996
1025
  details summary > section {
997
- width: var(--details-w);
1026
+ width: var(--details-width);
998
1027
  }
999
1028
  details .list-styles summary {
1000
1029
  border-left: none;
1001
1030
  border-right: none;
1002
1031
  }
1003
1032
  details > section {
1004
- padding-inline: var(--details-px);
1005
- padding-block: var(--details-py);
1033
+ padding-inline: var(--details-padding-inline);
1034
+ padding-block: var(--details-padding-block);
1006
1035
  margin-block-start: 0;
1007
1036
  border: 1px transparent solid;
1008
1037
  }
@@ -1014,7 +1043,7 @@ details[open] > summary {
1014
1043
  border-bottom: var(--details-border);
1015
1044
  }
1016
1045
  details[open] > section {
1017
- max-height: var(--max-h-open);
1046
+ max-height: var(--details-max-height-open);
1018
1047
  }
1019
1048
  @starting-style {
1020
1049
  details[open] > section {
@@ -1043,7 +1072,7 @@ details[open] > section {
1043
1072
  */
1044
1073
  a[href] {
1045
1074
  --link-color: #085ab7;
1046
- --link-weight: 400;
1075
+ --link-fw: 400;
1047
1076
  --link-fs: 1rem;
1048
1077
  --link-decoration: none;
1049
1078
  --link-decoration-offset: 0.09375rem;
@@ -1051,8 +1080,8 @@ a[href] {
1051
1080
  --link-skip-ink: auto;
1052
1081
  --link-bg: transparent;
1053
1082
  --link-radius: 0.25rem;
1054
- --link-px: 0;
1055
- --link-py: 0;
1083
+ --link-padding-inline: 0;
1084
+ --link-padding-block: 0;
1056
1085
  --link-transition: all 0.75s ease-in-out;
1057
1086
  --link-focus-color: currentColor;
1058
1087
  --link-focus-width: 0.125rem;
@@ -1060,7 +1089,7 @@ a[href] {
1060
1089
  --link-focus-style: solid;
1061
1090
  color: var(--link-color);
1062
1091
  font-size: var(--link-fs);
1063
- font-weight: var(--link-weight);
1092
+ font-weight: var(--link-fw);
1064
1093
  text-decoration: var(--link-decoration);
1065
1094
  text-underline-offset: var(--link-decoration-offset);
1066
1095
  text-decoration-thickness: var(--link-decoration-thickness);
@@ -1071,7 +1100,7 @@ a[href] {
1071
1100
  }
1072
1101
  a[href] > i,
1073
1102
  a[href] > b {
1074
- font-weight: var(--link-weight);
1103
+ font-weight: var(--link-fw);
1075
1104
  font-style: normal;
1076
1105
  }
1077
1106
  a[href]:hover {
@@ -1141,23 +1170,23 @@ header,
1141
1170
  --overlay-placement: center;
1142
1171
  --overlay-display: grid;
1143
1172
  --overlay-padding: 2rem;
1144
- --overlay-w: 100%;
1145
- --overlay-h: 40vh;
1146
- --overlay-max-h: 500px;
1173
+ --overlay-width: 100%;
1174
+ --overlay-height: 40vh;
1175
+ --overlay-max-height: 500px;
1147
1176
  --overlay-color: currentColor;
1148
- --overlay-content-w: 80%;
1177
+ --overlay-content-width: 80%;
1149
1178
  --overlay-gap: 2rem;
1150
1179
  --overlay-bg: whitesmoke;
1151
- --overlay-px: auto;
1152
- --overlay-py: auto;
1153
- --overlay-mx: auto;
1154
- --overlay-my: auto;
1180
+ --overlay-padding-inline: auto;
1181
+ --overlay-padding-block: auto;
1182
+ --overlay-margin-inline: auto;
1183
+ --overlay-margin-block: auto;
1155
1184
  grid-template-areas: "overlay";
1156
1185
  display: var(--overlay-display);
1157
1186
  place-items: var(--overlay-placement);
1158
1187
  align-items: var(--overlay-placement);
1159
- min-height: var(--overlay-h);
1160
- width: var(--overlay-w);
1188
+ min-height: var(--overlay-height);
1189
+ width: var(--overlay-width);
1161
1190
  color: var(--overlay-color);
1162
1191
  background-color: var(--overlay-bg);
1163
1192
  min-width: 20rem;
@@ -1170,7 +1199,7 @@ header > *,
1170
1199
  header > img,
1171
1200
  [data-hero] > img,
1172
1201
  [data-grid~=overlay] > img {
1173
- width: var(--overlay-w);
1202
+ width: var(--overlay-width);
1174
1203
  background-size: contain;
1175
1204
  }
1176
1205
  header > div,
@@ -1180,9 +1209,9 @@ header > section,
1180
1209
  [data-grid~=overlay] > div,
1181
1210
  [data-grid~=overlay] > section {
1182
1211
  --overlay-display: flex;
1183
- max-width: var(--overlay-content-w);
1212
+ max-width: var(--overlay-content-width);
1184
1213
  padding-inline: var(--spc-4);
1185
- margin-inline: var(--overlay-mx);
1214
+ margin-inline: var(--overlay-margin-inline);
1186
1215
  gap: var(--overlay-gap);
1187
1216
  text-align: center;
1188
1217
  }
@@ -1209,7 +1238,7 @@ header > section > h2,
1209
1238
  [data-grid~=overlay] > div > h2,
1210
1239
  [data-grid~=overlay] > section > h1,
1211
1240
  [data-grid~=overlay] > section > h2 {
1212
- line-height: var(--header-lh, 1.1);
1241
+ line-height: var(--header-line-height, 1.1);
1213
1242
  font-weight: 500;
1214
1243
  }
1215
1244
  header > div > h1,
@@ -1239,16 +1268,16 @@ header > section > h3,
1239
1268
 
1240
1269
  main,
1241
1270
  footer {
1242
- --content-w: min(100%, 1480px);
1243
- --content-mx: auto;
1244
- --content-px: 1rem;
1271
+ --content-width: min(100%, 1480px);
1272
+ --content-margin-inline: auto;
1273
+ --content-padding-inline: 1rem;
1245
1274
  --content-gap: 2rem;
1246
1275
  padding-block: var(--overlay-padding);
1247
1276
  }
1248
1277
  main > section,
1249
1278
  footer > section {
1250
- width: var(--content-w);
1251
- margin-inline: var(--content-mx);
1279
+ width: var(--content-width);
1280
+ margin-inline: var(--content-margin-inline);
1252
1281
  padding-inline: var(--spc-6);
1253
1282
  }
1254
1283
 
@@ -1258,8 +1287,8 @@ main {
1258
1287
  }
1259
1288
  main > section[aria-label],
1260
1289
  main > section {
1261
- width: var(--content-w);
1262
- margin-inline: var(--content-mx);
1290
+ width: var(--content-width);
1291
+ margin-inline: var(--content-margin-inline);
1263
1292
  }
1264
1293
  main > section[aria-label]:has(> article, > aside),
1265
1294
  main > section:has(> article, > aside) {
@@ -1289,7 +1318,7 @@ footer > div {
1289
1318
  }
1290
1319
 
1291
1320
  :root {
1292
- --dialog-min-w: max(20rem, 80%);
1321
+ --dialog-min-width: max(20rem, 80%);
1293
1322
  --dialog-gap: 0.625rem;
1294
1323
  --dialog-border-color: lightgray;
1295
1324
  --dialog-border-width: thin;
@@ -1321,8 +1350,8 @@ footer > div {
1321
1350
  }
1322
1351
  }
1323
1352
  dialog {
1324
- width: var(--dialog-min-w);
1325
- min-width: var(--min-w);
1353
+ width: var(--dialog-min-width);
1354
+ min-width: var(--dialog-min-width);
1326
1355
  gap: var(--dialog-gap);
1327
1356
  border: var(--dialog-border-color) var(--dialog-border-width) solid;
1328
1357
  border-radius: var(--dialog-border-radius);
@@ -1503,13 +1532,13 @@ sup:has(> span) {
1503
1532
  --badge-color: currentColor;
1504
1533
  --badge-radius: 0.5rem;
1505
1534
  --badge-padding: 0.3rem;
1506
- --badge-v-align: 0.5rem;
1535
+ --badge-vertical-align: 0.5rem;
1507
1536
  --badge-fs: var(--fs-1);
1508
1537
  background-color: var(--badge-bg);
1509
1538
  color: var(--badge-color);
1510
1539
  padding: var(--badge-padding);
1511
1540
  border-radius: var(--badge-radius);
1512
- vertical-align: var(--badge-v-align);
1541
+ vertical-align: var(--badge-vertical-align);
1513
1542
  font-size: var(--badge-fs);
1514
1543
  }
1515
1544
  sup:has(> span) span {
@@ -1541,8 +1570,8 @@ sup:has(> span)[data-badge~=rounded] span {
1541
1570
  body > nav,
1542
1571
  [aria-label~=navbar],
1543
1572
  .navbar {
1544
- padding-inline: var(--nav-px, 1rem);
1545
- min-height: var(--nav-h, fit-content);
1573
+ padding-inline: var(--nav-padding-inline, 1rem);
1574
+ min-height: var(--nav-height, fit-content);
1546
1575
  }
1547
1576
  @media (max-width: 580px) {
1548
1577
  body > nav,
@@ -1564,12 +1593,12 @@ body > nav ul > li,
1564
1593
  margin: 0;
1565
1594
  padding: 0;
1566
1595
  min-height: 100%;
1567
- padding-inline: var(--nav-px, 0.75rem);
1596
+ padding-inline: var(--nav-padding-inline, 0.75rem);
1568
1597
  }
1569
1598
  body > nav ul > li:hover,
1570
1599
  [aria-label~=navbar] ul > li:hover,
1571
1600
  .navbar ul > li:hover {
1572
- background-color: var(--nav-hov-bg, #e8e8e8);
1601
+ background-color: var(--nav-hover-bg, #e8e8e8);
1573
1602
  }
1574
1603
  body > nav ul > li:hover:where(img),
1575
1604
  [aria-label~=navbar] ul > li:hover:where(img),
@@ -1582,25 +1611,25 @@ nav {
1582
1611
  --nav-focus-width: 0.125rem;
1583
1612
  --nav-focus-offset: 0.125rem;
1584
1613
  --nav-focus-style: solid;
1585
- display: var(--nav-dsp, flex);
1614
+ display: var(--nav-display, flex);
1586
1615
  flex-direction: var(--nav-direction, row);
1587
- width: var(--nav-w, auto);
1616
+ width: var(--nav-width, auto);
1588
1617
  place-items: var(--nav-align, center);
1589
1618
  justify-content: var(--nav-justify, space-between);
1590
- margin-inline: var(--nav-mx, 0);
1619
+ margin-inline: var(--nav-margin-inline, 0);
1591
1620
  background-color: var(--nav-bg, initial);
1592
1621
  }
1593
1622
  nav > section,
1594
1623
  nav > ul {
1595
- --nav-dsp: flex;
1624
+ --nav-display: flex;
1596
1625
  flex-direction: var(--nav-direction, row);
1597
- display: var(--nav-dsp, flex);
1626
+ display: var(--nav-display, flex);
1598
1627
  gap: var(--nav-gap, 0);
1599
1628
  font-size: var(--nav-fs, 0.9rem);
1600
1629
  align-items: var(--nav-align, center);
1601
- padding-inline: var(--nav-px, 1rem);
1602
- padding-block: var(--nav-py, 0);
1603
- margin-block-end: var(--nav-mb, 0);
1630
+ padding-inline: var(--nav-padding-inline, 1rem);
1631
+ padding-block: var(--nav-padding-block, 0);
1632
+ margin-block-end: var(--nav-margin-block-end, 0);
1604
1633
  height: 100%;
1605
1634
  }
1606
1635
  nav > section[data-list~=block],
@@ -1608,7 +1637,7 @@ nav > ul[data-list~=block] {
1608
1637
  --nav-direction: column;
1609
1638
  }
1610
1639
  nav > section > div {
1611
- --py: 0;
1640
+ --nav-padding-block: 0;
1612
1641
  }
1613
1642
  nav ul > li {
1614
1643
  display: flex;
@@ -1617,15 +1646,15 @@ nav ul > li {
1617
1646
  margin: 0;
1618
1647
  padding: 0;
1619
1648
  min-height: 100%;
1620
- padding-inline: var(--nav-px, 1rem);
1649
+ padding-inline: var(--nav-padding-inline, 1rem);
1621
1650
  }
1622
1651
  nav img[alt] {
1623
- --px: 0 var(--s1);
1624
- --w: var(--brand-w, 3.6rem);
1652
+ --nav-img-padding-inline: 0 var(--s1);
1653
+ --nav-img-width: var(--brand-w, 3.6rem);
1625
1654
  }
1626
1655
  nav[data-variant] {
1627
1656
  background-color: var(--nav-bg);
1628
- color: var(--nav-cl);
1657
+ color: var(--nav-color);
1629
1658
  font-size: var(--nav-fs, 0.9rem);
1630
1659
  }
1631
1660
  nav > div {
@@ -1654,11 +1683,16 @@ nav button:focus-visible {
1654
1683
  --input-bg: inherit;
1655
1684
  --input-border: none;
1656
1685
  --input-outline: thin solid var(--input-border-color);
1657
- --input-px: 0.6rem;
1658
- --input-py: 0.4rem;
1686
+ --input-padding-inline: 0.6rem;
1687
+ --input-padding-block: 0.4rem;
1659
1688
  --input-radius: --var(--radius);
1660
1689
  --input-fs: var(--fs);
1661
- --input-w: clamp(200px, 100%, 500px);
1690
+ --input-width: clamp(200px, 100%, 500px);
1691
+ --input-focus-outline: medium solid var(--input-border-color);
1692
+ --input-focus-outline-offset: 0;
1693
+ --input-disabled-bg: #f5f5f5;
1694
+ --input-disabled-opacity: 0.6;
1695
+ --input-disabled-cursor: not-allowed;
1662
1696
  --placeholder-color: gray;
1663
1697
  --placeholder-style: italic;
1664
1698
  --placeholder-fs: smaller;
@@ -1686,11 +1720,11 @@ select {
1686
1720
  -webkit-appearance: var(--input-appearance);
1687
1721
  -moz-appearance: var(--input-appearance);
1688
1722
  appearance: var(--input-appearance);
1689
- width: var(--input-w);
1723
+ width: var(--input-width);
1690
1724
  border: var(--input-border);
1691
1725
  outline: var(--input-outline);
1692
- padding-inline: var(--input-px);
1693
- padding-block: var(--input-py);
1726
+ padding-inline: var(--input-padding-inline);
1727
+ padding-block: var(--input-padding-block);
1694
1728
  border-radius: var(--input-radius);
1695
1729
  background-color: var(--input-bg, #fff);
1696
1730
  }
@@ -1707,7 +1741,8 @@ textarea:focus-visible,
1707
1741
  textarea:focus,
1708
1742
  select:focus-visible,
1709
1743
  select:focus {
1710
- outline-width: medium;
1744
+ outline: var(--input-focus-outline);
1745
+ outline-offset: var(--input-focus-outline-offset);
1711
1746
  }
1712
1747
  input[type]:not([type=checkbox], [type=radio])[aria-required=true]::placeholder,
1713
1748
  textarea[aria-required=true]::placeholder,
@@ -1720,11 +1755,15 @@ textarea[aria-required=true]::placeholder::after,
1720
1755
  select[aria-required=true]::placeholder::after {
1721
1756
  content: "* ";
1722
1757
  }
1723
- input[type]:not([type=checkbox], [type=radio])[aria-disabled=true],
1758
+ input[type]:not([type=checkbox], [type=radio])[aria-disabled=true], input[type]:not([type=checkbox], [type=radio]):disabled,
1724
1759
  textarea[aria-disabled=true],
1725
- select[aria-disabled=true] {
1760
+ textarea:disabled,
1761
+ select[aria-disabled=true],
1762
+ select:disabled {
1726
1763
  --input-border-color: lightgray;
1727
- cursor: not-allowed;
1764
+ background-color: var(--input-disabled-bg);
1765
+ opacity: var(--input-disabled-opacity);
1766
+ cursor: var(--input-disabled-cursor);
1728
1767
  text-transform: capitalize;
1729
1768
  text-decoration: line-through;
1730
1769
  }
@@ -1742,8 +1781,8 @@ select {
1742
1781
 
1743
1782
  nav:not(body > nav),
1744
1783
  nav[data-breadcrumb] {
1745
- --breadcrumb-px: unset;
1746
- --breadcrumb-dsp: flex;
1784
+ --breadcrumb-padding-inline: unset;
1785
+ --breadcrumb-display: flex;
1747
1786
  --breadcrumb-gap: 0.5rem;
1748
1787
  --breadcrumb-color: currentColor;
1749
1788
  --breadcrumb-current-color: rgb(46, 46, 46);
@@ -1753,14 +1792,14 @@ nav[data-breadcrumb] {
1753
1792
  }
1754
1793
  nav:not(body > nav) ol,
1755
1794
  nav[data-breadcrumb] ol {
1756
- padding-inline: var(--breadcrumb-px);
1757
- display: var(--breadcrumb-dsp);
1795
+ padding-inline: var(--breadcrumb-padding-inline);
1796
+ display: var(--breadcrumb-display);
1758
1797
  gap: var(--breadcrumb-gap);
1759
1798
  }
1760
1799
  nav:not(body > nav) ol li,
1761
1800
  nav[data-breadcrumb] ol li {
1762
1801
  padding-inline: unset;
1763
- width: var(--breadcrumb-w, fit-content);
1802
+ width: var(--breadcrumb-width, fit-content);
1764
1803
  text-transform: capitalize;
1765
1804
  display: flex;
1766
1805
  color: var(--breadcrumb-color);
@@ -2034,7 +2073,7 @@ li:has(> button) {
2034
2073
  line-height: 1.6;
2035
2074
  display: flex;
2036
2075
  flex-direction: row;
2037
- border-radius: var(--alert-border-radius, var(--border-radius));
2076
+ border-radius: var(--alert-radius, var(--border-radius));
2038
2077
  gap: var(--alert-gap, var(--spc-4));
2039
2078
  /* Exit animations */
2040
2079
  transition: opacity var(--alert-transition-duration) ease, transform var(--alert-transition-duration) ease;
@@ -2075,8 +2114,8 @@ li:has(> button) {
2075
2114
  [role=alert] .alert-message .alert-title {
2076
2115
  margin-block-end: var(--spc-1, 0.25rem);
2077
2116
  margin-block-start: 0;
2078
- font-weight: var(--alert-title-weight, 600);
2079
- font-size: var(--alert-title-size, inherit);
2117
+ font-weight: var(--alert-title-fw, 600);
2118
+ font-size: var(--alert-title-fs, inherit);
2080
2119
  line-height: 1.4;
2081
2120
  }
2082
2121
  [role=alert] .alert-message h2.alert-title,
@@ -2087,7 +2126,7 @@ li:has(> button) {
2087
2126
  margin: 0;
2088
2127
  margin-block-end: var(--spc-1, 0.25rem);
2089
2128
  font-size: inherit;
2090
- font-weight: var(--alert-title-weight, 600);
2129
+ font-weight: var(--alert-title-fw, 600);
2091
2130
  }
2092
2131
  [role=alert][data-alert~=info] {
2093
2132
  --alert-bg: var(--alert-info-bg);