A Lit-only patch: the components no longer lose their styles when mounted inside another element's shadow root.
- Fixed: styles dropped when nested in a shadow root
- Fixed: focus ring missing on the trigger in Safari
A Lit-only patch: the components no longer lose their styles when mounted inside another element's shadow root.
The Angular package now exposes its state as signals, so it works with zoneless change detection out of the box.
Drive the palette from anywhere in your tree: open it, close it and read what's selected with one hook.
Control your Mac's extensions from the phone, and pick a wallpaper without waiting for previews to load.
See who's connected to your Socket at a glance, and drop a client without opening the window.
The socket server no longer drops idle clients after an hour, and its Docker image is a third smaller.
You can now jump between extensions with ⌘⇧K, and the command palette layout has been reworked for faster scanning.
@slash.tools/angular ships as a standalone component, so it works without NgModules or CUSTOM_ELEMENTS_SCHEMA in most setups.
1234567891011import { Component } from '@angular/core'import '@slash.tools/angular'
@Component({ selector: 'app-root', standalone: true, template: `<slash-launcher [apiKey]="apiKey" theme="system" />`})export class AppComponent { apiKey = process.env['SLASH_API_KEY']}Theme colors and radius are now exposed as CSS custom properties on the host element, scoped per-instance instead of globally.
1234slash-launcher { --slash-accent: #7c5cff; --slash-radius: 10px;}@slash.tools/angular ships as a standalone component, so it works without NgModules or CUSTOM_ELEMENTS_SCHEMA in most setups.
1234567891011import { Component } from '@angular/core'import '@slash.tools/angular'
@Component({ selector: 'app-root', standalone: true, template: `<slash-launcher [apiKey]="apiKey" theme="system" />`})export class AppComponent { apiKey = process.env['SLASH_API_KEY']}Theme colors and radius are now exposed as CSS custom properties on the host element, scoped per-instance instead of globally.
1234slash-launcher { --slash-accent: #7c5cff; --slash-radius: 10px;}@slash.tools/angular ships as a standalone component, so it works without NgModules or CUSTOM_ELEMENTS_SCHEMA in most setups.
1234567891011import { Component } from '@angular/core'import '@slash.tools/angular'
@Component({ selector: 'app-root', standalone: true, template: `<slash-launcher [apiKey]="apiKey" theme="system" />`})export class AppComponent { apiKey = process.env['SLASH_API_KEY']}Theme colors and radius are now exposed as CSS custom properties on the host element, scoped per-instance instead of globally.
1234slash-launcher { --slash-accent: #7c5cff; --slash-radius: 10px;}Switching macOS Spaces while the palette was open could leave it visually stuck open on the previous Space. It now closes reliably on Space changes.
Closing the launcher with Escape while an item was still loading could leave focus trapped inside a detached node. Focus now always returns to the element that had it before the launcher opened.
Closing the launcher with Escape while an item was still loading could leave focus trapped inside a detached node. Focus now always returns to the element that had it before the launcher opened.
Closing the launcher with Escape while an item was still loading could leave focus trapped inside a detached node. Focus now always returns to the element that had it before the launcher opened.
The launcher on your phone: the same extensions, search and clipboard, built for one hand.
Long-running sessions with clipboard history enabled could slowly accumulate memory. Clipboard entries are now released properly when trimmed from history.
@slash.tools/react rendered light mode markup on the server regardless of the client's OS preference, which React would then flag as a hydration mismatch on first paint.
12345// Before: hydration warning on first paint<Slash apiKey={apiKey} theme="system" />
// After: matches automatically, no change needed<Slash apiKey={apiKey} theme="system" />@slash.tools/react rendered light mode markup on the server regardless of the client's OS preference, which React would then flag as a hydration mismatch on first paint.
12345// Before: hydration warning on first paint<Slash apiKey={apiKey} theme="system" />
// After: matches automatically, no change needed<Slash apiKey={apiKey} theme="system" />@slash.tools/react rendered light mode markup on the server regardless of the client's OS preference, which React would then flag as a hydration mismatch on first paint.
12345// Before: hydration warning on first paint<Slash apiKey={apiKey} theme="system" />
// After: matches automatically, no change needed<Slash apiKey={apiKey} theme="system" />You can now create and share custom themes, and assign your own keyboard shortcuts per extension from Settings.
slash-launcher is now available as a standalone Lit-powered custom element for teams not using React or Angular.
12<script type="module" src="https://unpkg.com/@slash.tools/web"></script><slash-launcher api-key="YOUR_API_KEY"></slash-launcher>slash-launcher is now available as a standalone Lit-powered custom element for teams not using React or Angular.
12<script type="module" src="https://unpkg.com/@slash.tools/web"></script><slash-launcher api-key="YOUR_API_KEY"></slash-launcher>slash-launcher is now available as a standalone Lit-powered custom element for teams not using React or Angular.
12<script type="module" src="https://unpkg.com/@slash.tools/web"></script><slash-launcher api-key="YOUR_API_KEY"></slash-launcher>