@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.
- package/libs/components/alert/alert.css +1 -1
- package/libs/components/alert/alert.css.map +1 -1
- package/libs/components/alert/alert.min.css +2 -2
- package/libs/components/badge/badge.css +1 -1
- package/libs/components/badge/badge.css.map +1 -1
- package/libs/components/badge/badge.min.css +2 -2
- package/libs/components/breadcrumbs/breadcrumb.css +1 -1
- package/libs/components/breadcrumbs/breadcrumb.css.map +1 -1
- package/libs/components/breadcrumbs/breadcrumb.min.css +2 -2
- package/libs/components/buttons/button.css +1 -1
- package/libs/components/buttons/button.css.map +1 -1
- package/libs/components/buttons/button.min.css +2 -2
- package/libs/components/cards/card.css +1 -1
- package/libs/components/cards/card.css.map +1 -1
- package/libs/components/cards/card.min.css +2 -2
- package/libs/components/details/details.css +1 -1
- package/libs/components/details/details.css.map +1 -1
- package/libs/components/details/details.min.css +2 -2
- package/libs/components/dialog/dialog.css +1 -1
- package/libs/components/dialog/dialog.css.map +1 -1
- package/libs/components/dialog/dialog.min.css +2 -2
- package/libs/components/form/form.css +1 -1
- package/libs/components/form/form.css.map +1 -1
- package/libs/components/form/form.min.css +2 -2
- package/libs/components/icons/icon.d.cts +32 -32
- package/libs/components/icons/icon.d.ts +32 -32
- package/libs/components/images/img.css +1 -1
- package/libs/components/images/img.css.map +1 -1
- package/libs/components/images/img.min.css +2 -2
- package/libs/components/layout/landmarks.css +1 -1
- package/libs/components/layout/landmarks.css.map +1 -1
- package/libs/components/layout/landmarks.min.css +2 -2
- package/libs/components/link/link.css +1 -1
- package/libs/components/link/link.css.map +1 -1
- package/libs/components/link/link.min.css +2 -2
- package/libs/components/nav/nav.css +1 -1
- package/libs/components/nav/nav.css.map +1 -1
- package/libs/components/nav/nav.min.css +2 -2
- package/libs/components/progress/progress.css +1 -1
- package/libs/components/progress/progress.css.map +1 -1
- package/libs/components/progress/progress.min.css +2 -2
- package/libs/components/tag/tag.css +1 -1
- package/libs/components/tag/tag.css.map +1 -1
- package/libs/components/tag/tag.min.css +2 -2
- package/libs/index.css +1 -1
- package/libs/index.css.map +1 -1
- package/package.json +1 -1
- package/src/components/alert/alert.scss +4 -4
- package/src/components/alert/alert.scss.backup +184 -0
- package/src/components/alert/alert.stories.tsx +53 -2
- package/src/components/badge/badge.scss +2 -2
- package/src/components/badge/badge.scss.backup +39 -0
- package/src/components/badge/badge.stories.tsx +40 -0
- package/src/components/breadcrumbs/breadcrumb.scss +5 -5
- package/src/components/breadcrumbs/breadcrumb.scss.backup +35 -0
- package/src/components/breadcrumbs/breadcrumb.stories.tsx +17 -1
- package/src/components/buttons/button.scss +27 -27
- package/src/components/buttons/button.scss.backup +145 -0
- package/src/components/buttons/button.stories.tsx +188 -2
- package/src/components/cards/card.scss +39 -5
- package/src/components/cards/card.scss.backup +67 -0
- package/src/components/cards/card.stories.tsx +183 -0
- package/src/components/details/details.scss +14 -14
- package/src/components/details/details.scss.backup +126 -0
- package/src/components/details/details.stories.tsx +40 -0
- package/src/components/dialog/dialog.scss +3 -3
- package/src/components/dialog/dialog.scss.backup +126 -0
- package/src/components/form/form.scss +25 -9
- package/src/components/form/form.scss.backup +87 -0
- package/src/components/form/form.stories.tsx +271 -0
- package/src/components/form/input.stories.tsx +158 -0
- package/src/components/images/figure.stories.tsx +41 -1
- package/src/components/images/img.scss +8 -8
- package/src/components/images/img.scss.backup +59 -0
- package/src/components/layout/_header.scss +14 -14
- package/src/components/layout/_header.scss.backup +72 -0
- package/src/components/layout/landmarks.scss +7 -7
- package/src/components/layout/landmarks.scss.backup +51 -0
- package/src/components/layout/landmarks.stories.tsx +42 -0
- package/src/components/link/link.scss +5 -5
- package/src/components/link/link.scss.backup +145 -0
- package/src/components/link/link.stories.tsx +38 -2
- package/src/components/nav/nav.scss +17 -17
- package/src/components/nav/nav.scss.backup +123 -0
- package/src/components/nav/nav.stories.tsx +35 -1
- package/src/components/progress/progress.scss +7 -7
- package/src/components/progress/progress.scss.backup +70 -0
- package/src/components/tag/tag.scss +10 -10
- package/src/components/tag/tag.scss.backup +130 -0
- package/src/components/tag/tag.stories.tsx +23 -2
- package/src/styles/alert/alert.css +4 -4
- package/src/styles/badge/badge.css +2 -2
- package/src/styles/breadcrumbs/breadcrumb.css +5 -5
- package/src/styles/buttons/button.css +26 -27
- package/src/styles/buttons/button.css.map +1 -1
- package/src/styles/cards/card.css +35 -5
- package/src/styles/cards/card.css.map +1 -1
- package/src/styles/details/details.css +14 -14
- package/src/styles/dialog/dialog.css +3 -3
- package/src/styles/form/form.css +20 -10
- package/src/styles/form/form.css.map +1 -1
- package/src/styles/images/img.css +8 -8
- package/src/styles/index.css +170 -131
- package/src/styles/index.css.map +1 -1
- package/src/styles/layout/landmarks.css +21 -21
- package/src/styles/link/link.css +5 -5
- package/src/styles/nav/nav.css +17 -17
- package/src/styles/progress/progress.css +6 -6
- 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-
|
|
5
|
-
--progress-
|
|
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-
|
|
16
|
-
height: var(--progress-
|
|
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-
|
|
46
|
-
height: var(--progress-
|
|
47
|
-
// height: calc(var(--progress-
|
|
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-
|
|
29
|
-
--tag-
|
|
30
|
-
--tag-fs: 0.8rem;
|
|
31
|
-
--tag-radius: 99rem;
|
|
32
|
-
--tag-bg: lightgray;
|
|
33
|
-
--tag-fw: 500;
|
|
34
|
-
--tag-color: currentColor;
|
|
35
|
-
--tag-display: inline-block
|
|
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-
|
|
40
|
-
padding-block: var(--tag-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
85
|
-
font-size: var(--alert-title-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
--breadcrumb-
|
|
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-
|
|
15
|
-
display: var(--breadcrumb-
|
|
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-
|
|
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-
|
|
16
|
-
padding-block: var(--btn-
|
|
17
|
-
border: var(--btn-
|
|
18
|
-
border-radius: var(--btn-
|
|
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-
|
|
21
|
-
display: var(--btn-
|
|
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-
|
|
24
|
-
margin: var(--btn-
|
|
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-
|
|
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-
|
|
61
|
+
--btn-border: gray thin solid;
|
|
62
62
|
}
|
|
63
63
|
button[type=submit] {
|
|
64
64
|
--btn-bg: var(--primary-700, blue);
|
|
65
|
-
--btn-
|
|
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-
|
|
105
|
-
--btn-
|
|
103
|
+
--btn-color: currentColor;
|
|
104
|
+
--btn-border: none;
|
|
106
105
|
--btn-height: unset;
|
|
107
106
|
--btn-width: unset;
|
|
108
|
-
--btn-
|
|
109
|
-
--btn-
|
|
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-
|
|
114
|
-
outline: 0.025rem solid var(--btn-
|
|
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;
|
|
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-
|
|
2
|
+
--card-padding: 2rem;
|
|
3
3
|
--card-bg: #fff;
|
|
4
|
-
--card-radius: calc(var(--card-
|
|
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-
|
|
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-
|
|
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-
|
|
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;
|
|
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-
|
|
6
|
+
--details-height: max-content;
|
|
7
7
|
--details-justify: flex-start;
|
|
8
|
-
--details-
|
|
9
|
-
--details-
|
|
8
|
+
--details-padding-inline: 1.5rem;
|
|
9
|
+
--details-padding-block: 1rem;
|
|
10
10
|
--details-radius: 0;
|
|
11
|
-
--details-
|
|
12
|
-
--max-
|
|
13
|
-
--max-
|
|
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-
|
|
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-
|
|
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-
|
|
60
|
-
padding-block: var(--summary-
|
|
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-
|
|
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-
|
|
88
|
-
padding-block: var(--details-
|
|
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-
|
|
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-
|
|
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-
|
|
35
|
-
min-width: var(--min-
|
|
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);
|