@dryui/ui 1.3.0 → 1.3.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.
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
$effect(() => {
|
|
58
58
|
node.style.setProperty('--marquee-duration', `${duration}s`);
|
|
59
59
|
node.style.setProperty('--marquee-gap', gap);
|
|
60
|
+
node.style.setProperty('--marquee-shift', `${contentSize}px`);
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
63
|
|
|
@@ -100,7 +101,6 @@
|
|
|
100
101
|
[data-marquee-track] {
|
|
101
102
|
display: grid;
|
|
102
103
|
grid-auto-flow: var(--_flow, column);
|
|
103
|
-
gap: var(--marquee-gap, 1rem);
|
|
104
104
|
animation-duration: var(--dry-marquee-speed);
|
|
105
105
|
animation-timing-function: linear;
|
|
106
106
|
animation-iteration-count: infinite;
|
|
@@ -113,6 +113,17 @@
|
|
|
113
113
|
gap: var(--marquee-gap, 1rem);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
/* Trailing padding on content (not gap on track) keeps the keyframe loop seamless. */
|
|
117
|
+
[data-marquee][data-direction='left'] [data-marquee-content],
|
|
118
|
+
[data-marquee][data-direction='right'] [data-marquee-content] {
|
|
119
|
+
padding-inline-end: var(--marquee-gap, 1rem);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
[data-marquee][data-direction='up'] [data-marquee-content],
|
|
123
|
+
[data-marquee][data-direction='down'] [data-marquee-content] {
|
|
124
|
+
padding-block-end: var(--marquee-gap, 1rem);
|
|
125
|
+
}
|
|
126
|
+
|
|
116
127
|
[data-marquee][data-direction='left'] [data-marquee-track],
|
|
117
128
|
[data-marquee][data-direction='right'] [data-marquee-track] {
|
|
118
129
|
animation-name: marquee-horizontal;
|
|
@@ -137,7 +148,7 @@
|
|
|
137
148
|
transform: translateX(0);
|
|
138
149
|
}
|
|
139
150
|
to {
|
|
140
|
-
transform: translateX(-
|
|
151
|
+
transform: translateX(calc(-1 * var(--marquee-shift, 0px)));
|
|
141
152
|
}
|
|
142
153
|
}
|
|
143
154
|
|
|
@@ -146,7 +157,7 @@
|
|
|
146
157
|
transform: translateY(0);
|
|
147
158
|
}
|
|
148
159
|
to {
|
|
149
|
-
transform: translateY(-
|
|
160
|
+
transform: translateY(calc(-1 * var(--marquee-shift, 0px)));
|
|
150
161
|
}
|
|
151
162
|
}
|
|
152
163
|
|
|
@@ -79,6 +79,14 @@
|
|
|
79
79
|
justify-content: var(--dry-tabs-list-justify, start);
|
|
80
80
|
border-bottom: 1px solid var(--dry-color-stroke-weak);
|
|
81
81
|
gap: 0;
|
|
82
|
+
overflow-x: auto;
|
|
83
|
+
overscroll-behavior-x: contain;
|
|
84
|
+
scrollbar-width: none;
|
|
85
|
+
contain: inline-size;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
[data-tabs-list]::-webkit-scrollbar {
|
|
89
|
+
display: none;
|
|
82
90
|
}
|
|
83
91
|
|
|
84
92
|
[data-tabs-list][data-orientation='vertical'] {
|
|
@@ -86,5 +94,9 @@
|
|
|
86
94
|
grid-auto-columns: initial;
|
|
87
95
|
border-bottom: none;
|
|
88
96
|
border-right: 1px solid var(--dry-color-stroke-weak);
|
|
97
|
+
overflow-x: visible;
|
|
98
|
+
overflow-y: auto;
|
|
99
|
+
overscroll-behavior-x: auto;
|
|
100
|
+
overscroll-behavior-y: contain;
|
|
89
101
|
}
|
|
90
102
|
</style>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dryui/ui",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Zero-dependency styled Svelte 5 components with scoped styles and --dry-* CSS variable theming.",
|
|
5
5
|
"author": "Rob Balfre",
|
|
6
6
|
"license": "MIT",
|
|
@@ -779,7 +779,7 @@
|
|
|
779
779
|
"postpack": "bun ../../scripts/postpack-exports.ts"
|
|
780
780
|
},
|
|
781
781
|
"dependencies": {
|
|
782
|
-
"@dryui/primitives": "^1.3.
|
|
782
|
+
"@dryui/primitives": "^1.3.1"
|
|
783
783
|
},
|
|
784
784
|
"peerDependencies": {
|
|
785
785
|
"svelte": "^5.55.1"
|