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
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
"vite-plus": "^0.3.1"
},
"overrides": {
"dompurify": "3.4.13"
"dompurify": "3.4.16"
},
"engines": {
"node": ">=24.0.0"
Expand Down
27 changes: 11 additions & 16 deletions src/pages/docs/catalog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1069,15 +1069,13 @@ const overlays = componentPages('Overlays', [
themes: ['dropdown-menu', 'context-menu'],
},
{
title: 'Drawer and Sheet',
// Not primitive-less like the experimentalControls set above — both are
// straight aliases of @askrjs/ui/dialog (askr-themes/src/entries/
// {drawer,sheet}.ts). Sheet gets real data-side positioning CSS; Drawer
// has none at all — neither has distinct gesture or animation behavior
// of its own beyond what Dialog already provides.
title: 'Sheet',
path: 'drawer-and-sheet',
// Preserve the published documentation URL. Sheet composes Dialog behavior
// with side-aware content and styled text/layout parts.
status: 'experimental',
ui: [],
themes: ['drawer', 'sheet'],
ui: ['dialog'],
themes: ['sheet'],
},
]);
const navigation = componentPages('Navigation and chrome', [
Expand Down Expand Up @@ -1137,16 +1135,13 @@ const feedback = componentPages('Disclosure and feedback', [
themes: ['progress'],
},
{
title: 'Toast and Sonner',
// Toast (from @askrjs/ui) is a real, working headless primitive. Sonner
// (themes/sonner, aliasing Toaster) is not a queueing/stacking/dismiss
// notifier system the way shadcn's sonner or the original Sonner library
// is — it's a bare presentational div wrapper with no imperative toast()
// API, timing, or stacking logic of its own. Don't let the shared name
// imply parity with those.
title: 'Toast and Toaster',
path: 'toast-and-sonner',
// Preserve the published URL. Toast owns notification behavior; Toaster is
// a presentational host available through the retained aggregate entry.
status: 'limited',
ui: ['toast'],
themes: ['toast', 'sonner'],
themes: ['toast', 'components'],
},
{
// Stat (Stat/StatLabel/StatValue/StatDescription) IS a real export, but
Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/component-demos.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ const demos: Record<string, ComponentDemoDefinition> = {
'Open actions and select an item.',
MenuDemo
),
'Toast and Sonner': defineDemo(
'Toast and Toaster': defineDemo(
'Try Toast',
'Dismiss transient feedback from the viewport.',
ToastDemo
Expand Down
110 changes: 55 additions & 55 deletions src/pages/docs/heading-bodies.ts

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions src/pages/docs/usage-guide.ts
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ function ProjectStatusSelect() {
</AlertDialog>`,
],
[
/^Drawer and Sheet$/,
/^Sheet$/,
`import { Button, Sheet, SheetClose, SheetContent, SheetDescription, SheetTitle, SheetTrigger } from '@askrjs/themes/components';

<Sheet>
Expand Down Expand Up @@ -576,7 +576,7 @@ const columns: readonly VirtualTableColumn<Project>[] = [
<Progress value={uploaded()} max={total()} aria-label="Upload progress" />`,
],
[
/Toast|Sonner/,
/Toast|Toaster/,
`import { Toast, ToastDescription, ToastHost, ToastTitle } from '@askrjs/themes/components';

<ToastHost>
Expand Down Expand Up @@ -1330,11 +1330,11 @@ git diff -- skills`,
[
/Vite Integration and Document Ownership/,
'Install the Askr Vite plugin once and keep the HTML document owned by the selected SPA, SSR, or SSG entry instead of generating competing shells.',
`import { askrVitePlugin } from '@askrjs/vite';
`import { askr } from '@askrjs/vite';
import { defineConfig } from 'vite';

export default defineConfig({
plugins: [askrVitePlugin()],
plugins: [askr()],
});`,
],
[
Expand Down
2 changes: 1 addition & 1 deletion tests/docs-catalog.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ describe('documentation catalog', () => {
'Popover',
'Tooltip',
'Menu, Dropdown, and Context Menu',
'Toast and Sonner',
'Toast and Toaster',
];
expect(componentDemoTitles).toEqual(expect.arrayContaining(expected));
for (const title of expected) expect(componentDemoFor(title)).toBeTruthy();
Expand Down
Loading