@sylwellsoftware/fray 0.2.0 → 0.4.0

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 (59) hide show
  1. package/README.md +139 -13
  2. package/dist/Components/Placeholder.d.ts +1 -1
  3. package/dist/Components/Placeholder.d.ts.map +1 -1
  4. package/dist/Components/component.d.ts +5 -0
  5. package/dist/Components/component.d.ts.map +1 -1
  6. package/dist/Components/controlUtils.d.ts.map +1 -1
  7. package/dist/Components/data/filterState.d.ts +38 -0
  8. package/dist/Components/data/filterState.d.ts.map +1 -0
  9. package/dist/Components/data/listview/listview.d.ts +16 -5
  10. package/dist/Components/data/listview/listview.d.ts.map +1 -1
  11. package/dist/Components/data/selectionhandler.d.ts +24 -5
  12. package/dist/Components/data/selectionhandler.d.ts.map +1 -1
  13. package/dist/Components/data/table/DataTable.d.ts +36 -30
  14. package/dist/Components/data/table/DataTable.d.ts.map +1 -1
  15. package/dist/Components/data/table/FilterPanel.d.ts +8 -1
  16. package/dist/Components/data/table/FilterPanel.d.ts.map +1 -1
  17. package/dist/Components/data/table/TableHeaderCell.d.ts.map +1 -1
  18. package/dist/Components/data/table/tableDataSource.d.ts +49 -0
  19. package/dist/Components/data/table/tableDataSource.d.ts.map +1 -0
  20. package/dist/Components/data/table/tableQuery.d.ts +6 -2
  21. package/dist/Components/data/table/tableQuery.d.ts.map +1 -1
  22. package/dist/Components/data/treeview/treeModel.d.ts +23 -0
  23. package/dist/Components/data/treeview/treeModel.d.ts.map +1 -0
  24. package/dist/Components/data/treeview/treeview.d.ts +1 -1
  25. package/dist/Components/data/treeview/treeview.d.ts.map +1 -1
  26. package/dist/Components/dialog/dialog.d.ts +1 -1
  27. package/dist/Components/dialog/dialog.d.ts.map +1 -1
  28. package/dist/Components/lineinputs/checkbox/Checkbox.d.ts +1 -1
  29. package/dist/Components/lineinputs/checkbox/Checkbox.d.ts.map +1 -1
  30. package/dist/Components/lineinputs/checkbox/QuadCheckbox.d.ts +2 -2
  31. package/dist/Components/lineinputs/checkbox/QuadCheckbox.d.ts.map +1 -1
  32. package/dist/Components/lineinputs/checkbox/TriCheckbox.d.ts +2 -2
  33. package/dist/Components/lineinputs/checkbox/TriCheckbox.d.ts.map +1 -1
  34. package/dist/index.d.ts +15 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +2680 -726
  37. package/dist/index.js.map +1 -1
  38. package/dist/{jsx-dev-runtime-DukiDpV9.js → jsx-dev-runtime-pzseD2Sz.js} +527 -414
  39. package/dist/jsx-dev-runtime-pzseD2Sz.js.map +1 -0
  40. package/dist/jsx-dev-runtime.js +3 -3
  41. package/dist/jsx-runtime.js +2 -2
  42. package/dist/runtime.d.ts +4 -0
  43. package/dist/runtime.d.ts.map +1 -1
  44. package/dist/services.d.ts +45 -0
  45. package/dist/services.d.ts.map +1 -0
  46. package/dist/util/filterMode.d.ts +6 -4
  47. package/dist/util/filterMode.d.ts.map +1 -1
  48. package/package.json +4 -9
  49. package/styles/structural.css +9 -3
  50. package/themes/README.md +1 -1
  51. package/themes/minimal/theme.css +1 -1
  52. package/EXPERIMENTAL.md +0 -75
  53. package/dist/button-CqDGmkBt.js +0 -212
  54. package/dist/button-CqDGmkBt.js.map +0 -1
  55. package/dist/experimental.d.ts +0 -16
  56. package/dist/experimental.d.ts.map +0 -1
  57. package/dist/experimental.js +0 -1399
  58. package/dist/experimental.js.map +0 -1
  59. package/dist/jsx-dev-runtime-DukiDpV9.js.map +0 -1
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # Fray
2
2
 
3
- Fray is an experimental, browser-only component and DOM runtime built around
3
+ Fray is a browser-only component and DOM runtime built around
4
4
  Glue emitters. It targets modern evergreen browsers. Its `0.x` API may change
5
5
  with documented migration notes.
6
6
 
7
- Install the published alpha together with its Glue peer:
7
+ Install it together with its Glue peer:
8
8
 
9
9
  ```bash
10
10
  pnpm add @sylwellsoftware/glue @sylwellsoftware/fray
@@ -65,8 +65,8 @@ Responsibility stays at the narrowest layer that understands it:
65
65
 
66
66
  | Concern | Owner |
67
67
  | --- | --- |
68
- | Domain state, endpoint configuration, page composition, theme availability and selection policy | Application |
69
- | DOM structure, native events, accessibility, component lifetime, visual async states | Fray components |
68
+ | Domain state, service implementations/providers, endpoint configuration, page composition, theme availability and selection policy | Application |
69
+ | DOM structure, native events, accessibility, component lifetime, service-scope propagation, visual async states | Fray components/runtime |
70
70
  | Mutable/computed values, query timing/results, fetch state, optional causality | Glue |
71
71
  | URL/wire serialization and retrieval mechanism | Injected Glue query handler/application adapter |
72
72
  | Layout/flow CSS and stable component/part hooks | Fray structural styling |
@@ -139,6 +139,64 @@ class App extends Component {
139
139
  }
140
140
  ```
141
141
 
142
+ ## Application services without prop-drilling
143
+
144
+ Service classes remain ordinary application TypeScript. They commonly group
145
+ immutable Glue endpoint declarations, while every `open()` call still creates
146
+ a caller-owned live result:
147
+
148
+ ```ts
149
+ class ProjectService {
150
+ readonly label = 'Projects'
151
+ readonly projects = new RestEndpoint<
152
+ {search: string},
153
+ readonly Project[]
154
+ >({url: '/api/projects', parseResult: parseProjects})
155
+ }
156
+
157
+ const projectService = defineService<ProjectService>('projects')
158
+ const services = createServiceScope([
159
+ provideService(projectService, () => new ProjectService()),
160
+ ])
161
+ const runtime = createFrayRuntime({services})
162
+ ```
163
+
164
+ The composition root chooses the implementation once. Every nested class
165
+ component created through that runtime inherits the scope:
166
+
167
+ ```ts
168
+ class ProjectList extends Component {
169
+ static requiredServices = [projectService]
170
+ private service!: ProjectService
171
+
172
+ initialize() {
173
+ this.service = this.requireService(projectService)
174
+ }
175
+
176
+ render() {
177
+ return h('output', null, this.service.label)
178
+ }
179
+ }
180
+ ```
181
+
182
+ Dependencies must be declared in `static requiredServices`. Resolution is
183
+ available during `initialize()` and later, after Fray has assigned the runtime;
184
+ constructors cannot resolve services. A missing service fails before component
185
+ initialization, and an undeclared lookup also fails clearly.
186
+
187
+ Providers are fixed when `ServiceScope` is created. Factories run lazily once
188
+ per scope, can explicitly require another registered service, and are checked
189
+ for circular resolution. `scope.dispose()` disposes initialized services in
190
+ reverse creation order. Components dispose the queries/results they open, not
191
+ the shared service. Create one scope per browser application or test. Because
192
+ the scope is explicit rather than global, a future non-browser adapter can
193
+ preserve request/session isolation without changing service definitions.
194
+
195
+ There is intentionally no transient resolve-on-every-call lifetime. Independent
196
+ query state comes from caller-owned endpoint results. Function components stay
197
+ presentation-oriented and receive rendered values or emitters from a nearby
198
+ lifecycle-owning class component.
199
+
142
200
  ## Component host elements
143
201
 
144
202
  Fray components with a wrapper render a standards-valid custom host element,
@@ -207,7 +265,7 @@ TypeScript TSX is Fray's supported template syntax. Classic JSX and direct
207
265
  use the same renderer. A future template-file syntax can target this vnode
208
266
  contract without changing Glue binding semantics.
209
267
 
210
- Fray's own stable and experimental built-ins are authored in TSX. Direct
268
+ Fray's built-ins are authored in TSX. Direct
211
269
  `h()` remains supported for consumers that do not use JSX and as the renderer's
212
270
  canonical vnode operation, but it is not the built-in component authoring
213
271
  format. The workspace lint gate rejects new `h()` templates under
@@ -738,19 +796,87 @@ operation, labelled roles, reduced motion, 200% configured text sizing, and
738
796
  forced-colors focus visibility. A formal manual screen-reader pass is still a
739
797
  release-candidate requirement; automated checks are not a substitute for it.
740
798
 
741
- ## Experimental data components
799
+ ## Data workflows
800
+
801
+ `ListView`, `DataTable`, `TreeView`, `TreeItem`, `Dialog`, `FilterPanel`, and
802
+ their model helpers are part of the package entry point. All accept
803
+ ordinary Glue emitters; they do not introduce a second state store.
804
+
805
+ List and table selection is discriminated by cardinality. Single selection is
806
+ an item or `null`; array state is reserved for explicit multi-selection:
807
+
808
+ ```tsx
809
+ const selected = new Emitter<Project | null>(null)
810
+ const selectedRows = new Emitter<Project[]>([])
811
+
812
+ <ListView items={projects} selectedItemEmitter={selected} itemKey="id" />
813
+ <DataTable
814
+ data={projects}
815
+ columns={columns}
816
+ multiSelect
817
+ selectedItemsEmitter={selectedRows}
818
+ />
819
+ ```
820
+
821
+ Both modes reconcile selected keys to fresh objects when data is replaced.
822
+ Multi-selection retains Control/Command toggles, Shift and pointer-drag ranges,
823
+ and keyboard operation.
824
+
825
+ DataTable accepts exactly one data boundary:
826
+
827
+ ```tsx
828
+ // Direct local data; Fray derives sorted/filtered rows.
829
+ <DataTable data={projects} columns={columns} />
830
+
831
+ // Convenient REST adapter; the table creates and disposes this source.
832
+ <DataTable
833
+ rest={{url: '/api/projects', baseUrl: location.href}}
834
+ columns={columns}
835
+ />
836
+
837
+ // Explicit source; the caller owns and eventually disposes it.
838
+ const source = createQueryTableDataSource({query, sortEmitter, filtersEmitter})
839
+ <DataTable dataSource={source} columns={columns} />
840
+ ```
841
+
842
+ `createLocalTableDataSource`, `createQueryTableDataSource`,
843
+ `createHandlerTableDataSource`, and `createRestTableDataSource` make ownership
844
+ visible. Sources package the row query with sort/filter emitters, retry, and
845
+ disposal. The default REST serializer retains the compact existing endpoint
846
+ tokens; inject `serializeQuery` when an endpoint uses another wire contract.
847
+
848
+ Tree node state is projected from complete immutable snapshots:
849
+
850
+ ```ts
851
+ const selectedNode = deriveTreeNode(treeNodes, selectedKey)
852
+
853
+ // Only for an authoritative writable root:
854
+ updateWritableTreeNode(treeNodes, 'project-1', (node) => ({...node, label: 'Updated'}))
855
+ ```
742
856
 
743
- `ListView`, `DataTable`, `TreeView`, `TreeItem`, `Dialog`, filters, selection
744
- handlers, and `Placeholder` are available only from
745
- `@sylwellsoftware/fray/experimental`. They are outside the stable alpha
746
- compatibility surface and may change without a migration bridge. Their state
747
- model, keyboard behavior, measured data boundary, and current limitations are
748
- documented in [EXPERIMENTAL.md](EXPERIMENTAL.md).
857
+ For a tree derived from domain state, a callback updates that real source; the
858
+ tree derivation then rebuilds and `deriveTreeNode` resolves the fresh node.
859
+ `updateTreeNode` is the equivalent pure path-copy operation.
860
+
861
+ Generic `FilterState` keeps `neutral`, `prefer`, `require`, and `deny` semantic
862
+ values separate from glyphs and transport. `filterByState`,
863
+ `deriveFilterPredicate`, and `deriveFilteredItems` consume caller-supplied
864
+ dimension matchers. `serializeFilterState`/`parseFilterState` round-trip
865
+ validated version-1 plain data without owning URL or storage access. Unknown
866
+ valid keys are preserved and ignored until a matching definition exists.
867
+ Dimensions combine with AND. Within each dimension, a denied match always
868
+ rejects, every required option must match, and at least one preferred option
869
+ must match when preferences are active. Neutral options do not constrain the
870
+ result.
871
+
872
+ The stable non-virtualized performance boundary and detailed state behavior are
873
+ documented in this guide. See the migration notes in the changelog before
874
+ upgrading from 0.2.x.
749
875
 
750
876
  Fray is not a replacement for an SSR/hydration framework, Web Components,
751
877
  React/Vue adapters, a broad design system, a virtualized production data grid,
752
878
  legacy-browser support, or a stable `1.0` API. See the [workspace
753
- overview](../../README.md), [alpha API surface](../../docs/API_SURFACE.md),
879
+ overview](../../README.md), [API surface](../../docs/API_SURFACE.md),
754
880
  [architecture overview](../../docs/architecture.md),
755
881
  [changelog](../../CHANGELOG.md), [contribution guide](../../CONTRIBUTING.md),
756
882
  and [security policy](../../SECURITY.md).
@@ -3,7 +3,7 @@ import type { ComponentProps } from './component.js';
3
3
  export interface PlaceholderProps extends ComponentProps {
4
4
  width?: number | string;
5
5
  }
6
- /** Deterministic loading placeholder for experimental data components. */
6
+ /** Deterministic loading placeholder for data components. */
7
7
  export declare class Placeholder extends Component<PlaceholderProps> {
8
8
  render(): import("@sylwellsoftware/fray/jsx-runtime").JSX.Element;
9
9
  static hostName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Placeholder.d.ts","sourceRoot":"","sources":["../../src/Components/Placeholder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAM,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACpD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B;AAED,0EAA0E;AAC1E,qBAAa,WAAY,SAAQ,SAAS,CAAC,gBAAgB,CAAC;IACxD,MAAM;IAMN,OAAgB,QAAQ,SAAgB;IACxC,OAAgB,kBAAkB,SAAwB;IAE1D,MAAM,CAAC,UAAU,0BAEhB;IAED,MAAM,CAAC,GAAG,SAgBT;CACJ"}
1
+ {"version":3,"file":"Placeholder.d.ts","sourceRoot":"","sources":["../../src/Components/Placeholder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAM,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACpD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B;AAED,6DAA6D;AAC7D,qBAAa,WAAY,SAAQ,SAAS,CAAC,gBAAgB,CAAC;IACxD,MAAM;IAMN,OAAgB,QAAQ,SAAgB;IACxC,OAAgB,kBAAkB,SAAwB;IAE1D,MAAM,CAAC,UAAU,0BAEhB;IAED,MAAM,CAAC,GAAG,SAgBT;CACJ"}
@@ -1,5 +1,6 @@
1
1
  import type { EventBubble, FetchStateValue, ReadableEmitter } from '@sylwellsoftware/glue';
2
2
  import { FrayRuntime } from '../runtime.js';
3
+ import type { ServiceKey } from '../services.js';
3
4
  export declare const Fragment: unique symbol;
4
5
  export type Key = string | number;
5
6
  export interface ComponentProps {
@@ -131,6 +132,7 @@ export declare namespace h {
131
132
  export declare function css(strings: TemplateStringsArray, ...values: unknown[]): string;
132
133
  export declare class Component<TProps extends ComponentProps = ComponentProps> {
133
134
  static dependencies: ComponentDependency[];
135
+ static requiredServices: readonly ServiceKey<unknown>[];
134
136
  static css: string;
135
137
  static hostName: string | null;
136
138
  static standaloneHostName: string | null;
@@ -175,9 +177,12 @@ export declare class Component<TProps extends ComponentProps = ComponentProps> {
175
177
  /** Read a Glue value, fetch state, and error as one tracked render dependency. */
176
178
  snapshot<TValue, TError>(emitter: ReadableEmitter<TValue, TError>): EmitterSnapshot<TValue, TError>;
177
179
  onCleanup(cleanup: () => void): () => void;
180
+ /** Resolve one explicitly declared application service from this component's runtime. */
181
+ protected requireService<TService>(key: ServiceKey<TService>): TService;
178
182
  listen<TEvent extends Event = Event>(target: EventTarget, type: string, listener: (event: TEvent) => void, options?: boolean | AddEventListenerOptions): this;
179
183
  registerChild<TComponent extends Component>(component: TComponent): TComponent;
180
184
  destroy(): void;
185
+ private validateRequiredServices;
181
186
  onDestroy(): void;
182
187
  private trackRenderRead;
183
188
  private reconcileRenderReads;
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/Components/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/Components/component.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controlUtils.d.ts","sourceRoot":"","sources":["../../src/Components/controlUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,eAAe,EAAC,MAAM,uBAAuB,CAAA;AAE1E,OAAO,KAAK,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAE7D,MAAM,WAAW,YAAY,CAAC,MAAM,CAAE,SAAQ,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CACtD;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,CAAE,SAAQ,cAAc;IAC7D,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAID,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAGnF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EACrC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAChB,YAAY,CAAC,MAAM,CAAC,CAWtB;AAED,wBAAgB,aAAa,CAAC,MAAM,GAAG,OAAO,EAC1C,KAAK,EAAE,OAAO,EACd,IAAI,SAAY,GACjB,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAQvC;AAED,wBAAgB,UAAU,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAKvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG,MAAM,CAEzF;AAED,wBAAgB,MAAM,CAAC,UAAU,SAAS,OAAO,EAAE,EAC/C,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EAC5D,GAAG,IAAI,EAAE,UAAU,GACpB,IAAI,CAIN;AAED,wBAAgB,aAAa,CAAC,OAAO,EACjC,OAAO,EAAE,OAAO,EAChB,IAAI,SAAY,GACjB,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAE9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMpD"}
1
+ {"version":3,"file":"controlUtils.d.ts","sourceRoot":"","sources":["../../src/Components/controlUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,eAAe,EAAC,MAAM,uBAAuB,CAAA;AAE1E,OAAO,KAAK,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAG7D,MAAM,WAAW,YAAY,CAAC,MAAM,CAAE,SAAQ,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CACtD;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,CAAE,SAAQ,cAAc;IAC7D,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAID,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAGnF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EACrC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAChB,YAAY,CAAC,MAAM,CAAC,CAWtB;AAED,wBAAgB,aAAa,CAAC,MAAM,GAAG,OAAO,EAC1C,KAAK,EAAE,OAAO,EACd,IAAI,SAAY,GACjB,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAQvC;AAED,wBAAgB,UAAU,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAKvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG,MAAM,CAEzF;AAED,wBAAgB,MAAM,CAAC,UAAU,SAAS,OAAO,EAAE,EAC/C,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EAC5D,GAAG,IAAI,EAAE,UAAU,GACpB,IAAI,CAIN;AAED,wBAAgB,aAAa,CAAC,OAAO,EACjC,OAAO,EAAE,OAAO,EAChB,IAAI,SAAY,GACjB,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAE9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGpD"}
@@ -0,0 +1,38 @@
1
+ import { DerivedEmitter } from '@sylwellsoftware/glue';
2
+ import type { ReadableEmitter } from '@sylwellsoftware/glue';
3
+ import type { FilterModeValue } from '../../util/filterMode.js';
4
+ export type FilterOptionState = Readonly<Record<string, FilterModeValue>>;
5
+ export type FilterState = Readonly<Record<string, FilterOptionState>>;
6
+ export interface SerializedFilterState {
7
+ readonly version: 1;
8
+ readonly dimensions: Record<string, Record<string, FilterModeValue>>;
9
+ }
10
+ export interface FilterOptionDefinition<TItem> {
11
+ /** Stable persisted identity within its dimension. */
12
+ key: string;
13
+ matches: (item: TItem) => boolean;
14
+ }
15
+ export interface FilterDimensionDefinition<TItem> {
16
+ /** Stable persisted identity for the dimension. */
17
+ key: string;
18
+ options: readonly FilterOptionDefinition<TItem>[];
19
+ }
20
+ /**
21
+ * Test an item against semantic filter state.
22
+ *
23
+ * Dimensions combine with AND. Within one dimension, deny wins, every required
24
+ * option must match, and at least one preferred option must match when any are
25
+ * active. Unknown persisted dimensions and options are retained by
26
+ * serialization but do not constrain matching.
27
+ */
28
+ export declare function matchesFilterState<TItem>(item: TItem, state: FilterState, dimensions: readonly FilterDimensionDefinition<TItem>[]): boolean;
29
+ export declare function filterByState<TItem>(items: readonly TItem[], state: FilterState, dimensions: readonly FilterDimensionDefinition<TItem>[]): TItem[];
30
+ /** Derive a reusable predicate without giving Fray ownership of persistence. */
31
+ export declare function deriveFilterPredicate<TItem>(state: ReadableEmitter<FilterState, unknown>, dimensions: readonly FilterDimensionDefinition<TItem>[], owner?: unknown): DerivedEmitter<(item: TItem) => boolean, readonly [ReadableEmitter<FilterState, unknown>]>;
32
+ /** Derive a filtered collection from application-owned items and filter state. */
33
+ export declare function deriveFilteredItems<TItem>(items: ReadableEmitter<readonly TItem[], unknown>, state: ReadableEmitter<FilterState, unknown>, dimensions: readonly FilterDimensionDefinition<TItem>[], owner?: unknown): DerivedEmitter<TItem[], readonly [ReadableEmitter<readonly TItem[], unknown>, ReadableEmitter<FilterState, unknown>]>;
34
+ /** Convert state to deterministic, versioned, plain JSON-compatible data. */
35
+ export declare function serializeFilterState(state: FilterState): SerializedFilterState;
36
+ /** Validate and restore versioned filter data. Unknown keys are preserved. */
37
+ export declare function parseFilterState(value: unknown): FilterState;
38
+ //# sourceMappingURL=filterState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterState.d.ts","sourceRoot":"","sources":["../../../src/Components/data/filterState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAA;AAG1D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAErE,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;CACvE;AAED,MAAM,WAAW,sBAAsB,CAAC,KAAK;IACzC,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,yBAAyB,CAAC,KAAK;IAC5C,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,SAAS,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAA;CACpD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EACpC,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,SAAS,yBAAyB,CAAC,KAAK,CAAC,EAAE,GACxD,OAAO,CAsBT;AAED,wBAAgB,aAAa,CAAC,KAAK,EAC/B,KAAK,EAAE,SAAS,KAAK,EAAE,EACvB,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,SAAS,yBAAyB,CAAC,KAAK,CAAC,EAAE,GACxD,KAAK,EAAE,CAGT;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,KAAK,EACvC,KAAK,EAAE,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,EAC5C,UAAU,EAAE,SAAS,yBAAyB,CAAC,KAAK,CAAC,EAAE,EACvD,KAAK,GAAE,OAAc,GACtB,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,EAAE,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAO5F;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,KAAK,EACrC,KAAK,EAAE,eAAe,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,EACjD,KAAK,EAAE,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,EAC5C,UAAU,EAAE,SAAS,yBAAyB,CAAC,KAAK,CAAC,EAAE,EACvD,KAAK,GAAE,OAAc,GACtB,cAAc,CACb,KAAK,EAAE,EACP,SAAS,CAAC,eAAe,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAC/F,CAOA;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,qBAAqB,CAY9E;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAuB5D"}
@@ -4,31 +4,41 @@ import { Component } from '../../component.js';
4
4
  import type { ComponentProps, FrayChild } from '../../component.js';
5
5
  import type { ValueEmitter } from '../../controlUtils.js';
6
6
  import type { BaseSelectionHandler, ItemKeyGetter } from '../selectionhandler.js';
7
- export interface ListViewProps<TItem = unknown> extends ComponentProps {
7
+ interface ListViewCommonProps<TItem> extends ComponentProps {
8
8
  items?: readonly TItem[] | ReadableEmitter<readonly TItem[], unknown>;
9
- selectedItemsEmitter?: ValueEmitter<TItem[]>;
10
9
  itemKey?: string | ItemKeyGetter<TItem>;
11
- multiSelect?: boolean;
12
10
  label?: string;
13
11
  placeholderCount?: number;
14
12
  renderItem?: (item: TItem, index: number) => FrayChild;
15
13
  }
16
- /** Experimental accessible listbox with stable-key selection. */
14
+ export type ListViewProps<TItem = unknown> = ListViewCommonProps<TItem> & ({
15
+ multiSelect?: false;
16
+ selectedItemEmitter?: ValueEmitter<TItem | null>;
17
+ selectedItemsEmitter?: never;
18
+ } | {
19
+ multiSelect: true;
20
+ selectedItemsEmitter?: ValueEmitter<TItem[]>;
21
+ selectedItemEmitter?: never;
22
+ });
23
+ /** Accessible listbox with stable-key selection. */
17
24
  export declare class ListView<TItem = unknown> extends Component<ListViewProps<TItem>> {
18
25
  readonly itemsEmitter: ReadableEmitter<readonly TItem[], unknown>;
19
26
  readonly items$: ReadableEmitter<readonly TItem[], unknown>;
20
27
  readonly selectedItemsEmitter: ValueEmitter<TItem[]>;
21
28
  readonly selectedItems$: ValueEmitter<TItem[]>;
29
+ readonly selectedItemEmitter: ValueEmitter<TItem | null> | null;
30
+ readonly selectedItem$: ValueEmitter<TItem | null> | null;
22
31
  readonly getItemKey: ItemKeyGetter<TItem>;
23
32
  readonly selectionHandler: BaseSelectionHandler<TItem>;
24
33
  private readonly ownedItemsEmitter;
25
- private readonly ownedSelectedItemsEmitter;
26
34
  constructor(props?: ListViewProps<TItem>);
27
35
  initialize(): void;
28
36
  render(): FrayChild;
29
37
  afterUpdate(dom: ChildNode | null): void;
30
38
  getSelectedItems(): TItem[];
31
39
  getSelectedItemsEmitter(): ValueEmitter<TItem[]>;
40
+ getSelectedItem(): TItem | null;
41
+ getSelectedItemEmitter(): ValueEmitter<TItem | null> | null;
32
42
  onDestroy(): void;
33
43
  static dependencies: (typeof Placeholder)[];
34
44
  static hostName: string;
@@ -36,4 +46,5 @@ export declare class ListView<TItem = unknown> extends Component<ListViewProps<T
36
46
  static baseStyles: string[][];
37
47
  static css: string;
38
48
  }
49
+ export {};
39
50
  //# sourceMappingURL=listview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"listview.d.ts","sourceRoot":"","sources":["../../../../src/Components/data/listview/listview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAM,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAC,cAAc,EAAE,SAAS,EAAC,MAAM,oBAAoB,CAAA;AAEjE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAKvD,OAAO,KAAK,EACR,oBAAoB,EACpB,aAAa,EAChB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,aAAa,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,cAAc;IAClE,KAAK,CAAC,EAAE,SAAS,KAAK,EAAE,GAAG,eAAe,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IACrE,oBAAoB,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACvC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAA;CACzD;AAED,iEAAiE;AACjE,qBAAa,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1E,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IACjE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3D,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAA;IACpD,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IACzC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyB;gBAEvD,KAAK,GAAE,aAAa,CAAC,KAAK,CAAM;IA6B5C,UAAU,IAAI,IAAI;IAIlB,MAAM,IAAI,SAAS;IAyDnB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAOxC,gBAAgB,IAAI,KAAK,EAAE;IAI3B,uBAAuB,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;IAIhD,SAAS,IAAI,IAAI;IAMjB,MAAM,CAAC,YAAY,yBAAgB;IAEnC,OAAgB,QAAQ,SAAc;IACtC,OAAgB,kBAAkB,SAAc;IAEhD,MAAM,CAAC,UAAU,aAGhB;IAED,MAAM,CAAC,GAAG,SAwCT;CACJ"}
1
+ {"version":3,"file":"listview.d.ts","sourceRoot":"","sources":["../../../../src/Components/data/listview/listview.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,23 @@
1
1
  import type { ValueEmitter } from '../controlUtils.js';
2
2
  export type ItemKeyGetter<TItem> = (item: TItem, index: number) => unknown;
3
- export interface SelectionHandlerConfig<TItem> {
3
+ interface SelectionHandlerCommonConfig<TItem> {
4
4
  getItems: () => readonly TItem[];
5
5
  getKey?: ItemKeyGetter<TItem>;
6
- selectedItemsEmitter?: ValueEmitter<TItem[]>;
7
6
  owner?: unknown;
8
- multiSelect?: boolean;
7
+ }
8
+ export interface SingleSelectionHandlerConfig<TItem> extends SelectionHandlerCommonConfig<TItem> {
9
+ multiSelect?: false;
10
+ selectedItemEmitter?: ValueEmitter<TItem | null>;
11
+ selectedItemsEmitter?: never;
12
+ }
13
+ export interface MultiSelectionHandlerConfig<TItem> extends SelectionHandlerCommonConfig<TItem> {
14
+ multiSelect: true;
15
+ selectedItemsEmitter?: ValueEmitter<TItem[]>;
16
+ selectedItemEmitter?: never;
17
+ }
18
+ export type SelectionHandlerConfig<TItem> = SingleSelectionHandlerConfig<TItem> | MultiSelectionHandlerConfig<TItem>;
19
+ interface BaseSelectionHandlerConfig<TItem> extends SelectionHandlerCommonConfig<TItem> {
20
+ selectedItemsEmitter?: ValueEmitter<TItem[]>;
9
21
  }
10
22
  type SelectionEvent = MouseEvent | KeyboardEvent;
11
23
  /**
@@ -32,7 +44,7 @@ export declare class BaseSelectionHandler<TItem = unknown> {
32
44
  private suppressClickTimer;
33
45
  private destroyed;
34
46
  private readonly ownedSelectedItemsEmitter;
35
- constructor({ getItems, getKey, selectedItemsEmitter, owner, }: SelectionHandlerConfig<TItem>);
47
+ constructor({ getItems, getKey, selectedItemsEmitter, owner, }: BaseSelectionHandlerConfig<TItem>);
36
48
  rowsUpdated(rows: Iterable<HTMLElement> | ArrayLike<HTMLElement> | null): void;
37
49
  private wireRow;
38
50
  private handleClick;
@@ -54,7 +66,13 @@ export declare class BaseSelectionHandler<TItem = unknown> {
54
66
  destroy(): void;
55
67
  }
56
68
  export declare class SingleSelectionHandler<TItem = unknown> extends BaseSelectionHandler<TItem> {
69
+ readonly selectedItemEmitter: ValueEmitter<TItem | null>;
70
+ readonly selectedItem$: ValueEmitter<TItem | null>;
71
+ private readonly ownedSelectedItemEmitter;
72
+ constructor(config: SingleSelectionHandlerConfig<TItem>);
57
73
  protected selectIndex(index: number): void;
74
+ getSelectedItem(): TItem | null;
75
+ destroy(): void;
58
76
  }
59
77
  export declare class MultiSelectionHandler<TItem = unknown> extends BaseSelectionHandler<TItem> {
60
78
  protected selectIndex(index: number, event: SelectionEvent): void;
@@ -62,7 +80,8 @@ export declare class MultiSelectionHandler<TItem = unknown> extends BaseSelectio
62
80
  protected supportsDragSelection(): boolean;
63
81
  protected selectDragRange(startIndex: number, endIndex: number, event: MouseEvent): void;
64
82
  }
65
- export declare function createSelectionHandler<TItem>(config: SelectionHandlerConfig<TItem>): BaseSelectionHandler<TItem>;
83
+ export declare function createSelectionHandler<TItem>(config: MultiSelectionHandlerConfig<TItem>): MultiSelectionHandler<TItem>;
84
+ export declare function createSelectionHandler<TItem>(config: SingleSelectionHandlerConfig<TItem>): SingleSelectionHandler<TItem>;
66
85
  export declare function defaultItemKey<TItem>(item: TItem, index: number): unknown;
67
86
  export {};
68
87
  //# sourceMappingURL=selectionhandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectionhandler.d.ts","sourceRoot":"","sources":["../../../src/Components/data/selectionhandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectionhandler.d.ts","sourceRoot":"","sources":["../../../src/Components/data/selectionhandler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { Emitter } from '@sylwellsoftware/glue';
2
- import type { FetchLike, QueryHandlerLike, QuerySerializer, ReadableEmitter } from '@sylwellsoftware/glue';
1
+ import type { ReadableEmitter } from '@sylwellsoftware/glue';
3
2
  import { Placeholder } from '../../Placeholder.js';
4
3
  import { Component } from '../../component.js';
5
4
  import type { ComponentProps, FrayChild } from '../../component.js';
@@ -9,28 +8,11 @@ import type { FilterModeValue } from '../../../util/filterMode.js';
9
8
  import type { BaseSelectionHandler, ItemKeyGetter } from '../selectionhandler.js';
10
9
  import { TableHeader } from './TableHeader.js';
11
10
  import type { TableColumn, TableRow } from './TableHeaderCell.js';
11
+ import type { RestTableDataSourceOptions, TableDataSource, TableQueryInput } from './tableDataSource.js';
12
12
  import type { TableFilters, TableSort } from './tableQuery.js';
13
- export type TableQueryArguments = {
14
- sort: TableSort | null;
15
- filters: TableFilters;
16
- };
17
- export type TableQueryInput<TRow extends TableRow = TableRow> = ReadableEmitter<readonly TRow[] | undefined, unknown> & {
18
- retry?: (cause?: unknown) => unknown;
19
- dispose?: () => void;
20
- };
21
- export interface DataTableProps<TRow extends TableRow = TableRow> extends ComponentProps {
22
- mode: 'local' | 'remote';
13
+ interface DataTableCommonProps<TRow extends TableRow> extends ComponentProps {
23
14
  columns: readonly TableColumn<TRow>[];
24
- data?: readonly TRow[] | ReadableEmitter<readonly TRow[], unknown>;
25
- query?: TableQueryInput<TRow>;
26
- queryHandler?: QueryHandlerLike<TableQueryArguments, readonly TRow[]>;
27
- queryUrl?: string;
28
- baseUrl?: string;
29
- fetch?: FetchLike<readonly TRow[]>;
30
- serializeQuery?: QuerySerializer<TableQueryArguments>;
31
- selectedItemsEmitter?: ValueEmitter<TRow[]>;
32
15
  rowKey?: Extract<keyof TRow, string> | ItemKeyGetter<TRow>;
33
- multiSelect?: boolean;
34
16
  caption?: FrayChild;
35
17
  emptyMessage?: FrayChild;
36
18
  placeholderCount?: number;
@@ -38,35 +20,59 @@ export interface DataTableProps<TRow extends TableRow = TableRow> extends Compon
38
20
  defaultSemanticState?: FilterModeValue;
39
21
  onFilterChange?: (filters: TableFilters, event: Event | null) => void;
40
22
  }
41
- /** Experimental table with explicit local and remote data modes. */
23
+ type DataTableInputProps<TRow extends TableRow> = {
24
+ data?: readonly TRow[] | ReadableEmitter<readonly TRow[], unknown>;
25
+ dataSource?: never;
26
+ rest?: never;
27
+ } | {
28
+ data?: never;
29
+ dataSource: TableDataSource<TRow>;
30
+ rest?: never;
31
+ } | {
32
+ data?: never;
33
+ dataSource?: never;
34
+ rest: Omit<RestTableDataSourceOptions<TRow>, 'owner' | 'sortEmitter' | 'filtersEmitter'>;
35
+ };
36
+ type DataTableSelectionProps<TRow extends TableRow> = {
37
+ multiSelect?: false;
38
+ selectedItemEmitter?: ValueEmitter<TRow | null>;
39
+ selectedItemsEmitter?: never;
40
+ } | {
41
+ multiSelect: true;
42
+ selectedItemsEmitter?: ValueEmitter<TRow[]>;
43
+ selectedItemEmitter?: never;
44
+ };
45
+ export type DataTableProps<TRow extends TableRow = TableRow> = DataTableCommonProps<TRow> & DataTableInputProps<TRow> & DataTableSelectionProps<TRow>;
46
+ /** Accessible table over an explicit local, caller-query, or REST data source. */
42
47
  export declare class DataTable<TRow extends TableRow = TableRow> extends Component<DataTableProps<TRow>> {
43
48
  readonly columns: readonly TableColumn<TRow>[];
44
49
  readonly rowKey: ItemKeyGetter<TRow>;
45
- readonly sortEmitter: Emitter<TableSort | null>;
46
- readonly filtersEmitter: Emitter<TableFilters>;
50
+ readonly sortEmitter: ValueEmitter<TableSort | null>;
51
+ readonly filtersEmitter: ValueEmitter<TableFilters>;
47
52
  readonly selectedItemsEmitter: ValueEmitter<TRow[]>;
53
+ readonly selectedItemEmitter: ValueEmitter<TRow | null> | null;
48
54
  readonly selectionHandler: BaseSelectionHandler<TRow>;
49
55
  query: TableQueryInput<TRow> | null;
50
56
  private dataSource;
51
- private readonly ownedSelectedItemsEmitter;
57
+ private readonly suppliedDataSource;
58
+ private readonly ownedSortEmitter;
59
+ private readonly ownedFiltersEmitter;
52
60
  private ownedDataSource;
53
- private ownsQuery;
54
- private readonly queryArgs;
55
61
  constructor(props: DataTableProps<TRow>);
56
62
  initialize(): void;
57
- private createLocalQuery;
58
- private createRemoteQuery;
59
- private createRestHandler;
60
63
  render(): FrayChild;
61
64
  private renderRow;
62
65
  private renderPlaceholders;
63
66
  afterUpdate(dom: ChildNode | null): void;
64
67
  getSelectedRows(): TRow[];
65
68
  getSelectedRowsEmitter(): ValueEmitter<TRow[]>;
69
+ getSelectedRow(): TRow | null;
70
+ getSelectedRowEmitter(): ValueEmitter<TRow | null> | null;
66
71
  onDestroy(): void;
67
72
  static dependencies: (typeof Placeholder | typeof TableHeader)[];
68
73
  static hostName: string;
69
74
  static standaloneHostName: string;
70
75
  static css: string;
71
76
  }
77
+ export {};
72
78
  //# sourceMappingURL=DataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../src/Components/data/table/DataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../src/Components/data/table/DataTable.tsx"],"names":[],"mappings":"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"}