@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
@@ -1,8 +1,8 @@
1
1
  progress {
2
2
  /* Revert all styles */
3
3
  all: revert;
4
- --progress-w: 100%;
5
- --progress-h: 1rem;
4
+ --progress-width: 100%;
5
+ --progress-height: 1rem;
6
6
  --progress-bg: #cccccc;
7
7
  --progress-color: rgb(71, 71, 245);
8
8
  --progress-accent-color: var(--progress-color);
@@ -12,8 +12,8 @@ progress {
12
12
  /* The colors are used in the progress bar. */
13
13
  &[value] {
14
14
 
15
- width: var(--progress-w);
16
- height: var(--progress-h);
15
+ width: var(--progress-width);
16
+ height: var(--progress-height);
17
17
  background-color: var(--progress-bg);
18
18
  accent-color: var(--progress-accent-color);
19
19
 
@@ -42,9 +42,9 @@ progress {
42
42
  /* If the progress element is busy, remove the revert styles */
43
43
  &[aria-busy] {
44
44
  // all: revert;
45
- width: var(--progress-w);
46
- height: var(--progress-h);
47
- // height: calc(var(--progress-h) + var(--progress-h));
45
+ width: var(--progress-width);
46
+ height: var(--progress-height);
47
+ // height: calc(var(--progress-height) + var(--progress-height));
48
48
  accent-color: var(--progress-accent-color);
49
49
 
50
50
  &::-webkit-progress-value {
@@ -0,0 +1,70 @@
1
+ progress {
2
+ /* Revert all styles */
3
+ all: revert;
4
+ --progress-w: 100%;
5
+ --progress-h: 1rem;
6
+ --progress-bg: #cccccc;
7
+ --progress-color: rgb(71, 71, 245);
8
+ --progress-accent-color: var(--progress-color);
9
+
10
+ /* This code changes the color of the progress bar. */
11
+ /* The variable names indicate the colors that are used. */
12
+ /* The colors are used in the progress bar. */
13
+ &[value] {
14
+
15
+ width: var(--progress-w);
16
+ height: var(--progress-h);
17
+ background-color: var(--progress-bg);
18
+ accent-color: var(--progress-accent-color);
19
+
20
+
21
+ &::-webkit-progress-value {
22
+ /* Color for Chrome, Safari, and newer Opera */
23
+ background-color: var(--progress-accent-color);
24
+ accent-color: var(--progress-accent-color);
25
+
26
+ }
27
+
28
+ &::-moz-progress-bar {
29
+ /* Color for Firefox */
30
+ background-color: var(--progress-accent-color);
31
+ accent-color: var(--progress-accent-color)
32
+ }
33
+
34
+ /* Styling for the remaining part of the& bar */
35
+ &::-webkit-progress-bar {
36
+ /* Background for Chrome, Safari, and newer Opera */
37
+ background-color: var(--progress-background-color);
38
+ accent-color: var(--progress-accent-color)
39
+ }
40
+ }
41
+
42
+ /* If the progress element is busy, remove the revert styles */
43
+ &[aria-busy] {
44
+ // all: revert;
45
+ width: var(--progress-w);
46
+ height: var(--progress-h);
47
+ // height: calc(var(--progress-h) + var(--progress-h));
48
+ accent-color: var(--progress-accent-color);
49
+
50
+ &::-webkit-progress-value {
51
+ /* Color for Chrome, Safari, and newer Opera */
52
+ // background-color: var(--progress-accent-color);
53
+ accent-color: var(--progress-accent-color)
54
+ }
55
+
56
+ &::-moz-progress-bar {
57
+ // /* Color for Firefox */
58
+ // background-color: var(--progress-bg);
59
+ accent-color: var(--progress-accent-color)
60
+ }
61
+
62
+ /* Styling for the remaining part of the& bar */
63
+ &::-webkit-progress-bar {
64
+ /* Background for Chrome, Safari, and newer Opera */
65
+ // background-color: var(--progress-bg);
66
+ accent-color: var(--progress-accent-color)
67
+ }
68
+ }
69
+
70
+ }
@@ -25,19 +25,19 @@ small > span,
25
25
  --production: #1e3a8a; /* Dark blue: 8.59:1 contrast with white */
26
26
 
27
27
  /* Tag component tokens */
28
- --tag-px: 0.7rem; /* Horizontal padding (11.2px at 16px base) */
29
- --tag-py: 0.2rem; /* Vertical padding (3.2px at 16px base) */
30
- --tag-fs: 0.8rem; /* Font size (12.8px at 16px base) */
31
- --tag-radius: 99rem; /* Fully rounded pill shape */
32
- --tag-bg: lightgray; /* Default background color */
33
- --tag-fw: 500; /* Medium font weight */
34
- --tag-color: currentColor; /* Default text color (inherits) */
35
- --tag-display: inline-block;/* Display type */
28
+ --tag-padding-inline: 0.7rem; /* Horizontal padding (11.2px at 16px base) */
29
+ --tag-padding-block: 0.2rem; /* Vertical padding (3.2px at 16px base) */
30
+ --tag-fs: 0.8rem; /* Font size (12.8px at 16px base) */
31
+ --tag-radius: 99rem; /* Fully rounded pill shape */
32
+ --tag-bg: lightgray; /* Default background color */
33
+ --tag-fw: 500; /* Medium font weight */
34
+ --tag-color: currentColor; /* Default text color (inherits) */
35
+ --tag-display: inline-block; /* Display type */
36
36
 
37
37
  /* Apply CSS custom properties */
38
38
  display: var(--tag-display);
39
- padding-inline: var(--tag-px);
40
- padding-block: var(--tag-py);
39
+ padding-inline: var(--tag-padding-inline);
40
+ padding-block: var(--tag-padding-block);
41
41
  font-size: var(--tag-fs);
42
42
  color: var(--tag-color);
43
43
  background-color: var(--tag-bg);
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Tag Component Styles - WCAG 2.1 AA Compliant
3
+ *
4
+ * Provides visual styling for the Tag component with CSS custom properties
5
+ * for easy theming and variant support. All measurements use rem units
6
+ * for scalability and accessibility.
7
+ *
8
+ * Accessibility Features:
9
+ * - Color contrast ratios meet WCAG AA 4.5:1 minimum (WCAG 1.4.3)
10
+ * - Visual indicators beyond color (symbols via ::before) (WCAG 1.4.1)
11
+ * - Visible focus indicators with 3:1 contrast (WCAG 2.4.7)
12
+ */
13
+
14
+ /**
15
+ * Base Tag Styles
16
+ * Applied to all tag elements via role and data-tag attributes
17
+ */
18
+ p[role='note'],
19
+ [role='note'],
20
+ small > span,
21
+ [data-tag] {
22
+ /* Variant color tokens - WCAG AA compliant colors */
23
+ --beta: #fbbf24; /* Amber: 6.94:1 contrast with black */
24
+ --stable: #0f7c3e; /* Dark green: 4.56:1 contrast with white */
25
+ --production: #1e3a8a; /* Dark blue: 8.59:1 contrast with white */
26
+
27
+ /* Tag component tokens */
28
+ --tag-px: 0.7rem; /* Horizontal padding (11.2px at 16px base) */
29
+ --tag-py: 0.2rem; /* Vertical padding (3.2px at 16px base) */
30
+ --tag-fs: 0.8rem; /* Font size (12.8px at 16px base) */
31
+ --tag-radius: 99rem; /* Fully rounded pill shape */
32
+ --tag-bg: lightgray; /* Default background color */
33
+ --tag-fw: 500; /* Medium font weight */
34
+ --tag-color: currentColor; /* Default text color (inherits) */
35
+ --tag-display: inline-block;/* Display type */
36
+
37
+ /* Apply CSS custom properties */
38
+ display: var(--tag-display);
39
+ padding-inline: var(--tag-px);
40
+ padding-block: var(--tag-py);
41
+ font-size: var(--tag-fs);
42
+ color: var(--tag-color);
43
+ background-color: var(--tag-bg);
44
+ border-radius: var(--tag-radius);
45
+
46
+ /**
47
+ * Focus Indicators (WCAG 2.4.7)
48
+ * Visible focus for keyboard navigation with 3:1 minimum contrast
49
+ */
50
+ &:focus-visible {
51
+ outline: 2px solid currentColor;
52
+ outline-offset: 2px;
53
+ }
54
+
55
+ /* Remove outline for mouse users while preserving for keyboard users */
56
+ &:focus:not(:focus-visible) {
57
+ outline: none;
58
+ }
59
+
60
+ /**
61
+ * Variant Modifiers
62
+ * Applied via data-tag attribute (e.g., data-tag="beta")
63
+ * Each variant includes both color AND visual symbol for accessibility (WCAG 1.4.1)
64
+ */
65
+
66
+ /* Alpha variant - early development stage */
67
+ &[data-tag~='alpha'] {
68
+ --tag-color: #000000; /* Black: maximum contrast with amber background */
69
+ --tag-bg: var(--beta);
70
+
71
+ /* Visual indicator beyond color - warning symbol */
72
+ &::before {
73
+ content: '⚠';
74
+ margin-inline-end: 0.25rem;
75
+ font-weight: 700;
76
+ aria-hidden: true;
77
+ }
78
+ }
79
+
80
+ /* Beta variant - pre-release version */
81
+ &[data-tag~='beta'] {
82
+ --tag-color: #000000; /* Black: maximum contrast with amber background */
83
+ --tag-bg: var(--beta);
84
+
85
+ /* Visual indicator beyond color - warning symbol */
86
+ &::before {
87
+ content: '⚠';
88
+ margin-inline-end: 0.25rem;
89
+ font-weight: 700;
90
+ aria-hidden: true;
91
+ }
92
+ }
93
+
94
+ /* Stable variant - production-ready release */
95
+ &[data-tag~='stable'] {
96
+ --tag-color: #ffffff; /* White: 4.56:1 contrast with dark green */
97
+ --tag-bg: var(--stable);
98
+
99
+ /* Visual indicator beyond color - checkmark symbol */
100
+ &::before {
101
+ content: '✓';
102
+ margin-inline-end: 0.25rem;
103
+ font-weight: 700;
104
+ aria-hidden: true;
105
+ }
106
+ }
107
+
108
+ /* Production variant - live environment indicator */
109
+ &[data-tag~='production'] {
110
+ --tag-color: #ffffff; /* White: 8.59:1 contrast with dark blue */
111
+ --tag-bg: var(--production);
112
+
113
+ /* Visual indicator beyond color - live indicator symbol */
114
+ &::before {
115
+ content: '●';
116
+ margin-inline-end: 0.25rem;
117
+ font-weight: 700;
118
+ aria-hidden: true;
119
+ }
120
+ }
121
+ }
122
+
123
+ /**
124
+ * Block-level tag modifier
125
+ * Applied when Tag renders as <p> element
126
+ */
127
+ p[role='note'] {
128
+ --tag-display: block;
129
+ --tag-radius: 0.5rem; /* Less rounded for block tags (8px at 16px base) */
130
+ }
@@ -48,8 +48,29 @@ const meta: Meta<typeof Tag> = {
48
48
  parameters: {
49
49
  docs: {
50
50
  description: {
51
- component:
52
- "A small inline label component for displaying status, versions, or environment indicators with WCAG 2.1 AA accessibility compliance.",
51
+ component: `A small inline label component for displaying status, versions, or environment indicators with WCAG 2.1 AA accessibility compliance.
52
+
53
+ ## CSS Variables
54
+
55
+ ### Spacing
56
+ - \`--tag-padding-inline\`: Horizontal padding (default: 0.7rem / 11.2px)
57
+ - \`--tag-padding-block\`: Vertical padding (default: 0.2rem / 3.2px)
58
+
59
+ ### Typography
60
+ - \`--tag-fs\`: Font size (default: 0.8rem / 12.8px)
61
+ - \`--tag-fw\`: Font weight (default: 500)
62
+ - \`--tag-color\`: Text color (default: currentColor)
63
+
64
+ ### Appearance
65
+ - \`--tag-bg\`: Background color (default: lightgray)
66
+ - \`--tag-radius\`: Border radius (default: 99rem for pill shape, 0.5rem for block)
67
+ - \`--tag-display\`: Display mode (default: inline-block, block for \`<p>\`)
68
+
69
+ ### Variant Colors (WCAG AA Compliant)
70
+ - \`--beta\`: Amber (#fbbf24) - 6.94:1 contrast with black
71
+ - \`--stable\`: Dark green (#0f7c3e) - 4.56:1 contrast with white
72
+ - \`--production\`: Dark blue (#1e3a8a) - 8.59:1 contrast with white
73
+ `,
53
74
  },
54
75
  },
55
76
  },
@@ -40,7 +40,7 @@
40
40
  line-height: 1.6;
41
41
  display: flex;
42
42
  flex-direction: row;
43
- border-radius: var(--alert-border-radius, var(--border-radius));
43
+ border-radius: var(--alert-radius, var(--border-radius));
44
44
  gap: var(--alert-gap, var(--spc-4));
45
45
  /* Exit animations */
46
46
  transition: opacity var(--alert-transition-duration) ease, transform var(--alert-transition-duration) ease;
@@ -81,8 +81,8 @@
81
81
  [role=alert] .alert-message .alert-title {
82
82
  margin-block-end: var(--spc-1, 0.25rem);
83
83
  margin-block-start: 0;
84
- font-weight: var(--alert-title-weight, 600);
85
- font-size: var(--alert-title-size, inherit);
84
+ font-weight: var(--alert-title-fw, 600);
85
+ font-size: var(--alert-title-fs, inherit);
86
86
  line-height: 1.4;
87
87
  }
88
88
  [role=alert] .alert-message h2.alert-title,
@@ -93,7 +93,7 @@
93
93
  margin: 0;
94
94
  margin-block-end: var(--spc-1, 0.25rem);
95
95
  font-size: inherit;
96
- font-weight: var(--alert-title-weight, 600);
96
+ font-weight: var(--alert-title-fw, 600);
97
97
  }
98
98
  [role=alert][data-alert~=info] {
99
99
  --alert-bg: var(--alert-info-bg);
@@ -3,13 +3,13 @@ sup:has(> span) {
3
3
  --badge-color: currentColor;
4
4
  --badge-radius: 0.5rem;
5
5
  --badge-padding: 0.3rem;
6
- --badge-v-align: 0.5rem;
6
+ --badge-vertical-align: 0.5rem;
7
7
  --badge-fs: var(--fs-1);
8
8
  background-color: var(--badge-bg);
9
9
  color: var(--badge-color);
10
10
  padding: var(--badge-padding);
11
11
  border-radius: var(--badge-radius);
12
- vertical-align: var(--badge-v-align);
12
+ vertical-align: var(--badge-vertical-align);
13
13
  font-size: var(--badge-fs);
14
14
  }
15
15
  sup:has(> span) span {
@@ -1,7 +1,7 @@
1
1
  nav:not(body > nav),
2
2
  nav[data-breadcrumb] {
3
- --breadcrumb-px: unset;
4
- --breadcrumb-dsp: flex;
3
+ --breadcrumb-padding-inline: unset;
4
+ --breadcrumb-display: flex;
5
5
  --breadcrumb-gap: 0.5rem;
6
6
  --breadcrumb-color: currentColor;
7
7
  --breadcrumb-current-color: rgb(46, 46, 46);
@@ -11,14 +11,14 @@ nav[data-breadcrumb] {
11
11
  }
12
12
  nav:not(body > nav) ol,
13
13
  nav[data-breadcrumb] ol {
14
- padding-inline: var(--breadcrumb-px);
15
- display: var(--breadcrumb-dsp);
14
+ padding-inline: var(--breadcrumb-padding-inline);
15
+ display: var(--breadcrumb-display);
16
16
  gap: var(--breadcrumb-gap);
17
17
  }
18
18
  nav:not(body > nav) ol li,
19
19
  nav[data-breadcrumb] ol li {
20
20
  padding-inline: unset;
21
- width: var(--breadcrumb-w, fit-content);
21
+ width: var(--breadcrumb-width, fit-content);
22
22
  text-transform: capitalize;
23
23
  display: flex;
24
24
  color: var(--breadcrumb-color);
@@ -1,10 +1,10 @@
1
1
  button {
2
- --btn-xs: 0.6875rem;
3
- --btn-sm: 0.8125rem;
4
- --btn-md: 0.9375rem;
5
- --btn-lg: 1.125rem;
2
+ --btn-size-xs: 0.6875rem;
3
+ --btn-size-sm: 0.8125rem;
4
+ --btn-size-md: 0.9375rem;
5
+ --btn-size-lg: 1.125rem;
6
6
  --btn-pill: 100rem;
7
- --btn-fs: var(--btn-md);
7
+ --btn-fs: var(--btn-size-md);
8
8
  --btn-height: calc(var(--btn-fs) * 2.25);
9
9
  --btn-bg: lightgray;
10
10
  --btn-width: max-content;
@@ -12,16 +12,16 @@ button {
12
12
  font-weight: var(--btn-fw, 500);
13
13
  height: var(--btn-height);
14
14
  place-items: var(--btn-place, center);
15
- padding-inline: var(--btn-px, calc(var(--btn-fs) * 1.5));
16
- padding-block: var(--btn-py, calc(var(--btn-fs) * 0.5));
17
- border: var(--btn-bdr, none);
18
- border-radius: var(--btn-rds, 0.375rem);
15
+ padding-inline: var(--btn-padding-inline, calc(var(--btn-fs) * 1.5));
16
+ padding-block: var(--btn-padding-block, calc(var(--btn-fs) * 0.5));
17
+ border: var(--btn-border, none);
18
+ border-radius: var(--btn-radius, 0.375rem);
19
19
  text-decoration: var(--btn-deco, none);
20
- color: var(--btn-cl, currentColor);
21
- display: var(--btn-dsp, inline-flex);
20
+ color: var(--btn-color, currentColor);
21
+ display: var(--btn-display, inline-flex);
22
22
  gap: var(--btn-gap, 0.2rem);
23
- white-space: var(--btn-wspc, inherit);
24
- margin: var(--btn-spc, 0);
23
+ white-space: var(--btn-whitespace, inherit);
24
+ margin: var(--btn-spacing, 0);
25
25
  transition: var(--btn-transition, var(--tran-all, all 0.3s cubic-bezier(0.4, 0, 0.2, 1)));
26
26
  background-color: var(--btn-bg, var(--btn));
27
27
  outline: none;
@@ -32,7 +32,7 @@ button {
32
32
  }
33
33
  button[type] {
34
34
  background-color: var(--btn-bg, var(--neutral-300));
35
- --btn-bdr: solid var(--btn-sg);
35
+ --btn-border: solid var(--btn-sg);
36
36
  }
37
37
  button[type=submit], button[style*=submit] {
38
38
  --btn-bg: var(--primary-500, royal-blue);
@@ -58,12 +58,11 @@ button:is(:hover, :focus)[aria-disabled=true] {
58
58
  button[type=reset] {
59
59
  --btn-bg: transparent;
60
60
  --btn-color: gray;
61
- --btn-bdr: gray thin solid;
61
+ --btn-border: gray thin solid;
62
62
  }
63
63
  button[type=submit] {
64
64
  --btn-bg: var(--primary-700, blue);
65
- --btn-cl: #fff;
66
- --btn-color: rgb(231, 231, 231);
65
+ --btn-color: #fff;
67
66
  --btn-border: none;
68
67
  }
69
68
  button[data-fp-btn~=pill], button[data-btn~=pill], button[data-style~=pill] {
@@ -71,20 +70,20 @@ button[data-fp-btn~=pill], button[data-btn~=pill], button[data-style~=pill] {
71
70
  }
72
71
  button[data-btn~=xs],
73
72
  button .btn-xs {
74
- --btn-fs: var(--btn-xs);
73
+ --btn-fs: var(--btn-size-xs);
75
74
  text-transform: uppercase;
76
75
  }
77
76
  button[data-btn~=sm],
78
77
  button .btn-sm {
79
- --btn-fs: var(--btn-sm);
78
+ --btn-fs: var(--btn-size-sm);
80
79
  }
81
80
  button[data-btn~=md],
82
81
  button .btn-md {
83
- --btn-fs: var(--btn-md);
82
+ --btn-fs: var(--btn-size-md);
84
83
  }
85
84
  button[data-btn~=lg],
86
85
  button .btn-lg {
87
- --btn-fs: var(--btn-lg);
86
+ --btn-fs: var(--btn-size-lg);
88
87
  }
89
88
  button[data-btn~=icon],
90
89
  button .btn-icon {
@@ -101,17 +100,17 @@ button .btn-icon {
101
100
  button[data-btn~=text],
102
101
  button .btn-text {
103
102
  --btn-bg: transparent;
104
- --btn-cl: currentColor;
105
- --btn-bdr: none;
103
+ --btn-color: currentColor;
104
+ --btn-border: none;
106
105
  --btn-height: unset;
107
106
  --btn-width: unset;
108
- --btn-py: 0.75rem;
109
- --btn-px: 0.75rem;
107
+ --btn-padding-block: 0.75rem;
108
+ --btn-padding-inline: 0.75rem;
110
109
  }
111
110
  button[data-btn~=text]:is(:hover, :focus),
112
111
  button .btn-text:is(:hover, :focus) {
113
- background-color: color-mix(in srgb, var(--btn-cl) 10%, transparent);
114
- outline: 0.025rem solid var(--btn-cl);
112
+ background-color: color-mix(in srgb, var(--btn-color) 10%, transparent);
113
+ outline: 0.025rem solid var(--btn-color);
115
114
  outline-offset: 0;
116
115
  filter: none;
117
116
  }
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../components/buttons/button.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAEE;EACA;;AAGF;EAEE;;AAGA;EACE;;AAOJ;EAEE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EAGE;;AAGF;AAAA;EAEE;EACA;;AAGF;AAAA;EAEE;;AAGF;AAAA;EAEE;;AAGF;AAAA;EAEE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;EACE;EACA;EACA;EACA","file":"button.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../components/buttons/button.scss"],"names":[],"mappings":"AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAEE;EACA;;AAGF;EAEE;;AAGA;EACE;;AAOJ;EAEE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EAGE;;AAGF;AAAA;EAEE;EACA;;AAGF;AAAA;EAEE;;AAGF;AAAA;EAEE;;AAGF;AAAA;EAEE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;EACE;EACA;EACA;EACA","file":"button.css"}
@@ -1,11 +1,18 @@
1
1
  :root {
2
- --card-p: 2rem;
2
+ --card-padding: 2rem;
3
3
  --card-bg: #fff;
4
- --card-radius: calc(var(--card-p) / 4);
4
+ --card-radius: calc(var(--card-padding) / 4);
5
5
  --card-position: relative;
6
6
  --card-display: flex;
7
7
  --card-direction: column;
8
8
  --card-gap: 1rem;
9
+ --card-header-padding: 1rem 1.5rem;
10
+ --card-header-bg: #f8f9fa;
11
+ --card-header-border-bottom: 1px solid #dee2e6;
12
+ --card-body-padding: 1.5rem;
13
+ --card-footer-padding: 1rem 1.5rem;
14
+ --card-footer-bg: #f8f9fa;
15
+ --card-footer-border-top: 1px solid #dee2e6;
9
16
  }
10
17
 
11
18
  [data-card],
@@ -36,15 +43,38 @@
36
43
  }
37
44
  [data-card] > *:not(img),
38
45
  [data-component~=card] > *:not(img) {
39
- padding-inline: var(--card-p);
46
+ padding-inline: var(--card-padding);
40
47
  }
41
48
  [data-card] > *:last-child:not(img),
42
49
  [data-component~=card] > *:last-child:not(img) {
43
- padding-block-end: var(--card-p);
50
+ padding-block-end: var(--card-padding);
44
51
  }
45
52
  [data-card] > *:first-child:not(img),
46
53
  [data-component~=card] > *:first-child:not(img) {
47
- padding-block-start: calc(var(--card-p) - 0.5rem);
54
+ padding-block-start: calc(var(--card-padding) - 0.5rem);
55
+ }
56
+ [data-card] > header,
57
+ [data-card] > [data-card-header],
58
+ [data-component~=card] > header,
59
+ [data-component~=card] > [data-card-header] {
60
+ padding: var(--card-header-padding);
61
+ background-color: var(--card-header-bg);
62
+ border-bottom: var(--card-header-border-bottom);
63
+ border-radius: var(--card-radius) var(--card-radius) 0 0;
64
+ }
65
+ [data-card] > [data-card-body],
66
+ [data-component~=card] > [data-card-body] {
67
+ padding: var(--card-body-padding);
68
+ flex: 1;
69
+ }
70
+ [data-card] > footer,
71
+ [data-card] > [data-card-footer],
72
+ [data-component~=card] > footer,
73
+ [data-component~=card] > [data-card-footer] {
74
+ padding: var(--card-footer-padding);
75
+ background-color: var(--card-footer-bg);
76
+ border-top: var(--card-footer-border-top);
77
+ border-radius: 0 0 var(--card-radius) var(--card-radius);
48
78
  }
49
79
 
50
80
  [data-card=interactive] {
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../components/cards/card.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EAEE;EACA;;AAEF;AAAA;EACE;;AAEF;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;;AAEF;AAAA;EAEE;;AAEF;AAAA;EACE;;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;;AAIF;EACE;EACA;;AAIF;EACE","file":"card.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../components/cards/card.scss"],"names":[],"mappings":"AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAEA;EAEA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EAEE;EACA;;AAEF;AAAA;EACE;;AAEF;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;;AAEF;AAAA;EAEE;;AAEF;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;;AAIF;EACE;EACA;;AAIF;EACE","file":"card.css"}
@@ -3,14 +3,14 @@ details {
3
3
  --details-direction: column;
4
4
  --details-display: flex;
5
5
  --details-gap: 0rem;
6
- --details-h: max-content;
6
+ --details-height: max-content;
7
7
  --details-justify: flex-start;
8
- --details-px: 1.5rem;
9
- --details-py: 1rem;
8
+ --details-padding-inline: 1.5rem;
9
+ --details-padding-block: 1rem;
10
10
  --details-radius: 0;
11
- --details-w: 100%;
12
- --max-h-closed: 6.25rem;
13
- --max-h-open: 50rem;
11
+ --details-width: 100%;
12
+ --details-max-height-closed: 6.25rem;
13
+ --details-max-height-open: 50rem;
14
14
  --summary-align: center;
15
15
  --summary-cursor: pointer;
16
16
  --summary-display: flex;
@@ -22,12 +22,12 @@ details {
22
22
  flex-direction: var(--details-direction);
23
23
  justify-content: var(--details-justify);
24
24
  gap: var(--details-gap);
25
- width: var(--details-w);
25
+ width: var(--details-width);
26
26
  border: var(--details-border);
27
27
  border-left: none;
28
28
  border-right: none;
29
29
  transition: var(--summary-transitions);
30
- max-height: var(--max-h-closed);
30
+ max-height: var(--details-max-height-closed);
31
31
  overflow: clip;
32
32
  }
33
33
  @starting-style {
@@ -56,8 +56,8 @@ details summary {
56
56
  display: var(--summary-display);
57
57
  justify-content: var(--summary-justify);
58
58
  align-items: var(--summary-align);
59
- padding-inline: var(--summary-px, var(--details-px));
60
- padding-block: var(--summary-py, var(--details-py));
59
+ padding-inline: var(--summary-padding-inline, var(--details-padding-inline));
60
+ padding-block: var(--summary-padding-block, var(--details-padding-block));
61
61
  gap: var(--summary-gap);
62
62
  list-style: none;
63
63
  border-top-left-radius: var(--details-radius);
@@ -77,15 +77,15 @@ details summary:hover {
77
77
  cursor: var(--summary-cursor);
78
78
  }
79
79
  details summary > section {
80
- width: var(--details-w);
80
+ width: var(--details-width);
81
81
  }
82
82
  details .list-styles summary {
83
83
  border-left: none;
84
84
  border-right: none;
85
85
  }
86
86
  details > section {
87
- padding-inline: var(--details-px);
88
- padding-block: var(--details-py);
87
+ padding-inline: var(--details-padding-inline);
88
+ padding-block: var(--details-padding-block);
89
89
  margin-block-start: 0;
90
90
  border: 1px transparent solid;
91
91
  }
@@ -97,7 +97,7 @@ details[open] > summary {
97
97
  border-bottom: var(--details-border);
98
98
  }
99
99
  details[open] > section {
100
- max-height: var(--max-h-open);
100
+ max-height: var(--details-max-height-open);
101
101
  }
102
102
  @starting-style {
103
103
  details[open] > section {
@@ -1,5 +1,5 @@
1
1
  :root {
2
- --dialog-min-w: max(20rem, 80%);
2
+ --dialog-min-width: max(20rem, 80%);
3
3
  --dialog-gap: 0.625rem;
4
4
  --dialog-border-color: lightgray;
5
5
  --dialog-border-width: thin;
@@ -31,8 +31,8 @@
31
31
  }
32
32
  }
33
33
  dialog {
34
- width: var(--dialog-min-w);
35
- min-width: var(--min-w);
34
+ width: var(--dialog-min-width);
35
+ min-width: var(--dialog-min-width);
36
36
  gap: var(--dialog-gap);
37
37
  border: var(--dialog-border-color) var(--dialog-border-width) solid;
38
38
  border-radius: var(--dialog-border-radius);