@skylab-kulubu/skylcn-ui 0.1.0 → 0.1.3
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/LICENSE +1 -1
- package/README.md +44 -37
- package/dist/assets/skylab-mark.d.ts +0 -0
- package/dist/assets/skylab-mark.d.ts.map +0 -0
- package/dist/assets/skylab-mark.js +0 -0
- package/dist/assets/skylab-mark.js.map +0 -0
- package/dist/charts/chart-frame.d.ts +3 -1
- package/dist/charts/chart-frame.d.ts.map +1 -1
- package/dist/charts/chart-frame.js +3 -3
- package/dist/charts/chart-frame.js.map +1 -1
- package/dist/charts/charts.d.ts +6 -0
- package/dist/charts/charts.d.ts.map +1 -1
- package/dist/charts/charts.js +2 -1
- package/dist/charts/charts.js.map +1 -1
- package/dist/charts/index.d.ts +0 -0
- package/dist/charts/index.d.ts.map +0 -0
- package/dist/charts/index.js +0 -0
- package/dist/charts/index.js.map +0 -0
- package/dist/components/accordion.d.ts +0 -0
- package/dist/components/accordion.d.ts.map +0 -0
- package/dist/components/accordion.js +0 -0
- package/dist/components/accordion.js.map +0 -0
- package/dist/components/app-shell.d.ts +3 -1
- package/dist/components/app-shell.d.ts.map +1 -1
- package/dist/components/app-shell.js +37 -5
- package/dist/components/app-shell.js.map +1 -1
- package/dist/components/avatar.d.ts +2 -0
- package/dist/components/avatar.d.ts.map +1 -1
- package/dist/components/avatar.js +27 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.d.ts +0 -0
- package/dist/components/badge.d.ts.map +0 -0
- package/dist/components/badge.js +0 -0
- package/dist/components/badge.js.map +0 -0
- package/dist/components/bar-list.d.ts +0 -0
- package/dist/components/bar-list.d.ts.map +0 -0
- package/dist/components/bar-list.js +0 -0
- package/dist/components/bar-list.js.map +0 -0
- package/dist/components/breadcrumbs.d.ts +0 -0
- package/dist/components/breadcrumbs.d.ts.map +0 -0
- package/dist/components/breadcrumbs.js +0 -0
- package/dist/components/breadcrumbs.js.map +0 -0
- package/dist/components/button.d.ts +0 -0
- package/dist/components/button.d.ts.map +0 -0
- package/dist/components/button.js +0 -0
- package/dist/components/button.js.map +0 -0
- package/dist/components/calendar.d.ts +21 -2
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/calendar.js +221 -31
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.d.ts +0 -0
- package/dist/components/card.d.ts.map +0 -0
- package/dist/components/card.js +0 -0
- package/dist/components/card.js.map +0 -0
- package/dist/components/carousel.d.ts +0 -0
- package/dist/components/carousel.d.ts.map +0 -0
- package/dist/components/carousel.js +0 -0
- package/dist/components/carousel.js.map +0 -0
- package/dist/components/checkbox.d.ts +0 -0
- package/dist/components/checkbox.d.ts.map +0 -0
- package/dist/components/checkbox.js +0 -0
- package/dist/components/checkbox.js.map +0 -0
- package/dist/components/command.d.ts +0 -0
- package/dist/components/command.d.ts.map +1 -1
- package/dist/components/command.js +3 -0
- package/dist/components/command.js.map +1 -1
- package/dist/components/copy-button.d.ts +0 -0
- package/dist/components/copy-button.d.ts.map +0 -0
- package/dist/components/copy-button.js +0 -0
- package/dist/components/copy-button.js.map +0 -0
- package/dist/components/data-list.d.ts +0 -0
- package/dist/components/data-list.d.ts.map +0 -0
- package/dist/components/data-list.js +0 -0
- package/dist/components/data-list.js.map +0 -0
- package/dist/components/dialog.d.ts +0 -0
- package/dist/components/dialog.d.ts.map +0 -0
- package/dist/components/dialog.js +0 -0
- package/dist/components/dialog.js.map +0 -0
- package/dist/components/display-extra.d.ts +0 -0
- package/dist/components/display-extra.d.ts.map +0 -0
- package/dist/components/display-extra.js +0 -0
- package/dist/components/display-extra.js.map +0 -0
- package/dist/components/drawer.d.ts +0 -0
- package/dist/components/drawer.d.ts.map +0 -0
- package/dist/components/drawer.js +0 -0
- package/dist/components/drawer.js.map +0 -0
- package/dist/components/feedback.d.ts +0 -0
- package/dist/components/feedback.d.ts.map +0 -0
- package/dist/components/feedback.js +0 -0
- package/dist/components/feedback.js.map +0 -0
- package/dist/components/field.d.ts +0 -0
- package/dist/components/field.d.ts.map +0 -0
- package/dist/components/field.js +0 -0
- package/dist/components/field.js.map +0 -0
- package/dist/components/form-extra.d.ts +0 -0
- package/dist/components/form-extra.d.ts.map +0 -0
- package/dist/components/form-extra.js +0 -0
- package/dist/components/form-extra.js.map +0 -0
- package/dist/components/icon-swap.d.ts +0 -0
- package/dist/components/icon-swap.d.ts.map +0 -0
- package/dist/components/icon-swap.js +0 -0
- package/dist/components/icon-swap.js.map +0 -0
- package/dist/components/list.d.ts +0 -0
- package/dist/components/list.d.ts.map +0 -0
- package/dist/components/list.js +0 -0
- package/dist/components/list.js.map +0 -0
- package/dist/components/menu.d.ts +0 -0
- package/dist/components/menu.d.ts.map +0 -0
- package/dist/components/menu.js +0 -0
- package/dist/components/menu.js.map +0 -0
- package/dist/components/month-calendar.d.ts +0 -0
- package/dist/components/month-calendar.d.ts.map +0 -0
- package/dist/components/month-calendar.js +0 -0
- package/dist/components/month-calendar.js.map +0 -0
- package/dist/components/motion.d.ts +0 -0
- package/dist/components/motion.d.ts.map +1 -1
- package/dist/components/motion.js +8 -2
- package/dist/components/motion.js.map +1 -1
- package/dist/components/navigation-menu.d.ts +0 -0
- package/dist/components/navigation-menu.d.ts.map +0 -0
- package/dist/components/navigation-menu.js +0 -0
- package/dist/components/navigation-menu.js.map +0 -0
- package/dist/components/page-header.d.ts +0 -0
- package/dist/components/page-header.d.ts.map +0 -0
- package/dist/components/page-header.js +0 -0
- package/dist/components/page-header.js.map +0 -0
- package/dist/components/pagination.d.ts +0 -0
- package/dist/components/pagination.d.ts.map +0 -0
- package/dist/components/pagination.js +0 -0
- package/dist/components/pagination.js.map +0 -0
- package/dist/components/popover.d.ts +0 -0
- package/dist/components/popover.d.ts.map +0 -0
- package/dist/components/popover.js +0 -0
- package/dist/components/popover.js.map +0 -0
- package/dist/components/preview-card.d.ts +0 -0
- package/dist/components/preview-card.d.ts.map +0 -0
- package/dist/components/preview-card.js +0 -0
- package/dist/components/preview-card.js.map +0 -0
- package/dist/components/proportion-bar.d.ts +0 -0
- package/dist/components/proportion-bar.d.ts.map +0 -0
- package/dist/components/proportion-bar.js +0 -0
- package/dist/components/proportion-bar.js.map +0 -0
- package/dist/components/radio-group.d.ts +0 -0
- package/dist/components/radio-group.d.ts.map +0 -0
- package/dist/components/radio-group.js +0 -0
- package/dist/components/radio-group.js.map +0 -0
- package/dist/components/reveal.d.ts +0 -0
- package/dist/components/reveal.d.ts.map +0 -0
- package/dist/components/reveal.js +0 -0
- package/dist/components/reveal.js.map +0 -0
- package/dist/components/segmented-control.d.ts +0 -0
- package/dist/components/segmented-control.d.ts.map +0 -0
- package/dist/components/segmented-control.js +0 -0
- package/dist/components/segmented-control.js.map +0 -0
- package/dist/components/select.d.ts +0 -0
- package/dist/components/select.d.ts.map +0 -0
- package/dist/components/select.js +0 -0
- package/dist/components/select.js.map +0 -0
- package/dist/components/side-nav.d.ts +0 -0
- package/dist/components/side-nav.d.ts.map +0 -0
- package/dist/components/side-nav.js +0 -0
- package/dist/components/side-nav.js.map +0 -0
- package/dist/components/skeleton.d.ts +0 -0
- package/dist/components/skeleton.d.ts.map +0 -0
- package/dist/components/skeleton.js +0 -0
- package/dist/components/skeleton.js.map +0 -0
- package/dist/components/skylab-loader.d.ts +0 -0
- package/dist/components/skylab-loader.d.ts.map +0 -0
- package/dist/components/skylab-loader.js +0 -0
- package/dist/components/skylab-loader.js.map +0 -0
- package/dist/components/sparkline.d.ts +0 -0
- package/dist/components/sparkline.d.ts.map +0 -0
- package/dist/components/sparkline.js +0 -0
- package/dist/components/sparkline.js.map +0 -0
- package/dist/components/state-card.d.ts +0 -0
- package/dist/components/state-card.d.ts.map +0 -0
- package/dist/components/state-card.js +0 -0
- package/dist/components/state-card.js.map +0 -0
- package/dist/components/switch.d.ts +0 -0
- package/dist/components/switch.d.ts.map +0 -0
- package/dist/components/switch.js +0 -0
- package/dist/components/switch.js.map +0 -0
- package/dist/components/tabs.d.ts +0 -0
- package/dist/components/tabs.d.ts.map +0 -0
- package/dist/components/tabs.js +0 -0
- package/dist/components/tabs.js.map +0 -0
- package/dist/components/toast.d.ts +0 -0
- package/dist/components/toast.d.ts.map +0 -0
- package/dist/components/toast.js +0 -0
- package/dist/components/toast.js.map +0 -0
- package/dist/components/tooltip.d.ts +0 -0
- package/dist/components/tooltip.d.ts.map +0 -0
- package/dist/components/tooltip.js +0 -0
- package/dist/components/tooltip.js.map +0 -0
- package/dist/components/tree.d.ts +0 -0
- package/dist/components/tree.d.ts.map +0 -0
- package/dist/components/tree.js +0 -0
- package/dist/components/tree.js.map +0 -0
- package/dist/components/trend-badge.d.ts +0 -0
- package/dist/components/trend-badge.d.ts.map +0 -0
- package/dist/components/trend-badge.js +0 -0
- package/dist/components/trend-badge.js.map +0 -0
- package/dist/data-table/data-table.d.ts +0 -0
- package/dist/data-table/data-table.d.ts.map +0 -0
- package/dist/data-table/data-table.js +0 -0
- package/dist/data-table/data-table.js.map +0 -0
- package/dist/data-table/index.d.ts +0 -0
- package/dist/data-table/index.d.ts.map +0 -0
- package/dist/data-table/index.js +0 -0
- package/dist/data-table/index.js.map +0 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/cn.d.ts +0 -0
- package/dist/lib/cn.d.ts.map +0 -0
- package/dist/lib/cn.js +0 -0
- package/dist/lib/cn.js.map +0 -0
- package/dist/lib/motion-preference.d.ts +0 -0
- package/dist/lib/motion-preference.d.ts.map +0 -0
- package/dist/lib/motion-preference.js +0 -0
- package/dist/lib/motion-preference.js.map +0 -0
- package/dist/lib/motion-tokens.d.ts +0 -0
- package/dist/lib/motion-tokens.d.ts.map +0 -0
- package/dist/lib/motion-tokens.js +0 -0
- package/dist/lib/motion-tokens.js.map +0 -0
- package/dist/lib/motion.d.ts +0 -0
- package/dist/lib/motion.d.ts.map +0 -0
- package/dist/lib/motion.js +0 -0
- package/dist/lib/motion.js.map +0 -0
- package/dist/lib/provider.d.ts +24 -0
- package/dist/lib/provider.d.ts.map +1 -1
- package/dist/lib/provider.js +24 -0
- package/dist/lib/provider.js.map +1 -1
- package/dist/lib/theme-script.d.ts +0 -0
- package/dist/lib/theme-script.d.ts.map +0 -0
- package/dist/lib/theme-script.js +0 -0
- package/dist/lib/theme-script.js.map +0 -0
- package/dist/lib/theme.d.ts +0 -0
- package/dist/lib/theme.d.ts.map +0 -0
- package/dist/lib/theme.js +0 -0
- package/dist/lib/theme.js.map +0 -0
- package/dist/lib/use-pending-indicator.d.ts +0 -0
- package/dist/lib/use-pending-indicator.d.ts.map +0 -0
- package/dist/lib/use-pending-indicator.js +0 -0
- package/dist/lib/use-pending-indicator.js.map +0 -0
- package/dist/lib/use-reduced-motion.d.ts +0 -0
- package/dist/lib/use-reduced-motion.d.ts.map +0 -0
- package/dist/lib/use-reduced-motion.js +0 -0
- package/dist/lib/use-reduced-motion.js.map +0 -0
- package/dist/styles/theme.css +0 -0
- package/dist/styles/tokens.css +0 -0
- package/package.json +5 -5
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# skylcn-ui
|
|
2
2
|
|
|
3
|
-
SKY LAB web
|
|
3
|
+
The shared design system of SKY LAB's web products: tokens, a theme and components written the shadcn way on top of [Base UI](https://base-ui.com). Decision record: [ADR 0055](https://github.com/skylab-kulubu/e-skylab/blob/main/docs/adr/0055-skylcn-ui-is-the-shared-design-system.md).
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Installation
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
8
|
pnpm add @skylab-kulubu/skylcn-ui
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Usage
|
|
12
12
|
|
|
13
|
-
Tailwind 4
|
|
13
|
+
Apps on Tailwind 4 import the theme right after Tailwind:
|
|
14
14
|
|
|
15
15
|
```css
|
|
16
16
|
@import 'tailwindcss';
|
|
@@ -34,67 +34,74 @@ export default function RootLayout({ children }) {
|
|
|
34
34
|
}
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
- `SkylcnProvider`
|
|
41
|
-
- Tailwind
|
|
37
|
+
- The app loads the fonts (Space Grotesk and Space Mono) and binds them to `--skylcn-font-sans` and `--skylcn-font-mono`. Without them the system font is used, which is enough for surfaces such as the Keycloak theme.
|
|
38
|
+
- Dark is the default theme; `data-theme="light"` switches to the light one. `useTheme` remembers the choice and changes the theme with a short transition.
|
|
39
|
+
- To keep the page from opening in the wrong theme and flashing, `<ThemeScript />` goes in `<head>` and `<html>` gets `suppressHydrationWarning`.
|
|
40
|
+
- `SkylcnProvider` sets the language of the built-in texts (`tr` or `en`) and the component used for internal links (`next/link` in Next.js).
|
|
41
|
+
- Surfaces without Tailwind take only the tokens: `@skylab-kulubu/skylcn-ui/tokens.css`.
|
|
42
42
|
|
|
43
|
-
##
|
|
43
|
+
## Entry points
|
|
44
44
|
|
|
45
|
-
- `@skylab-kulubu/skylcn-ui
|
|
46
|
-
- `@skylab-kulubu/skylcn-ui/charts
|
|
47
|
-
- `@skylab-kulubu/skylcn-ui/data-table
|
|
48
|
-
- `@skylab-kulubu/skylcn-ui/theme.css`
|
|
45
|
+
- `@skylab-kulubu/skylcn-ui`: components, motion helpers, the theme and tokens.
|
|
46
|
+
- `@skylab-kulubu/skylcn-ui/charts`: charts on Recharts (area, line, bar, donut). An app without charts never loads Recharts.
|
|
47
|
+
- `@skylab-kulubu/skylcn-ui/data-table`: the admin table on TanStack Table.
|
|
48
|
+
- `@skylab-kulubu/skylcn-ui/theme.css` and `/tokens.css`: the Tailwind theme and plain CSS tokens.
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## Components
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
Every component has live examples in the docs app's playground (`/playground/components`):
|
|
53
53
|
|
|
54
|
-
- **
|
|
55
|
-
- **
|
|
56
|
-
- **
|
|
57
|
-
- **
|
|
58
|
-
- **
|
|
59
|
-
- **
|
|
54
|
+
- **Actions:** Button, IconButton, IconSwap, CopyButton, SegmentedControl
|
|
55
|
+
- **Forms:** Field, Input, Textarea, Select, Combobox, MultiSelect, Checkbox, RadioGroup, Switch, ToggleRow, NumberField, Slider, DatePicker, DateRangePicker, DateTimePicker, Calendar, Dropzone, OTPField
|
|
56
|
+
- **Overlays:** Dialog, ConfirmDialog, Drawer (right, left, bottom; closes with a swipe), Popover, PreviewCard, Tooltip, Menu, ContextMenu, Toast, CommandPalette
|
|
57
|
+
- **Navigation:** AppShell, SideNav, NavigationMenu, Tabs, Accordion, Stepper, Breadcrumbs, Pagination, PageHeader
|
|
58
|
+
- **Data:** DataList, DataTable, ListPanel, Card, StatCard, Badge, StatusDot, Avatar, AvatarGroup, DescriptionList, Timeline, Tree, MonthCalendar, BarList, ProportionBar, TrendBadge, Sparkline, Notice, Banner, BulkBar, Progress, Meter, Kbd, StateCard, StatusPage, Skeleton
|
|
59
|
+
- **Motion:** Reveal, Collapse, Swap, AnimatedNumber
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
The playground also has scenarios, whole pages built from these components, and a page builder for composing a page from blocks and copying its code.
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
- **Hareket:** Süreler, eğriler ve mesafeler token'dır. Hareket azaltma tercihinde kısa solmalar kalır, kayma ve büyüme kalkar. Animasyon yalnızca bir şeyin nereden gelip nereye gittiğini ya da durumunun değiştiğini anlatıyorsa kullanılır.
|
|
65
|
-
- **Mobil:** Dokunmatik ekranda kontroller büyür ve yazı alanları 16px olur; bu sayede iOS alana yakınlaştırma yapmaz.
|
|
63
|
+
## Principles
|
|
66
64
|
|
|
67
|
-
|
|
65
|
+
- **Accessibility:** Every text meant to be read keeps at least 4.5:1 contrast on every surface; the `faint` tone is only for decoration and disabled states. The focus ring shows at once and is drawn in Windows high contrast mode too. For readers who ask for more contrast, muted text and lines get one step stronger.
|
|
66
|
+
- **Motion:** Durations, easings and distances are tokens. With reduced motion, short fades stay and slides and growth go. Animation is used only when it tells where something came from and went, or that its state changed.
|
|
67
|
+
- **Mobile:** On touch screens controls grow and text fields are 16px, so iOS does not zoom into them.
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
## Browser support
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
Chrome/Edge 113, Safari 17.2 and Firefox 112 or later. The soft fade between themes uses the View Transitions API where the browser has it; elsewhere the theme changes at once.
|
|
72
|
+
|
|
73
|
+
## Development
|
|
72
74
|
|
|
73
75
|
```sh
|
|
74
76
|
pnpm install
|
|
75
77
|
pnpm --filter @skylab-kulubu/skylcn-ui build
|
|
76
|
-
pnpm dev # playground:
|
|
78
|
+
pnpm dev # playground: scenarios and the component library
|
|
77
79
|
pnpm typecheck
|
|
78
80
|
pnpm lint
|
|
79
|
-
pnpm test #
|
|
81
|
+
pnpm test # unit and accessibility (axe) tests
|
|
80
82
|
```
|
|
81
83
|
|
|
82
|
-
|
|
84
|
+
End-to-end tests run against a production build of the docs app; every page goes through axe and the main interactions are tried:
|
|
83
85
|
|
|
84
86
|
```sh
|
|
85
87
|
pnpm --filter docs build
|
|
86
|
-
pnpm --filter docs exec playwright install chromium #
|
|
88
|
+
pnpm --filter docs exec playwright install chromium # or point PLAYWRIGHT_CHROMIUM_EXECUTABLE at an installed Chromium
|
|
87
89
|
pnpm --filter docs e2e
|
|
88
90
|
```
|
|
89
91
|
|
|
90
|
-
|
|
92
|
+
The playground can also be built as static files; `DOCS_BASE_PATH` serves it under a sub-path:
|
|
91
93
|
|
|
92
94
|
```sh
|
|
93
|
-
DOCS_EXPORT=1 DOCS_BASE_PATH=/playground pnpm --filter docs build #
|
|
95
|
+
DOCS_EXPORT=1 DOCS_BASE_PATH=/playground pnpm --filter docs build # output: apps/docs/out
|
|
94
96
|
```
|
|
95
97
|
|
|
96
|
-
|
|
98
|
+
Every change comes with a Changesets entry: `pnpm changeset`. Until 1.0 the version follows the 0.x rule:
|
|
99
|
+
|
|
100
|
+
- **patch** (0.1.0 → 0.1.1): a new component, new optional props or a fix; anything that keeps existing code working.
|
|
101
|
+
- **minor** (0.1 → 0.2): a breaking change that needs users to change their code. Ranges such as `^0.1.0` do not pick it up on their own.
|
|
102
|
+
|
|
103
|
+
Merging the "chore: version packages" pull request that Changesets opens stages the version on npm; it goes live once a maintainer approves it with 2FA under **Staged Packages** on npmjs.com.
|
|
97
104
|
|
|
98
|
-
##
|
|
105
|
+
## License
|
|
99
106
|
|
|
100
107
|
[MIT](LICENSE)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -28,6 +28,8 @@ export type ChartFrameProps = {
|
|
|
28
28
|
/** While data reloads the last render stays, dimmed, instead of a skeleton. */
|
|
29
29
|
loading?: boolean;
|
|
30
30
|
empty?: boolean;
|
|
31
|
+
/** What the empty state says, such as "No applications for this event yet". */
|
|
32
|
+
emptyMessage?: ReactNode;
|
|
31
33
|
/** Draws the card; turn off to set the chart straight into a section or another card. */
|
|
32
34
|
framed?: boolean;
|
|
33
35
|
className?: string;
|
|
@@ -38,5 +40,5 @@ export type ChartFrameProps = {
|
|
|
38
40
|
* The card every chart sits in: title, a legend whose entries hide and show
|
|
39
41
|
* their series, a switch to the table view, and the loading and empty states.
|
|
40
42
|
*/
|
|
41
|
-
export declare function ChartFrame({ title, badge, description, actions, height, legend, legendShape, table, loading, empty, framed, className, children, }: ChartFrameProps): import("react").JSX.Element;
|
|
43
|
+
export declare function ChartFrame({ title, badge, description, actions, height, legend, legendShape, table, loading, empty, emptyMessage, framed, className, children, }: ChartFrameProps): import("react").JSX.Element;
|
|
42
44
|
//# sourceMappingURL=chart-frame.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-frame.d.ts","sourceRoot":"","sources":["../../src/charts/chart-frame.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQjD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAC,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,sEAAsE;IACtE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,UAAU,CAAC;IAClB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;CACtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,MAAM,EACN,WAAW,EACX,KAAK,EACL,OAAe,EACf,KAAa,EACb,MAAa,EACb,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,+
|
|
1
|
+
{"version":3,"file":"chart-frame.d.ts","sourceRoot":"","sources":["../../src/charts/chart-frame.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQjD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAC,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,sEAAsE;IACtE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,UAAU,CAAC;IAClB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;CACtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,MAAM,EACN,WAAW,EACX,KAAK,EACL,OAAe,EACf,KAAa,EACb,YAAY,EACZ,MAAa,EACb,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,+BA8JjB"}
|
|
@@ -12,7 +12,7 @@ import { useSkylcn } from '../lib/provider.js';
|
|
|
12
12
|
* The card every chart sits in: title, a legend whose entries hide and show
|
|
13
13
|
* their series, a switch to the table view, and the loading and empty states.
|
|
14
14
|
*/
|
|
15
|
-
export function ChartFrame({ title, badge, description, actions, height, legend, legendShape, table, loading = false, empty = false, framed = true, className, children, }) {
|
|
15
|
+
export function ChartFrame({ title, badge, description, actions, height, legend, legendShape, table, loading = false, empty = false, emptyMessage, framed = true, className, children, }) {
|
|
16
16
|
const { messages } = useSkylcn();
|
|
17
17
|
const [hidden, setHidden] = useState(new Set());
|
|
18
18
|
const [asTable, setAsTable] = useState(false);
|
|
@@ -25,9 +25,9 @@ export function ChartFrame({ title, badge, description, actions, height, legend,
|
|
|
25
25
|
next.add(key);
|
|
26
26
|
return next;
|
|
27
27
|
});
|
|
28
|
-
return (_jsxs("figure", { "data-slot": "chart", className: cn('m-0 flex min-w-0 flex-col', framed && 'rounded-xl border border-border bg-chart-surface', className), children: [_jsxs("figcaption", { className: cn('flex items-start gap-3', framed && 'px-4 pt-4'), children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("p", { className: "truncate text-sm font-semibold text-foreground", children: title }), badge ? _jsx("span", { className: "shrink-0", children: badge }) : null] }), description ? (_jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })) : null] }), actions, _jsx(Button, { variant: "ghost", size: "icon-sm", "aria-pressed": asTable, "aria-label": asTable ? messages.showChart : messages.showTable, title: asTable ? messages.showChart : messages.showTable, onClick: () => setAsTable((value) => !value), children: _jsx(IconSwap, { swapped: asTable, icon: Table2, swappedIcon: ChartColumn, className: "size-4" }) })] }), legend.length > 1 && !asTable ? (_jsx("ul", { className: cn('flex flex-wrap gap-x-1 gap-y-0.5 pt-2', framed ? 'px-3' : '-mx-1.5'), children: legend.map((item) => {
|
|
28
|
+
return (_jsxs("figure", { "data-slot": "chart", className: cn('m-0 flex min-w-0 flex-col', framed && 'rounded-xl border border-border bg-chart-surface', className), children: [_jsxs("figcaption", { className: cn('flex items-start gap-3', framed && 'px-4 pt-4'), children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("p", { className: "truncate text-sm font-semibold text-foreground", children: title }), badge ? _jsx("span", { className: "shrink-0", children: badge }) : null] }), description ? (_jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })) : null] }), actions, empty ? null : (_jsx(Button, { variant: "ghost", size: "icon-sm", "aria-pressed": asTable, "aria-label": asTable ? messages.showChart : messages.showTable, title: asTable ? messages.showChart : messages.showTable, onClick: () => setAsTable((value) => !value), children: _jsx(IconSwap, { swapped: asTable, icon: Table2, swappedIcon: ChartColumn, className: "size-4" }) }))] }), legend.length > 1 && !asTable && !empty ? (_jsx("ul", { className: cn('flex flex-wrap gap-x-1 gap-y-0.5 pt-2', framed ? 'px-3' : '-mx-1.5'), children: legend.map((item) => {
|
|
29
29
|
const off = hidden.has(item.key);
|
|
30
30
|
return (_jsx("li", { children: _jsxs("button", { type: "button", "aria-pressed": !off, title: messages.toggleSeries(item.label), onClick: () => toggle(item.key), className: cn('flex items-center gap-1.5 rounded-md px-1.5 py-1 text-xs outline-hidden transition-[color,opacity] duration-(--motion-duration-fast)', 'hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring', off ? 'text-subtle-foreground opacity-60' : 'text-secondary-foreground'), children: [_jsx("span", { "aria-hidden": true, className: cn('shrink-0 transition-opacity', legendShape === 'rect' ? 'size-2.5 rounded-xs' : 'h-0.5 w-3 rounded-full', off && 'opacity-30'), style: { background: item.color } }), _jsx("span", { className: cn(off && 'line-through decoration-subtle-foreground/60'), children: item.label }), item.detail ? (_jsx("span", { className: "text-subtle-foreground tabular-nums", children: item.detail })) : null] }) }, item.key));
|
|
31
|
-
}) })) : null, _jsx(Swap, { id: asTable ? 'table' : 'chart', className: cn('min-w-0 pt-2', framed && 'px-2 pb-3'), children: empty && loading ? (_jsx(Skeleton, { className: "mx-2 rounded-lg", style: { height: height - 8 } })) : empty ? (_jsx("p", { className: "grid place-items-center text-xs text-muted-foreground", style: { height }, children: messages.noData })) : asTable ? (_jsx("div", { className: "scrollbar overflow-auto px-2", style: { maxHeight: height }, children: _jsxs("table", { className: "w-full border-collapse text-xs", children: [_jsx("caption", { className: "sr-only", children: title }), _jsx("thead", { children: _jsx("tr", { className: "border-b border-border", children: table.head.map((cell, i) => (_jsx("th", { scope: "col", className: cn('sticky top-0 bg-chart-surface py-2 font-medium text-subtle-foreground', i === 0 ? 'pr-3 text-left' : 'px-3 text-right'), children: cell }, i))) }) }), _jsx("tbody", { className: "divide-y divide-border-subtle", children: table.rows.map((row, r) => (_jsx("tr", { children: row.map((cell, i) => i === 0 ? (_jsx("th", { scope: "row", className: "py-1.5 pr-3 text-left font-normal text-secondary-foreground", children: cell }, i)) : (_jsx("td", { className: "px-3 py-1.5 text-right text-foreground tabular-nums", children: cell }, i))) }, r))) })] }) })) : (_jsx("div", { "aria-busy": loading || undefined, className: cn('transition-opacity duration-(--motion-duration-base) [&_text]:tabular-nums', '[&_.recharts-surface]:rounded-md [&_.recharts-surface]:outline-hidden [&_.recharts-surface:focus-visible]:ring-2 [&_.recharts-surface:focus-visible]:ring-ring', loading && 'opacity-50'), children: children(hidden) })) })] }));
|
|
31
|
+
}) })) : null, _jsx(Swap, { id: asTable ? 'table' : 'chart', className: cn('min-w-0 pt-2', framed && 'px-2 pb-3'), children: empty && loading ? (_jsx(Skeleton, { className: "mx-2 rounded-lg", style: { height: height - 8 } })) : empty ? (_jsx("p", { className: "grid place-items-center text-xs text-muted-foreground", style: { height }, children: emptyMessage ?? messages.noData })) : asTable ? (_jsx("div", { className: "scrollbar overflow-auto px-2", style: { maxHeight: height }, children: _jsxs("table", { className: "w-full border-collapse text-xs", children: [_jsx("caption", { className: "sr-only", children: title }), _jsx("thead", { children: _jsx("tr", { className: "border-b border-border", children: table.head.map((cell, i) => (_jsx("th", { scope: "col", className: cn('sticky top-0 bg-chart-surface py-2 font-medium text-subtle-foreground', i === 0 ? 'pr-3 text-left' : 'px-3 text-right'), children: cell }, i))) }) }), _jsx("tbody", { className: "divide-y divide-border-subtle", children: table.rows.map((row, r) => (_jsx("tr", { children: row.map((cell, i) => i === 0 ? (_jsx("th", { scope: "row", className: "py-1.5 pr-3 text-left font-normal text-secondary-foreground", children: cell }, i)) : (_jsx("td", { className: "px-3 py-1.5 text-right text-foreground tabular-nums", children: cell }, i))) }, r))) })] }) })) : (_jsx("div", { "aria-busy": loading || undefined, className: cn('transition-opacity duration-(--motion-duration-base) [&_text]:tabular-nums', '[&_.recharts-surface]:rounded-md [&_.recharts-surface]:outline-hidden [&_.recharts-surface:focus-visible]:ring-2 [&_.recharts-surface:focus-visible]:ring-ring', loading && 'opacity-50'), children: children(hidden) })) })] }));
|
|
32
32
|
}
|
|
33
33
|
//# sourceMappingURL=chart-frame.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-frame.js","sourceRoot":"","sources":["../../src/charts/chart-frame.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"chart-frame.js","sourceRoot":"","sources":["../../src/charts/chart-frame.tsx"],"names":[],"mappings":"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"}
|
package/dist/charts/charts.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ type CartesianProps = {
|
|
|
29
29
|
formatValue?: (value: number) => string;
|
|
30
30
|
formatX?: (value: string | number) => string;
|
|
31
31
|
loading?: boolean;
|
|
32
|
+
/** What the empty state says; "No data to show" by default. */
|
|
33
|
+
emptyMessage?: ReactNode;
|
|
32
34
|
className?: string;
|
|
33
35
|
};
|
|
34
36
|
type SharedProps = CartesianProps & {
|
|
@@ -76,6 +78,10 @@ export type DonutChartProps = {
|
|
|
76
78
|
height?: number;
|
|
77
79
|
formatValue?: (value: number) => string;
|
|
78
80
|
loading?: boolean;
|
|
81
|
+
/** What the empty state says, shown when every slice is zero; "No data to show" by default. */
|
|
82
|
+
emptyMessage?: ReactNode;
|
|
83
|
+
/** Draws the card; turn off to set the chart straight into a section or another card. */
|
|
84
|
+
framed?: boolean;
|
|
79
85
|
className?: string;
|
|
80
86
|
};
|
|
81
87
|
/** Part of a whole at a glance, for up to six parts; compare close values with bars instead. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../src/charts/charts.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAqB9C,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AA4B5E,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5B,mDAAmD;IACnD,CAAC,EAAE,MAAM,CAAC;IACV,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA2EF,KAAK,WAAW,GAAG,cAAc,GAAG;IAClC,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../src/charts/charts.tsx"],"names":[],"mappings":"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"}
|
package/dist/charts/charts.js
CHANGED
|
@@ -74,6 +74,7 @@ function frameProps(props, resolved, format) {
|
|
|
74
74
|
table: tableOf(props, resolved, format),
|
|
75
75
|
loading: props.loading,
|
|
76
76
|
empty: props.data.length === 0,
|
|
77
|
+
emptyMessage: props.emptyMessage,
|
|
77
78
|
className: props.className,
|
|
78
79
|
};
|
|
79
80
|
}
|
|
@@ -185,7 +186,7 @@ export function DonutChart({ height = 220, ...props }) {
|
|
|
185
186
|
format.value(values.get(slice.key) ?? 0),
|
|
186
187
|
percent(values.get(slice.key) ?? 0),
|
|
187
188
|
]),
|
|
188
|
-
}, loading: props.loading, empty: props.data.
|
|
189
|
+
}, loading: props.loading, empty: props.data.every((slice) => slice.value <= 0), emptyMessage: props.emptyMessage, framed: props.framed, className: props.className, children: (hidden) => {
|
|
189
190
|
const shown = slices.filter((slice) => !hidden.has(slice.key));
|
|
190
191
|
const shownTotal = shown.reduce((sum, slice) => sum + (values.get(slice.key) ?? 0), 0);
|
|
191
192
|
return (_jsxs("div", { className: "relative", style: { height }, children: [_jsxs(PiePrimitive, { responsive: true, style: { width: '100%', height }, title: chartTitle(props.title), children: [_jsx(Tooltip, { isAnimationActive: false, content: (tooltip) => (_jsx(TooltipCard, { active: tooltip.active, payload: tooltip.payload, label: tooltip.label, resolved: slices, format: format.value })) }), _jsx(Pie, { data: shown.map((slice) => ({ ...slice, value: values.get(slice.key) ?? 0 })), dataKey: "value", nameKey: "key", innerRadius: "62%", outerRadius: "88%", stroke: "var(--chart-surface)", strokeWidth: 2, startAngle: 90, endAngle: -270, ...motion, children: shown.map((slice) => (_jsx(Cell, { fill: slice.color }, slice.key))) })] }), _jsx("div", { className: "pointer-events-none absolute inset-0 grid place-items-center", children: _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-xl font-semibold text-foreground", children: props.centerLabel ?? _jsx(AnimatedNumber, { value: shownTotal, format: format.value }) }), _jsx("p", { className: "text-3xs tracking-label text-subtle-foreground uppercase", children: messages.total })] }) })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.js","sourceRoot":"","sources":["../../src/charts/charts.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"charts.js","sourceRoot":"","sources":["../../src/charts/charts.tsx"],"names":[],"mappings":"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"}
|
package/dist/charts/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/charts/index.js
CHANGED
|
File without changes
|
package/dist/charts/index.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -74,10 +74,12 @@ export type SidebarGroupProps = {
|
|
|
74
74
|
/** True while one of its items is the current page; opens the group. */
|
|
75
75
|
active?: boolean;
|
|
76
76
|
defaultOpen?: boolean;
|
|
77
|
+
/** Remembers whether the reader left it open or closed, under this key. */
|
|
78
|
+
storageKey?: string;
|
|
77
79
|
children: ReactNode;
|
|
78
80
|
};
|
|
79
81
|
/** A collapsible run of nested items. On the icon rail it opens the sidebar instead. */
|
|
80
|
-
export declare function SidebarGroup({ label, icon: Icon, active, defaultOpen, children, }: SidebarGroupProps): import("react").JSX.Element;
|
|
82
|
+
export declare function SidebarGroup({ label, icon: Icon, active, defaultOpen, storageKey, children, }: SidebarGroupProps): import("react").JSX.Element;
|
|
81
83
|
export declare function SidebarFooter({ children }: {
|
|
82
84
|
children: ReactNode;
|
|
83
85
|
}): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../src/components/app-shell.tsx"],"names":[],"mappings":"AAIA,OAAO,EASL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAyCf,8FAA8F;AAC9F,wBAAgB,UAAU;yBApBH,OAAO,KAAK,IAAI;;eASN,OAAO;cAAY,OAAO;EAmB1D;AAgBD,MAAM,MAAM,aAAa,GAAG;IAC1B,sGAAsG;IACtG,OAAO,EAAE,SAAS,CAAC;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,MAAM,EACN,gBAAwB,EACxB,UAAuC,EACvC,QAAQ,GACT,EAAE,aAAa,+
|
|
1
|
+
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../src/components/app-shell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,10 @@ export function AppShell({ sidebar, header, defaultCollapsed = false, storageKey
|
|
|
51
51
|
const { messages } = useSkylcn();
|
|
52
52
|
const [collapsed, setCollapsedState] = useState(defaultCollapsed);
|
|
53
53
|
const [mobileOpen, setMobileOpen] = useState(false);
|
|
54
|
+
// The drawer is hidden from md up; closing it there keeps a widened window usable
|
|
55
|
+
const desktop = useIsDesktop();
|
|
56
|
+
if (desktop && mobileOpen)
|
|
57
|
+
setMobileOpen(false);
|
|
54
58
|
const [desktopSlot, setDesktopSlot] = useState(null);
|
|
55
59
|
const [mobileSlot, setMobileSlot] = useState(null);
|
|
56
60
|
useEffect(() => {
|
|
@@ -92,7 +96,10 @@ export function AppShell({ sidebar, header, defaultCollapsed = false, storageKey
|
|
|
92
96
|
}, [collapsed, setCollapsed]);
|
|
93
97
|
return (_jsx(ShellContext.Provider, { value: { collapsed, setCollapsed, mobileOpen, setMobileOpen, desktopSlot, mobileSlot }, children: _jsxs("div", { "data-slot": "app-shell", "data-collapsed": collapsed || undefined, className: cn(
|
|
94
98
|
// Sticky parts inside the page (list headers) stick below the phone's top bar
|
|
95
|
-
'min-h-dvh bg-background [--skylcn-sticky-top:3.5rem] md:h-dvh md:bg-sidebar md:py-2 md:pr-2 md:[--skylcn-sticky-top:0px]', 'transition-[padding] duration-(--motion-duration-base) ease-enter', collapsed ? 'md:pl-18' : 'md:pl-66'), children: [_jsx("a", { href: "#skylcn-main", className: "fixed top-2 left-2 z-60 -translate-y-16 rounded-md border border-border bg-popover px-3 py-2 text-sm text-foreground shadow-overlay outline-hidden focus-visible:translate-y-0 focus-visible:ring-2 focus-visible:ring-ring", children: messages.skipToContent }), _jsx("aside", { "aria-label": messages.navigation, className: cn('fixed inset-y-0 left-0 z-30 hidden overflow-hidden bg-sidebar md:flex', 'transition-[width] duration-(--motion-duration-base) ease-enter', collapsed ? 'w-16' : 'w-64'), children: _jsx(SidebarScopeContext.Provider, { value: { collapsed, inDrawer: false }, children: _jsx(SidebarFrame, { children: sidebar }) }) }), _jsx("div", { className: "sticky top-0 z-40 border-b border-border-subtle bg-sidebar/70 backdrop-blur md:hidden", children: _jsxs("div", { className: "flex h-14 items-center gap-2 px-3", children: [_jsx("button", { type: "button", onClick: () => setMobileOpen(true), "aria-label": messages.openMenu, className: "grid size-10 place-items-center rounded-md text-secondary-foreground outline-hidden hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(Menu, { className: "size-5" }) }), _jsx("div", { className: "min-w-0 flex-1", children: header }), _jsx("div", { ref: setMobileSlot, className: "flex shrink-0 items-center gap-1.5" })] }) }), _jsx(DrawerPrimitive.Root, { open: mobileOpen, onOpenChange: setMobileOpen, swipeDirection: "left", children: _jsxs(DrawerPrimitive.Portal, { children: [_jsx(DrawerPrimitive.Backdrop, { className: "fixed inset-0 z-50 bg-black opacity-[calc(0.4*(1-var(--drawer-swipe-progress)))] transition-opacity duration-(--motion-duration-slow) ease-enter data-ending-style:opacity-0 data-starting-style:opacity-0 data-swiping:duration-0 md:hidden" }), _jsx(DrawerPrimitive.Viewport, { className: "fixed inset-0 z-50 md:hidden", children: _jsxs(DrawerPrimitive.Popup, { "aria-label": messages.navigation, className: cn('absolute inset-y-0 left-0 flex outline-hidden', '[transform:translateX(var(--drawer-swipe-movement-x))] transition-[transform,opacity] duration-(--motion-duration-spring) ease-spring data-swiping:duration-0', 'data-ending-style:[transform:translateX(-100%)] data-ending-style:duration-[calc(var(--drawer-swipe-strength,1)*var(--motion-duration-base))] data-ending-style:ease-exit data-starting-style:[transform:translateX(-100%)]', 'motion-reduce:data-ending-style:[transform:none] motion-reduce:data-ending-style:opacity-0 motion-reduce:data-starting-style:[transform:none] motion-reduce:data-starting-style:opacity-0'), children: [_jsx("div", { className: "flex h-full w-72 border-r border-border bg-sidebar pb-[env(safe-area-inset-bottom)] shadow-overlay", children: _jsx(SidebarScopeContext.Provider, { value: { collapsed: false, inDrawer: true }, children: _jsx(SidebarFrame, { children: sidebar }) }) }), _jsx(DrawerPrimitive.Close, { "aria-label": messages.close, title: messages.close, className: "group -ml-px flex h-full w-5 items-center justify-center rounded-r-full border-y border-r border-border bg-sidebar text-subtle-foreground outline-hidden transition-colors hover:text-secondary-foreground", children: _jsx(ChevronsLeft, { className: "size-3.5 opacity-60 transition-transform duration-(--motion-duration-base) group-hover:scale-110 group-hover:opacity-100", strokeWidth: 2.5 }) })] }) })] }) }), _jsxs("div", { className: "md:flex md:h-full md:min-h-0 md:flex-col md:overflow-hidden md:rounded-xl md:border md:border-border-subtle md:bg-background", children: [_jsxs("div", { className: "hidden h-10 shrink-0 items-center gap-3 border-b border-border-subtle pr-6 pl-3 md:flex", children: [_jsx(CollapseToggle, { collapsed: collapsed, onToggle: () => setCollapsed(!collapsed) }), _jsx("span", { "aria-hidden": true, className: "h-4 w-px bg-border" }), _jsx("div", { className: "min-w-0 flex-1", children: header }), _jsx("div", { ref: setDesktopSlot, className: "flex shrink-0 items-center gap-1.5" })] }), _jsx("main", { id: "skylcn-main", tabIndex: -1,
|
|
99
|
+
'min-h-dvh bg-background [--skylcn-sticky-top:3.5rem] md:h-dvh md:bg-sidebar md:py-2 md:pr-2 md:[--skylcn-sticky-top:0px]', 'transition-[padding] duration-(--motion-duration-base) ease-enter', collapsed ? 'md:pl-18' : 'md:pl-66'), children: [_jsx("a", { href: "#skylcn-main", className: "fixed top-2 left-2 z-60 -translate-y-16 rounded-md border border-border bg-popover px-3 py-2 text-sm text-foreground shadow-overlay outline-hidden focus-visible:translate-y-0 focus-visible:ring-2 focus-visible:ring-ring", children: messages.skipToContent }), _jsx("aside", { "aria-label": messages.navigation, className: cn('fixed inset-y-0 left-0 z-30 hidden overflow-hidden bg-sidebar md:flex', 'transition-[width] duration-(--motion-duration-base) ease-enter', collapsed ? 'w-16' : 'w-64'), children: _jsx(SidebarScopeContext.Provider, { value: { collapsed, inDrawer: false }, children: _jsx(SidebarFrame, { children: sidebar }) }) }), _jsx("div", { className: "sticky top-0 z-40 border-b border-border-subtle bg-sidebar/70 backdrop-blur md:hidden", children: _jsxs("div", { className: "flex h-14 items-center gap-2 px-3", children: [_jsx("button", { type: "button", onClick: () => setMobileOpen(true), "aria-label": messages.openMenu, className: "grid size-10 place-items-center rounded-md text-secondary-foreground outline-hidden hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(Menu, { className: "size-5" }) }), _jsx("div", { className: "min-w-0 flex-1", children: header }), _jsx("div", { ref: setMobileSlot, className: "flex shrink-0 items-center gap-1.5" })] }) }), _jsx(DrawerPrimitive.Root, { open: mobileOpen, onOpenChange: setMobileOpen, swipeDirection: "left", children: _jsxs(DrawerPrimitive.Portal, { children: [_jsx(DrawerPrimitive.Backdrop, { className: "fixed inset-0 z-50 bg-black opacity-[calc(0.4*(1-var(--drawer-swipe-progress)))] transition-opacity duration-(--motion-duration-slow) ease-enter data-ending-style:opacity-0 data-starting-style:opacity-0 data-swiping:duration-0 md:hidden" }), _jsx(DrawerPrimitive.Viewport, { className: "fixed inset-0 z-50 md:hidden", children: _jsxs(DrawerPrimitive.Popup, { "aria-label": messages.navigation, className: cn('absolute inset-y-0 left-0 flex outline-hidden', '[transform:translateX(var(--drawer-swipe-movement-x))] transition-[transform,opacity] duration-(--motion-duration-spring) ease-spring data-swiping:duration-0', 'data-ending-style:[transform:translateX(-100%)] data-ending-style:duration-[calc(var(--drawer-swipe-strength,1)*var(--motion-duration-base))] data-ending-style:ease-exit data-starting-style:[transform:translateX(-100%)]', 'motion-reduce:data-ending-style:[transform:none] motion-reduce:data-ending-style:opacity-0 motion-reduce:data-starting-style:[transform:none] motion-reduce:data-starting-style:opacity-0'), children: [_jsx("div", { className: "flex h-full w-72 border-r border-border bg-sidebar pb-[env(safe-area-inset-bottom)] shadow-overlay", children: _jsx(SidebarScopeContext.Provider, { value: { collapsed: false, inDrawer: true }, children: _jsx(SidebarFrame, { children: sidebar }) }) }), _jsx(DrawerPrimitive.Close, { "aria-label": messages.close, title: messages.close, className: "group -ml-px flex h-full w-5 items-center justify-center rounded-r-full border-y border-r border-border bg-sidebar text-subtle-foreground outline-hidden transition-colors hover:text-secondary-foreground", children: _jsx(ChevronsLeft, { className: "size-3.5 opacity-60 transition-transform duration-(--motion-duration-base) group-hover:scale-110 group-hover:opacity-100", strokeWidth: 2.5 }) })] }) })] }) }), _jsxs("div", { className: "md:flex md:h-full md:min-h-0 md:flex-col md:overflow-hidden md:rounded-xl md:border md:border-border-subtle md:bg-background", children: [_jsxs("div", { className: "hidden h-10 shrink-0 items-center gap-3 border-b border-border-subtle pr-6 pl-3 md:flex", children: [_jsx(CollapseToggle, { collapsed: collapsed, onToggle: () => setCollapsed(!collapsed) }), _jsx("span", { "aria-hidden": true, className: "h-4 w-px bg-border" }), _jsx("div", { className: "min-w-0 flex-1", children: header }), _jsx("div", { ref: setDesktopSlot, className: "flex shrink-0 items-center gap-1.5" })] }), _jsx("main", { id: "skylcn-main", tabIndex: -1,
|
|
100
|
+
// Positioned, so absolute children (a Sparkline's layers, screen-reader copy)
|
|
101
|
+
// scroll with the content instead of stretching the page into a second scroll
|
|
102
|
+
className: "relative scrollbar outline-hidden md:min-h-0 md:flex-1 md:scroll-pt-12 md:overflow-y-auto", children: _jsx("div", { className: "mx-auto w-full max-w-400 p-4 sm:p-6", children: children }) })] })] }) }));
|
|
96
103
|
}
|
|
97
104
|
function SidebarFrame({ children }) {
|
|
98
105
|
const { collapsed, inDrawer } = useContext(SidebarScopeContext);
|
|
@@ -115,7 +122,7 @@ function ConsoleRow({ app, current }) {
|
|
|
115
122
|
const Icon = app.icon;
|
|
116
123
|
return (_jsxs(_Fragment, { children: [_jsx("span", { className: cn('grid size-8 shrink-0 place-items-center rounded-md border', current
|
|
117
124
|
? 'border-skylab-400/40 bg-skylab-500/10 text-skylab-300'
|
|
118
|
-
: 'border-border bg-muted text-muted-foreground'), children: Icon ? (_jsx(Icon, { className: "size-4!", strokeWidth: 1.75 })) : (_jsx("span", { className: "text-2xs font-semibold", children: app.label.slice(0, 1) })) }), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: cn('block truncate text-xs font-medium', current ? 'text-foreground' : 'text-secondary-foreground'), children: app.label }), app.description ? (_jsx("span", { className: "block
|
|
125
|
+
: 'border-border bg-muted text-muted-foreground'), children: Icon ? (_jsx(Icon, { className: "size-4!", strokeWidth: 1.75 })) : (_jsx("span", { className: "text-2xs font-semibold", children: app.label.slice(0, 1) })) }), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: cn('block truncate text-xs font-medium', current ? 'text-foreground' : 'text-secondary-foreground'), children: app.label }), app.description ? (_jsx("span", { className: "block text-3xs leading-snug text-pretty text-subtle-foreground", children: app.description })) : null] }), current ? _jsx(Check, { className: "size-3.5! shrink-0 text-skylab-400" }) : null] }));
|
|
119
126
|
}
|
|
120
127
|
export function SidebarBrand({ name, subtitle, href, consoles, current }) {
|
|
121
128
|
const { collapsed } = useSidebar();
|
|
@@ -150,14 +157,39 @@ export function SidebarItem({ href, label, icon: Icon, active = false, badge, ex
|
|
|
150
157
|
return collapsed && !nested ? (_jsx(Tooltip, { label: label, side: "right", children: link })) : (link);
|
|
151
158
|
}
|
|
152
159
|
/** A collapsible run of nested items. On the icon rail it opens the sidebar instead. */
|
|
153
|
-
export function SidebarGroup({ label, icon: Icon, active = false, defaultOpen, children, }) {
|
|
160
|
+
export function SidebarGroup({ label, icon: Icon, active = false, defaultOpen, storageKey, children, }) {
|
|
154
161
|
const { collapsed, setCollapsed } = useSidebar();
|
|
155
|
-
const [open,
|
|
162
|
+
const [open, setOpenState] = useState(defaultOpen ?? active);
|
|
163
|
+
useEffect(() => {
|
|
164
|
+
if (!storageKey || active)
|
|
165
|
+
return;
|
|
166
|
+
try {
|
|
167
|
+
const saved = window.localStorage.getItem(storageKey);
|
|
168
|
+
if (saved !== null)
|
|
169
|
+
setOpenState(saved === 'true');
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
// Storage can be unavailable (private mode); the default stays.
|
|
173
|
+
}
|
|
174
|
+
// Read once per key; the active page opening its group must not be undone
|
|
175
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
176
|
+
}, [storageKey]);
|
|
177
|
+
const setOpen = (next) => {
|
|
178
|
+
setOpenState(next);
|
|
179
|
+
if (!storageKey)
|
|
180
|
+
return;
|
|
181
|
+
try {
|
|
182
|
+
window.localStorage.setItem(storageKey, String(next));
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
// Not remembering is fine.
|
|
186
|
+
}
|
|
187
|
+
};
|
|
156
188
|
const [wasActive, setWasActive] = useState(active);
|
|
157
189
|
if (active !== wasActive) {
|
|
158
190
|
setWasActive(active);
|
|
159
191
|
if (active)
|
|
160
|
-
|
|
192
|
+
setOpenState(true);
|
|
161
193
|
}
|
|
162
194
|
const rowClass = cn('group/group flex w-full items-center rounded-md text-sm outline-hidden', 'transition-[color,background-color] duration-(--motion-duration-fast) ease-enter focus-visible:ring-2 focus-visible:ring-ring', active ? 'text-foreground' : 'text-muted-foreground hover:bg-accent hover:text-foreground', collapsed ? 'justify-center py-2' : 'gap-3 px-3 py-2 pointer-coarse:py-2.5');
|
|
163
195
|
if (collapsed) {
|