* Studio: make toast text selectable Toast messages could not be highlighted or copied. Sonner's per-toast onPointerDown calls setPointerCapture(), which steals the mouse drag and stops the browser from starting a text selection. dismissible:false stops the capture but also disables the close button (same flag gates its onClick). Wrap the Toaster in a capture-phase pointerdown handler that swallows the event on toast text only, never on its buttons, so text becomes selectable while the close button and auto-dismiss keep working. * Studio: harden toast pointerdown guard for non-HTML targets Cast event.target to Element (closest() lives on Element, so SVG icon targets are covered too) and guard that closest is callable before using it. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .gitignore | ||
| .gitkeep | ||
| .npmrc | ||
| biome.json | ||
| components.json | ||
| data-designer.openapi (1).yaml | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||