@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: oklch(var(--p, 55% 0.2 270) / 1);
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(var(--bc, 20% 0 0) / 0.6);
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(var(--bc, 20% 0 0) / 0.85);
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: oklch(var(--bc, 20% 0 0) / 1);
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 oklch(var(--p, 55% 0.2 270) / 1);
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: oklch(var(--p, 55% 0.2 270) / 1);
246
+ color: var(--color-primary, oklch(55% 0.2 270));
247
247
  }
248
248
 
249
249
  /* Underline: button bottom padding so indicator aligns */
@@ -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}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joewinke/jatui",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "private": false,
5
5
  "description": "Shared Svelte 5 component library for JAT projects",
6
6
  "type": "module",