Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .changeset/data-slot-one.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
"fulldev-ui": minor
---

Upgrade all Data Slot primitives and registry dependencies to 1.0.1. Use recommended
lazy mounting for Select, Tooltip, Hover Card and Navigation Menu, with an explicit
mountStrategy="eager" opt-in for integrations that query closed content. Discover nested
comboboxes and hover cards in retained content without duplicate initialization.

Release outgoing controllers on Astro page swaps so open overlays cannot leave stale
modal stacks or scroll locks. Give CommandDialog a trigger slot and correct the
sidebar search composition for strict nested ownership.

Use native autofocus for command palettes and native link activation for keyboard
commands. Align Slider defaults and Tabs values with the upstream API, and make
block dropdown links actual accessible menu items.

Use shadcn button defaults and consistent overlay layers so nested popups receive
pointer input. Form submissions should explicitly set type="submit".

Keep Data Slot modal stack layers and place floating positioners above them so
Select and other popups remain clickable inside dialogs.
37 changes: 19 additions & 18 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
"stop": "lsof -tiTCP:4321 -sTCP:LISTEN | xargs kill 2>/dev/null || true",
"preview": "pnpm stop && pnpm build && astro preview --host 127.0.0.1 --port 4321",
"typecheck": "astro check",
"test:interactions": "playwright test --config playwright.interactions.config.ts",
"check": "pnpm format:check && pnpm typecheck",
"build": "astro build",
"build:prod": "pnpm check && pnpm registry:build && pnpm build",
Expand All @@ -72,24 +73,24 @@
"dependencies": {
"@astrojs/mdx": "^5.0.6",
"@astrojs/sitemap": "^3.7.3",
"@data-slot/accordion": "^0.2.166",
"@data-slot/alert-dialog": "^0.2.166",
"@data-slot/collapsible": "^0.2.166",
"@data-slot/combobox": "^0.2.166",
"@data-slot/command": "^0.2.166",
"@data-slot/core": "^0.2.166",
"@data-slot/dialog": "^0.2.166",
"@data-slot/dropdown-menu": "^0.2.166",
"@data-slot/hover-card": "^0.2.166",
"@data-slot/navigation-menu": "^0.2.166",
"@data-slot/popover": "^0.2.166",
"@data-slot/radio-group": "^0.2.166",
"@data-slot/select": "^0.2.166",
"@data-slot/slider": "^0.2.166",
"@data-slot/switch": "^0.2.166",
"@data-slot/tabs": "^0.2.166",
"@data-slot/toggle": "^0.2.166",
"@data-slot/tooltip": "^0.2.166",
"@data-slot/accordion": "^1.0.1",
"@data-slot/alert-dialog": "^1.0.1",
"@data-slot/collapsible": "^1.0.1",
"@data-slot/combobox": "^1.0.1",
"@data-slot/command": "^1.0.1",
"@data-slot/core": "^1.0.1",
"@data-slot/dialog": "^1.0.1",
"@data-slot/dropdown-menu": "^1.0.1",
"@data-slot/hover-card": "^1.0.1",
"@data-slot/navigation-menu": "^1.0.1",
"@data-slot/popover": "^1.0.1",
"@data-slot/radio-group": "^1.0.1",
"@data-slot/select": "^1.0.1",
"@data-slot/slider": "^1.0.1",
"@data-slot/switch": "^1.0.1",
"@data-slot/tabs": "^1.0.1",
"@data-slot/toggle": "^1.0.1",
"@data-slot/tooltip": "^1.0.1",
"@fontsource-variable/geist": "^5.2.9",
"@fontsource-variable/geist-mono": "^5.2.8",
"@lexingtonthemes/seo": "^0.2.0",
Expand Down
1 change: 1 addition & 0 deletions playwright.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { defineConfig } from "@playwright/test"

export default defineConfig({
testDir: "./tests",
testMatch: "visual.spec.ts",
forbidOnly: !!process.env.CI,
workers: 2,
reporter: [
Expand Down
42 changes: 42 additions & 0 deletions playwright.interactions.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { defineConfig } from "@playwright/test"

import config from "./playwright.config"

export default defineConfig({
...config,
testMatch: ["data-slot.spec.ts", "clipboard.spec.ts"],
reporter: [["list"]],
use: {
...config.use,
reducedMotion: "no-preference",
trace: "retain-on-failure",
},
projects: [
{
name: "chromium-desktop",
use: { browserName: "chromium", viewport: { width: 1440, height: 1000 } },
},
{
name: "chromium-mobile",
use: {
browserName: "chromium",
viewport: { width: 390, height: 844 },
isMobile: true,
hasTouch: true,
},
},
{
name: "webkit-desktop",
use: { browserName: "webkit", viewport: { width: 1440, height: 1000 } },
},
{
name: "webkit-mobile",
use: {
browserName: "webkit",
viewport: { width: 390, height: 844 },
isMobile: true,
hasTouch: true,
},
},
],
})
Loading
Loading