@joewinke/jatui 0.2.3 → 0.2.4
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.
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
left: 0;
|
|
190
190
|
width: 1px;
|
|
191
191
|
height: 2px;
|
|
192
|
-
background-color:
|
|
192
|
+
background-color: var(--color-primary, oklch(55% 0.2 270));
|
|
193
193
|
transform-origin: left center;
|
|
194
194
|
border-radius: 1px;
|
|
195
195
|
transition:
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
border: none;
|
|
217
217
|
background: transparent;
|
|
218
218
|
cursor: pointer;
|
|
219
|
-
color: oklch
|
|
219
|
+
color: color-mix(in oklch, var(--color-base-content, oklch(20% 0 0)) 60%, transparent);
|
|
220
220
|
transition:
|
|
221
221
|
color var(--motion-fast, 150ms) var(--motion-glide, cubic-bezier(0.16, 1, 0.3, 1));
|
|
222
222
|
white-space: nowrap;
|
|
@@ -224,11 +224,11 @@
|
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
.tab-btn:hover:not(:disabled) {
|
|
227
|
-
color: oklch
|
|
227
|
+
color: color-mix(in oklch, var(--color-base-content, oklch(20% 0 0)) 85%, transparent);
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
.tab-btn.tab-active {
|
|
231
|
-
color:
|
|
231
|
+
color: var(--color-base-content, oklch(20% 0 0));
|
|
232
232
|
}
|
|
233
233
|
|
|
234
234
|
.tab-btn:disabled {
|
|
@@ -237,13 +237,13 @@
|
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
.tab-btn:focus-visible {
|
|
240
|
-
outline: 2px solid
|
|
240
|
+
outline: 2px solid var(--color-primary, oklch(55% 0.2 270));
|
|
241
241
|
outline-offset: 2px;
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
/* Underline: active tab gets primary color */
|
|
245
245
|
.tabs-underline .tab-btn.tab-active {
|
|
246
|
-
color:
|
|
246
|
+
color: var(--color-primary, oklch(55% 0.2 270));
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
/* Underline: button bottom padding so indicator aligns */
|
package/dist/dnd/types.d.ts
CHANGED
|
@@ -2,7 +2,16 @@ import type { Input } from '@atlaskit/pragmatic-drag-and-drop/types';
|
|
|
2
2
|
export interface DragData extends Record<string | symbol, unknown> {
|
|
3
3
|
readonly type: string;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Module-scoped Symbol brand for board-managed items.
|
|
7
|
+
* ⚠ Symbol identity = module identity. Two copies of this module on one page makes
|
|
8
|
+
* isItemData() return false across the boundary — dnd/ must exist EXACTLY ONCE.
|
|
9
|
+
* Declare all @atlaskit/pragmatic-drag-and-drop* packages as peerDependencies in
|
|
10
|
+
* the host app (host owns the single instance).
|
|
11
|
+
*/
|
|
12
|
+
declare const ITEM: unique symbol;
|
|
5
13
|
export interface ItemDragData<TItem = unknown> extends DragData {
|
|
14
|
+
readonly [ITEM]: true;
|
|
6
15
|
readonly key: string;
|
|
7
16
|
readonly item: TItem;
|
|
8
17
|
readonly container: string;
|
|
@@ -112,6 +112,19 @@
|
|
|
112
112
|
pathLength > 0 ? `${pathLength * dashLength} ${pathLength * (1 - dashLength)}` : '0 1'
|
|
113
113
|
);
|
|
114
114
|
const dashOffset = $derived(pathLength > 0 ? (reverse ? -pathLength : pathLength) : 0);
|
|
115
|
+
|
|
116
|
+
// Per-instance keyframes go through a DOM style element created in JS.
|
|
117
|
+
// Do NOT inject them as an html-embedded style-tag string in the markup
|
|
118
|
+
// (and avoid even writing that tag literally in comments): tag-scanning
|
|
119
|
+
// preprocessors extract it as CSS, the uid placeholder fails PostCSS
|
|
120
|
+
// ("Unknown word uid"), and the consumer's whole build dies.
|
|
121
|
+
$effect(() => {
|
|
122
|
+
if (pathLength <= 0 || reducedMotion) return;
|
|
123
|
+
const styleEl = document.createElement('style');
|
|
124
|
+
styleEl.textContent = `@keyframes beam-sweep-${uid} { 0% { stroke-dashoffset: ${dashOffset}; } 100% { stroke-dashoffset: ${-dashOffset}; } }`;
|
|
125
|
+
document.head.appendChild(styleEl);
|
|
126
|
+
return () => styleEl.remove();
|
|
127
|
+
});
|
|
115
128
|
</script>
|
|
116
129
|
|
|
117
130
|
<!-- svelte-ignore a11y_aria_hidden_on_focusable -->
|
|
@@ -171,13 +184,3 @@
|
|
|
171
184
|
pointer-events: none;
|
|
172
185
|
}
|
|
173
186
|
</style>
|
|
174
|
-
|
|
175
|
-
<!-- Keyframes injected per-instance via a style tag to use the dynamic dashOffset -->
|
|
176
|
-
{#if pathLength > 0 && !reducedMotion}
|
|
177
|
-
{@html `<style>
|
|
178
|
-
@keyframes beam-sweep-${uid} {
|
|
179
|
-
0% { stroke-dashoffset: ${dashOffset}; }
|
|
180
|
-
100% { stroke-dashoffset: ${-dashOffset}; }
|
|
181
|
-
}
|
|
182
|
-
</style>`}
|
|
183
|
-
{/if}
|