@dillingerstaffing/strand-vue 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/strand-ui.css +153 -0
- package/package.json +2 -2
package/dist/css/strand-ui.css
CHANGED
|
@@ -1174,6 +1174,32 @@
|
|
|
1174
1174
|
outline-offset: 2px;
|
|
1175
1175
|
}
|
|
1176
1176
|
|
|
1177
|
+
/* ── CTA link variant ── */
|
|
1178
|
+
.strand-link--cta {
|
|
1179
|
+
display: inline-flex;
|
|
1180
|
+
align-items: center;
|
|
1181
|
+
min-height: var(--strand-touch-target);
|
|
1182
|
+
padding-block: var(--strand-space-2);
|
|
1183
|
+
font-size: var(--strand-text-sm);
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
.strand-link--cta:hover {
|
|
1187
|
+
color: var(--strand-blue-vivid);
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
/* ── Monospace link variant (footer, overline-style) ── */
|
|
1191
|
+
.strand-link--mono {
|
|
1192
|
+
font-family: var(--strand-font-mono);
|
|
1193
|
+
font-size: var(--strand-text-xs);
|
|
1194
|
+
letter-spacing: var(--strand-tracking-wider);
|
|
1195
|
+
color: var(--strand-gray-400);
|
|
1196
|
+
background-image: none;
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
.strand-link--mono:hover {
|
|
1200
|
+
color: var(--strand-blue-primary);
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1177
1203
|
/* ── Reduced motion ── */
|
|
1178
1204
|
@media (prefers-reduced-motion: reduce) {
|
|
1179
1205
|
.strand-link {
|
|
@@ -1356,6 +1382,21 @@
|
|
|
1356
1382
|
}
|
|
1357
1383
|
}
|
|
1358
1384
|
|
|
1385
|
+
/* ── Glassmorphic variant (DL 11.5: "white or glassmorphic") ── */
|
|
1386
|
+
.strand-nav--glass {
|
|
1387
|
+
position: fixed;
|
|
1388
|
+
top: 0;
|
|
1389
|
+
left: 0;
|
|
1390
|
+
right: 0;
|
|
1391
|
+
z-index: 100;
|
|
1392
|
+
height: auto;
|
|
1393
|
+
padding: var(--strand-space-4) 0;
|
|
1394
|
+
background: rgba(250, 252, 254, 0.85);
|
|
1395
|
+
backdrop-filter: blur(12px);
|
|
1396
|
+
-webkit-backdrop-filter: blur(12px);
|
|
1397
|
+
border-bottom: 1px solid rgba(148, 163, 184, 0.1);
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1359
1400
|
/* ── Reduced motion ── */
|
|
1360
1401
|
@media (prefers-reduced-motion: reduce) {
|
|
1361
1402
|
.strand-nav__link,
|
|
@@ -1593,11 +1634,35 @@
|
|
|
1593
1634
|
.strand-reveal-group > .strand-reveal:nth-child(5) { transition-delay: calc(var(--strand-stagger-delay) * 4); }
|
|
1594
1635
|
.strand-reveal-group > .strand-reveal:nth-child(6) { transition-delay: var(--strand-duration-slow); }
|
|
1595
1636
|
|
|
1637
|
+
/* ── CSS-only scroll-driven animation (no JS required) ── */
|
|
1638
|
+
@supports (animation-timeline: view()) {
|
|
1639
|
+
.strand-reveal {
|
|
1640
|
+
opacity: 0;
|
|
1641
|
+
transform: translateY(24px);
|
|
1642
|
+
transition: none;
|
|
1643
|
+
animation: strand-reveal-up linear both;
|
|
1644
|
+
animation-timeline: view();
|
|
1645
|
+
animation-range: entry 0% entry 100%;
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1648
|
+
.strand-reveal-group > .strand-reveal {
|
|
1649
|
+
animation: strand-reveal-up linear both;
|
|
1650
|
+
animation-timeline: view();
|
|
1651
|
+
animation-range: entry 0% entry 100%;
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
@keyframes strand-reveal-up {
|
|
1655
|
+
from { opacity: 0; transform: translateY(24px); }
|
|
1656
|
+
to { opacity: 1; transform: translateY(0); }
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1596
1660
|
@media (prefers-reduced-motion: reduce) {
|
|
1597
1661
|
.strand-reveal {
|
|
1598
1662
|
opacity: 1;
|
|
1599
1663
|
transform: none;
|
|
1600
1664
|
transition: none;
|
|
1665
|
+
animation: none;
|
|
1601
1666
|
}
|
|
1602
1667
|
}
|
|
1603
1668
|
|
|
@@ -1634,6 +1699,16 @@
|
|
|
1634
1699
|
background-color: var(--strand-surface-recessed);
|
|
1635
1700
|
}
|
|
1636
1701
|
|
|
1702
|
+
/* ── Compact variant ── */
|
|
1703
|
+
.strand-section--compact {
|
|
1704
|
+
padding-block: var(--strand-space-12);
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
/* ── Border variant ── */
|
|
1708
|
+
.strand-section--border-top {
|
|
1709
|
+
border-top: 1px solid var(--strand-gray-200);
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1637
1712
|
|
|
1638
1713
|
/* Select */
|
|
1639
1714
|
/*! Strand UI | MIT License | dillingerstaffing.com */
|
|
@@ -2897,3 +2972,81 @@
|
|
|
2897
2972
|
color: var(--strand-gray-400);
|
|
2898
2973
|
}
|
|
2899
2974
|
|
|
2975
|
+
/* ══════════════════════════════════════════════════
|
|
2976
|
+
UTILITIES
|
|
2977
|
+
══════════════════════════════════════════════════ */
|
|
2978
|
+
|
|
2979
|
+
/* ── Screen reader only ── */
|
|
2980
|
+
.strand-sr-only {
|
|
2981
|
+
position: absolute;
|
|
2982
|
+
width: 1px;
|
|
2983
|
+
height: 1px;
|
|
2984
|
+
padding: 0;
|
|
2985
|
+
margin: -1px;
|
|
2986
|
+
overflow: hidden;
|
|
2987
|
+
clip: rect(0, 0, 0, 0);
|
|
2988
|
+
white-space: nowrap;
|
|
2989
|
+
border: 0;
|
|
2990
|
+
}
|
|
2991
|
+
|
|
2992
|
+
/* ── Section header ──
|
|
2993
|
+
Derivation: section-boundary production (DL 11.10).
|
|
2994
|
+
Centered heading group with bottom margin. */
|
|
2995
|
+
.strand-section-header {
|
|
2996
|
+
margin-bottom: clamp(2rem, 4vw, 4rem);
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2999
|
+
/* ── Step indicator ──
|
|
3000
|
+
Numbered position indicator for sequential steps. */
|
|
3001
|
+
.strand-step-indicator {
|
|
3002
|
+
display: inline-flex;
|
|
3003
|
+
align-items: center;
|
|
3004
|
+
justify-content: center;
|
|
3005
|
+
width: var(--strand-space-8);
|
|
3006
|
+
height: var(--strand-space-8);
|
|
3007
|
+
border-radius: var(--strand-radius-full);
|
|
3008
|
+
background: var(--strand-blue-glow);
|
|
3009
|
+
color: var(--strand-blue-primary);
|
|
3010
|
+
font-family: var(--strand-font-mono);
|
|
3011
|
+
font-size: var(--strand-text-sm);
|
|
3012
|
+
font-weight: var(--strand-weight-semibold);
|
|
3013
|
+
margin-bottom: var(--strand-space-3);
|
|
3014
|
+
}
|
|
3015
|
+
|
|
3016
|
+
/* ── Text center ── */
|
|
3017
|
+
.strand-text-center {
|
|
3018
|
+
text-align: center;
|
|
3019
|
+
}
|
|
3020
|
+
|
|
3021
|
+
/* ── Code name (mono identifier heading) ── */
|
|
3022
|
+
.strand-code-name {
|
|
3023
|
+
font-family: var(--strand-font-mono);
|
|
3024
|
+
font-size: var(--strand-text-base);
|
|
3025
|
+
font-weight: var(--strand-weight-semibold);
|
|
3026
|
+
color: var(--strand-blue-midnight);
|
|
3027
|
+
margin: 0;
|
|
3028
|
+
}
|
|
3029
|
+
|
|
3030
|
+
/* ── Heading small (section heading inside cards) ── */
|
|
3031
|
+
.strand-heading--sm {
|
|
3032
|
+
font-size: var(--strand-text-lg);
|
|
3033
|
+
font-weight: var(--strand-weight-medium);
|
|
3034
|
+
color: var(--strand-gray-800);
|
|
3035
|
+
margin: 0;
|
|
3036
|
+
}
|
|
3037
|
+
|
|
3038
|
+
/* ── Viewport flex modifiers (component showcase layout) ── */
|
|
3039
|
+
.strand-viewport--flex {
|
|
3040
|
+
display: flex;
|
|
3041
|
+
align-items: center;
|
|
3042
|
+
gap: var(--strand-space-4);
|
|
3043
|
+
flex-wrap: wrap;
|
|
3044
|
+
}
|
|
3045
|
+
|
|
3046
|
+
.strand-viewport--flex-col {
|
|
3047
|
+
display: flex;
|
|
3048
|
+
flex-direction: column;
|
|
3049
|
+
align-items: flex-start;
|
|
3050
|
+
gap: var(--strand-space-4);
|
|
3051
|
+
}
|
|
3052
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dillingerstaffing/strand-vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Strand UI - Vue 3 component library built on the Strand Design Language",
|
|
5
5
|
"author": "Dillinger Staffing <engineering@dillingerstaffing.com> (https://dillingerstaffing.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"vue": "^3.4.0"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@dillingerstaffing/strand": "^0.
|
|
55
|
+
"@dillingerstaffing/strand": "^0.13.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@testing-library/jest-dom": "^6.6.0",
|