@freeappstore/sdk 0.14.30 → 0.14.31

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/README.md CHANGED
@@ -175,20 +175,41 @@ function App() {
175
175
  }
176
176
  ```
177
177
 
178
+ ### App shell
179
+
180
+ Every app wraps itself in `Shell` from `@freeappstore/sdk/ui`: the topbar (FreeAppStore link, app name, text size, theme, sign-in / profile menu), the app's main navigation from `nav`, and an error boundary, loading fallback, toast region, offline banner and skip link around your screens. There is no paid tier, so the only gate is the optional sign-in gate (`requireAuth`).
181
+
182
+ ```tsx
183
+ import { type NavItem, PageHeader, Shell, useToast } from '@freeappstore/sdk/ui';
184
+
185
+ const NAV: NavItem[] = [
186
+ { label: 'Notes', href: '/', title: 'Notes' },
187
+ { label: 'Tags', href: '/tags', title: 'Tags — Notes' },
188
+ ];
189
+
190
+ <Shell app={fas} appName="Notes" nav={NAV} onNavigate={navigate}>
191
+ <Screen />
192
+ </Shell>
193
+
194
+ // In a screen: its single h1, and feedback through the shell
195
+ <PageHeader title="Tags" />
196
+ const toast = useToast(); toast.show('Saved', { variant: 'success' });
197
+ ```
198
+
199
+ `onNavigate` makes nav clicks client-side (scroll and focus are handled on route changes); without it the items are ordinary links. `FasShell` is the same component under its older name. Full reference: [docs/ui.md](../../docs/ui.md#shell-the-standard-app-frame).
200
+
178
201
  ### UI Components
179
202
 
180
203
  Drop-in React components. Import from `@freeappstore/sdk/ui`. Components use CSS custom properties (`--ink`, `--accent`, etc.) to blend into your app's theme.
181
204
 
182
205
  ```tsx
183
206
  import {
184
- FasShell, Avatar, SignInButton, ThemeToggle, ProfileMenu, ProfilePage,
207
+ Shell, PageHeader, NavBar, useToast, useDocumentTitle, useOnline,
208
+ Avatar, SignInButton, ThemeToggle, ProfileMenu, ProfilePage,
185
209
  Spinner, Badge, Card, Tabs, Modal, ConfirmDialog, EmptyState,
186
210
  ProgressBar, SearchInput, ListRow, ErrorBoundary, KeyPrompt,
187
211
  } from '@freeappstore/sdk/ui';
188
212
 
189
- // Zero-config shell
190
- <FasShell app={fas} appName="My App"><MyApp /></FasShell>
191
-
192
213
  // Building blocks
193
214
  <Spinner size={24} />
194
215
  <Badge variant="success">Live</Badge>
package/dist/logger.d.ts CHANGED
@@ -35,7 +35,7 @@ export interface BuildMeta {
35
35
  viewport: string;
36
36
  theme?: string | undefined;
37
37
  }
38
- export declare const SDK_VERSION = "0.14.29";
38
+ export declare const SDK_VERSION = "0.14.30";
39
39
  export declare class Logger {
40
40
  private readonly appId;
41
41
  private readonly apiBase;
package/dist/logger.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Must track package.json version — bumped on release. Guarded by version.test.ts
2
2
  // so a forgotten bump fails CI instead of silently misattributing telemetry.
3
- export const SDK_VERSION = '0.14.29';
3
+ export const SDK_VERSION = '0.14.30';
4
4
  const MEMORY_LIMIT = 200;
5
5
  const STORAGE_LIMIT = 500;
6
6
  const STORAGE_KEY_PREFIX = 'fas_logs:';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@freeappstore/sdk",
3
- "version": "0.14.30",
3
+ "version": "0.14.31",
4
4
  "description": "Browser SDK for apps on freeappstore.online — auth, per-user KV, shared counters, document collections, real-time rooms, API proxy, user API key vault, RBAC roles, React hooks, and 18 UI components.",
5
5
  "license": "MIT",
6
6
  "type": "module",