@chelone/vue 0.10.0 → 0.11.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 (113) hide show
  1. package/dist/admin/admin-shell.vue_vue_type_script_setup_true_lang.js +15 -2
  2. package/dist/admin/resource-registry.d.ts +6 -2
  3. package/dist/admin/resource-registry.js +0 -18
  4. package/dist/admin/resource.vue.d.ts +6 -2
  5. package/dist/choices/choices-context.d.ts +9 -9
  6. package/dist/choices/use-reference-input.js +2 -2
  7. package/dist/components/admin/auth/access-denied.vue.d.ts +2 -2
  8. package/dist/components/admin/auth/access-denied.vue_vue_type_script_setup_true_lang.js +2 -2
  9. package/dist/components/admin/auth/auth-error.vue.d.ts +2 -2
  10. package/dist/components/admin/auth/auth-error.vue_vue_type_script_setup_true_lang.js +3 -3
  11. package/dist/components/admin/auth/authentication-error.vue.d.ts +2 -2
  12. package/dist/components/admin/auth/authentication-error.vue_vue_type_script_setup_true_lang.js +2 -2
  13. package/dist/components/admin/auth/login-form.vue_vue_type_script_setup_true_lang.js +2 -2
  14. package/dist/components/admin/auth/login-with-email.vue.d.ts +1 -1
  15. package/dist/components/admin/auth/login-with-email.vue_vue_type_script_setup_true_lang.js +2 -2
  16. package/dist/components/admin/auth/logout.vue_vue_type_script_setup_true_lang.js +1 -1
  17. package/dist/components/admin/auth/permission-matrix.vue_vue_type_script_setup_true_lang.js +1 -1
  18. package/dist/components/admin/buttons/bulk-delete-button.vue.d.ts +2 -2
  19. package/dist/components/admin/buttons/bulk-delete-button.vue_vue_type_script_setup_true_lang.js +3 -3
  20. package/dist/components/admin/buttons/bulk-export-button.vue_vue_type_script_setup_true_lang.js +1 -1
  21. package/dist/components/admin/buttons/bulk-update-button.vue_vue_type_script_setup_true_lang.js +2 -2
  22. package/dist/components/admin/buttons/cancel-button.vue_vue_type_script_setup_true_lang.js +1 -1
  23. package/dist/components/admin/buttons/clone-button.vue_vue_type_script_setup_true_lang.js +1 -1
  24. package/dist/components/admin/buttons/columns-button.vue_vue_type_script_setup_true_lang.js +1 -1
  25. package/dist/components/admin/buttons/create-button.vue_vue_type_script_setup_true_lang.js +1 -1
  26. package/dist/components/admin/buttons/delete-button.vue.d.ts +2 -2
  27. package/dist/components/admin/buttons/delete-button.vue_vue_type_script_setup_true_lang.js +3 -3
  28. package/dist/components/admin/buttons/edit-button.vue_vue_type_script_setup_true_lang.js +1 -1
  29. package/dist/components/admin/buttons/export-button.vue_vue_type_script_setup_true_lang.js +1 -1
  30. package/dist/components/admin/buttons/fields-selector.vue_vue_type_script_setup_true_lang.js +5 -5
  31. package/dist/components/admin/buttons/filter-button.vue_vue_type_script_setup_true_lang.js +2 -2
  32. package/dist/components/admin/buttons/list-button.vue_vue_type_script_setup_true_lang.js +1 -1
  33. package/dist/components/admin/buttons/locales-menu.vue_vue_type_script_setup_true_lang.js +1 -1
  34. package/dist/components/admin/buttons/refresh-button.vue_vue_type_script_setup_true_lang.js +1 -1
  35. package/dist/components/admin/buttons/refresh-icon-button.vue_vue_type_script_setup_true_lang.js +1 -1
  36. package/dist/components/admin/buttons/save-button.vue_vue_type_script_setup_true_lang.js +2 -2
  37. package/dist/components/admin/buttons/select-all-button.vue_vue_type_script_setup_true_lang.js +1 -1
  38. package/dist/components/admin/buttons/show-button.vue_vue_type_script_setup_true_lang.js +1 -1
  39. package/dist/components/admin/buttons/sidebar-toggle-button.vue_vue_type_script_setup_true_lang.js +1 -1
  40. package/dist/components/admin/buttons/skip-navigation-button.vue.d.ts +1 -1
  41. package/dist/components/admin/buttons/skip-navigation-button.vue_vue_type_script_setup_true_lang.js +1 -1
  42. package/dist/components/admin/buttons/sort-button.vue_vue_type_script_setup_true_lang.js +2 -2
  43. package/dist/components/admin/buttons/update-button.vue.d.ts +2 -2
  44. package/dist/components/admin/buttons/update-button.vue_vue_type_script_setup_true_lang.js +3 -3
  45. package/dist/components/admin/common/application-updated-notification.vue_vue_type_script_setup_true_lang.js +2 -2
  46. package/dist/components/admin/csv-import/csv-import.vue.d.ts +24 -14
  47. package/dist/components/admin/csv-import/csv-import.vue_vue_type_script_setup_true_lang.js +18 -18
  48. package/dist/components/admin/feedback/confirm.vue.d.ts +2 -2
  49. package/dist/components/admin/feedback/confirm.vue_vue_type_script_setup_true_lang.js +2 -2
  50. package/dist/components/admin/feedback/error.vue_vue_type_script_setup_true_lang.js +3 -3
  51. package/dist/components/admin/feedback/loading-indicator.vue_vue_type_script_setup_true_lang.js +2 -2
  52. package/dist/components/admin/feedback/loading.vue.d.ts +2 -2
  53. package/dist/components/admin/feedback/loading.vue_vue_type_script_setup_true_lang.js +2 -2
  54. package/dist/components/admin/feedback/not-found.vue_vue_type_script_setup_true_lang.js +3 -3
  55. package/dist/components/admin/feedback/notification.vue_vue_type_script_setup_true_lang.js +1 -1
  56. package/dist/components/admin/feedback/offline.vue_vue_type_script_setup_true_lang.js +1 -1
  57. package/dist/components/admin/fields/boolean-field.vue_vue_type_script_setup_true_lang.js +1 -1
  58. package/dist/components/admin/form/translatable-inputs-tab.vue_vue_type_script_setup_true_lang.js +1 -1
  59. package/dist/components/admin/inputs/array-input-row.vue_vue_type_script_setup_true_lang.js +3 -3
  60. package/dist/components/admin/inputs/array-input.vue_vue_type_script_setup_true_lang.js +3 -3
  61. package/dist/components/admin/inputs/autocomplete-array-input.vue_vue_type_script_setup_true_lang.js +3 -3
  62. package/dist/components/admin/inputs/autocomplete-input.vue_vue_type_script_setup_true_lang.js +2 -2
  63. package/dist/components/admin/inputs/datagrid-input.vue_vue_type_script_setup_true_lang.js +2 -2
  64. package/dist/components/admin/inputs/file-input-preview.vue_vue_type_script_setup_true_lang.js +2 -2
  65. package/dist/components/admin/inputs/file-input.vue_vue_type_script_setup_true_lang.js +2 -2
  66. package/dist/components/admin/inputs/image-input.vue_vue_type_script_setup_true_lang.js +2 -2
  67. package/dist/components/admin/inputs/in-place-editor-form.vue_vue_type_script_setup_true_lang.js +4 -4
  68. package/dist/components/admin/inputs/in-place-editor.vue_vue_type_script_setup_true_lang.js +1 -1
  69. package/dist/components/admin/inputs/nullable-boolean-input.vue_vue_type_script_setup_true_lang.js +3 -3
  70. package/dist/components/admin/inputs/password-input.vue_vue_type_script_setup_true_lang.js +1 -1
  71. package/dist/components/admin/inputs/resettable-text-input.vue_vue_type_script_setup_true_lang.js +1 -1
  72. package/dist/components/admin/inputs/search-input.vue_vue_type_script_setup_true_lang.js +2 -2
  73. package/dist/components/admin/inputs/select-array-input.vue_vue_type_script_setup_true_lang.js +2 -2
  74. package/dist/components/admin/inputs/text-array-input.vue_vue_type_script_setup_true_lang.js +1 -1
  75. package/dist/components/admin/layout/command-menu-logout.vue_vue_type_script_setup_true_lang.js +2 -2
  76. package/dist/components/admin/layout/dashboard-menu-item.vue.d.ts +1 -1
  77. package/dist/components/admin/layout/dashboard-menu-item.vue_vue_type_script_setup_true_lang.js +1 -1
  78. package/dist/components/admin/layout/theme-mode-toggle.vue_vue_type_script_setup_true_lang.js +1 -1
  79. package/dist/components/admin/layout/user-menu-inner.vue_vue_type_script_setup_true_lang.js +1 -1
  80. package/dist/components/admin/list/approval-queue-row.vue_vue_type_script_setup_true_lang.js +1 -1
  81. package/dist/components/admin/list/bulk-actions-toolbar.vue_vue_type_script_setup_true_lang.js +2 -2
  82. package/dist/components/admin/list/bulk-edit-drawer.vue_vue_type_script_setup_true_lang.js +4 -4
  83. package/dist/components/admin/list/calendar-agenda-view.vue_vue_type_script_setup_true_lang.js +1 -1
  84. package/dist/components/admin/list/calendar-header.vue_vue_type_script_setup_true_lang.js +5 -5
  85. package/dist/components/admin/list/calendar-list.vue_vue_type_script_setup_true_lang.js +2 -2
  86. package/dist/components/admin/list/count.vue_vue_type_script_setup_true_lang.js +1 -1
  87. package/dist/components/admin/list/filter-form.vue_vue_type_script_setup_true_lang.js +1 -1
  88. package/dist/components/admin/list/filter-list-item.vue_vue_type_script_setup_true_lang.js +1 -1
  89. package/dist/components/admin/list/filter-live-search.vue_vue_type_script_setup_true_lang.js +1 -1
  90. package/dist/components/admin/list/list-no-results.vue_vue_type_script_setup_true_lang.js +2 -2
  91. package/dist/components/admin/list/list-pagination.vue_vue_type_script_setup_true_lang.js +5 -5
  92. package/dist/components/admin/list/prev-next-buttons.vue_vue_type_script_setup_true_lang.js +5 -5
  93. package/dist/components/admin/list/saved-queries-list.vue_vue_type_script_setup_true_lang.js +5 -5
  94. package/dist/components/admin/list/tree-list-node.vue_vue_type_script_setup_true_lang.js +1 -1
  95. package/dist/components/admin/supabase/forgot-password-form.vue_vue_type_script_setup_true_lang.js +1 -1
  96. package/dist/components/admin/supabase/set-password-form.vue_vue_type_script_setup_true_lang.js +3 -3
  97. package/dist/components/admin/supabase/supabase-login-page.vue_vue_type_script_setup_true_lang.js +1 -1
  98. package/dist/components/admin/view/create.vue_vue_type_script_setup_true_lang.js +1 -1
  99. package/dist/components/admin/view/infinite-list.vue_vue_type_script_setup_true_lang.js +1 -1
  100. package/dist/components/admin/view/list.vue_vue_type_script_setup_true_lang.js +1 -1
  101. package/dist/components/admin/view/translatable-fields-tab.vue_vue_type_script_setup_true_lang.js +1 -1
  102. package/dist/components/admin/widgets/job-monitor-row.vue_vue_type_script_setup_true_lang.js +1 -1
  103. package/dist/components/inspector/inspector.vue_vue_type_script_setup_true_lang.js +1 -1
  104. package/dist/controllers/reference-field-options.d.ts +18 -0
  105. package/dist/controllers/reference-field-test-harness.d.ts +3 -2
  106. package/dist/controllers/use-infinite-list-controller.d.ts +3 -3
  107. package/dist/controllers/use-list-controller.d.ts +4 -4
  108. package/dist/controllers/use-reference-many-field-controller.d.ts +8 -15
  109. package/dist/controllers/use-reference-one-field-controller.d.ts +8 -17
  110. package/dist/list/list-context.d.ts +10 -4
  111. package/dist/list/use-list.d.ts +3 -3
  112. package/dist/store/use-saved-queries.d.ts +5 -5
  113. package/package.json +5 -5
@@ -8,9 +8,9 @@
8
8
  * Filters and sort live in the store only: the composable never reads or
9
9
  * writes the location.
10
10
  */
11
- import { type InfiniteListController, type InfiniteListControllerState, type ListControllerOptions, type MicroStore, type RecordOf, type ResourceMap } from "@chelone/core";
11
+ import { type InfiniteListController, type InfiniteListControllerState, type ListControllerOptions, type LooseRecord, type MicroStore, type RecordOf, type ResourceMap } from "@chelone/core";
12
12
  /** Options for {@link useInfiniteListController}: the core list options + a resource override. */
13
- export interface UseInfiniteListControllerOptions extends ListControllerOptions {
13
+ export interface UseInfiniteListControllerOptions<TRecord = LooseRecord> extends ListControllerOptions<TRecord> {
14
14
  /** Target a specific resource; defaults to the ambient `<Resource>` name. */
15
15
  resource?: string;
16
16
  }
@@ -22,4 +22,4 @@ export type UseInfiniteListControllerReturn<TRecord> = InfiniteListControllerSta
22
22
  * and starts over. The controller attaches on mount and releases on scope
23
23
  * disposal. `options` are read once at `setup`.
24
24
  */
25
- export declare function useInfiniteListController<TResources extends ResourceMap = ResourceMap, TName extends keyof TResources & string = keyof TResources & string>(options?: UseInfiniteListControllerOptions): UseInfiniteListControllerReturn<RecordOf<TResources, TName>>;
25
+ export declare function useInfiniteListController<TResources extends ResourceMap = ResourceMap, TName extends keyof TResources & string = keyof TResources & string>(options?: UseInfiniteListControllerOptions<RecordOf<TResources, TName>>): UseInfiniteListControllerReturn<RecordOf<TResources, TName>>;
@@ -21,9 +21,9 @@
21
21
  * `resource` / `options` are read once at `setup`; to target a different
22
22
  * resource, mount a fresh instance (the Vue analog of React's remount-with-key).
23
23
  */
24
- import { type ListController, type ListControllerOptions, type ListControllerState, type MicroStore, type RecordOf, type ResourceMap } from "@chelone/core";
24
+ import { type ListControllerOptions, type ListControllerSurface, type LooseRecord, type RecordOf, type ResourceMap } from "@chelone/core";
25
25
  /** Options for {@link useListController}: the core list options + a resource override. */
26
- export interface UseListControllerOptions extends ListControllerOptions {
26
+ export interface UseListControllerOptions<TRecord = LooseRecord> extends ListControllerOptions<TRecord> {
27
27
  /** Target a specific resource; defaults to the ambient `<Resource>` name. */
28
28
  resource?: string;
29
29
  /**
@@ -46,5 +46,5 @@ export interface UseListControllerOptions extends ListControllerOptions {
46
46
  * plus the controller's stable actions (`setPage`/`setSort`/`toggleItem`/…). The
47
47
  * same shape the React twin returns, minus the `MicroStore` plumbing.
48
48
  */
49
- export type UseListControllerReturn<TRecord> = ListControllerState<TRecord> & Omit<ListController<TRecord>, keyof MicroStore<ListControllerState<TRecord>>>;
50
- export declare function useListController<TResources extends ResourceMap = ResourceMap, TName extends keyof TResources & string = keyof TResources & string>(options?: UseListControllerOptions): UseListControllerReturn<RecordOf<TResources, TName>>;
49
+ export type UseListControllerReturn<TRecord> = ListControllerSurface<TRecord>;
50
+ export declare function useListController<TResources extends ResourceMap = ResourceMap, TName extends keyof TResources & string = keyof TResources & string>(options?: UseListControllerOptions<RecordOf<TResources, TName>>): UseListControllerReturn<RecordOf<TResources, TName>>;
@@ -10,22 +10,15 @@
10
10
  * previous subscription is released. The other options are read at `setup`.
11
11
  * There is no location sync: the list is embedded in a record.
12
12
  */
13
- import { type FilterPayload, type ListControllerState, type LooseRecord, type MicroStore, type RecordOf, type ReferenceManyController, type ResourceMap, type ResourceRecord, type SortPayload } from "@chelone/core";
14
- import { type MaybeRefOrGetter } from "vue";
15
- import { type RecordValue } from "../record/record-context.js";
16
- export interface UseReferenceManyFieldControllerOptions<TName extends string = string, RecordType extends ResourceRecord = LooseRecord> {
17
- /** The resource whose rows point at the record. */
18
- reference: TName;
19
- /** The field on `reference` that holds the foreign key. */
20
- target: string;
21
- /** The field on the record whose value `target` must equal. Default `"id"`. */
22
- source?: string;
23
- /** Defaults to the ambient record. */
24
- record?: MaybeRefOrGetter<RecordValue<RecordType>>;
13
+ import { type FilterPayload, type ListControllerState, type LooseRecord, type MicroStore, type RecordOf, type ReferenceManyController, type ResourceMap, type ResourceRecord, type SortPayload, type SourceKey } from "@chelone/core";
14
+ import type { ReferenceFieldControllerOptions } from "./reference-field-options.js";
15
+ export interface UseReferenceManyFieldControllerOptions<TName extends string = string, RecordType extends ResourceRecord = LooseRecord, ReferenceRecord = LooseRecord> extends ReferenceFieldControllerOptions<TName, RecordType> {
16
+ /** The field on `reference` that holds the foreign key. A key of the referenced record. */
17
+ target: SourceKey<ReferenceRecord>;
25
18
  /** Permanent filter, merged over the user filter for every fetch. */
26
- filter?: FilterPayload;
19
+ filter?: FilterPayload<ReferenceRecord>;
27
20
  /** Initial sort when nothing is persisted. Default id ascending. */
28
- sort?: SortPayload | SortPayload[];
21
+ sort?: SortPayload<ReferenceRecord> | SortPayload<ReferenceRecord>[];
29
22
  /** Default 25. */
30
23
  perPage?: number;
31
24
  /** KV namespace for params and selection. Default `${reference}.${target}.${id}`; `false` keeps them in memory. */
@@ -43,4 +36,4 @@ export type UseReferenceManyFieldControllerReturn<TRecord> = ListControllerState
43
36
  * actions. A record without a usable id (absent, or not a string or number)
44
37
  * fetches nothing and reads as an empty, settled list.
45
38
  */
46
- export declare function useReferenceManyFieldController<TResources extends ResourceMap = ResourceMap, TName extends keyof TResources & string = keyof TResources & string, RecordType extends ResourceRecord = LooseRecord>(options: UseReferenceManyFieldControllerOptions<TName, RecordType>): UseReferenceManyFieldControllerReturn<RecordOf<TResources, TName>>;
39
+ export declare function useReferenceManyFieldController<TResources extends ResourceMap = ResourceMap, TName extends keyof TResources & string = keyof TResources & string, RecordType extends ResourceRecord = LooseRecord>(options: UseReferenceManyFieldControllerOptions<TName, RecordType, RecordOf<TResources, TName>>): UseReferenceManyFieldControllerReturn<RecordOf<TResources, TName>>;
@@ -8,24 +8,15 @@
8
8
  * {@link useReferenceManyFieldController}: a new id builds a new controller and
9
9
  * releases the previous subscription.
10
10
  */
11
- import { type FilterPayload, type LooseRecord, type MicroStore, type RecordOf, type ReferenceOneController, type ReferenceOneControllerState, type ResourceMap, type ResourceRecord, type SortPayload } from "@chelone/core";
12
- import { type MaybeRefOrGetter } from "vue";
13
- import { type RecordValue } from "../record/record-context.js";
14
- export interface UseReferenceOneFieldControllerOptions<TName extends string = string, RecordType extends ResourceRecord = LooseRecord> {
15
- /** The resource whose rows point at the record. */
16
- reference: TName;
17
- /** The field on `reference` that holds the foreign key. */
18
- target: string;
19
- /** The field on the record whose value `target` must equal. Default `"id"`. */
20
- source?: string;
21
- /** Defaults to the ambient record. */
22
- record?: MaybeRefOrGetter<RecordValue<RecordType>>;
11
+ import { type FilterPayload, type LooseRecord, type MicroStore, type RecordOf, type ReferenceOneController, type ReferenceOneControllerState, type ResourceMap, type ResourceRecord, type SortPayload, type SourceKey } from "@chelone/core";
12
+ import type { ReferenceFieldControllerOptions } from "./reference-field-options.js";
13
+ export interface UseReferenceOneFieldControllerOptions<TName extends string = string, RecordType extends ResourceRecord = LooseRecord, ReferenceRecord = LooseRecord> extends ReferenceFieldControllerOptions<TName, RecordType> {
14
+ /** The field on `reference` that holds the foreign key. A key of the referenced record. */
15
+ target: SourceKey<ReferenceRecord>;
23
16
  /** Decides which row is first when several match. */
24
- sort?: SortPayload | SortPayload[];
17
+ sort?: SortPayload<ReferenceRecord> | SortPayload<ReferenceRecord>[];
25
18
  /** Narrows the lookup. */
26
- filter?: FilterPayload;
27
- /** Gates the fetch. Default true. */
28
- enabled?: boolean;
19
+ filter?: FilterPayload<ReferenceRecord>;
29
20
  }
30
21
  /** Live lookup state plus the controller's stable `refetch`. */
31
22
  export type UseReferenceOneFieldControllerReturn<TRecord> = ReferenceOneControllerState<TRecord> & Omit<ReferenceOneController<TRecord>, keyof MicroStore<ReferenceOneControllerState<TRecord>>>;
@@ -33,4 +24,4 @@ export type UseReferenceOneFieldControllerReturn<TRecord> = ReferenceOneControll
33
24
  * The first row of `reference` whose `target` equals `record[source]`. A record
34
25
  * without a usable id fetches nothing and reads as settled with no record.
35
26
  */
36
- export declare function useReferenceOneFieldController<TResources extends ResourceMap = ResourceMap, TName extends keyof TResources & string = keyof TResources & string, RecordType extends ResourceRecord = LooseRecord>(options: UseReferenceOneFieldControllerOptions<TName, RecordType>): UseReferenceOneFieldControllerReturn<RecordOf<TResources, TName>>;
27
+ export declare function useReferenceOneFieldController<TResources extends ResourceMap = ResourceMap, TName extends keyof TResources & string = keyof TResources & string, RecordType extends ResourceRecord = LooseRecord>(options: UseReferenceOneFieldControllerOptions<TName, RecordType, RecordOf<TResources, TName>>): UseReferenceOneFieldControllerReturn<RecordOf<TResources, TName>>;
@@ -11,11 +11,17 @@
11
11
  * read it directly with no ref juggling. `useListContext` throws without a
12
12
  * provider (parity with the React twin).
13
13
  */
14
- import type { LooseRecord } from "@chelone/core";
14
+ import type { ListContextSurface, LooseRecord, ResourceRecord } from "@chelone/core";
15
15
  import { type InjectionKey } from "vue";
16
- import type { UseListControllerReturn } from "../controllers/use-list-controller.js";
17
- /** The ambient list surface — the reactive `useListController` result. */
18
- export type ListContextValue<TRecord = LooseRecord> = UseListControllerReturn<TRecord>;
16
+ /**
17
+ * The ambient list surface — the reactive `useListController` result.
18
+ *
19
+ * `ListContextSurface` erases the filter members and keeps `data` typed: an
20
+ * injection key cannot be generic, so a controller typed to any record must be
21
+ * assignable to the one value this key carries. `ResourceRecord` is the widest
22
+ * record `data` can hold; `useListContext<T>()` reads it back typed.
23
+ */
24
+ export type ListContextValue<TRecord = ResourceRecord> = ListContextSurface<TRecord>;
19
25
  /** The provide/inject key for the ambient list surface. */
20
26
  export declare const ListContextKey: InjectionKey<ListContextValue>;
21
27
  /** Provide the ambient list surface (called by `<List>` in `setup`). */
@@ -26,9 +26,9 @@ export interface UseListOptions<TRecord extends ResourceRecord = ResourceRecord>
26
26
  /** The in-memory records (reactive-aware). `undefined` = not-yet-loaded. */
27
27
  data?: MaybeRefOrGetter<TRecord[] | undefined>;
28
28
  /** Client-side filter for the embedded list. */
29
- filter?: FilterPayload;
29
+ filter?: FilterPayload<TRecord>;
30
30
  /** Client-side sort for the embedded list. */
31
- sort?: SortPayload | SortPayload[];
31
+ sort?: SortPayload<TRecord> | SortPayload<TRecord>[];
32
32
  /** Client-side page size. Default 1000 (ra-core `useList` — "show everything"). */
33
33
  perPage?: number;
34
34
  /** Initial page (1-based). Default 1. */
@@ -47,4 +47,4 @@ export interface UseListOptions<TRecord extends ResourceRecord = ResourceRecord>
47
47
  * into the live controller so an async feed (a resolving `useGetMany` /
48
48
  * `useGetList`) populates the list in place.
49
49
  */
50
- export declare function useList<TRecord extends ResourceRecord = ResourceRecord>(options?: UseListOptions<TRecord>): ListContextValue;
50
+ export declare function useList<TRecord extends ResourceRecord = ResourceRecord>(options?: UseListOptions<TRecord>): ListContextValue<TRecord>;
@@ -1,9 +1,9 @@
1
- import { type SavedQueriesControllerOptions, type SavedQuery, type SavedQueryValue } from "@chelone/core";
1
+ import { type LooseRecord, type SavedQueriesControllerOptions, type SavedQuery, type SavedQueryValue } from "@chelone/core";
2
2
  import { type Ref } from "vue";
3
- export interface UseSavedQueriesReturn {
4
- queries: Readonly<Ref<readonly SavedQuery[]>>;
3
+ export interface UseSavedQueriesReturn<TRecord = LooseRecord> {
4
+ queries: Readonly<Ref<readonly SavedQuery<TRecord>[]>>;
5
5
  /** Trims the label and ignores a blank one; a same-label query is replaced. */
6
- save(label: string, value: SavedQueryValue): void;
6
+ save(label: string, value: SavedQueryValue<TRecord>): void;
7
7
  /** Trims the label; a label no query has is ignored. */
8
8
  remove(label: string): void;
9
9
  }
@@ -17,4 +17,4 @@ export interface UseSavedQueriesReturn {
17
17
  * `[queries, setQueries]` tuple: this returns `{ queries, save, remove }`, with
18
18
  * `queries` a ref.
19
19
  */
20
- export declare function useSavedQueries(resource: string, options?: SavedQueriesControllerOptions): UseSavedQueriesReturn;
20
+ export declare function useSavedQueries<TRecord = LooseRecord>(resource: string, options?: SavedQueriesControllerOptions): UseSavedQueriesReturn<TRecord>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chelone/vue",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -76,14 +76,14 @@
76
76
  "access": "public"
77
77
  },
78
78
  "dependencies": {
79
- "@chelone/core": "0.10.0",
80
- "@chelone/utils": "0.10.0",
79
+ "@chelone/core": "0.11.0",
80
+ "@chelone/utils": "0.11.0",
81
81
  "@types/geojson": "^7946.0.16",
82
82
  "cronstrue": "^3.38.0",
83
83
  "libphonenumber-js": "^1.13.15"
84
84
  },
85
85
  "peerDependencies": {
86
- "@chelone/supabase": "0.10.0",
86
+ "@chelone/supabase": "0.11.0",
87
87
  "@dnd-kit/dom": "^0.5.3",
88
88
  "@dnd-kit/vue": "^0.5.3",
89
89
  "@guolao/vue-monaco-editor": "^1.6.0",
@@ -219,7 +219,7 @@
219
219
  },
220
220
  "devDependencies": {
221
221
  "@arethetypeswrong/cli": "^0.18.5",
222
- "@chelone/supabase": "0.10.0",
222
+ "@chelone/supabase": "0.11.0",
223
223
  "@chelone/test-utils": "0.0.0",
224
224
  "@dnd-kit/dom": "^0.5.3",
225
225
  "@dnd-kit/vue": "^0.5.3",