@maxhealth.tech/prefab 0.1.7 → 0.1.9

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.
Files changed (60) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +70 -3
  3. package/dist/app.d.ts +1 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +10 -2
  6. package/dist/app.js.map +1 -1
  7. package/dist/components/data/index.d.ts +13 -3
  8. package/dist/components/data/index.d.ts.map +1 -1
  9. package/dist/components/data/index.js +38 -16
  10. package/dist/components/data/index.js.map +1 -1
  11. package/dist/components/layout/index.d.ts +36 -1
  12. package/dist/components/layout/index.d.ts.map +1 -1
  13. package/dist/components/layout/index.js +16 -0
  14. package/dist/components/layout/index.js.map +1 -1
  15. package/dist/core/component.d.ts +3 -2
  16. package/dist/core/component.d.ts.map +1 -1
  17. package/dist/core/component.js.map +1 -1
  18. package/dist/index.d.ts +4 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/renderer/components/data.d.ts.map +1 -1
  23. package/dist/renderer/components/data.js +34 -2
  24. package/dist/renderer/components/data.js.map +1 -1
  25. package/dist/renderer/components/layout.d.ts.map +1 -1
  26. package/dist/renderer/components/layout.js +42 -1
  27. package/dist/renderer/components/layout.js.map +1 -1
  28. package/dist/renderer/rx.d.ts.map +1 -1
  29. package/dist/renderer/rx.js +115 -3
  30. package/dist/renderer/rx.js.map +1 -1
  31. package/dist/renderer/state.d.ts +5 -0
  32. package/dist/renderer/state.d.ts.map +1 -1
  33. package/dist/renderer/state.js +6 -0
  34. package/dist/renderer/state.js.map +1 -1
  35. package/dist/renderer.min.js +30 -30
  36. package/dist/rx/collection.d.ts +92 -0
  37. package/dist/rx/collection.d.ts.map +1 -0
  38. package/dist/rx/collection.js +126 -0
  39. package/dist/rx/collection.js.map +1 -0
  40. package/dist/rx/index.d.ts +6 -0
  41. package/dist/rx/index.d.ts.map +1 -1
  42. package/dist/rx/index.js +4 -0
  43. package/dist/rx/index.js.map +1 -1
  44. package/dist/rx/pipes.d.ts +22 -0
  45. package/dist/rx/pipes.d.ts.map +1 -0
  46. package/dist/rx/pipes.js +32 -0
  47. package/dist/rx/pipes.js.map +1 -0
  48. package/dist/rx/rx.d.ts +7 -1
  49. package/dist/rx/rx.d.ts.map +1 -1
  50. package/dist/rx/rx.js +12 -3
  51. package/dist/rx/rx.js.map +1 -1
  52. package/dist/rx/signal.d.ts +50 -0
  53. package/dist/rx/signal.d.ts.map +1 -0
  54. package/dist/rx/signal.js +58 -0
  55. package/dist/rx/signal.js.map +1 -0
  56. package/dist/rx/state-collector.d.ts +23 -0
  57. package/dist/rx/state-collector.d.ts.map +1 -0
  58. package/dist/rx/state-collector.js +38 -0
  59. package/dist/rx/state-collector.js.map +1 -0
  60. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,62 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [0.1.8] — 2026-04-24
6
+
7
+ ### Reactive Primitives
8
+ - `signal(key, initial)` — named reactive scalar for wire format, auto-registers state
9
+ - `collection(key, rows, { key })` — named keyed array, auto-registers state
10
+ - `Ref<T>` — lazy pipe expression referencing a row in a collection via `collection.by(signal)`
11
+ - Typed `Ref.dot(field)` — returns `Ref<T[K]>` with autocomplete on `keyof T`
12
+ - `Ref.formatted(field, pipe, ...args)` — sugar for `.dot(field).pipe(pipe)`
13
+ - `Rx.pipe(name, ...args)` — public variadic pipe builder (was private single-arg)
14
+ - `Ref.pipe(name, ...args)` — delegates to `Rx.pipe()`
15
+
16
+ ### Pipe Extension Point
17
+ - `registerPipe(name, fn)` — global custom pipe registry for companion packages
18
+ - `unregisterPipe(name)` — remove a pipe (tests)
19
+ - `listPipes()` — list registered names (debugging)
20
+ - Built-in pipes always shadow custom pipes (safety)
21
+ - Re-registration warns and overwrites (HMR-friendly)
22
+ - Custom pipes receive variadic parsed args (`| date:'long'`, `| between:1,10`)
23
+
24
+ ### Selection & Master-Detail
25
+ - `DataTable({ from, selected })` — auto-wires `rowKey`, `onRowClick → SetState`, highlight
26
+ - `Detail({ of, empty, children })` — conditional pane, shows children when ref resolves
27
+ - `MasterDetail({ masterWidth, gap, children })` — two-pane flex layout
28
+ - `col()` descriptor overload: `col({ key, header, format, accessor, sortable })`
29
+ - `format` on columns applies pipe (built-in or custom) to cell values
30
+ - `accessor` on columns resolves pipe expressions per cell (`name | humanName`)
31
+
32
+ ### Auto State Collection
33
+ - `signal()` and `collection()` factories auto-register into a global collector
34
+ - `PrefabApp` constructor drains collector — no more `state: { ...c.toState(), ...s.toState() }`
35
+ - Explicit `state` overrides auto-collected on key conflicts
36
+ - Duplicate state keys warn (`[prefab] state key "X" registered multiple times`)
37
+ - `resetAutoState()` exported for test cleanup
38
+
39
+ ### Renderer
40
+ - `find` pipe filter — O(1) keyed lookup with generation-aware cache
41
+ - `dot` pipe filter — extract property from object
42
+ - `Store.generation` counter — monotonically increasing, invalidates find cache on mutation
43
+ - `applyFilter` falls through to custom pipe registry after built-ins
44
+ - `RxStr` widened to `string | Rx | Ref` — Ref works in all component props
45
+
46
+ ### Bug Fixes (TDD)
47
+ - `find` pipe: numeric key coercion (`'2' !== 2`) — fixed with `String()` on both sides
48
+ - `find` pipe: scope dot-path resolution (`$item.managerId`) — walk scope object
49
+ - `find` cache: stale after in-place mutation — fixed with generation counter
50
+ - `Detail`: `0` treated as truthy — added explicit `!== 0` check
51
+ - `col({ format })`: built-in pipes silently ignored — route through `applyFilter`
52
+ - `col({ accessor, format })`: double-applied formatting — skip format when accessor present
53
+ - Duplicate auto-state keys: silent overwrite — now warns
54
+
55
+ ### Tests
56
+ - 829 tests passing across 24 files
57
+ - New: `test/signal-collection.test.ts` (67 tests)
58
+ - New: `test/pipes.test.ts` (17 tests)
59
+ - New: `test/tdd-bugs.test.ts` (6 tests)
60
+
5
61
  ## [0.1.0] — 2026-04-20
6
62
 
7
63
  Initial release.
package/README.md CHANGED
@@ -72,7 +72,7 @@ async function listUsers(args: any) {
72
72
  ## Components
73
73
 
74
74
  ### Layout
75
- `Column`, `Row`, `Grid`, `GridItem`, `Container`, `Div`, `Span`, `Dashboard`, `DashboardItem`, `Pages`, `Page`
75
+ `Column`, `Row`, `Grid`, `GridItem`, `Container`, `Div`, `Span`, `Dashboard`, `DashboardItem`, `Pages`, `Page`, `Detail`, `MasterDetail`
76
76
 
77
77
  ### Typography
78
78
  `Heading`, `H1`–`H4`, `Text`, `P`, `Lead`, `Large`, `Small`, `Muted`, `BlockQuote`, `Label`, `Link`, `Code`, `Markdown`, `Kbd`
@@ -135,7 +135,74 @@ Text(rx('name').upper().truncate(20)) // → "{{ name | upper | truncate:20 }}"
135
135
  Text(STATE.count) // → "{{ count }}"
136
136
  ```
137
137
 
138
- **Built-in pipes:** `upper`, `lower`, `capitalize`, `truncate`, `currency`, `number`, `percent`, `date`, `time`, `datetime`, `length`, `default`, `json`, `keys`, `values`, `first`, `last`
138
+ **Built-in pipes:** `upper`, `lower`, `capitalize`, `truncate`, `currency`, `number`, `percent`, `date`, `time`, `datetime`, `length`, `default`, `json`, `keys`, `values`, `first`, `last`, `find`, `dot`, `join`, `abs`, `round`, `compact`, `pluralize`, `selectattr`, `rejectattr`
139
+
140
+ ## Signals, Collections & Selection
141
+
142
+ Type-safe reactive primitives for master-detail patterns:
143
+
144
+ ```ts
145
+ import {
146
+ signal, collection, DataTable, col, Detail, MasterDetail,
147
+ Heading, Text, Badge, PrefabApp,
148
+ } from '@maxhealth.tech/prefab'
149
+
150
+ const patients = collection('patients', data, { key: 'id' })
151
+ const sel = signal('selectedPatientId', patients.firstKey())
152
+ const ref = patients.by(sel)
153
+
154
+ const app = new PrefabApp({
155
+ title: 'Patient Browser',
156
+ view: MasterDetail({
157
+ masterWidth: '350px',
158
+ children: [
159
+ DataTable({
160
+ from: patients,
161
+ selected: sel,
162
+ columns: [
163
+ col({ key: 'name', header: 'Name', format: 'humanName' }),
164
+ col('gender'),
165
+ ],
166
+ }),
167
+ Detail({
168
+ of: ref,
169
+ empty: Text('Select a patient'),
170
+ children: [
171
+ Heading(ref.dot('name')),
172
+ Badge(ref.dot('gender')),
173
+ ],
174
+ }),
175
+ ],
176
+ }),
177
+ // state auto-collected from signal() and collection() — no manual wiring
178
+ })
179
+ ```
180
+
181
+ - **`signal(key, initial)`** — named reactive scalar, auto-registers state
182
+ - **`collection(key, rows, { key })`** — named keyed array with O(1) lookup
183
+ - **`ref.dot(field)`** — typed property access (`Ref<T[K]>`)
184
+ - **`ref.formatted(field, pipe)`** — dot + pipe shorthand for codegen
185
+ - **Auto state collection** — `PrefabApp` gathers state from signal/collection factories
186
+
187
+ ## Custom Pipes
188
+
189
+ Extend the pipe system for domain-specific formatting:
190
+
191
+ ```ts
192
+ import { registerPipe } from '@maxhealth.tech/prefab'
193
+
194
+ registerPipe('humanName', (names) => {
195
+ const hn = (names as { family: string; given: string[] }[])[0]
196
+ return hn ? `${hn.family}, ${hn.given.join(' ')}` : ''
197
+ })
198
+
199
+ registerPipe('quantity', (v, unit) => `${v} ${unit ?? ''}`)
200
+
201
+ // Now usable in expressions: {{ patient.name | humanName }}
202
+ // And in col descriptors: col({ key: 'name', format: 'humanName' })
203
+ ```
204
+
205
+ Built-in pipes always take precedence. Re-registration warns and overwrites (HMR-friendly).
139
206
 
140
207
  ## Actions
141
208
 
@@ -329,7 +396,7 @@ import { ... } from '@maxhealth.tech/prefab/renderer' // Browser renderer
329
396
 
330
397
  ```bash
331
398
  bun install # Install dependencies
332
- bun test # Run tests (362 passing)
399
+ bun test # Run tests (829 passing)
333
400
  bun run build # TypeScript compile + IIFE bundle
334
401
  bun run lint # ESLint
335
402
  bun run typecheck # Type check without emitting
package/dist/app.d.ts CHANGED
@@ -8,7 +8,7 @@ import { type Component } from './core/component.js';
8
8
  import type { ComponentJSON } from './core/component.js';
9
9
  import type { Action, ActionJSON } from './actions/types.js';
10
10
  /** Package version — injected by build script, updated at release time. */
11
- export declare const VERSION = "0.1.7";
11
+ export declare const VERSION = "0.1.9";
12
12
  export interface Theme {
13
13
  light?: Record<string, string>;
14
14
  dark?: Record<string, string>;
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE5D,2EAA2E;AAC3E,eAAO,MAAM,OAAO,UAAU,CAAA;AAI9B,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAID,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAA;IACvD,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAID,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;gBAEd,IAAI,EAAE,gBAAgB;IAalC;;;OAGG;IACH,MAAM,IAAI,gBAAgB;IA2C1B;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;CA2C1F"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG5D,2EAA2E;AAC3E,eAAO,MAAM,OAAO,UAAU,CAAA;AAI9B,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAID,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAA;IACvD,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAID,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;gBAEd,IAAI,EAAE,gBAAgB;IAoBlC;;;OAGG;IACH,MAAM,IAAI,gBAAgB;IA2C1B;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;CA2C1F"}
package/dist/app.js CHANGED
@@ -5,8 +5,9 @@
5
5
  * Serializes to the $prefab wire format compatible with the Python version.
6
6
  */
7
7
  import {} from './core/component.js';
8
+ import { drainAutoState } from './rx/state-collector.js';
8
9
  /** Package version — injected by build script, updated at release time. */
9
- export const VERSION = '0.1.7';
10
+ export const VERSION = '0.1.9';
10
11
  export class PrefabApp {
11
12
  title;
12
13
  view;
@@ -21,7 +22,14 @@ export class PrefabApp {
21
22
  constructor(opts) {
22
23
  this.title = opts.title ?? 'Prefab';
23
24
  this.view = opts.view;
24
- this.state = opts.state;
25
+ // Merge auto-collected state (from signal/collection factories) with explicit state.
26
+ // Explicit state wins on key conflicts.
27
+ const autoState = drainAutoState();
28
+ const explicit = opts.state;
29
+ const merged = Object.keys(autoState).length > 0 || explicit
30
+ ? { ...autoState, ...explicit }
31
+ : undefined;
32
+ this.state = merged;
25
33
  this.theme = opts.theme;
26
34
  this.defs = opts.defs;
27
35
  this.stylesheets = opts.stylesheets;
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -3,19 +3,29 @@
3
3
  */
4
4
  import { Component } from '../../core/component.js';
5
5
  import type { ComponentProps, RxStr } from '../../core/component.js';
6
+ import type { Signal } from '../../rx/signal.js';
7
+ import type { Collection } from '../../rx/collection.js';
6
8
  export interface DataTableColumnDef {
7
9
  key: string;
8
10
  header?: string;
9
11
  sortable?: boolean;
12
+ /** Pipe name applied to cell values for display (e.g. 'humanName', 'date'). */
13
+ format?: string;
14
+ /** Pipe expression for complex access (e.g. "name | humanName"). Overrides key for display. */
15
+ accessor?: string;
10
16
  }
11
- /** Convenience factory for DataTableColumn definitions */
12
- export declare function col(key: string, header?: string, opts?: {
17
+ /** Convenience factory for DataTableColumn definitions — short or descriptor form. */
18
+ export declare function col(keyOrDef: string | DataTableColumnDef, header?: string, opts?: {
13
19
  sortable?: boolean;
14
20
  }): DataTableColumnDef;
15
21
  export interface DataTableProps extends ComponentProps {
16
- rows: unknown[] | RxStr;
22
+ rows?: unknown[] | RxStr;
17
23
  columns: DataTableColumnDef[];
18
24
  search?: boolean;
25
+ /** Collection to derive rows from. Mutually exclusive with `rows`. */
26
+ from?: Collection;
27
+ /** Signal whose value matches the selected row's key. Auto-generates onRowClick → SetState. */
28
+ selected?: Signal<string | null>;
19
29
  }
20
30
  export declare function DataTable(props: DataTableProps): Component;
21
31
  export type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'success' | 'warning' | 'info' | 'outline';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/data/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAIpE,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,0DAA0D;AAC1D,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,kBAAkB,CAEnG;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IACvB,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAgB1D;AAID,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAE/G,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAOnE;AAID,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAIpE;AAID,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAA;IACpD,WAAW,CAAC,EAAE,KAAK,CAAA;CACpB;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAWpD;AAID,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,KAAK,EAAE,MAAM,GAAG,KAAK,CAAA;IACrB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAUhD;AAID,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,KAAK,EAAE,MAAM,GAAG,KAAK,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAQxD;AAID,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAI3D;AAID,wBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAExD;AAID,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAIpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/data/index.ts"],"names":[],"mappings":"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"}
@@ -2,25 +2,47 @@
2
2
  * Data display components — DataTable, Badge, Metric, Separator, Progress, etc.
3
3
  */
4
4
  import { Component } from '../../core/component.js';
5
- /** Convenience factory for DataTableColumn definitions */
6
- export function col(key, header, opts) {
7
- return { key, header: header ?? key, sortable: opts?.sortable ?? false };
5
+ import { SetState } from '../../actions/client.js';
6
+ /** Convenience factory for DataTableColumn definitions — short or descriptor form. */
7
+ export function col(keyOrDef, header, opts) {
8
+ if (typeof keyOrDef === 'object')
9
+ return keyOrDef;
10
+ return { key: keyOrDef, header: header ?? keyOrDef, sortable: opts?.sortable ?? false };
8
11
  }
9
12
  export function DataTable(props) {
13
+ const from = props.from;
14
+ const rows = from != null ? from.toRx().toString() : props.rows;
10
15
  const c = new Component('DataTable', props);
11
- c.getProps = () => ({
12
- rows: typeof props.rows === 'string' || (typeof props.rows === 'object' && 'toJSON' in props.rows)
13
- ? String(props.rows)
14
- : props.rows,
15
- columns: props.columns.map(col => ({
16
- key: col.key,
17
- header: col.header ?? col.key,
18
- sortable: col.sortable ?? false,
19
- })),
20
- search: props.search ?? false,
21
- paginated: false,
22
- pageSize: 10,
23
- });
16
+ c.getProps = () => {
17
+ const p = {
18
+ rows: typeof rows === 'string'
19
+ ? rows
20
+ : (rows != null && typeof rows === 'object' && 'toJSON' in rows) ? String(rows) : rows,
21
+ columns: props.columns.map(c => {
22
+ const def = {
23
+ key: c.key,
24
+ header: c.header ?? c.key,
25
+ sortable: c.sortable ?? false,
26
+ };
27
+ if (c.format)
28
+ def.format = c.format;
29
+ if (c.accessor)
30
+ def.accessor = c.accessor;
31
+ return def;
32
+ }),
33
+ search: props.search ?? false,
34
+ paginated: false,
35
+ pageSize: 10,
36
+ };
37
+ // Wire selection
38
+ if (props.selected && from != null) {
39
+ const keyField = from.keyField;
40
+ p.rowKey = keyField;
41
+ p.selected = props.selected.toRx().toString();
42
+ p.onRowClick = [new SetState(props.selected.key, `{{ $item.${keyField} }}`).toJSON()];
43
+ }
44
+ return p;
45
+ };
24
46
  return c;
25
47
  }
26
48
  export function Badge(content, props) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/data/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/data/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@
2
2
  * Layout components — Column, Row, Grid, Container, Div, Span, etc.
3
3
  */
4
4
  import { ContainerComponent, type Component } from '../../core/component.js';
5
- import type { ContainerProps } from '../../core/component.js';
5
+ import type { ContainerProps, RxStr } from '../../core/component.js';
6
+ import type { Ref } from '../../rx/collection.js';
6
7
  export interface ColumnProps extends ContainerProps {
7
8
  gap?: number;
8
9
  align?: string;
@@ -58,4 +59,38 @@ export interface PageProps extends ContainerProps {
58
59
  name: string;
59
60
  }
60
61
  export declare function Page(props: PageProps): ContainerComponent;
62
+ /**
63
+ * A detail pane that displays content from a Ref. Compiles to a conditional
64
+ * block: shows `children` when the ref resolves, shows `empty` otherwise.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const detail = Detail({ of: selectedPatient })
69
+ * detail.add(Heading(selectedPatient.dot('name')))
70
+ * ```
71
+ */
72
+ export interface DetailProps extends ContainerProps {
73
+ /** Reactive reference expression (e.g. from `collection.by(signal)`) */
74
+ of: Ref | RxStr;
75
+ /** Component to show when ref resolves to null/undefined */
76
+ empty?: Component;
77
+ }
78
+ export declare function Detail(props: DetailProps): ContainerComponent;
79
+ /**
80
+ * Two-pane layout: master (list) on the left, detail on the right.
81
+ * Expects exactly two children: the master panel and the detail panel.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const md = MasterDetail({ masterWidth: '350px' })
86
+ * md.add(table) // master
87
+ * md.add(detail) // detail
88
+ * ```
89
+ */
90
+ export interface MasterDetailProps extends ContainerProps {
91
+ /** Width of the master pane. Defaults to '33%'. */
92
+ masterWidth?: string;
93
+ gap?: number;
94
+ }
95
+ export declare function MasterDetail(props?: MasterDetailProps): ContainerComponent;
61
96
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI7D,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,kBAAkB,CAY1F;AAID,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,kBAAkB,CASpF;AAID,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,kBAAkB,CAStF;AAID,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,kBAAkB,CAO9F;AAID,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAEpE;AAID,wBAAgB,GAAG,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAE9D;AAID,wBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAE/D;AAID,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,kBAAkB,CAQhG;AAID,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,kBAAkB,CASxG;AAID,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAEhE;AAED,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB,CAIzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"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"}
@@ -83,4 +83,20 @@ export function Page(props) {
83
83
  c.getProps = () => ({ name: props.name });
84
84
  return c;
85
85
  }
86
+ export function Detail(props) {
87
+ const c = new ContainerComponent('Detail', props);
88
+ c.getProps = () => ({
89
+ of: String(props.of),
90
+ ...(props.empty && { empty: props.empty }),
91
+ });
92
+ return c;
93
+ }
94
+ export function MasterDetail(props) {
95
+ const c = new ContainerComponent('MasterDetail', props);
96
+ c.getProps = () => ({
97
+ ...(props?.masterWidth && { masterWidth: props.masterWidth }),
98
+ ...(props?.gap !== undefined && { gap: props.gap }),
99
+ });
100
+ return c;
101
+ }
86
102
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAkB,MAAM,yBAAyB,CAAA;AAW5E,MAAM,UAAU,MAAM,CAAC,KAA+C;IACpE,wDAAwD;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACzE,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAA;IACnF,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;IAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;IAC1D,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,GAAG,YAAY,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC3C,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AASD,MAAM,UAAU,GAAG,CAAC,KAA4C;IAC9D,wDAAwD;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACzE,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAA;IACnF,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;IAC1E,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC3C,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AAWD,MAAM,UAAU,IAAI,CAAC,KAA6C;IAChE,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC3C,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AASD,MAAM,UAAU,QAAQ,CAAC,KAAiD;IACxE,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IACnD,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;KAC/D,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AACnD,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,GAAG,CAAC,KAAsB;IACxC,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,IAAI,CAAC,KAAsB;IACzC,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAC9C,CAAC;AAUD,MAAM,UAAU,SAAS,CAAC,KAAkD;IAC1E,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QACpE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;KACnD,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AAWD,MAAM,UAAU,aAAa,CAAC,KAAsD;IAClF,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;KAC/D,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,KAAK,CAAC,KAAsB;IAC1C,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC;AAMD,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACzC,OAAO,CAAC,CAAA;AACV,CAAC;AAqBD,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC3C,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AAqBD,MAAM,UAAU,YAAY,CAAC,KAAyB;IACpD,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACvD,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;KACpD,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -12,8 +12,9 @@
12
12
  */
13
13
  import type { Action, ActionJSON } from '../actions/types.js';
14
14
  import type { Rx } from '../rx/rx.js';
15
- /** Any value that can be a plain string or a reactive Rx expression */
16
- export type RxStr = string | Rx;
15
+ import type { Ref } from '../rx/collection.js';
16
+ /** Any value that can be a plain string, a reactive Rx expression, or a Ref */
17
+ export type RxStr = string | Rx | Ref;
17
18
  /** Serialized component JSON */
18
19
  export interface ComponentJSON {
19
20
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAIrC,uEAAuE;AACvE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,CAAA;AAE/B,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IACnC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AASD,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAiBlD;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC5B;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;gBAEf,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc;IAOhD,6DAA6D;IAC7D,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAInC,MAAM,IAAI,aAAa;CAsBxB;AAID,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,QAAQ,EAAE,SAAS,EAAE,CAAA;gBAET,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc;IAKhD,MAAM,IAAI,aAAa;CAOxB;AAID,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;gBAEhB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAO9C,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAWpC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAI9C,+EAA+E;AAC/E,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,GAAG,GAAG,CAAA;AAErC,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IACnC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AASD,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAiBlD;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC5B;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;gBAEf,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc;IAOhD,6DAA6D;IAC7D,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAInC,MAAM,IAAI,aAAa;CAsBxB;AAID,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,QAAQ,EAAE,SAAS,EAAE,CAAA;gBAET,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc;IAKhD,MAAM,IAAI,aAAa;CAOxB;AAID,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;gBAEhB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAO9C,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAWpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,8 @@ export { validateWireFormat, isValidWireFormat } from './core/validate.js';
10
10
  export type { ValidationError, ValidationResult } from './core/validate.js';
11
11
  export { PrefabApp } from './app.js';
12
12
  export type { PrefabAppOptions, PrefabWireFormat, Theme } from './app.js';
13
- export { Column, Row, Grid, GridItem, Container, Div, Span, Dashboard, DashboardItem, Pages, Page } from './components/layout/index.js';
13
+ export { Column, Row, Grid, GridItem, Container, Div, Span, Dashboard, DashboardItem, Pages, Page, Detail, MasterDetail } from './components/layout/index.js';
14
+ export type { DetailProps, MasterDetailProps } from './components/layout/index.js';
14
15
  export { Heading, H1, H2, H3, H4, Text, P, Lead, Large, Small, Muted, BlockQuote, Label, Link, Code, Markdown, Kbd } from './components/typography/index.js';
15
16
  export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from './components/card/index.js';
16
17
  export { DataTable, col, Badge, Dot, Metric, Ring, Progress, Separator, Loader, Icon } from './components/data/index.js';
@@ -41,7 +42,8 @@ export type { AutoProgressStep, AutoProgressOptions } from './auto/progress.js';
41
42
  export { display, display_form, display_update, display_error } from './mcp/display.js';
42
43
  export type { DisplayOptions, DisplayFormOptions, DisplayErrorOptions, StateUpdate, PrefabUpdateWire } from './mcp/display.js';
43
44
  export type { McpToolResult, McpContent, McpTextContent } from './mcp/types.js';
44
- export { rx, Rx, ITEM, INDEX, EVENT, ERROR, RESULT, STATE } from './rx/index.js';
45
+ export { rx, Rx, ITEM, INDEX, EVENT, ERROR, RESULT, STATE, signal, Signal, collection, Collection, Ref, registerPipe, unregisterPipe, listPipes, resetAutoState } from './rx/index.js';
46
+ export type { SignalValue, SignalOptions, PipeFn } from './rx/index.js';
45
47
  export { SetState, ToggleState, AppendState, PopState, ShowToast, CloseOverlay, OpenLink, SetInterval, Fetch, OpenFilePicker, CallHandler } from './actions/client.js';
46
48
  export { CallTool, SendMessage, UpdateContext, RequestDisplayMode } from './actions/mcp.js';
47
49
  export type { Action, ActionJSON } from './actions/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ export { validateWireFormat, isValidWireFormat } from './core/validate.js';
10
10
  // ── App ──────────────────────────────────────────────────────────────────────
11
11
  export { PrefabApp } from './app.js';
12
12
  // ── Layout ───────────────────────────────────────────────────────────────────
13
- export { Column, Row, Grid, GridItem, Container, Div, Span, Dashboard, DashboardItem, Pages, Page } from './components/layout/index.js';
13
+ export { Column, Row, Grid, GridItem, Container, Div, Span, Dashboard, DashboardItem, Pages, Page, Detail, MasterDetail } from './components/layout/index.js';
14
14
  // ── Typography ───────────────────────────────────────────────────────────────
15
15
  export { Heading, H1, H2, H3, H4, Text, P, Lead, Large, Small, Muted, BlockQuote, Label, Link, Code, Markdown, Kbd } from './components/typography/index.js';
16
16
  // ── Card ─────────────────────────────────────────────────────────────────────
@@ -42,7 +42,7 @@ export { autoProgress } from './auto/progress.js';
42
42
  // ── MCP Display Helpers ──────────────────────────────────────────────────────
43
43
  export { display, display_form, display_update, display_error } from './mcp/display.js';
44
44
  // ── Re-export actions and rx for convenience ─────────────────────────────────
45
- export { rx, Rx, ITEM, INDEX, EVENT, ERROR, RESULT, STATE } from './rx/index.js';
45
+ export { rx, Rx, ITEM, INDEX, EVENT, ERROR, RESULT, STATE, signal, Signal, collection, Collection, Ref, registerPipe, unregisterPipe, listPipes, resetAutoState } from './rx/index.js';
46
46
  export { SetState, ToggleState, AppendState, PopState, ShowToast, CloseOverlay, OpenLink, SetInterval, Fetch, OpenFilePicker, CallHandler } from './actions/client.js';
47
47
  export { CallTool, SendMessage, UpdateContext, RequestDisplayMode } from './actions/mcp.js';
48
48
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/renderer/components/data.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,wBAAgB,sBAAsB,IAAI,IAAI,CAW7C"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/renderer/components/data.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAgB,sBAAsB,IAAI,IAAI,CAW7C"}