@human-synthesis/norns-ui 0.0.12 → 0.0.13

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
@@ -103,11 +103,13 @@ Form(action="?/save" form!="{form}")
103
103
  - **Atoms** (CSS-only `@layer components`): `.btn`, `.input`, `.field`, `.form`, `.checkbox`, `.radio`, `.switch`, `.card`, `.surface-elevated`, `.btn-icon`, `.banner`, `.badge`, `.chip`, `.avatar`, `.skeleton`, `.progress`, `.norns-header`, `.hero`, `.stepper`, `.breadcrumbs`, `.pagination`, `.accordion`, `.carousel`, plus variants/sizes.
104
104
  - **Forms**: `Btn`, `Form`, `Field`, `FieldGroup`, `Input`, `Textarea`, `Select`, `Checkbox`, `Radio`, `Switch`.
105
105
  - **Behavior** (custom on `@floating-ui/dom`): `Dialog`, `Sheet`, `Popover`, `Dropdown`, `Tooltip`, `Tabs`, `Accordion`, `ContextMenu`, `Collapsible`.
106
- - **Display**: `Card`, `Surface`, `Banner`, `Badge`, `Chip`, `Avatar`, `Skeleton`, `Progress`, `ProgressCircular`, `Icon`.
107
- - **Composite**: `Header`, `HeroBanner`, `Stepper`, `Breadcrumbs`, `Pagination`, `Carousel`.
106
+ - **Display**: `Card`, `Window`, `Surface`, `Banner`, `Badge`, `Chip`, `Avatar`, `AvatarGroup`, `Skeleton`, `Progress`, `ProgressCircular`, `Icon`, `Image`, `Audio`, `Video`, `Timeline`, `GradientText`.
107
+ - **Composite**: `Header`, `HeroBanner`, `Stepper`, `Breadcrumbs`, `Pagination`, `Carousel`, `Tree`, `Toolbar`, `Separator`, `ButtonGroup`, `ToggleButton`, `ToggleButtonGroup`, `HierarchicalMenu`, `MegaMenu`.
108
+ - **Inputs**: `NumberInput`, `OtpField`, `TagsInput`, `Autocomplete`, `MultiSelect`, `ColorPicker`, `Uploader`, `DatePicker`, `DateRangePicker`, `TimePicker`, `Calendar`, `DataTable`, `ScrollArea`, `CopyButton`, `ThemeToggler`, `ShinyButton`, `RippleButton`.
108
109
  - **Toast**: `ToastProvider` + `toast()` / `notify()` / `dismiss()` from `@human-synthesis/norns-ui/toast`.
110
+ - **Motion** (opt-in, `@human-synthesis/norns-ui/motion`): `AnimatedNumber`, `GradientBackground`, `LiquidButton`, `Reveal`, `Sparkles`.
109
111
 
110
- Hand-rolled `.d.ts` shims live under `src/types/`. Override any component by dropping `src/lib/components/<Name>.n` in your project — `nornsAutoImport`'s first-match-wins shadows the library silently.
112
+ The full prop reference for every component is **[COMPONENTS.md](./COMPONENTS.md)**, generated from the `.d.ts` shims under `src/types/` (`bun run docs:components`). Live usage of every component: `norns-demo/src/routes/examples/ui/+page.n`. Override any component by dropping `src/lib/components/<Name>.n` in your project — `nornsAutoImport`'s first-match-wins shadows the library silently.
111
113
 
112
114
  ## Behaviors
113
115
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@human-synthesis/norns-ui",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "description": "UI library for the Norns ecosystem — Pug + Civet components on Tailwind v4.",
5
5
  "license": "MIT",
6
6
  "author": "Daniel Teodoroiu (https://humansynthesis.ai)",
@@ -11,12 +11,15 @@
11
11
  },
12
12
  "files": [
13
13
  "src",
14
- "README.md"
14
+ "README.md",
15
+ "COMPONENTS.md"
15
16
  ],
16
17
  "scripts": {
17
18
  "test": "bun test",
18
19
  "check:shims": "bun scripts/check-shims.mjs",
19
- "check:shims:strict": "bun scripts/check-shims.mjs --strict"
20
+ "check:shims:strict": "bun scripts/check-shims.mjs --strict",
21
+ "docs:components": "bun scripts/gen-components-doc.mjs",
22
+ "docs:components:check": "bun scripts/gen-components-doc.mjs --check"
20
23
  },
21
24
  "exports": {
22
25
  ".": "./src/index.js",
@@ -34,8 +37,8 @@
34
37
  "./package.json": "./package.json"
35
38
  },
36
39
  "peerDependencies": {
37
- "@human-synthesis/norns": "^0.0.17",
38
- "@human-synthesis/norns-core": "^0.0.10",
40
+ "@human-synthesis/norns": "^0.0.18",
41
+ "@human-synthesis/norns-core": "^0.0.11",
39
42
  "svelte": "^5.0.0",
40
43
  "tailwindcss": "^4.0.0"
41
44
  },
package/src/index.js CHANGED
@@ -33,6 +33,7 @@ export { default as ToastProvider } from './components/ToastProvider.n';
33
33
  // 0.0.4 — display layer
34
34
  export { default as Icon } from './components/Icon.n';
35
35
  export { default as Card } from './components/Card.n';
36
+ export { default as Window } from './components/Window.n';
36
37
  export { default as Surface } from './components/Surface.n';
37
38
  export { default as Banner } from './components/Banner.n';
38
39
  export { default as Badge } from './components/Badge.n';
@@ -0,0 +1,22 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type WindowProps = {
4
+ /** Header title (truncated). */
5
+ title?: string;
6
+ /** Remove the whole header bar; keeps the rounded shell. */
7
+ hideHeader?: boolean;
8
+ /** When set, renders a `lucide:x` close button (marked `.nodrag`). */
9
+ onClose?: () => void;
10
+ /** Fires on double-click over the header bar (e.g. maximise). */
11
+ onHeaderDoubleClick?: (event: MouseEvent) => void;
12
+ /** Extra header controls, rendered before the close button. */
13
+ actions?: Snippet;
14
+ children?: Snippet;
15
+ /** Classes for the outer shell — pass dimensions here (`w-[520px] h-[380px]`). */
16
+ class?: string;
17
+ /** Classes for the body section. */
18
+ bodyClass?: string;
19
+ };
20
+
21
+ declare const Window: Component<WindowProps>;
22
+ export default Window;