@digiko-npm/designsystem 0.5.0 → 0.7.2
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/README.md +7 -7
- package/dist/designsystem.css +1284 -474
- package/dist/designsystem.min.css +2 -2
- package/package.json +6 -1
- package/src/base/typography.css +8 -8
- package/src/components/accordion.css +21 -14
- package/src/components/alert.css +25 -19
- package/src/components/avatar.css +16 -16
- package/src/components/bottom-nav.css +27 -21
- package/src/components/breadcrumb.css +7 -0
- package/src/components/button.css +10 -2
- package/src/components/card.css +6 -42
- package/src/components/chip.css +10 -3
- package/src/components/collapsible.css +116 -0
- package/src/components/command.css +17 -7
- package/src/components/custom-select.css +123 -7
- package/src/components/datepicker.css +9 -9
- package/src/components/description-list.css +98 -0
- package/src/components/divider.css +1 -1
- package/src/components/drawer.css +28 -19
- package/src/components/drop-zone.css +10 -3
- package/src/components/dropdown.css +17 -8
- package/src/components/empty-state.css +3 -3
- package/src/components/field.css +77 -0
- package/src/components/icon-btn.css +12 -6
- package/src/components/index.css +5 -0
- package/src/components/input.css +26 -16
- package/src/components/kbd.css +1 -1
- package/src/components/modal.css +13 -4
- package/src/components/nav.css +22 -11
- package/src/components/pagination.css +9 -0
- package/src/components/popover.css +10 -10
- package/src/components/progress.css +2 -2
- package/src/components/result.css +84 -0
- package/src/components/search.css +24 -26
- package/src/components/skeleton.css +4 -4
- package/src/components/slider.css +13 -6
- package/src/components/sortable.css +9 -0
- package/src/components/stat-card.css +41 -0
- package/src/components/table.css +3 -3
- package/src/components/tabs.css +26 -18
- package/src/components/tag.css +11 -3
- package/src/components/timeline.css +14 -14
- package/src/components/toast.css +19 -7
- package/src/components/toggle.css +10 -2
- package/src/components/toolbar.css +1 -1
- package/src/components/tooltip.css +34 -28
- package/src/index.css +6 -4
- package/src/tokens/colors.css +18 -6
- package/src/tokens/spacing.css +7 -0
- package/src/utilities/a11y.css +102 -0
- package/src/utilities/index.css +1 -0
- package/src/utilities/layout.css +26 -26
- package/src/utilities/spacing.css +52 -52
- package/src/utilities/text.css +8 -8
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
A toggle (switch) control for binary on/off states.
|
|
5
5
|
Supports aria-checked attribute and modifier-class driven states.
|
|
6
6
|
|
|
7
|
+
ARIA requirements (consumer responsibility):
|
|
8
|
+
- Element: <button role="switch" aria-checked="false|true">
|
|
9
|
+
- Label: pair with visible label via aria-labelledby or wrap in <label>
|
|
10
|
+
- Keyboard: Space toggles state (native <button> handles this)
|
|
11
|
+
- State: update aria-checked on toggle
|
|
12
|
+
|
|
7
13
|
Usage:
|
|
8
14
|
<button class="ds-toggle" role="switch" aria-checked="false"></button>
|
|
9
15
|
|
|
@@ -40,8 +46,8 @@
|
|
|
40
46
|
.ds-toggle::after {
|
|
41
47
|
content: "";
|
|
42
48
|
position: absolute;
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
inset-inline-start: 2px;
|
|
50
|
+
inset-block-start: 50%;
|
|
45
51
|
width: 1.25rem;
|
|
46
52
|
height: 1.25rem;
|
|
47
53
|
border-radius: var(--ds-radius-full);
|
|
@@ -85,6 +91,7 @@
|
|
|
85
91
|
.ds-toggle:focus-visible {
|
|
86
92
|
outline: none;
|
|
87
93
|
box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
|
|
94
|
+
scroll-margin-block: var(--ds-space-16, 4rem);
|
|
88
95
|
}
|
|
89
96
|
|
|
90
97
|
/* ---------------------------------------------------------------------------
|
|
@@ -105,6 +112,7 @@
|
|
|
105
112
|
.ds-toggle--sm {
|
|
106
113
|
width: 2rem;
|
|
107
114
|
height: 1.125rem;
|
|
115
|
+
min-height: 1.5rem; /* WCAG 2.5.8: minimum 24px target */
|
|
108
116
|
}
|
|
109
117
|
|
|
110
118
|
.ds-toggle--sm::after {
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
Component: Tooltip
|
|
3
3
|
Inverted bubble with arrow, positioned via modifier classes.
|
|
4
4
|
Default placement: top.
|
|
5
|
+
|
|
6
|
+
ARIA requirements (consumer responsibility):
|
|
7
|
+
- Tooltip content: role="tooltip", id="[tooltip-id]"
|
|
8
|
+
- Trigger element: aria-describedby="[tooltip-id]"
|
|
9
|
+
- Keyboard: tooltip should show on focus as well as hover (CSS handles this via :hover)
|
|
10
|
+
- For focus support: also add :focus-within show logic if trigger is focusable
|
|
5
11
|
========================================================================== */
|
|
6
12
|
|
|
7
13
|
.ds-tooltip {
|
|
@@ -62,8 +68,8 @@
|
|
|
62
68
|
|
|
63
69
|
.ds-tooltip .ds-tooltip__content,
|
|
64
70
|
.ds-tooltip--top .ds-tooltip__content {
|
|
65
|
-
|
|
66
|
-
|
|
71
|
+
inset-block-end: calc(100% + var(--ds-offset-md));
|
|
72
|
+
inset-inline-start: 50%;
|
|
67
73
|
transform: translateX(-50%) translateY(4px);
|
|
68
74
|
}
|
|
69
75
|
|
|
@@ -75,8 +81,8 @@
|
|
|
75
81
|
/* Arrow — points down */
|
|
76
82
|
.ds-tooltip .ds-tooltip__content::after,
|
|
77
83
|
.ds-tooltip--top .ds-tooltip__content::after {
|
|
78
|
-
|
|
79
|
-
|
|
84
|
+
inset-block-start: 100%;
|
|
85
|
+
inset-inline-start: 50%;
|
|
80
86
|
transform: translateX(-50%);
|
|
81
87
|
border-top-color: var(--ds-color-inverted);
|
|
82
88
|
}
|
|
@@ -86,9 +92,9 @@
|
|
|
86
92
|
============================================= */
|
|
87
93
|
|
|
88
94
|
.ds-tooltip--bottom .ds-tooltip__content {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
95
|
+
inset-block-start: calc(100% + var(--ds-offset-md));
|
|
96
|
+
inset-block-end: auto;
|
|
97
|
+
inset-inline-start: 50%;
|
|
92
98
|
transform: translateX(-50%) translateY(-4px);
|
|
93
99
|
}
|
|
94
100
|
|
|
@@ -98,9 +104,9 @@
|
|
|
98
104
|
|
|
99
105
|
/* Arrow — points up */
|
|
100
106
|
.ds-tooltip--bottom .ds-tooltip__content::after {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
inset-block-end: 100%;
|
|
108
|
+
inset-block-start: auto;
|
|
109
|
+
inset-inline-start: 50%;
|
|
104
110
|
transform: translateX(-50%);
|
|
105
111
|
border-top-color: transparent;
|
|
106
112
|
border-bottom-color: var(--ds-color-inverted);
|
|
@@ -111,10 +117,10 @@
|
|
|
111
117
|
============================================= */
|
|
112
118
|
|
|
113
119
|
.ds-tooltip--left .ds-tooltip__content {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
120
|
+
inset-inline-end: calc(100% + var(--ds-offset-md));
|
|
121
|
+
inset-inline-start: auto;
|
|
122
|
+
inset-block-end: auto;
|
|
123
|
+
inset-block-start: 50%;
|
|
118
124
|
transform: translateY(-50%) translateX(4px);
|
|
119
125
|
}
|
|
120
126
|
|
|
@@ -124,13 +130,13 @@
|
|
|
124
130
|
|
|
125
131
|
/* Arrow — points right */
|
|
126
132
|
.ds-tooltip--left .ds-tooltip__content::after {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
inset-inline-start: 100%;
|
|
134
|
+
inset-block-start: 50%;
|
|
135
|
+
inset-block-end: auto;
|
|
136
|
+
inset-inline-end: auto;
|
|
131
137
|
transform: translateY(-50%);
|
|
132
138
|
border-top-color: transparent;
|
|
133
|
-
border-
|
|
139
|
+
border-inline-start-color: var(--ds-color-inverted);
|
|
134
140
|
}
|
|
135
141
|
|
|
136
142
|
/* =============================================
|
|
@@ -138,10 +144,10 @@
|
|
|
138
144
|
============================================= */
|
|
139
145
|
|
|
140
146
|
.ds-tooltip--right .ds-tooltip__content {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
147
|
+
inset-inline-start: calc(100% + var(--ds-offset-md));
|
|
148
|
+
inset-inline-end: auto;
|
|
149
|
+
inset-block-end: auto;
|
|
150
|
+
inset-block-start: 50%;
|
|
145
151
|
transform: translateY(-50%) translateX(-4px);
|
|
146
152
|
}
|
|
147
153
|
|
|
@@ -151,11 +157,11 @@
|
|
|
151
157
|
|
|
152
158
|
/* Arrow — points left */
|
|
153
159
|
.ds-tooltip--right .ds-tooltip__content::after {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
160
|
+
inset-inline-end: 100%;
|
|
161
|
+
inset-inline-start: auto;
|
|
162
|
+
inset-block-start: 50%;
|
|
163
|
+
inset-block-end: auto;
|
|
158
164
|
transform: translateY(-50%);
|
|
159
165
|
border-top-color: transparent;
|
|
160
|
-
border-
|
|
166
|
+
border-inline-end-color: var(--ds-color-inverted);
|
|
161
167
|
}
|
package/src/index.css
CHANGED
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
Your values always win. Nothing breaks.
|
|
14
14
|
========================================================================== */
|
|
15
15
|
|
|
16
|
-
@
|
|
17
|
-
|
|
18
|
-
@import './
|
|
19
|
-
@import './
|
|
16
|
+
@layer tokens, base, components, utilities;
|
|
17
|
+
|
|
18
|
+
@import './tokens/index.css' layer(tokens);
|
|
19
|
+
@import './base/index.css' layer(base);
|
|
20
|
+
@import './components/index.css' layer(components);
|
|
21
|
+
@import './utilities/index.css' layer(utilities);
|
package/src/tokens/colors.css
CHANGED
|
@@ -17,7 +17,13 @@
|
|
|
17
17
|
--ds-color-surface-hover: #fafafa;
|
|
18
18
|
--ds-color-surface-active: #f4f4f5;
|
|
19
19
|
|
|
20
|
-
/* --- Text — zinc hierarchy ---
|
|
20
|
+
/* --- Text — zinc hierarchy ---
|
|
21
|
+
Contrast ratios on --ds-color-bg (#fafafa):
|
|
22
|
+
--text: #09090b → ~19.3:1 ✅ WCAG AAA
|
|
23
|
+
--text-secondary: #52525b → ~7.6:1 ✅ WCAG AAA
|
|
24
|
+
--text-tertiary: #a1a1aa → ~2.5:1 ⚠ Decorative/non-essential only (does not meet 4.5:1)
|
|
25
|
+
--text-disabled: #d4d4d8 → ~1.5:1 ⚠ Disabled state (exempt per WCAG 1.4.3)
|
|
26
|
+
--- */
|
|
21
27
|
--ds-color-text: #09090b;
|
|
22
28
|
--ds-color-text-secondary: #52525b;
|
|
23
29
|
--ds-color-text-tertiary: #a1a1aa;
|
|
@@ -64,18 +70,24 @@
|
|
|
64
70
|
}
|
|
65
71
|
|
|
66
72
|
/* Dark theme */
|
|
67
|
-
[data-theme="dark"]
|
|
73
|
+
[data-theme="dark"] {
|
|
68
74
|
/* --- Backgrounds — deep, refined zinc-900 palette --- */
|
|
69
75
|
--ds-color-bg: #09090b;
|
|
70
76
|
--ds-color-bg-subtle: #0f0f11;
|
|
71
|
-
--ds-color-bg-muted: #
|
|
72
|
-
--ds-color-bg-elevated: #
|
|
77
|
+
--ds-color-bg-muted: #18181b;
|
|
78
|
+
--ds-color-bg-elevated: #1c1c20;
|
|
73
79
|
|
|
74
80
|
--ds-color-surface: #0f0f11;
|
|
75
81
|
--ds-color-surface-hover: #18181b;
|
|
76
82
|
--ds-color-surface-active: #27272a;
|
|
77
83
|
|
|
78
|
-
/* --- Text ---
|
|
84
|
+
/* --- Text ---
|
|
85
|
+
Contrast ratios on --ds-color-bg (#09090b):
|
|
86
|
+
--text: #fafafa → ~19.3:1 ✅ WCAG AAA
|
|
87
|
+
--text-secondary: #a1a1aa → ~7.6:1 ✅ WCAG AAA
|
|
88
|
+
--text-tertiary: #71717a → ~3.8:1 ⚠ Decorative/non-essential only (does not meet 4.5:1)
|
|
89
|
+
--text-disabled: #3f3f46 → ~2.0:1 ⚠ Disabled state (exempt per WCAG 1.4.3)
|
|
90
|
+
--- */
|
|
79
91
|
--ds-color-text: #fafafa;
|
|
80
92
|
--ds-color-text-secondary: #a1a1aa;
|
|
81
93
|
--ds-color-text-tertiary: #71717a;
|
|
@@ -162,7 +174,7 @@
|
|
|
162
174
|
}
|
|
163
175
|
|
|
164
176
|
/* Dark overrides for status/accent (brighter for contrast) */
|
|
165
|
-
[data-theme="dark"]
|
|
177
|
+
[data-theme="dark"] {
|
|
166
178
|
--ds-color-success: #4ade80;
|
|
167
179
|
--ds-color-success-subtle: rgba(74, 222, 128, 0.1);
|
|
168
180
|
--ds-color-success-border: rgba(74, 222, 128, 0.2);
|
package/src/tokens/spacing.css
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
Generous whitespace, responsive sections.
|
|
4
4
|
========================================================================== */
|
|
5
5
|
|
|
6
|
+
/* Breakpoints (reference only — CSS cannot use vars in @media)
|
|
7
|
+
--ds-breakpoint-sm: 640px
|
|
8
|
+
--ds-breakpoint-md: 768px
|
|
9
|
+
--ds-breakpoint-lg: 1024px
|
|
10
|
+
--ds-breakpoint-xl: 1280px
|
|
11
|
+
*/
|
|
12
|
+
|
|
6
13
|
:root {
|
|
7
14
|
/* --- Spacing Scale --- */
|
|
8
15
|
--ds-space-0: 0;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Utilities: Accessibility
|
|
3
|
+
Screen-reader helpers, skip links, focus utilities, and motion control.
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
/* ---------------------------------------------------------------------------
|
|
7
|
+
Screen Reader Only — visually hidden, available to assistive technology
|
|
8
|
+
--------------------------------------------------------------------------- */
|
|
9
|
+
|
|
10
|
+
.ds-sr-only {
|
|
11
|
+
position: absolute;
|
|
12
|
+
width: 1px;
|
|
13
|
+
height: 1px;
|
|
14
|
+
padding: 0;
|
|
15
|
+
margin: -1px;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
clip: rect(0, 0, 0, 0);
|
|
18
|
+
white-space: nowrap;
|
|
19
|
+
border-width: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* ---------------------------------------------------------------------------
|
|
23
|
+
Not Screen Reader Only — reset ds-sr-only when needed (e.g., responsive)
|
|
24
|
+
--------------------------------------------------------------------------- */
|
|
25
|
+
|
|
26
|
+
.ds-not-sr-only {
|
|
27
|
+
position: static;
|
|
28
|
+
width: auto;
|
|
29
|
+
height: auto;
|
|
30
|
+
padding: 0;
|
|
31
|
+
margin: 0;
|
|
32
|
+
overflow: visible;
|
|
33
|
+
clip: auto;
|
|
34
|
+
white-space: normal;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* ---------------------------------------------------------------------------
|
|
38
|
+
Focus Visible Only — invisible by default, shown on keyboard focus
|
|
39
|
+
--------------------------------------------------------------------------- */
|
|
40
|
+
|
|
41
|
+
.ds-focus-visible-only {
|
|
42
|
+
opacity: 0;
|
|
43
|
+
pointer-events: none;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.ds-focus-visible-only:focus-visible {
|
|
47
|
+
opacity: 1;
|
|
48
|
+
pointer-events: auto;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* ---------------------------------------------------------------------------
|
|
52
|
+
Skip Link — skip to main content, visible only on focus
|
|
53
|
+
--------------------------------------------------------------------------- */
|
|
54
|
+
|
|
55
|
+
.ds-skip-link {
|
|
56
|
+
position: absolute;
|
|
57
|
+
width: 1px;
|
|
58
|
+
height: 1px;
|
|
59
|
+
padding: 0;
|
|
60
|
+
margin: -1px;
|
|
61
|
+
overflow: hidden;
|
|
62
|
+
clip: rect(0, 0, 0, 0);
|
|
63
|
+
white-space: nowrap;
|
|
64
|
+
border-width: 0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ds-skip-link:focus-visible {
|
|
68
|
+
position: fixed;
|
|
69
|
+
inset-block-start: 0;
|
|
70
|
+
inset-inline-start: 0;
|
|
71
|
+
z-index: var(--ds-z-tooltip, 200);
|
|
72
|
+
width: auto;
|
|
73
|
+
height: auto;
|
|
74
|
+
padding: var(--ds-space-3) var(--ds-space-5);
|
|
75
|
+
margin: 0;
|
|
76
|
+
overflow: visible;
|
|
77
|
+
clip: auto;
|
|
78
|
+
white-space: normal;
|
|
79
|
+
background-color: var(--ds-color-inverted);
|
|
80
|
+
color: var(--ds-color-on-inverted);
|
|
81
|
+
font-family: var(--ds-font-sans);
|
|
82
|
+
font-size: var(--ds-text-sm);
|
|
83
|
+
font-weight: var(--ds-weight-medium);
|
|
84
|
+
border-radius: 0 0 var(--ds-radius-lg) 0;
|
|
85
|
+
box-shadow: var(--ds-shadow-lg);
|
|
86
|
+
text-decoration: none;
|
|
87
|
+
outline: none;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* ---------------------------------------------------------------------------
|
|
91
|
+
Reduce Motion — force reduced motion on a specific element
|
|
92
|
+
--------------------------------------------------------------------------- */
|
|
93
|
+
|
|
94
|
+
.ds-reduce-motion,
|
|
95
|
+
.ds-reduce-motion *,
|
|
96
|
+
.ds-reduce-motion *::before,
|
|
97
|
+
.ds-reduce-motion *::after {
|
|
98
|
+
animation-duration: 0.01ms !important;
|
|
99
|
+
animation-iteration-count: 1 !important;
|
|
100
|
+
transition-duration: 0.01ms !important;
|
|
101
|
+
scroll-behavior: auto !important;
|
|
102
|
+
}
|
package/src/utilities/index.css
CHANGED
package/src/utilities/layout.css
CHANGED
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
.ds-md\:flex-row { flex-direction: row; }
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
@media (min-width: 1024px) {
|
|
81
|
+
@media (min-width: 1024px) /* --ds-breakpoint-lg */ {
|
|
82
82
|
.ds-lg\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
|
|
83
83
|
.ds-lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
|
|
84
84
|
.ds-lg\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
.ds-relative { position: relative; }
|
|
118
118
|
.ds-absolute { position: absolute; }
|
|
119
119
|
.ds-fixed { position: fixed; }
|
|
120
|
-
.ds-sticky { position: sticky;
|
|
120
|
+
.ds-sticky { position: sticky; inset-block-start: 0; }
|
|
121
121
|
|
|
122
122
|
/* --- Overflow --- */
|
|
123
123
|
.ds-overflow-hidden { overflow: hidden; }
|
|
@@ -133,14 +133,14 @@
|
|
|
133
133
|
/* --- Stack (vertical spacing) ---
|
|
134
134
|
:where() lowers specificity so ds-mt-* can override individual children. */
|
|
135
135
|
:where(.ds-stack) > * + * {
|
|
136
|
-
margin-
|
|
136
|
+
margin-block-start: var(--ds-space-4);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
:where(.ds-stack--sm) > * + * { margin-
|
|
140
|
-
:where(.ds-stack--lg) > * + * { margin-
|
|
141
|
-
:where(.ds-stack--xl) > * + * { margin-
|
|
142
|
-
:where(.ds-stack--2xl) > * + * { margin-
|
|
143
|
-
:where(.ds-stack--3xl) > * + * { margin-
|
|
139
|
+
:where(.ds-stack--sm) > * + * { margin-block-start: var(--ds-space-2); }
|
|
140
|
+
:where(.ds-stack--lg) > * + * { margin-block-start: var(--ds-space-8); }
|
|
141
|
+
:where(.ds-stack--xl) > * + * { margin-block-start: var(--ds-space-12); }
|
|
142
|
+
:where(.ds-stack--2xl) > * + * { margin-block-start: var(--ds-space-16); }
|
|
143
|
+
:where(.ds-stack--3xl) > * + * { margin-block-start: var(--ds-space-24); }
|
|
144
144
|
|
|
145
145
|
/* --- Center content --- */
|
|
146
146
|
.ds-center {
|
|
@@ -193,22 +193,22 @@
|
|
|
193
193
|
|
|
194
194
|
/* --- Inset / Position Values --- */
|
|
195
195
|
.ds-inset-0 { inset: 0; }
|
|
196
|
-
.ds-inset-x-0 {
|
|
197
|
-
.ds-inset-y-0 {
|
|
198
|
-
.ds-top-0 {
|
|
199
|
-
.ds-top-full {
|
|
200
|
-
.ds-right-0 {
|
|
201
|
-
.ds-bottom-0 {
|
|
202
|
-
.ds-bottom-full {
|
|
203
|
-
.ds-left-0 {
|
|
204
|
-
.ds-top-2 {
|
|
205
|
-
.ds-right-2 {
|
|
206
|
-
.ds-left-2 {
|
|
207
|
-
.ds-top-3 {
|
|
208
|
-
.ds-right-3 {
|
|
209
|
-
.ds-left-3 {
|
|
210
|
-
.ds-top-1\/2 {
|
|
211
|
-
.ds-left-1\/2 {
|
|
196
|
+
.ds-inset-x-0 { inset-inline-start: 0; inset-inline-end: 0; }
|
|
197
|
+
.ds-inset-y-0 { inset-block-start: 0; inset-block-end: 0; }
|
|
198
|
+
.ds-top-0 { inset-block-start: 0; }
|
|
199
|
+
.ds-top-full { inset-block-start: 100%; }
|
|
200
|
+
.ds-right-0 { inset-inline-end: 0; }
|
|
201
|
+
.ds-bottom-0 { inset-block-end: 0; }
|
|
202
|
+
.ds-bottom-full { inset-block-end: 100%; }
|
|
203
|
+
.ds-left-0 { inset-inline-start: 0; }
|
|
204
|
+
.ds-top-2 { inset-block-start: var(--ds-space-2); }
|
|
205
|
+
.ds-right-2 { inset-inline-end: var(--ds-space-2); }
|
|
206
|
+
.ds-left-2 { inset-inline-start: var(--ds-space-2); }
|
|
207
|
+
.ds-top-3 { inset-block-start: var(--ds-space-3); }
|
|
208
|
+
.ds-right-3 { inset-inline-end: var(--ds-space-3); }
|
|
209
|
+
.ds-left-3 { inset-inline-start: var(--ds-space-3); }
|
|
210
|
+
.ds-top-1\/2 { inset-block-start: 50%; }
|
|
211
|
+
.ds-left-1\/2 { inset-inline-start: 50%; }
|
|
212
212
|
|
|
213
213
|
/* --- Object Fit --- */
|
|
214
214
|
.ds-object-cover { object-fit: cover; }
|
|
@@ -226,7 +226,7 @@
|
|
|
226
226
|
.ds-sm\:table-cell { display: table-cell; }
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
-
@media (min-width: 1024px) {
|
|
229
|
+
@media (min-width: 1024px) /* --ds-breakpoint-lg */ {
|
|
230
230
|
.ds-lg\:hidden { display: none; }
|
|
231
231
|
.ds-lg\:block { display: block; }
|
|
232
232
|
.ds-lg\:flex { display: flex; }
|
|
@@ -237,7 +237,7 @@
|
|
|
237
237
|
.ds-sm\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
@media (min-width: 1024px) {
|
|
240
|
+
@media (min-width: 1024px) /* --ds-breakpoint-lg */ {
|
|
241
241
|
.ds-lg\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
|
|
242
242
|
.ds-lg\:grid-cols-5 { grid-template-columns: repeat(5, 1fr); }
|
|
243
243
|
}
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
.ds-py-20 { padding-block: var(--ds-space-20); }
|
|
37
37
|
.ds-py-24 { padding-block: var(--ds-space-24); }
|
|
38
38
|
|
|
39
|
-
.ds-pt-2 { padding-
|
|
40
|
-
.ds-pt-4 { padding-
|
|
41
|
-
.ds-pt-6 { padding-
|
|
42
|
-
.ds-pt-8 { padding-
|
|
43
|
-
.ds-pt-12 { padding-
|
|
44
|
-
.ds-pt-16 { padding-
|
|
39
|
+
.ds-pt-2 { padding-block-start: var(--ds-space-2); }
|
|
40
|
+
.ds-pt-4 { padding-block-start: var(--ds-space-4); }
|
|
41
|
+
.ds-pt-6 { padding-block-start: var(--ds-space-6); }
|
|
42
|
+
.ds-pt-8 { padding-block-start: var(--ds-space-8); }
|
|
43
|
+
.ds-pt-12 { padding-block-start: var(--ds-space-12); }
|
|
44
|
+
.ds-pt-16 { padding-block-start: var(--ds-space-16); }
|
|
45
45
|
|
|
46
|
-
.ds-pb-4 { padding-
|
|
47
|
-
.ds-pb-8 { padding-
|
|
46
|
+
.ds-pb-4 { padding-block-end: var(--ds-space-4); }
|
|
47
|
+
.ds-pb-8 { padding-block-end: var(--ds-space-8); }
|
|
48
48
|
|
|
49
49
|
/* --- Margin --- */
|
|
50
50
|
.ds-m-0 { margin: var(--ds-space-0); }
|
|
@@ -60,33 +60,33 @@
|
|
|
60
60
|
.ds-my-6 { margin-block: var(--ds-space-6); }
|
|
61
61
|
.ds-my-8 { margin-block: var(--ds-space-8); }
|
|
62
62
|
|
|
63
|
-
.ds-mt-0 { margin-
|
|
64
|
-
.ds-mt-1 { margin-
|
|
65
|
-
.ds-mt-2 { margin-
|
|
66
|
-
.ds-mt-4 { margin-
|
|
67
|
-
.ds-mt-6 { margin-
|
|
68
|
-
.ds-mt-8 { margin-
|
|
69
|
-
|
|
70
|
-
.ds-mb-0 { margin-
|
|
71
|
-
.ds-mb-1 { margin-
|
|
72
|
-
.ds-mb-2 { margin-
|
|
73
|
-
.ds-mb-4 { margin-
|
|
74
|
-
.ds-mb-6 { margin-
|
|
75
|
-
.ds-mb-8 { margin-
|
|
76
|
-
|
|
77
|
-
.ds-mt-auto { margin-
|
|
78
|
-
.ds-mb-auto { margin-
|
|
79
|
-
.ds-ml-auto { margin-
|
|
80
|
-
.ds-mr-auto { margin-
|
|
81
|
-
.ds-ml-2 { margin-
|
|
82
|
-
.ds-ml-4 { margin-
|
|
83
|
-
.ds-mr-2 { margin-
|
|
84
|
-
.ds-mr-4 { margin-
|
|
85
|
-
|
|
86
|
-
.ds-mt-0\.5 { margin-
|
|
87
|
-
.ds-mt-3 { margin-
|
|
88
|
-
.ds-mb-0\.5 { margin-
|
|
89
|
-
.ds-mb-3 { margin-
|
|
63
|
+
.ds-mt-0 { margin-block-start: var(--ds-space-0); }
|
|
64
|
+
.ds-mt-1 { margin-block-start: var(--ds-space-1); }
|
|
65
|
+
.ds-mt-2 { margin-block-start: var(--ds-space-2); }
|
|
66
|
+
.ds-mt-4 { margin-block-start: var(--ds-space-4); }
|
|
67
|
+
.ds-mt-6 { margin-block-start: var(--ds-space-6); }
|
|
68
|
+
.ds-mt-8 { margin-block-start: var(--ds-space-8); }
|
|
69
|
+
|
|
70
|
+
.ds-mb-0 { margin-block-end: var(--ds-space-0); }
|
|
71
|
+
.ds-mb-1 { margin-block-end: var(--ds-space-1); }
|
|
72
|
+
.ds-mb-2 { margin-block-end: var(--ds-space-2); }
|
|
73
|
+
.ds-mb-4 { margin-block-end: var(--ds-space-4); }
|
|
74
|
+
.ds-mb-6 { margin-block-end: var(--ds-space-6); }
|
|
75
|
+
.ds-mb-8 { margin-block-end: var(--ds-space-8); }
|
|
76
|
+
|
|
77
|
+
.ds-mt-auto { margin-block-start: auto; }
|
|
78
|
+
.ds-mb-auto { margin-block-end: auto; }
|
|
79
|
+
.ds-ml-auto { margin-inline-start: auto; }
|
|
80
|
+
.ds-mr-auto { margin-inline-end: auto; }
|
|
81
|
+
.ds-ml-2 { margin-inline-start: var(--ds-space-2); }
|
|
82
|
+
.ds-ml-4 { margin-inline-start: var(--ds-space-4); }
|
|
83
|
+
.ds-mr-2 { margin-inline-end: var(--ds-space-2); }
|
|
84
|
+
.ds-mr-4 { margin-inline-end: var(--ds-space-4); }
|
|
85
|
+
|
|
86
|
+
.ds-mt-0\.5 { margin-block-start: var(--ds-space-0-5); }
|
|
87
|
+
.ds-mt-3 { margin-block-start: var(--ds-space-3); }
|
|
88
|
+
.ds-mb-0\.5 { margin-block-end: var(--ds-space-0-5); }
|
|
89
|
+
.ds-mb-3 { margin-block-end: var(--ds-space-3); }
|
|
90
90
|
|
|
91
91
|
/* --- Padding (granular) --- */
|
|
92
92
|
.ds-p-0\.5 { padding: var(--ds-space-0-5); }
|
|
@@ -99,29 +99,29 @@
|
|
|
99
99
|
.ds-py-1 { padding-block: var(--ds-space-1); }
|
|
100
100
|
.ds-py-1\.5 { padding-block: var(--ds-space-1-5); }
|
|
101
101
|
|
|
102
|
-
.ds-pb-2 { padding-
|
|
103
|
-
.ds-pb-6 { padding-
|
|
102
|
+
.ds-pb-2 { padding-block-end: var(--ds-space-2); }
|
|
103
|
+
.ds-pb-6 { padding-block-end: var(--ds-space-6); }
|
|
104
104
|
|
|
105
|
-
.ds-pl-2 { padding-
|
|
106
|
-
.ds-pl-3 { padding-
|
|
107
|
-
.ds-pl-4 { padding-
|
|
108
|
-
.ds-pr-2 { padding-
|
|
109
|
-
.ds-pr-3 { padding-
|
|
110
|
-
.ds-pr-4 { padding-
|
|
111
|
-
.ds-pr-7 { padding-
|
|
112
|
-
.ds-pr-10 { padding-
|
|
105
|
+
.ds-pl-2 { padding-inline-start: var(--ds-space-2); }
|
|
106
|
+
.ds-pl-3 { padding-inline-start: var(--ds-space-3); }
|
|
107
|
+
.ds-pl-4 { padding-inline-start: var(--ds-space-4); }
|
|
108
|
+
.ds-pr-2 { padding-inline-end: var(--ds-space-2); }
|
|
109
|
+
.ds-pr-3 { padding-inline-end: var(--ds-space-3); }
|
|
110
|
+
.ds-pr-4 { padding-inline-end: var(--ds-space-4); }
|
|
111
|
+
.ds-pr-7 { padding-inline-end: 1.75rem; }
|
|
112
|
+
.ds-pr-10 { padding-inline-end: var(--ds-space-10); }
|
|
113
113
|
|
|
114
114
|
/* --- Gap (fractional) --- */
|
|
115
115
|
.ds-gap-0\.5 { gap: var(--ds-space-0-5); }
|
|
116
116
|
.ds-gap-1\.5 { gap: var(--ds-space-1-5); }
|
|
117
117
|
|
|
118
118
|
/* --- Space-Y (owl selector) --- */
|
|
119
|
-
.ds-space-y-1 > * + * { margin-
|
|
120
|
-
.ds-space-y-2 > * + * { margin-
|
|
121
|
-
.ds-space-y-3 > * + * { margin-
|
|
122
|
-
.ds-space-y-4 > * + * { margin-
|
|
123
|
-
.ds-space-y-6 > * + * { margin-
|
|
124
|
-
.ds-space-y-8 > * + * { margin-
|
|
119
|
+
.ds-space-y-1 > * + * { margin-block-start: var(--ds-space-1); }
|
|
120
|
+
.ds-space-y-2 > * + * { margin-block-start: var(--ds-space-2); }
|
|
121
|
+
.ds-space-y-3 > * + * { margin-block-start: var(--ds-space-3); }
|
|
122
|
+
.ds-space-y-4 > * + * { margin-block-start: var(--ds-space-4); }
|
|
123
|
+
.ds-space-y-6 > * + * { margin-block-start: var(--ds-space-6); }
|
|
124
|
+
.ds-space-y-8 > * + * { margin-block-start: var(--ds-space-8); }
|
|
125
125
|
|
|
126
126
|
/* --- Responsive: Padding --- */
|
|
127
127
|
@media (min-width: 768px) {
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
.ds-md\:py-16 { padding-block: var(--ds-space-16); }
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
@media (min-width: 1024px) {
|
|
136
|
+
@media (min-width: 1024px) /* --ds-breakpoint-lg */ {
|
|
137
137
|
.ds-lg\:px-6 { padding-inline: var(--ds-space-6); }
|
|
138
138
|
.ds-lg\:px-8 { padding-inline: var(--ds-space-8); }
|
|
139
139
|
.ds-lg\:py-16 { padding-block: var(--ds-space-16); }
|
package/src/utilities/text.css
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
.ds-md\:text-4xl { font-size: var(--ds-text-4xl); }
|
|
29
29
|
.ds-md\:text-6xl { font-size: var(--ds-text-6xl); }
|
|
30
30
|
}
|
|
31
|
-
@media (min-width: 1024px) {
|
|
31
|
+
@media (min-width: 1024px) /* --ds-breakpoint-lg */ {
|
|
32
32
|
.ds-lg\:text-xl { font-size: var(--ds-text-xl); }
|
|
33
33
|
.ds-lg\:text-2xl { font-size: var(--ds-text-2xl); }
|
|
34
34
|
.ds-lg\:text-3xl { font-size: var(--ds-text-3xl); }
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
.ds-font-bold { font-weight: var(--ds-weight-bold); }
|
|
46
46
|
|
|
47
47
|
/* --- Text Alignment --- */
|
|
48
|
-
.ds-text-left { text-align:
|
|
48
|
+
.ds-text-left { text-align: start; }
|
|
49
49
|
.ds-text-center { text-align: center; }
|
|
50
|
-
.ds-text-right { text-align:
|
|
50
|
+
.ds-text-right { text-align: end; }
|
|
51
51
|
.ds-text-balance { text-wrap: balance; }
|
|
52
52
|
|
|
53
53
|
/* --- Text Color --- */
|
|
@@ -164,10 +164,10 @@
|
|
|
164
164
|
|
|
165
165
|
/* --- Border --- */
|
|
166
166
|
.ds-border { border: 1px solid var(--ds-color-border); }
|
|
167
|
-
.ds-border-t { border-
|
|
168
|
-
.ds-border-b { border-
|
|
169
|
-
.ds-border-l { border-
|
|
170
|
-
.ds-border-r { border-
|
|
167
|
+
.ds-border-t { border-block-start: 1px solid var(--ds-color-border); }
|
|
168
|
+
.ds-border-b { border-block-end: 1px solid var(--ds-color-border); }
|
|
169
|
+
.ds-border-l { border-inline-start: 1px solid var(--ds-color-border); }
|
|
170
|
+
.ds-border-r { border-inline-end: 1px solid var(--ds-color-border); }
|
|
171
171
|
.ds-border-none { border: none; }
|
|
172
172
|
|
|
173
173
|
/* --- Border Color --- */
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
.ds-border-nav { border-color: var(--ds-color-nav-border); }
|
|
180
180
|
|
|
181
181
|
/* --- Divide --- */
|
|
182
|
-
.ds-divide-y > * + * { border-
|
|
182
|
+
.ds-divide-y > * + * { border-block-start: 1px solid var(--ds-color-border); }
|
|
183
183
|
|
|
184
184
|
/* --- Border Radius --- */
|
|
185
185
|
.ds-rounded-none { border-radius: var(--ds-radius-none); }
|