@setsquare/ui 0.1.0 → 0.2.1
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.
- package/CHANGELOG.md +46 -0
- package/README.md +36 -1
- package/dist/index.d.ts +20 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/labels.d.ts +11 -0
- package/dist/lib/labels.d.ts.map +1 -0
- package/dist/lib/labels.js +15 -0
- package/dist/lib/labels.js.map +1 -0
- package/dist/shell/app-header.d.ts +4 -1
- package/dist/shell/app-header.d.ts.map +1 -1
- package/dist/shell/app-header.js +2 -2
- package/dist/shell/app-header.js.map +1 -1
- package/dist/shell/dashboard-shell.d.ts +1 -1
- package/dist/shell/dashboard-shell.d.ts.map +1 -1
- package/dist/shell/dashboard-shell.js +10 -14
- package/dist/shell/dashboard-shell.js.map +1 -1
- package/dist/shell/right-panel.d.ts +7 -1
- package/dist/shell/right-panel.d.ts.map +1 -1
- package/dist/shell/right-panel.js +6 -3
- package/dist/shell/right-panel.js.map +1 -1
- package/dist/shell/sidebar.d.ts +16 -2
- package/dist/shell/sidebar.d.ts.map +1 -1
- package/dist/shell/sidebar.js +17 -8
- package/dist/shell/sidebar.js.map +1 -1
- package/dist/styles/theme.css +2 -1
- package/dist/ui/alert.d.ts +16 -2
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +11 -4
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/calendar.d.ts +9 -2
- package/dist/ui/calendar.d.ts.map +1 -1
- package/dist/ui/calendar.js +6 -6
- package/dist/ui/calendar.js.map +1 -1
- package/dist/ui/checkbox.d.ts +5 -2
- package/dist/ui/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +4 -4
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/code-block.d.ts +10 -1
- package/dist/ui/code-block.d.ts.map +1 -1
- package/dist/ui/code-block.js +6 -3
- package/dist/ui/code-block.js.map +1 -1
- package/dist/ui/combo-box.d.ts +3 -2
- package/dist/ui/combo-box.d.ts.map +1 -1
- package/dist/ui/combo-box.js +2 -2
- package/dist/ui/combo-box.js.map +1 -1
- package/dist/ui/copy-button.d.ts +12 -1
- package/dist/ui/copy-button.d.ts.map +1 -1
- package/dist/ui/copy-button.js +18 -5
- package/dist/ui/copy-button.js.map +1 -1
- package/dist/ui/date-field.d.ts +22 -5
- package/dist/ui/date-field.d.ts.map +1 -1
- package/dist/ui/date-field.js +23 -17
- package/dist/ui/date-field.js.map +1 -1
- package/dist/ui/dialog.d.ts +19 -2
- package/dist/ui/dialog.d.ts.map +1 -1
- package/dist/ui/dialog.js +14 -8
- package/dist/ui/dialog.js.map +1 -1
- package/dist/ui/error-state.d.ts +17 -1
- package/dist/ui/error-state.d.ts.map +1 -1
- package/dist/ui/error-state.js +15 -5
- package/dist/ui/error-state.js.map +1 -1
- package/dist/ui/field.d.ts +8 -1
- package/dist/ui/field.d.ts.map +1 -1
- package/dist/ui/field.js +2 -2
- package/dist/ui/field.js.map +1 -1
- package/dist/ui/file-upload.d.ts +33 -1
- package/dist/ui/file-upload.d.ts.map +1 -1
- package/dist/ui/file-upload.js +43 -15
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/form.d.ts +3 -2
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +17 -9
- package/dist/ui/form.js.map +1 -1
- package/dist/ui/link-card.d.ts +6 -4
- package/dist/ui/link-card.d.ts.map +1 -1
- package/dist/ui/link-card.js +4 -5
- package/dist/ui/link-card.js.map +1 -1
- package/dist/ui/number-field.d.ts +3 -2
- package/dist/ui/number-field.d.ts.map +1 -1
- package/dist/ui/number-field.js +2 -2
- package/dist/ui/number-field.js.map +1 -1
- package/dist/ui/pagination.d.ts +30 -0
- package/dist/ui/pagination.d.ts.map +1 -0
- package/dist/ui/pagination.js +48 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/radio-group.d.ts +3 -1
- package/dist/ui/radio-group.d.ts.map +1 -1
- package/dist/ui/radio-group.js +2 -2
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/search.d.ts +23 -5
- package/dist/ui/search.d.ts.map +1 -1
- package/dist/ui/search.js +24 -10
- package/dist/ui/search.js.map +1 -1
- package/dist/ui/select.d.ts +3 -2
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +2 -2
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/selection-bar.d.ts +14 -1
- package/dist/ui/selection-bar.d.ts.map +1 -1
- package/dist/ui/selection-bar.js +15 -6
- package/dist/ui/selection-bar.js.map +1 -1
- package/dist/ui/sheet.d.ts +6 -1
- package/dist/ui/sheet.d.ts.map +1 -1
- package/dist/ui/sheet.js +2 -2
- package/dist/ui/sheet.js.map +1 -1
- package/dist/ui/tabs.d.ts +43 -0
- package/dist/ui/tabs.d.ts.map +1 -0
- package/dist/ui/tabs.js +37 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/text-field.d.ts +4 -3
- package/dist/ui/text-field.d.ts.map +1 -1
- package/dist/ui/text-field.js +4 -4
- package/dist/ui/text-field.js.map +1 -1
- package/dist/ui/theme-switcher.d.ts +14 -1
- package/dist/ui/theme-switcher.d.ts.map +1 -1
- package/dist/ui/theme-switcher.js +15 -4
- package/dist/ui/theme-switcher.js.map +1 -1
- package/dist/ui/toast.d.ts +7 -1
- package/dist/ui/toast.d.ts.map +1 -1
- package/dist/ui/toast.js +2 -11
- package/dist/ui/toast.js.map +1 -1
- package/package.json +21 -20
- package/templates/next/prefetch-on-intent.ts +10 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.1 — 2026-10-04
|
|
4
|
+
|
|
5
|
+
- **The prefetch template imports nothing from Next's internals.** `templates/next/prefetch-on-intent.ts` imported
|
|
6
|
+
`PrefetchKind` from `next/dist/…/router-reducer-types`, a path Next doesn't promise to keep. It now passes
|
|
7
|
+
`{ kind: 'full' }` typed for itself; `package:verify` builds it and checks the page transition still runs.
|
|
8
|
+
- **Self-hosted fonts.** The README shows how to load Atkinson Hyperlegible Next and Mono from Fontsource with
|
|
9
|
+
`next/font/local`, for builds with no network and a CSP at `font-src 'self'`.
|
|
10
|
+
|
|
11
|
+
## 0.2.0 — 2026-10-04
|
|
12
|
+
|
|
13
|
+
Fixes and additions from the first product built on the package, the Docuccino portal.
|
|
14
|
+
|
|
15
|
+
- **`Tabs` and `Pagination`.** `Tabs`, `TabList`, `Tab` and `TabPanel`: React Aria's tabs in three layers, the
|
|
16
|
+
selected tab bold with a brand bar, the row wrapping rather than scrolling at 320px. `Pagination`: links to the
|
|
17
|
+
first and last pages and the current one's neighbours, with Previous and Next; `aria-current` on the current
|
|
18
|
+
page, a page link named "Page 3" around the number it shows, and `href` as a function or a `{page}` template a
|
|
19
|
+
server component can pass. Both have cards, docs-site pages and checks in the interaction suite.
|
|
20
|
+
- **2.5.3 Label in Name.** `SearchTrigger`, `SidebarSwitcher` and `LinkCard` set names (`aria-label`,
|
|
21
|
+
`aria-labelledby`) that left out text they show, which axe's `label-content-name-mismatch` fails and so does
|
|
22
|
+
every product's Setsquare scan. Each is now named by its content: the search trigger "Search ⌘K", a switcher its
|
|
23
|
+
title, subtitle and `menuLabel`, a link card its heading and description. `LinkCard` no longer sets
|
|
24
|
+
`aria-describedby`; its description is part of its name.
|
|
25
|
+
- **The right panel no longer flashes open on phones.** `DashboardShell` rendered at desktop size with the panel
|
|
26
|
+
open, became a Sheet that was still open once it had measured itself, and closed it an effect later, so the
|
|
27
|
+
Sheet faded in and out on every load (and a scan during the fade failed 1.4.3). The panel's state is now derived
|
|
28
|
+
from the mode during render, with someone's choice kept for the mode they made it in. `defaultPanelOpen` is
|
|
29
|
+
unchanged.
|
|
30
|
+
- **Reduced motion reaches the page-exit cover.** The rule zeroed the old, new and group pseudo-elements but not
|
|
31
|
+
`::view-transition-image-pair(*)`, where `setsquare-cover` runs, so a reduced-motion navigation still took
|
|
32
|
+
150ms. `test:site` now follows a link under reduced motion and checks every animation in the transition.
|
|
33
|
+
- **`Form` forwards its `ref`** to the `<form>`, alongside the one it keeps for its error summary. It kept that one
|
|
34
|
+
for itself and dropped a product's, so a form driven by a Server Action had to find its own element another way.
|
|
35
|
+
`package:verify` passes a ref from the consumer app and checks it reaches the `<form>`.
|
|
36
|
+
- **`labels`: a product's own words.** Every component that shows or says words of its own takes a `labels`
|
|
37
|
+
prop to replace them, one component at a time: `ThemeSwitcher`, `AppSearch` (and `SearchTrigger`,
|
|
38
|
+
`CommandSearch`), `Sidebar`, `SidebarTrigger` and `AppHeader`, `RightPanel`, `Sheet`, `Dialog`, `ConfirmDialog`,
|
|
39
|
+
`Alert`, `OfflineAlert`, `Toaster`, `Calendar`, `RangeCalendar`, the date fields and pickers, `CopyButton`,
|
|
40
|
+
`CodeBlock`, `ErrorState`, `SelectionBar`, `FileUpload`, and every field (`labels.errorPrefix`, the hidden
|
|
41
|
+
"Error: " before a message). Each takes a typed `…Labels` object, exported; values that vary are `{name}`
|
|
42
|
+
placeholders in strings, so `labels` can cross from a server component. The error summary no longer strips the
|
|
43
|
+
English "Error:" by text: it skips the prefix element, whatever it says. The new **Labels** card shows them all
|
|
44
|
+
in French, with React Aria's own words following its `I18nProvider`, which the artifact bundle now exposes as
|
|
45
|
+
`Setsquare.aria`.
|
|
46
|
+
- The axe suites (`test:axe`, `test:site`) now run `label-content-name-mismatch`, which axe marks experimental and
|
|
47
|
+
leaves off unless named.
|
|
48
|
+
|
|
3
49
|
## 0.1.0 — 2026-10-02
|
|
4
50
|
|
|
5
51
|
First release, from the Worktree Amigos boilerplate's design system.
|
package/README.md
CHANGED
|
@@ -29,7 +29,42 @@ In the app's global stylesheet, after Tailwind:
|
|
|
29
29
|
|
|
30
30
|
`styles.css` brings the tokens as CSS variables (four themes), Tailwind's theme mapping (`bg-primary`, `h-control`, `min-h-target`…), the `focus-ring` and type utilities, the `dark:` and `aaa:` variants, and an `@source` that points Tailwind at the package's compiled components, which Tailwind doesn't scan in `node_modules` by itself.
|
|
31
31
|
|
|
32
|
-
Load the fonts yourself: the tokens name Atkinson Hyperlegible Next and Atkinson Hyperlegible Mono
|
|
32
|
+
Load the fonts yourself: the tokens name Atkinson Hyperlegible Next and Atkinson Hyperlegible Mono. `next/font/google` downloads them at build time and serves them from your own origin; or set `--font-sans` and `--font-mono` to your own.
|
|
33
|
+
|
|
34
|
+
To serve them from the app with no Google request at build time either (a build with no network, a Content-Security-Policy at `font-src 'self'`), install the variable fonts from Fontsource (`@fontsource-variable/atkinson-hyperlegible-next` and `-mono`, SIL OFL 1.1) and load them with `next/font/local`:
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
// app/layout.tsx
|
|
38
|
+
import localFont from 'next/font/local';
|
|
39
|
+
|
|
40
|
+
const sans = localFont({
|
|
41
|
+
src: [
|
|
42
|
+
{ path: '../node_modules/@fontsource-variable/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-wght-normal.woff2', weight: '200 800', style: 'normal' },
|
|
43
|
+
{ path: '../node_modules/@fontsource-variable/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-wght-italic.woff2', weight: '200 800', style: 'italic' },
|
|
44
|
+
],
|
|
45
|
+
variable: '--font-atkinson-next',
|
|
46
|
+
display: 'swap',
|
|
47
|
+
});
|
|
48
|
+
const mono = localFont({
|
|
49
|
+
src: [
|
|
50
|
+
{ path: '../node_modules/@fontsource-variable/atkinson-hyperlegible-mono/files/atkinson-hyperlegible-mono-latin-wght-normal.woff2', weight: '200 800', style: 'normal' },
|
|
51
|
+
],
|
|
52
|
+
variable: '--font-atkinson-mono',
|
|
53
|
+
display: 'swap',
|
|
54
|
+
});
|
|
55
|
+
// <html className={`${sans.variable} ${mono.variable}`}>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```css
|
|
59
|
+
/* globals.css, after @setsquare/ui/styles.css. The fallback inside var() keeps the stack valid on a page
|
|
60
|
+
that doesn't load the fonts (a global-error page). */
|
|
61
|
+
:root {
|
|
62
|
+
--font-sans: var(--font-atkinson-next, 'Atkinson Hyperlegible Next'), ui-sans-serif, system-ui, sans-serif;
|
|
63
|
+
--font-mono: var(--font-atkinson-mono, 'Atkinson Hyperlegible Mono'), ui-monospace, monospace;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`next/font` gives the face a generated family name, which is why the stack points at its variable rather than at the name the tokens use. Add the `latin-ext` files too if your copy needs them.
|
|
33
68
|
|
|
34
69
|
```tsx
|
|
35
70
|
import { Button, DashboardShell, ShellMain, TextField } from '@setsquare/ui';
|
package/dist/index.d.ts
CHANGED
|
@@ -23,17 +23,23 @@ export type { StatusTone, StatusBadgeProps } from './ui/badge.js';
|
|
|
23
23
|
export { Avatar, ProductMark } from './ui/avatar.js';
|
|
24
24
|
export { Breadcrumbs } from './ui/breadcrumbs.js';
|
|
25
25
|
export type { BreadcrumbItem, BreadcrumbsProps } from './ui/breadcrumbs.js';
|
|
26
|
+
export { Pagination } from './ui/pagination.js';
|
|
27
|
+
export type { PaginationProps, PaginationLabels } from './ui/pagination.js';
|
|
28
|
+
export { Tabs, TabList, Tab, TabPanel } from './ui/tabs.js';
|
|
29
|
+
export type { TabsProps, TabListProps, TabProps, TabPanelProps } from './ui/tabs.js';
|
|
26
30
|
export { Menu, MenuItem, MenuSection, MenuSeparator, MenuTrigger, Popover, rowTarget, itemVisual, } from './ui/menu.js';
|
|
27
31
|
export { SegmentedControl, Segment } from './ui/segmented-control.js';
|
|
28
32
|
export { Table, TableHeader, Column, TableBody, Row, Cell } from './ui/table.js';
|
|
29
33
|
export { ScrollRegion } from './ui/scroll-region.js';
|
|
30
34
|
export type { ScrollRegionProps } from './ui/scroll-region.js';
|
|
31
35
|
export { Sheet } from './ui/sheet.js';
|
|
36
|
+
export type { SheetLabels } from './ui/sheet.js';
|
|
32
37
|
export { AppSearch, CommandSearch, SearchTrigger } from './ui/search.js';
|
|
33
|
-
export type { SearchItem, SearchSection } from './ui/search.js';
|
|
38
|
+
export type { SearchItem, SearchSection, SearchLabels } from './ui/search.js';
|
|
34
39
|
export { DashboardShell, ShellInset, ShellBody, ShellMain, useShell, useOptionalShell, } from './shell/dashboard-shell.js';
|
|
35
40
|
export type { ShellSize, PanelMode, DashboardShellProps } from './shell/dashboard-shell.js';
|
|
36
41
|
export { Sidebar, SidebarHeader, SidebarContent, SidebarFooter, SidebarGroup, SidebarList, SidebarItem, SidebarSwitcher, SidebarTrigger, useSidebarCollapsed, } from './shell/sidebar.js';
|
|
42
|
+
export type { SidebarLabels, SidebarTriggerLabels } from './shell/sidebar.js';
|
|
37
43
|
export { AppHeader } from './shell/app-header.js';
|
|
38
44
|
export { SiteShell, SiteMain } from './shell/site-shell.js';
|
|
39
45
|
export type { SiteShellProps, SiteMainProps } from './shell/site-shell.js';
|
|
@@ -70,17 +76,18 @@ export type { TagProps } from './ui/tag.js';
|
|
|
70
76
|
export { StatList, Stat } from './ui/stat-list.js';
|
|
71
77
|
export type { StatListProps, StatProps } from './ui/stat-list.js';
|
|
72
78
|
export { CodeBlock } from './ui/code-block.js';
|
|
73
|
-
export type { CodeBlockProps } from './ui/code-block.js';
|
|
79
|
+
export type { CodeBlockProps, CodeBlockLabels } from './ui/code-block.js';
|
|
74
80
|
export { CopyButton } from './ui/copy-button.js';
|
|
75
|
-
export type { CopyButtonProps } from './ui/copy-button.js';
|
|
81
|
+
export type { CopyButtonProps, CopyButtonLabels } from './ui/copy-button.js';
|
|
76
82
|
export { ThemeScript, themeScript, themeScriptHash, applyTheme, applyLevel, readTheme, readLevel, resolveTheme, subscribeTheme, THEME_CHANGE_EVENT, } from './ui/theme.js';
|
|
77
83
|
export type { ThemeOptions, ThemePreference, ConformanceLevel, ThemeScriptProps, } from './ui/theme.js';
|
|
78
84
|
export { ThemeSwitcher } from './ui/theme-switcher.js';
|
|
79
|
-
export type { ThemeSwitcherProps } from './ui/theme-switcher.js';
|
|
85
|
+
export type { ThemeSwitcherProps, ThemeSwitcherLabels } from './ui/theme-switcher.js';
|
|
80
86
|
export { PageHeader, PageContent } from './shell/page-header.js';
|
|
81
87
|
export { RightPanel, PanelToggle, PanelSection } from './shell/right-panel.js';
|
|
88
|
+
export type { RightPanelLabels } from './shell/right-panel.js';
|
|
82
89
|
export { FieldLabel, FieldDescription, FieldError, NecessityContext, fieldBox, fieldInput, fieldWidths, } from './ui/field.js';
|
|
83
|
-
export type { NecessityIndicator, FieldWidth } from './ui/field.js';
|
|
90
|
+
export type { NecessityIndicator, FieldWidth, FieldLabels } from './ui/field.js';
|
|
84
91
|
export { TextField, TextArea } from './ui/text-field.js';
|
|
85
92
|
export type { TextFieldProps, TextAreaProps } from './ui/text-field.js';
|
|
86
93
|
export { NumberField } from './ui/number-field.js';
|
|
@@ -105,25 +112,25 @@ export type { SpinnerProps, ProgressBarProps } from './ui/spinner.js';
|
|
|
105
112
|
export { Skeleton, SkeletonText, TableSkeleton, LoadingState } from './ui/skeleton.js';
|
|
106
113
|
export type { LoadingStateProps } from './ui/skeleton.js';
|
|
107
114
|
export { Alert, OfflineAlert, useOnline } from './ui/alert.js';
|
|
108
|
-
export type { AlertProps, AlertTone } from './ui/alert.js';
|
|
115
|
+
export type { AlertProps, AlertTone, AlertLabels, OfflineAlertLabels } from './ui/alert.js';
|
|
109
116
|
export { EmptyState } from './ui/empty-state.js';
|
|
110
117
|
export type { EmptyStateProps } from './ui/empty-state.js';
|
|
111
118
|
export { Dialog, ConfirmDialog } from './ui/dialog.js';
|
|
112
|
-
export type { DialogProps, ConfirmDialogProps } from './ui/dialog.js';
|
|
119
|
+
export type { DialogProps, ConfirmDialogProps, DialogLabels, ConfirmDialogLabels, } from './ui/dialog.js';
|
|
113
120
|
export { Toaster, toast, toastQueue } from './ui/toast.js';
|
|
114
|
-
export type { ToastContent, ToastTone } from './ui/toast.js';
|
|
121
|
+
export type { ToastContent, ToastTone, ToasterLabels } from './ui/toast.js';
|
|
115
122
|
export { ErrorState, ErrorBoundary } from './ui/error-state.js';
|
|
116
|
-
export type { ErrorStateProps, ErrorKind, ErrorBoundaryProps } from './ui/error-state.js';
|
|
123
|
+
export type { ErrorStateProps, ErrorKind, ErrorBoundaryProps, ErrorStateLabels, } from './ui/error-state.js';
|
|
117
124
|
export { Slider, RangeSlider } from './ui/slider.js';
|
|
118
125
|
export type { SliderProps, RangeSliderProps } from './ui/slider.js';
|
|
119
126
|
export { Calendar, RangeCalendar } from './ui/calendar.js';
|
|
120
|
-
export type { CalendarProps, RangeCalendarProps } from './ui/calendar.js';
|
|
127
|
+
export type { CalendarProps, RangeCalendarProps, CalendarLabels } from './ui/calendar.js';
|
|
121
128
|
export { DateField, TimeField, DatePicker, DateRangePicker } from './ui/date-field.js';
|
|
122
|
-
export type { DateFieldProps, TimeFieldProps, DatePickerProps, DateRangePickerProps, } from './ui/date-field.js';
|
|
129
|
+
export type { DateFieldProps, TimeFieldProps, DatePickerProps, DateRangePickerProps, DateFieldLabels, DatePickerLabels, } from './ui/date-field.js';
|
|
123
130
|
export { FileUpload, formatBytes } from './ui/file-upload.js';
|
|
124
|
-
export type { FileUploadProps, FileUploadItem, FileUploadStatus, FileRejection, } from './ui/file-upload.js';
|
|
131
|
+
export type { FileUploadProps, FileUploadItem, FileUploadStatus, FileRejection, FileUploadLabels, } from './ui/file-upload.js';
|
|
125
132
|
export { GridList, GridListItem } from './ui/grid-list.js';
|
|
126
133
|
export type { GridListProps, GridListItemProps } from './ui/grid-list.js';
|
|
127
134
|
export { SelectionBar } from './ui/selection-bar.js';
|
|
128
|
-
export type { SelectionBarProps } from './ui/selection-bar.js';
|
|
135
|
+
export type { SelectionBarProps, SelectionBarLabels } from './ui/selection-bar.js';
|
|
129
136
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,8 @@ export { Kbd } from './ui/kbd.js';
|
|
|
17
17
|
export { StatusBadge } from './ui/badge.js';
|
|
18
18
|
export { Avatar, ProductMark } from './ui/avatar.js';
|
|
19
19
|
export { Breadcrumbs } from './ui/breadcrumbs.js';
|
|
20
|
+
export { Pagination } from './ui/pagination.js';
|
|
21
|
+
export { Tabs, TabList, Tab, TabPanel } from './ui/tabs.js';
|
|
20
22
|
export { Menu, MenuItem, MenuSection, MenuSeparator, MenuTrigger, Popover, rowTarget, itemVisual, } from './ui/menu.js';
|
|
21
23
|
export { SegmentedControl, Segment } from './ui/segmented-control.js';
|
|
22
24
|
export { Table, TableHeader, Column, TableBody, Row, Cell } from './ui/table.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEpD,yFAAyF;AACzF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The words a component shows or says, which a product can replace one component at a time through its `labels`
|
|
3
|
+
* prop: an object of strings, any of which can be left out to keep the English default. A word that carries a
|
|
4
|
+
* value has a `{name}` placeholder in its string ("Remove {name}") rather than being a function, so `labels`
|
|
5
|
+
* stays plain data that a server component can pass to a client one.
|
|
6
|
+
*/
|
|
7
|
+
/** The English defaults with any of the product's words laid over them. */
|
|
8
|
+
export declare function withLabels<T extends object>(defaults: T, labels: Partial<T> | undefined): T;
|
|
9
|
+
/** Fills `{name}` placeholders: `fill('Remove {name}', { name: 'plan.pdf' })` is "Remove plan.pdf". */
|
|
10
|
+
export declare function fill(template: string, values: Record<string, string | number>): string;
|
|
11
|
+
//# sourceMappingURL=labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/lib/labels.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAE3F;AAED,uGAAuG;AACvG,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAItF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The words a component shows or says, which a product can replace one component at a time through its `labels`
|
|
3
|
+
* prop: an object of strings, any of which can be left out to keep the English default. A word that carries a
|
|
4
|
+
* value has a `{name}` placeholder in its string ("Remove {name}") rather than being a function, so `labels`
|
|
5
|
+
* stays plain data that a server component can pass to a client one.
|
|
6
|
+
*/
|
|
7
|
+
/** The English defaults with any of the product's words laid over them. */
|
|
8
|
+
export function withLabels(defaults, labels) {
|
|
9
|
+
return labels ? { ...defaults, ...labels } : defaults;
|
|
10
|
+
}
|
|
11
|
+
/** Fills `{name}` placeholders: `fill('Remove {name}', { name: 'plan.pdf' })` is "Remove plan.pdf". */
|
|
12
|
+
export function fill(template, values) {
|
|
13
|
+
return template.replace(/\{(\w+)\}/g, (match, key) => key in values ? String(values[key]) : match);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/lib/labels.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CAAmB,QAAW,EAAE,MAA8B;IACtF,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxD,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,IAAI,CAAC,QAAgB,EAAE,MAAuC;IAC5E,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE,CAC3D,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
+
import { type SidebarTriggerLabels } from './sidebar.js';
|
|
2
3
|
export interface AppHeaderProps {
|
|
3
4
|
/** Usually <Breadcrumbs>. On phones the product name shows instead. */
|
|
4
5
|
breadcrumbs?: ReactNode;
|
|
@@ -6,8 +7,10 @@ export interface AppHeaderProps {
|
|
|
6
7
|
search?: ReactNode;
|
|
7
8
|
/** Help, notifications — the same buttons in the same order on every page (help: 3.2.6; notifications: our rule). */
|
|
8
9
|
actions?: ReactNode;
|
|
10
|
+
/** For the sidebar trigger it renders. */
|
|
11
|
+
labels?: Partial<SidebarTriggerLabels>;
|
|
9
12
|
className?: string;
|
|
10
13
|
}
|
|
11
14
|
/** The inset's top bar: sidebar trigger, where you are, search and the fixed actions. */
|
|
12
|
-
export declare function AppHeader({ breadcrumbs, search, actions, className }: AppHeaderProps): import("react").JSX.Element;
|
|
15
|
+
export declare function AppHeader({ breadcrumbs, search, actions, labels, className }: AppHeaderProps): import("react").JSX.Element;
|
|
13
16
|
//# sourceMappingURL=app-header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../src/shell/app-header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../src/shell/app-header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,qHAAqH;IACrH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,cAAc,+BAyB5F"}
|
package/dist/shell/app-header.js
CHANGED
|
@@ -4,8 +4,8 @@ import { cn } from '../lib/cn.js';
|
|
|
4
4
|
import { useShell } from './dashboard-shell.js';
|
|
5
5
|
import { SidebarTrigger } from './sidebar.js';
|
|
6
6
|
/** The inset's top bar: sidebar trigger, where you are, search and the fixed actions. */
|
|
7
|
-
export function AppHeader({ breadcrumbs, search, actions, className }) {
|
|
7
|
+
export function AppHeader({ breadcrumbs, search, actions, labels, className }) {
|
|
8
8
|
const { size, productName } = useShell();
|
|
9
|
-
return (_jsxs("header", { style: { viewTransitionName: 'shell-header' }, className: cn('flex h-header shrink-0 items-center gap-2 border-b border-border px-3 @min-[48rem]/shell:px-4', className), children: [_jsx(SidebarTrigger, {}), _jsx("span", { "aria-hidden": "true", className: "mx-1 h-6 w-px bg-border @max-[48rem]/shell:hidden" }), _jsx("div", { className: "flex min-w-0 flex-1 items-center", children: size === 'mobile' ? (_jsx("span", { className: "truncate text-base font-bold", children: productName })) : (breadcrumbs) }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [search, actions] })] }));
|
|
9
|
+
return (_jsxs("header", { style: { viewTransitionName: 'shell-header' }, className: cn('flex h-header shrink-0 items-center gap-2 border-b border-border px-3 @min-[48rem]/shell:px-4', className), children: [_jsx(SidebarTrigger, { labels: labels }), _jsx("span", { "aria-hidden": "true", className: "mx-1 h-6 w-px bg-border @max-[48rem]/shell:hidden" }), _jsx("div", { className: "flex min-w-0 flex-1 items-center", children: size === 'mobile' ? (_jsx("span", { className: "truncate text-base font-bold", children: productName })) : (breadcrumbs) }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [search, actions] })] }));
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=app-header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-header.js","sourceRoot":"","sources":["../../src/shell/app-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"app-header.js","sourceRoot":"","sources":["../../src/shell/app-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAA6B,MAAM,cAAc,CAAC;AAczE,yFAAyF;AACzF,MAAM,UAAU,SAAS,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAkB;IAC3F,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzC,OAAO,CACL,kBACE,KAAK,EAAE,EAAE,kBAAkB,EAAE,cAAc,EAAE,EAC7C,SAAS,EAAE,EAAE,CACX,+FAA+F,EAC/F,SAAS,CACV,aAED,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,GAAI,EAClC,8BAAkB,MAAM,EAAC,SAAS,EAAC,mDAAmD,GAAG,EACzF,cAAK,SAAS,EAAC,kCAAkC,YAC9C,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACnB,eAAM,SAAS,EAAC,8BAA8B,YAAE,WAAW,GAAQ,CACpE,CAAC,CAAC,CAAC,CACF,WAAW,CACZ,GACG,EACN,eAAK,SAAS,EAAC,kCAAkC,aAC9C,MAAM,EACN,OAAO,IACJ,IACC,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -22,7 +22,7 @@ export interface DashboardShellProps {
|
|
|
22
22
|
children: ReactNode;
|
|
23
23
|
/** The product name, used to name the mobile navigation and in the header on phones. */
|
|
24
24
|
productName: string;
|
|
25
|
-
/** Leave unset: open when inline, closed when it would be a Sheet. true or false
|
|
25
|
+
/** Leave unset: open when inline, closed when it would be a Sheet. true or false sets both. */
|
|
26
26
|
defaultPanelOpen?: boolean;
|
|
27
27
|
defaultMobileNavOpen?: boolean;
|
|
28
28
|
/** Start collapsed to icons regardless of size (until the size class changes). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-shell.d.ts","sourceRoot":"","sources":["../../src/shell/dashboard-shell.tsx"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,YAAY,EAAE,OAAO,CAAC;CACvB;AAID,wBAAgB,QAAQ,IAAI,iBAAiB,CAI5C;AACD,wFAAwF;AACxF,wBAAgB,gBAAgB,IAAI,iBAAiB,GAAG,IAAI,CAE3D;AAeD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB
|
|
1
|
+
{"version":3,"file":"dashboard-shell.d.ts","sourceRoot":"","sources":["../../src/shell/dashboard-shell.tsx"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,YAAY,EAAE,OAAO,CAAC;CACvB;AAID,wBAAgB,QAAQ,IAAI,iBAAiB,CAI5C;AACD,wFAAwF;AACxF,wBAAgB,gBAAgB,IAAI,iBAAiB,GAAG,IAAI,CAE3D;AAeD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kFAAkF;IAClF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sEAAsE;IACtE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,oBAA4B,EAC5B,uBAAuB,EACvB,IAAI,EAAE,UAAU,EAChB,aAAsC,EACtC,SAAS,EACT,KAAK,GACN,EAAE,mBAAmB,+BAoGrB;AAED,sGAAsG;AACtG,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAY9F;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAE7F;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EACT,iBAAiB,EAAE,UAAU,GAC9B,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,+BAsDA"}
|
|
@@ -64,21 +64,16 @@ export function DashboardShell({ children, productName, defaultPanelOpen, defaul
|
|
|
64
64
|
const sidebarCollapsed = userCollapsed ?? (size === 'laptop' || size === 'tablet');
|
|
65
65
|
const toggleSidebar = useCallback(() => setUserCollapsed(!sidebarCollapsed), [sidebarCollapsed]);
|
|
66
66
|
const [mobileNavOpen, setMobileNavOpen] = useState(defaultMobileNavOpen);
|
|
67
|
-
// Panel: inline on wide shells, a Sheet on narrow ones.
|
|
68
|
-
//
|
|
67
|
+
// Panel: inline on wide shells, a Sheet on narrow ones. Open by default where it is inline, closed where it
|
|
68
|
+
// would be a Sheet; someone's choice holds for the mode they made it in. Derived during render rather than
|
|
69
|
+
// corrected in an effect, so the first render in Sheet mode is already closed: a phone never sees the Sheet
|
|
70
|
+
// open and fade out once the shell has measured itself, and crossing the line never pops one open unasked.
|
|
69
71
|
const panelMode = size === 'desktop' || size === 'laptop' ? 'inline' : 'sheet';
|
|
70
|
-
const [
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (prevMode.current === null)
|
|
76
|
-
setPanelOpen(defaultPanelOpen ?? panelMode === 'inline');
|
|
77
|
-
else if (prevMode.current !== panelMode)
|
|
78
|
-
setPanelOpen(panelMode === 'inline');
|
|
79
|
-
prevMode.current = panelMode;
|
|
80
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
81
|
-
}, [panelMode, measured, forcedSize]);
|
|
72
|
+
const [panelChoice, setPanelChoice] = useState(null);
|
|
73
|
+
const panelOpen = panelChoice?.mode === panelMode
|
|
74
|
+
? panelChoice.open
|
|
75
|
+
: (defaultPanelOpen ?? panelMode === 'inline');
|
|
76
|
+
const setPanelOpen = useCallback((open) => setPanelChoice({ mode: panelMode, open }), [panelMode]);
|
|
82
77
|
const panelToggleRef = useRef(null);
|
|
83
78
|
const value = useMemo(() => ({
|
|
84
79
|
size,
|
|
@@ -98,6 +93,7 @@ export function DashboardShell({ children, productName, defaultPanelOpen, defaul
|
|
|
98
93
|
toggleSidebar,
|
|
99
94
|
mobileNavOpen,
|
|
100
95
|
panelOpen,
|
|
96
|
+
setPanelOpen,
|
|
101
97
|
panelMode,
|
|
102
98
|
productName,
|
|
103
99
|
forcedSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-shell.js","sourceRoot":"","sources":["../../src/shell/dashboard-shell.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dashboard-shell.js","sourceRoot":"","sources":["../../src/shell/dashboard-shell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
+
/** The panel's words, for the `labels` prop. */
|
|
3
|
+
export interface RightPanelLabels {
|
|
4
|
+
/** Its close button; `{title}` is the panel's title in lower case. */
|
|
5
|
+
close: string;
|
|
6
|
+
}
|
|
2
7
|
export interface RightPanelProps {
|
|
3
8
|
/** The panel's heading; also names the landmark or dialog. */
|
|
4
9
|
title: string;
|
|
5
10
|
children: ReactNode;
|
|
6
11
|
/** Actions pinned to the bottom. */
|
|
7
12
|
footer?: ReactNode;
|
|
13
|
+
labels?: Partial<RightPanelLabels>;
|
|
8
14
|
className?: string;
|
|
9
15
|
}
|
|
10
16
|
/**
|
|
11
17
|
* Extra information about the current selection. An <aside> beside main on wide shells,
|
|
12
18
|
* a Sheet (modal dialog) on narrow ones. Closing returns focus to the PanelToggle.
|
|
13
19
|
*/
|
|
14
|
-
export declare function RightPanel({ title, children, footer, className }: RightPanelProps): import("react").JSX.Element | null;
|
|
20
|
+
export declare function RightPanel({ title, children, footer, labels: given, className }: RightPanelProps): import("react").JSX.Element | null;
|
|
15
21
|
/** Shows and hides the right panel. Put it in the page actions. */
|
|
16
22
|
export declare function PanelToggle({ label }: {
|
|
17
23
|
label?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"right-panel.d.ts","sourceRoot":"","sources":["../../src/shell/right-panel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAkB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"right-panel.d.ts","sourceRoot":"","sources":["../../src/shell/right-panel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAkB,MAAM,OAAO,CAAC;AAQ9D,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;CACf;AAID,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,oCAAoC;IACpC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,eAAe,sCA4DhG;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,EAAE,KAAuB,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,+BAa1E;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAOA"}
|
|
@@ -3,24 +3,27 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useId } from 'react';
|
|
4
4
|
import { PanelRight, X } from 'lucide-react';
|
|
5
5
|
import { cn } from '../lib/cn.js';
|
|
6
|
+
import { fill, withLabels } from '../lib/labels.js';
|
|
6
7
|
import { IconButton } from '../ui/icon-button.js';
|
|
7
8
|
import { Sheet } from '../ui/sheet.js';
|
|
8
9
|
import { useShell } from './dashboard-shell.js';
|
|
10
|
+
const rightPanelLabels = { close: 'Close {title}' };
|
|
9
11
|
/**
|
|
10
12
|
* Extra information about the current selection. An <aside> beside main on wide shells,
|
|
11
13
|
* a Sheet (modal dialog) on narrow ones. Closing returns focus to the PanelToggle.
|
|
12
14
|
*/
|
|
13
|
-
export function RightPanel({ title, children, footer, className }) {
|
|
15
|
+
export function RightPanel({ title, children, footer, labels: given, className }) {
|
|
16
|
+
const labels = withLabels(rightPanelLabels, given);
|
|
14
17
|
const { panelOpen, setPanelOpen, panelMode, panelToggleRef, isSizeForced } = useShell();
|
|
15
18
|
const headingId = useId();
|
|
16
19
|
const foot = footer ? (_jsx("div", { className: "flex gap-(--control-gap) border-t border-border px-4 py-3 *:flex-1", children: footer })) : null;
|
|
17
20
|
const body = (_jsx("div", { className: "relative flex min-h-0 flex-1 flex-col gap-5 overflow-y-auto p-4", children: children }));
|
|
18
21
|
if (panelMode === 'sheet') {
|
|
19
|
-
return (_jsx(Sheet, { side: "right", title: title, isOpen: panelOpen, onOpenChange: setPanelOpen, footer: foot, children: body }));
|
|
22
|
+
return (_jsx(Sheet, { side: "right", title: title, labels: { close: fill(labels.close, { title: title.toLowerCase() }) }, isOpen: panelOpen, onOpenChange: setPanelOpen, footer: foot, children: body }));
|
|
20
23
|
}
|
|
21
24
|
if (!panelOpen)
|
|
22
25
|
return null;
|
|
23
|
-
return (_jsxs("aside", { "aria-labelledby": headingId, style: { viewTransitionName: 'shell-panel' }, className: cn('flex w-panel shrink-0 flex-col border-l border-border bg-card text-card-foreground', !isSizeForced && '@max-[64rem]/shell:hidden', className), children: [_jsxs("div", { className: "flex min-h-[calc(var(--control-height)+1rem)] items-center justify-between gap-2 border-b border-border py-2 pr-2 pl-4", children: [_jsx("h2", { id: headingId, className: "text-subheading", children: title }), _jsx(IconButton, { label:
|
|
26
|
+
return (_jsxs("aside", { "aria-labelledby": headingId, style: { viewTransitionName: 'shell-panel' }, className: cn('flex w-panel shrink-0 flex-col border-l border-border bg-card text-card-foreground', !isSizeForced && '@max-[64rem]/shell:hidden', className), children: [_jsxs("div", { className: "flex min-h-[calc(var(--control-height)+1rem)] items-center justify-between gap-2 border-b border-border py-2 pr-2 pl-4", children: [_jsx("h2", { id: headingId, className: "text-subheading", children: title }), _jsx(IconButton, { label: fill(labels.close, { title: title.toLowerCase() }), icon: X, visualSize: "icon-sm", tooltip: false, className: "justify-end", onPress: () => {
|
|
24
27
|
setPanelOpen(false);
|
|
25
28
|
requestAnimationFrame(() => panelToggleRef.current?.focus());
|
|
26
29
|
} })] }), body, foot] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"right-panel.js","sourceRoot":"","sources":["../../src/shell/right-panel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,KAAK,EAAkC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"right-panel.js","sourceRoot":"","sources":["../../src/shell/right-panel.tsx"],"names":[],"mappings":"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"}
|
package/dist/shell/sidebar.d.ts
CHANGED
|
@@ -3,17 +3,23 @@ import { type Key } from 'react-aria-components';
|
|
|
3
3
|
import { type IconProp } from '../ui/icon.js';
|
|
4
4
|
/** True when the sidebar shows icons only (never inside the mobile Sheet). */
|
|
5
5
|
export declare const useSidebarCollapsed: () => boolean;
|
|
6
|
+
/** The sidebar's words, for the `labels` prop. */
|
|
7
|
+
export interface SidebarLabels {
|
|
8
|
+
/** Names the Sheet it becomes on phones; `{product}` is the shell's `productName`. */
|
|
9
|
+
navigation: string;
|
|
10
|
+
}
|
|
6
11
|
export interface SidebarProps {
|
|
7
12
|
children: ReactNode;
|
|
8
13
|
/** Names the navigation landmark. */
|
|
9
14
|
label?: string;
|
|
15
|
+
labels?: Partial<SidebarLabels>;
|
|
10
16
|
className?: string;
|
|
11
17
|
}
|
|
12
18
|
/**
|
|
13
19
|
* The full-height sidebar. Expanded, collapsed to icons (labels stay in the accessibility tree
|
|
14
20
|
* and show as tooltips), or — on phones — a Sheet opened from the header.
|
|
15
21
|
*/
|
|
16
|
-
export declare function Sidebar({ children, label, className }: SidebarProps): import("react").JSX.Element;
|
|
22
|
+
export declare function Sidebar({ children, label, labels: given, className }: SidebarProps): import("react").JSX.Element;
|
|
17
23
|
export declare function SidebarHeader({ children, className, }: {
|
|
18
24
|
children: ReactNode;
|
|
19
25
|
className?: string;
|
|
@@ -61,8 +67,16 @@ export interface SidebarSwitcherProps {
|
|
|
61
67
|
}
|
|
62
68
|
/** A sidebar row that opens a menu: the workspace switcher at the top, the account menu at the foot. */
|
|
63
69
|
export declare function SidebarSwitcher({ leading, title, subtitle, menuLabel, children, onAction, selectedKey, placement, }: SidebarSwitcherProps): import("react").JSX.Element;
|
|
70
|
+
/** The sidebar trigger's words, for the `labels` prop (also on `AppHeader`, which renders it). */
|
|
71
|
+
export interface SidebarTriggerLabels {
|
|
72
|
+
/** On phones, where it opens the navigation Sheet. */
|
|
73
|
+
openNavigation: string;
|
|
74
|
+
/** Wider, where it collapses the sidebar to icons and back. */
|
|
75
|
+
toggleSidebar: string;
|
|
76
|
+
}
|
|
64
77
|
/** Collapses the sidebar to icons, or opens it as a Sheet on phones. */
|
|
65
|
-
export declare function SidebarTrigger({ className }: {
|
|
78
|
+
export declare function SidebarTrigger({ labels: given, className, }: {
|
|
79
|
+
labels?: Partial<SidebarTriggerLabels>;
|
|
66
80
|
className?: string;
|
|
67
81
|
}): import("react").JSX.Element;
|
|
68
82
|
//# sourceMappingURL=sidebar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/shell/sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAA6B,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/shell/sidebar.tsx"],"names":[],"mappings":"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"}
|